dn_4g.h 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. #ifndef _DN_4G_H_
  2. #define _DN_4G_H_
  3. #include "../Hardware/boardinit.h"
  4. typedef struct _dn_update_cmd_0x1001_{ // 获取设备版本
  5. uint16_t devType;
  6. uint32_t devSn;
  7. uint16_t taskId; // 任务号
  8. uint32_t reserve; // 预留
  9. }__attribute__((packed))dnUpdateCmd0x1001;
  10. typedef struct _dn_update_cmd_0x1002_{
  11. uint16_t devType; // 升级目标设备类型
  12. uint32_t devSn; // 升级目标设备SN
  13. uint8_t firmType; // 升级固件类型
  14. uint16_t taskId; // 升级任务号
  15. uint16_t losePage; // 最大丢包个数的百分比,最小为10%, 最大为60%
  16. uint8_t urllen; // URL最大长度
  17. uint8_t url[256]; // URL地址
  18. }__attribute__((packed))dnUpdateCmd0x1002;
  19. typedef struct _dn_update_cmd_0x1004_{ //未安装升级
  20. uint16_t devType; // 设备类型
  21. uint32_t devSn; // 设备SN
  22. uint16_t rcvDevType; // 接收设备类型
  23. uint32_t rcvDevSn; // 接收设备 SN
  24. uint16_t desDevType; // 升级目标设备类型
  25. uint32_t desDevSn; // 升级目标设备 SN
  26. uint16_t taskId; // 任务号
  27. uint8_t firmType; // 升级固件类型
  28. uint8_t urllen; // URL最大长度
  29. uint8_t url[256]; // URL地址
  30. }__attribute__((packed))dnUpdateCmd0x1004;
  31. typedef struct _dn_sys_cmd_0x1003_{ // mqtt服务器配置
  32. uint16_t devTypeM;
  33. uint32_t devSnM;
  34. uint32_t reserve;
  35. uint8_t iplen; // 服务器地址长度
  36. uint8_t portlen; // 端口长度
  37. uint8_t userlen; // 用户名长度
  38. uint8_t pwdlen; // 密码长度
  39. uint8_t str[64]; // mqqtt的信息,顺序:ip port username pwd
  40. }__attribute__((packed))dnSysCmd0x1003;
  41. typedef struct _dn_sys_cmd_0x1021_{ // 系统重启
  42. uint16_t devTypeM;
  43. uint32_t devSnM;
  44. uint16_t devTypeS;
  45. uint32_t devSnS;
  46. uint8_t object; // 重启对象
  47. uint32_t reserve;
  48. }__attribute__((packed))dnSysCmd0x1021;
  49. typedef struct _dn_sys_cmd_0x1015_{ // 时间同步
  50. uint16_t devTypeM;
  51. uint32_t devSnM;
  52. uint16_t devTypeS;
  53. uint32_t devSnS;
  54. uint32_t timer; // 时间戳
  55. uint32_t reserve;
  56. }__attribute__((packed))dnSysCmd0x1015;
  57. typedef struct _dn_sys_cmd_0x1041_{ // 身份应答
  58. uint16_t devTypeM; // 主设备类型
  59. uint32_t devSnM; // 从设备类型
  60. uint8_t relation; // 身份 1:从 2:主
  61. uint32_t reserve; // 预留
  62. }__attribute__((packed))dnSysCmd0x1041;
  63. typedef struct _dn_sys_cmd_0x1024_{ // 路由表下发
  64. uint16_t devTypeM; // 主设备类型
  65. uint32_t devSnM; // 主设备SN
  66. uint8_t buff[128]; // 从设备数量 从设备类型 从设备SN 预留 总预留
  67. }__attribute__((packed))dnSysCmd0x1024;
  68. typedef struct _dn_sys_cmd_0x1025_{ // 路由表询问
  69. uint16_t devTypeM; // 主设备类型
  70. uint32_t devSnM; // 从设备类型
  71. uint16_t targetType; // 询问目标设备类型
  72. uint32_t targetSn; // 询问目标设备SN
  73. uint32_t reserve; // 预留
  74. }__attribute__((packed))dnSysCmd0x1025;
  75. typedef struct _sys_cmd_1026_{
  76. uint8_t priceInuseCout; // 对于单价屏是否探针板接线
  77. uint8_t confFileNum[8]; //配置文件编号
  78. uint16_t appointDevModel; // 配置文件适配设备类型
  79. uint8_t portStatus; // 端口是否启用
  80. uint8_t portNum[4]; // 每个端口连接针脚的个数
  81. uint8_t comGroup; // com端的级数
  82. uint8_t param[8][4]; // 一共4组,每组4个参数
  83. }__attribute__((packed))sysCmd1026;
  84. typedef struct _dn_sys_cmd_0x1026_{
  85. uint16_t devTypeM; // 主设备类型
  86. uint32_t devSnM; // 主设备SN
  87. uint16_t devTypeS; // 从设备类型
  88. uint32_t devSnS; // 从设备SN
  89. uint32_t reserve; // 预留
  90. uint16_t expireTime; // 过期时间
  91. sysCmd1026 da1026;
  92. }__attribute__((packed))DnSysCmd0x1026;
  93. typedef struct _sys_cmd_1027_{
  94. uint8_t confFileNum[8]; //配置文件编号
  95. uint16_t appointDevModel; // 配置文件适配设备类型
  96. uint8_t groupNum; // 组数
  97. uint8_t table[300][2]; // 表的说明
  98. }__attribute__((packed))sysCmd1027;
  99. typedef struct _dn_sys_cmd_0x1027_{
  100. uint16_t devTypeM; // 主设备类型
  101. uint32_t devSnM; // 主设备SN
  102. uint16_t devTypeS; // 从设备类型
  103. uint32_t devSnS; // 从设备SN
  104. uint32_t reserve; // 预留
  105. uint16_t expireTime; // 过期时间
  106. uint8_t framNo; // 帧号
  107. sysCmd1027 da1027;
  108. }__attribute__((packed))DnSysCmd0x1027;
  109. typedef struct _dn_sys_cmd_0x1028_{
  110. uint16_t devTypeM; // 主设备类型
  111. uint32_t devSnM; // 主设备SN
  112. uint16_t devTypeS; // 从设备类型
  113. uint32_t devSnS; // 从设备SN
  114. uint32_t time; // 开启时常
  115. }__attribute__((packed))DnSysCmd0x1028;
  116. typedef struct _dn_sys_cmd_0x1029_{
  117. uint16_t devTypeM; // 主设备类型
  118. uint32_t devSnM; // 主设备SN
  119. uint16_t devTypeS; // 从设备类型
  120. uint32_t devSnS; // 从设备SN
  121. uint8_t status; // 保存状态 1:保存 2:放弃
  122. }__attribute__((packed))DnSysCmd0x1029;
  123. typedef struct _dn_data_cmd_0x1061_{
  124. uint16_t devTypeM; // 主设备类型
  125. uint32_t devSnM; // 主设备SN
  126. uint16_t devTypeS; // 从设备类型
  127. uint32_t devSnS; // 从设备SN
  128. uint32_t recordId; // 记录ID
  129. uint32_t reserve; // 预留
  130. }__attribute__((packed))DnDataCmd0x1061;
  131. typedef struct _dn_log_cmd_0x1062_{
  132. uint16_t devTypeM; // 主设备类型
  133. uint32_t devSnM; // 主设备SN
  134. uint16_t devTypeS; // 从设备类型
  135. uint32_t devSnS; // 从设备SN
  136. uint8_t logType; // 日志类型
  137. uint32_t time; // 开启日志的时间
  138. uint32_t reserve; // 预留
  139. }__attribute__((packed))DnLogCmd0x1062;
  140. typedef struct _dn_log_0x1063_{
  141. uint16_t devTypeM;
  142. uint32_t devSnM;
  143. uint16_t devTypeS;
  144. uint32_t devSnS;
  145. uint8_t logType; // 日志类型 1: 去重七段码上报 2:lg日志 3: 信号采集率调试
  146. uint32_t time; // 开启日志的时间(秒) 0: 关闭 非0:开始时长
  147. uint8_t interval; // 间隔上报 秒
  148. uint32_t reserve; // 预留
  149. }__attribute__((packed))DnLogCmd0x1063;
  150. extern void anlaysis_0x1027(uint8_t *data,uint8_t framNo,uint16_t time);
  151. extern void dn_4g_system_cmd(uint16_t cmd, uint8_t *data, uint8_t len);
  152. extern void dn_4g_data_cmd(uint16_t cmd, uint8_t *data, uint8_t len);
  153. extern void dn_4g_update_cmd(uint16_t cmd, uint8_t *data, uint8_t len);
  154. extern void dn_4g_log_cmd(uint16_t cmd, uint8_t *data, uint8_t len);
  155. #endif