soft_terrain.h 2.8 KB

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