soft_terrain.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #ifndef _SOFT_TERRAIN_H_
  2. #define _SOFT_TERRAIN_H_
  3. #include "stdint.h"
  4. #include "stdbool.h"
  5. #include "common.h"
  6. //莫之比仿地
  7. void can_recv_mocib_terrain(uint8_t *data);
  8. typedef struct {
  9. short powerful;
  10. short near;
  11. short far;
  12. }UAVH30;
  13. extern UAVH30 uavh30_dist;
  14. extern bool terrain_is_link;
  15. extern uint16_t terrain_height;
  16. void can_recv_enzhao_terrain(uint32_t CanID, uint8_t data[], uint8_t len);
  17. void can_recv_muniu_terrain(uint8_t *data);
  18. //仿地
  19. #pragma pack(1)
  20. typedef struct
  21. {
  22. //获取心跳属性
  23. Connect_check Link;
  24. //获取雷达高度数据
  25. short height;
  26. uint8_t crc;
  27. //获取灵敏度
  28. char send_fcu_sensi_count;
  29. char get_radar_sensi_count;
  30. bool get_radar_sensi_flag; //标志位
  31. bool fcu_set_sensi_flag;
  32. short fcu_set_sensi; //灵敏度
  33. short get_radar_sensi;
  34. char set_radar_sensi_count;
  35. bool set_radar_sensi_ack;
  36. //获取版本信息
  37. bool get_radar_ver_flag;
  38. bool get_radar_sn_flag;
  39. char version[11];
  40. int soft_verison;
  41. int hard_version;
  42. bool get_radar_blind_flag;
  43. bool get_radar_power_flag;
  44. bool get_radar_rawSwitch_flag;
  45. //SN号
  46. char sn[20];
  47. }uavr_terrain;
  48. #pragma pack()
  49. extern uavr_terrain uavr56_info;
  50. extern uavr_terrain mimo_ter_info;
  51. extern uavr_terrain DM_ter_info;
  52. extern int16_t F_4DRadar[3][3];
  53. // //木牛仿地
  54. // #pragma pack(1)
  55. // typedef struct
  56. // {
  57. // uint16_t muniu_hight;
  58. // uint16_t muniu_SNR;
  59. // Connect_check Link;
  60. // }muniu;
  61. // extern muniu muniu_ter_info;
  62. // #pragma pack()
  63. #pragma pack(1)
  64. struct dm_byte1
  65. {
  66. uint8_t tail:1;
  67. uint8_t head:1;
  68. uint8_t i:6;
  69. };
  70. #pragma pack()
  71. union dm_byte
  72. {
  73. uint8_t frame_flag;
  74. struct dm_byte1 flag;
  75. };
  76. #pragma pack(1)
  77. typedef struct
  78. {
  79. uint8_t target_num;
  80. uint16_t power_level;
  81. uint16_t crc;
  82. uint16_t warn;
  83. union dm_byte byte7;
  84. uint8_t buf[240];
  85. }DM_RADAR;
  86. #pragma pack()
  87. typedef struct
  88. {
  89. uint8_t pack_num;
  90. uint8_t target_num;
  91. uint8_t buf[256 * 5];
  92. }DM_4DRADAR;
  93. extern DM_4DRADAR FMU_4D_info;
  94. #pragma pack(1)
  95. typedef struct
  96. {
  97. uint8_t target_num;
  98. uint16_t time_delay;
  99. uint16_t crc;
  100. uint16_t warn;
  101. union dm_byte byte7;
  102. uint8_t RawData[256 * 5];
  103. }DM_4dFRADAR;
  104. #pragma pack()
  105. extern DM_4dFRADAR DM_F4d;
  106. extern Connect_check DM_status;
  107. extern Connect_check DM_4dstatus;
  108. extern DM_RADAR DM_T_info,FMU_DM_info;
  109. extern uint8_t DM_recv_flag;
  110. extern uint8_t DM4d_recv_flag;
  111. void DM_terrain_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  112. void DM_Fobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  113. #endif