soft_terrain.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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[10];
  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. // //木牛仿地
  53. // #pragma pack(1)
  54. // typedef struct
  55. // {
  56. // uint16_t muniu_hight;
  57. // uint16_t muniu_SNR;
  58. // Connect_check Link;
  59. // }muniu;
  60. // extern muniu muniu_ter_info;
  61. // #pragma pack()
  62. #pragma pack(1)
  63. struct dm_byte1
  64. {
  65. uint8_t tail:1;
  66. uint8_t head:1;
  67. uint8_t i:6;
  68. };
  69. #pragma pack()
  70. union dm_byte
  71. {
  72. uint8_t frame_flag;
  73. struct dm_byte1 flag;
  74. };
  75. #pragma pack(1)
  76. typedef struct
  77. {
  78. uint8_t target_num;
  79. uint16_t power_level;
  80. uint16_t crc;
  81. uint16_t warn;
  82. union dm_byte byte7;
  83. uint8_t buf[240];
  84. }DM_RADAR;
  85. #pragma pack()
  86. extern Connect_check DM_status;
  87. extern DM_RADAR DM_T_info,FMU_DM_info;
  88. extern uint8_t DM_recv_flag;
  89. void DM_terrain_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  90. void DM_Fobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len);
  91. #endif