soft_terrain.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. #ifndef _SOFT_TERRAIN_H_
  2. #define _SOFT_TERRAIN_H_
  3. #include "stdint.h"
  4. #include "stdbool.h"
  5. #include "common.h"
  6. #include "soft_obstacle.h"
  7. #pragma pack(1)
  8. typedef struct
  9. {
  10. //获取心跳属性
  11. Connect_check Link;
  12. //获取雷达高度数据
  13. short height;
  14. uint8_t crc;
  15. //获取灵敏度
  16. char send_fcu_sensi_count;
  17. char get_radar_sensi_count;
  18. bool get_radar_sensi_flag; //标志位
  19. bool fcu_set_sensi_flag;
  20. short fcu_set_sensi; //灵敏度
  21. short get_radar_sensi;
  22. char set_radar_sensi_count;
  23. bool set_radar_sensi_ack;
  24. //获取版本信息
  25. bool get_radar_ver_flag;
  26. bool get_radar_sn_flag;
  27. char version[10];
  28. int soft_verison;
  29. int hard_version;
  30. bool get_radar_blind_flag;
  31. bool get_radar_power_flag;
  32. bool get_radar_rawSwitch_flag;
  33. //SN号
  34. char sn[20];
  35. }uavr_terrain;
  36. #pragma pack()
  37. #pragma pack(1)
  38. struct dm_byte1
  39. {
  40. uint8_t tail:1;
  41. uint8_t head:1;
  42. uint8_t i:6;
  43. };
  44. #pragma pack()
  45. union dm_byte
  46. {
  47. uint8_t frame_flag;
  48. struct dm_byte1 flag;
  49. };
  50. #pragma pack(1)
  51. typedef struct
  52. {
  53. int soft_verison;
  54. char version[10];
  55. char sn[20];
  56. bool get_radar_ver_flag;
  57. bool get_radar_sn_flag;
  58. }moocib_part_radar_msg;
  59. #pragma pack()
  60. #pragma pack(1)
  61. typedef struct
  62. {
  63. uint8_t target_num;
  64. uint16_t power_level;
  65. uint16_t crc;
  66. uint16_t warn;
  67. union dm_byte byte7;
  68. uint8_t buf[150];
  69. }DM_RADAR;
  70. #pragma pack()
  71. #pragma pack(1)
  72. typedef struct
  73. {
  74. uint8_t target_num;
  75. uint16_t time_delay;
  76. uint16_t crc;
  77. uint16_t err_num;
  78. union dm_byte byte7;
  79. uint8_t RawData[25 * 2];
  80. }DM_4dTRADAR;
  81. #pragma pack()
  82. #pragma pack(1)
  83. typedef struct
  84. {
  85. uint8_t target_num;
  86. uint16_t time_delay;
  87. uint16_t err_num;
  88. uint8_t RawData[25 * 2];
  89. }DM_4dTRADAR_tofmu;
  90. #pragma pack()
  91. #pragma pack(1)
  92. typedef struct
  93. {
  94. uint8_t target_num;
  95. uint16_t time_delay;
  96. uint16_t crc;
  97. uint16_t warn;
  98. union dm_byte byte7;
  99. uint8_t RawData[256 * 5];
  100. }DM_4dFRADAR;
  101. #pragma pack()
  102. typedef struct
  103. {
  104. char version[11];
  105. int soft_verison;
  106. char sn[20];
  107. bool get_radar_ver_flag;
  108. }DM_4D_REDARVER;
  109. extern DM_4D_REDARVER DM_4DB_info;
  110. extern bool DM4Dmsg_send_fmu;
  111. extern DM_4dTRADAR DM_T4d;
  112. extern DM_4dTRADAR DM_BT4d;
  113. extern bool F4DB_send_flag;
  114. extern uint8_t DM4dt_recv_flag;
  115. extern uint8_t DM4dbt_recv_flag;
  116. extern uavr_terrain uavr56_info;
  117. extern uavr_terrain mimo_ter_info;
  118. extern moocib_part_radar_msg Mocib_radar_part;
  119. extern DM_RADAR DM_T_info,FMU_DM_info;
  120. extern Connect_check DM_status;
  121. extern Connect_check DM_4dstatus;
  122. extern uint8_t DM_recv_flag;
  123. extern DM_4dFRADAR DM_B4d;
  124. extern uavr_obs DM_f_info;
  125. extern int16_t F_4DRadar[3][3];
  126. extern int16_t B_4DRadar[3][3];
  127. extern DM_4dTRADAR_tofmu D4T_tofmu;
  128. extern DM_4dTRADAR_tofmu D4BT_tofmu;
  129. extern bool F4DT_send_flag;
  130. extern uavr_terrain DM_ter_info;
  131. void can_recv_mocib_terrain(uint8_t *data);
  132. void can_recv_enzhao_terrain(uint32_t CanID, uint8_t data[], uint8_t len);
  133. void can_recv_mocib_T_terrain(uint32_t CanID, uint8_t data[], uint8_t len);
  134. void DM_Fobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  135. void DM_terrain_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  136. void DM_Bobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  137. #endif