soft_terrain.h 2.6 KB

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