soft_version.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #ifndef __SOFT_VERSION_H
  2. #define __SOFT_VERSION_H
  3. #include "common.h"
  4. enum _DEVICE_LIST
  5. {
  6. //===============DEVICE信息===========
  7. DEVICE_DEF = 0,
  8. DEVICE_FCU = 1, //fcu信息
  9. DEVICE_IMU = 2, //imu信息
  10. DEVICE_PMU = 3, //pmu信息
  11. DEVICE_SEN1 = 4, //传感器信息
  12. DEVICE_SEN2 = 5, //传感器信息
  13. DEVICE_SEN3 = 6, //传感器信息
  14. DEVICE_RTK = 7, //rtk信息
  15. DEVICE_GNSSA = 8, //gnss信息
  16. DEVICE_GNSSB = 9, //gnss信息
  17. DEVICE_MAG = 10, //独立磁信息
  18. DEVICE_TERRA = 11, //防地雷达信息
  19. DEVICE_OBSF = 12, //避障雷达信息
  20. DEVICE_OBSB = 13, //避障雷达信息
  21. DEVICE_BMS1 = 14, //智能电池信息
  22. DEVICE_BMS2 = 15, //智能电池信息
  23. DEVICE_M1 = 16, //电机信息
  24. DEVICE_M2 = 17, //电机信息
  25. DEVICE_M3 = 18, //电机信息
  26. DEVICE_M4 = 19, //电机信息
  27. DEVICE_M5 = 20, //电机信息
  28. DEVICE_M6 = 21, //电机信息
  29. DEVICE_M7 = 22, //电机信息
  30. DEVICE_M8 = 23, //电机信息
  31. DEVICE_LOADE = 24, //光电载荷设备
  32. DEVICE_SBUSO = 25, //SBUSOUT设备
  33. DEVICE_SPREAD = 26, //播撒模块信息
  34. DEVICE_WEIGHT = 27, //称重模块信息
  35. DEVICE_PUMP = 28, //水泵信息
  36. DEVICE_CENTRI = 29, //离心喷头信息
  37. DEVICE_FLOW = 30, //流量计信息
  38. DEVICE_BODLOCK= 31, //机臂锁紧信息
  39. DEVICE_LACK = 32, //缺料传感器信息
  40. DEVICE_RC = 33, //遥控器信息
  41. DEVICE_CURRENT = 34, //电流传感器
  42. DEVICE_AVOID = 35, //360避障雷达
  43. DEVICE_LPUMP1 = 36, //CAN线性水泵1
  44. DEVICE_LPUMP2 = 37, //CAN线性水泵2
  45. DEVICE_LPUMP3 = 38, //CAN线性水泵3
  46. DEVICE_LPUMP4 = 39, //CAN线性水泵4
  47. DEVICE_NOZZLE1 = 40, //CAN喷头1
  48. DEVICE_NOZZLE2 = 41, //CAN喷头2
  49. DEVICE_NOZZLE3 = 42, //CAN喷头3
  50. DEVICE_NOZZLE4 = 43, //CAN喷头4
  51. DEVICE_P_TRADAR = 44, //分区仿地雷达
  52. DEVICE_TR60_F = 45, //EZ 4D避障前
  53. DEVICE_TR60_B = 46, //EZ 4D避障后
  54. DEVICE_H_BMSA = 47, //HYDROGEN氢能源智能电池1
  55. DEVICE_H_BMSB = 48, //HYDROGEN氢能源智能电池2
  56. DEVICE_REMOTEID = 49, //remote id设备
  57. DEVICE_END
  58. };
  59. //设备号 软件 硬件是否注册过
  60. typedef struct
  61. {
  62. bool dev;
  63. bool sn;
  64. bool soft;
  65. bool hard;
  66. bool manu;
  67. }regist_type;
  68. #pragma pack(1)
  69. typedef struct
  70. {
  71. uint16_t num;
  72. bool verify;
  73. char sn[32];
  74. char soft_serial[16];
  75. char hard_serial[16];
  76. char manu[16];
  77. regist_type regist;
  78. int8_t send_times;
  79. } dev_version_content;
  80. #pragma pack()
  81. extern short dev_num;
  82. extern dev_version_content dev_pmu;
  83. extern dev_version_content dev_ter;
  84. extern dev_version_content dev_obsf;
  85. extern dev_version_content dev_obsb;
  86. extern dev_version_content dev_bms1;
  87. extern dev_version_content dev_bms2;
  88. extern dev_version_content dev_spreader;
  89. extern dev_version_content dev_weight;
  90. extern dev_version_content dev_flowmeter;
  91. extern dev_version_content dev_arm;
  92. extern dev_version_content dev_current;
  93. extern void *dev_ptr[];
  94. void get_device_version_and_sn(void);
  95. void regist_dev_info(dev_version_content *dev,uint8_t num,bool verify_flag,char *sn,uint8_t size1,
  96. char *soft_serial,uint8_t size2,char *hard_serial,uint8_t size3,char *manu,uint8_t size4);
  97. #endif