AT24C128Opt.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #ifndef _AT24C128OPT_H_
  2. #define _AT24C128OPT_H_
  3. #include "../../User/includes.h"
  4. #include "../../User/stm32f10x_it.h"
  5. #include "AT24C128.h"
  6. #include "../globalDef.h"
  7. #define GATEWAY_DEVICE_TYPE 0x0101
  8. #define GATEWAY_APP_TYPE 0x03
  9. #define GATEWAY_APP_VERSION 0x01D //
  10. #define GATEWAY_UPDATE_FLAG 0x55
  11. #define FRAM_FIRST_PWERUP 0x55AA
  12. #define FRAM_TOTAL_SIZE (256*64)
  13. /*分配ATC128的空间使用*/
  14. /* 共有16K, 每页64个字节 共有256页 */
  15. #define FRAM_ALLOC_START (0)
  16. /*第一页 基本信息 占用1页*/
  17. #define FRAM_FIRST_POWER_ON (FRAM_ALLOC_START) // 是否是第一次上电 2个字节
  18. #define FRAM_VERSION (FRAM_FIRST_POWER_ON+sizeof(uint16_t)) // EEPROM 版本 1个字节
  19. #define FRAM_GATWAY_RESETNUM (FRAM_VERSION+sizeof(uint8_t)) // 复位次数 4个字节
  20. #define FRAM_UPDATE_FLAG (FRAM_GATWAY_RESETNUM+sizeof(uint32_t)) // 升级标志 1个字节
  21. #define FRAM_UPDATE_STATUS (FRAM_UPDATE_FLAG+sizeof(uint8_t)) // 升级状态 1个字节
  22. #define FRAM_UPDATE_1_REVER (FRAM_UPDATE_STATUS+sizeof(uint8_t)) // 预留4个字节
  23. #define FRAM_GATWAY_HARDWARE_MSG (FRAM_UPDATE_1_REVER+sizeof(uint32_t)) // 网关硬件信息 GateHareWareMsg
  24. #define FRAM_GATWAY_VER_MSG (FRAM_GATWAY_HARDWARE_MSG+sizeof(GateHareWareMsg)) // 网关的软件版本信息
  25. #define FRAM_NEXT_1_PRE (FRAM_GATWAY_VER_MSG+sizeof(GateVersionMsg)) // 下一个的地址
  26. /*第二页 LORA 的信息*/
  27. #define FRAM_SECOND_PAGE_ADDR (1*64)
  28. #define FRAM_LORA_INDEX (FRAM_SECOND_PAGE_ADDR+0) // 2个字节
  29. /*第三页 网关要存储的MQTT的信息 */
  30. #define FRAM_THIRD_PAGE_ADDR (2*64)
  31. #define FRAM_MQTT_MSG (FRAM_THIRD_PAGE_ADDR+0) //大小为 MqttIdPort的大小
  32. #define FRAM_NEXT_3_PRE (FRAM_MQTT_MSG + sizeof(MqttIdPort)) // 下一个要写入的地址
  33. /*第四页 网关要存储的采集器的信息 */
  34. /* 第四页 采集器的信息 共16个采集器 每个采集器68个字节 共16*68= 1088个字节, 点用17页 */
  35. /* 对应的结构体为 collect_conf_t*/
  36. #define FRAM_FOUR_PAGE_ADDR (3*64)
  37. #define FRAM_CONFIG_MSG (FRAM_FOUR_PAGE_ADDR+0) // 网关的有关采集器的配置信息 GateConfigMsg
  38. #define FRAM_COLLECT_MSG (FRAM_CONFIG_MSG+sizeof(GateConfigMsg)) // 采集器的信息
  39. /* 显示屏的信息 从第22页开始存储 */
  40. #define FRAM_TWENTYTWO_PAGE_ADDR (22*64)
  41. #define FRAM_COLLECT_XSPINIT (FRAM_TWENTYTWO_PAGE_ADDR+0) // 显示屏的基本信息
  42. #define FRAM_COLLECT_XSPMSG (FRAM_COLLECT_XSPINIT+64) // 显示屏的配置信息
  43. /* 编码器的信息 从第57页开始存储 */
  44. #define FRAM_FIFTYSEVEN_PAGE_ADDR (57*64)
  45. #define FRAM_ENCODEINIT (FRAM_FIFTYSEVEN_PAGE_ADDR+0) // 显示屏的基本信息
  46. #define FRAM_ENCODEMSG (FRAM_ENCODEINIT+8) // 显示屏的配置信息
  47. extern void fram_init(void);
  48. extern void fram_write_eeprom_powerUpFlag(void);
  49. extern uint16_t fram_read_eeprom_powerUpFlag(void);
  50. extern void fram_write_eeprom_version(void);
  51. extern uint8_t fram_read_eeprom_version(void);
  52. extern void fram_write_update_flag(void);
  53. extern void fram_init_config_msg(void);
  54. extern void fram_write_config_msg(uint16_t flag);
  55. extern uint8_t fram_read_config_msg(void);
  56. extern void fram_init_gateway_msg(void);
  57. extern void fram_init_collect_msg(void);
  58. extern void fram_write_collect_msg(void);
  59. extern void fram_read_collect_msg(void);
  60. extern void fram_init_gateway_resetnum(void);
  61. extern void fram_wirte_gateway_resetnum(void);
  62. extern void fram_read_gateway_resetnum(void);
  63. extern void fram_init_gateway_version(void);
  64. extern void fram_read_gateway_version(void);
  65. extern void fram_write_gateway_version(void);
  66. extern void fram_read_gateway_hardware_msg(void);
  67. extern void fram_write_gateway_hardware_msg(void);
  68. extern void fram_init_mqtt_msg(void);
  69. extern void fram_write_mqtt_msg(void);
  70. extern void fram_read_mqtt_msg(void);
  71. extern void fram_write_lora_index(uint8_t index);
  72. extern uint8_t fram_read_lora_index(void);
  73. extern void fram_init_encoder_configMsg(void);
  74. extern void fram_write_encoder_configMsg(void);
  75. extern void fram_read_encoder_configMsg(void);
  76. extern void fram_init_encoder_msg(void);
  77. extern void fram_write_encoder_msg(void);
  78. extern void fram_read_encoder_msg(void);
  79. #endif