public.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #ifndef _PUBLIC_H_
  2. #define _PUBLIC_H_
  3. #include "../User/gd32f10x_it.h"
  4. #include "dn_4g.h"
  5. extern sysCmd1027 g_table1027;
  6. extern sysCmd1027 g_temtable1027; // 临时表
  7. #define DEV_TYPE 0x0103
  8. #define APP_VERSION 0x01033005
  9. #define BROADCAST_SN 0xFFFFFFFF // 广播地址
  10. #define BROADCAST_TYPE 0xFFFF // 广播设备类型
  11. #define CRC_INIT_VALUE 0x0000
  12. enum { // workMode
  13. WORK_NOINIT = 0x01, // 未初始化模式
  14. WORK_NORMAL = 0x02, // 正常模式
  15. WORK_UPDATE = 0x03, // 升级模式
  16. };
  17. enum {
  18. B4G_NOHAVE = 0x00, // 无4G模块
  19. B4G_HAVE = 0x01, // 有4G模块
  20. };
  21. typedef struct _dev_msg_{
  22. uint16_t devType; // 主设备类型
  23. uint32_t devSn; // 主设备SN
  24. uint16_t devTypeS; // 从设备类型
  25. uint32_t devSnS; // 从设备SN
  26. uint8_t bHave4G; // 是否有4G模块
  27. uint8_t baskIdentity; // 是否询问自己的身份
  28. uint8_t workMode;
  29. uint8_t ledred; // 红灯状态
  30. uint8_t ledgreen; //绿灯状态
  31. }__attribute__((packed))DevMsg;
  32. extern DevMsg g_devMsg;
  33. typedef struct _dev_firm_msg_{
  34. uint32_t bootVer; // bootloader版本
  35. uint32_t ptVer; // pt版本
  36. uint32_t appVer; // app版本
  37. uint8_t uuid[12]; // UUID
  38. }__attribute__((packed))DevFirmMsg;
  39. extern DevFirmMsg g_devfirmMsg;
  40. #define NODE_MAX_SIZE 8
  41. #define OFF_LINE_COUNT 5 // 5次读取不到,则判断为离线
  42. typedef struct _node_msg_{
  43. uint16_t devType;
  44. uint32_t devSn;
  45. uint8_t status;
  46. uint8_t readCount; // 读取次数
  47. uint8_t bSelf; // 是自己的设备类型和SN
  48. }__attribute__((packed))nodeMsg_t;
  49. typedef struct _node_run_info_{
  50. nodeMsg_t nodMsg[NODE_MAX_SIZE];
  51. uint8_t nIndex;
  52. uint8_t slaveNum; // 从的个数
  53. }__attribute__((packed))nodeRun_t;
  54. extern nodeRun_t g_runNode;
  55. #define TIME_SING_N 10*60*1000 // 信号采样率的时候 10分钟读取一次
  56. typedef struct _log_msg_{
  57. uint8_t blogOpen;
  58. timeout_t logtime;
  59. timeout_t singTime; //信号采样率的间隔时间
  60. timeout_t tsingTime; // 信号采样率的总时间
  61. uint8_t singOpen; // 信号采样率是否开起
  62. uint16_t devType;
  63. uint32_t devSn;
  64. }__attribute__((packed))LogMsg;
  65. extern LogMsg g_logMsg;
  66. typedef uint32_t u32;
  67. typedef uint16_t u16;
  68. typedef uint8_t u8;
  69. typedef const uint32_t uc32; /*!< Read Only */
  70. typedef const uint16_t uc16; /*!< Read Only */
  71. typedef const uint8_t uc8; /*!< Read Only */
  72. typedef __IO uint32_t vu32;
  73. typedef __IO uint16_t vu16;
  74. typedef __IO uint8_t vu8;
  75. typedef __I uint32_t vuc32; /*!< Read Only */
  76. typedef __I uint16_t vuc16; /*!< Read Only */
  77. typedef __I uint8_t vuc8; /*!< Read Only */
  78. extern void init_dev_msg(void);
  79. extern uint8_t check_dev_type_sn(uint16_t devType, uint32_t devSn);
  80. extern uint8_t check_dev_type_sn01(uint16_t devType, uint32_t devSn);
  81. extern uint16_t crc16_get(uint8_t *data, uint8_t size);
  82. extern uint16_t _crc16_get(uint8_t *_buff,uint32_t _len);
  83. extern int _ytsf_data_code(uint8_t *buff, uint8_t *len);
  84. extern int _ytsf_data_decode(uint8_t *buff, uint8_t *len);
  85. extern void printf_dev_msg(void);
  86. extern uint16_t set_updata_state(uint16_t data);
  87. extern uint8_t updata_state_cmp(uint16_t data);
  88. extern void app_check_crc(uint32_t addr, uint32_t len, uint32_t *checkdata);
  89. extern void epprom_read_reset_num(void);
  90. extern void epprom_init_config_table(void);
  91. extern void epprom_read_config_table(void);
  92. extern void epprom_write_config_table(uint8_t *data, uint8_t len);
  93. extern void epprom_init_com_config(void);
  94. extern void epprom_read_com_config(void);
  95. extern void epprom_write_com_config(uint8_t *data, uint8_t len);
  96. extern void epprom_init_pin_config(void);
  97. extern void epprom_read_pin_config(void);
  98. extern void epprom_write_pin_config(uint8_t *data, uint16_t len);
  99. extern void eeprom_read_mqtt_msg(void);
  100. extern void eeprom_write_mqtt_msg(uint8_t *msg, uint16_t len);
  101. extern void epprom_power_up_deal(void);
  102. extern void reset_work_mode(void);
  103. extern void uart_pt_task(uint8_t *data,uint16_t len);
  104. #endif