gcs_vklink_v30.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #ifndef _GCS_VKLINK_V300_H
  2. #define _GCS_VKLINK_V300_H
  3. #include "soft_gs.h"
  4. #include "vklink.h"
  5. /* 地面站消息 ID 分配 */
  6. enum
  7. {
  8. // 心跳包
  9. GCS_VKLINK_V300_HEART_ID = 1,
  10. // 位姿数据包
  11. GCS_VKLINK_V300_GLOBAL_POS_ID = 2,
  12. // 遥测数据包
  13. GCS_VKLINK_V300_TELEMETRY_ID = 3,
  14. // 智能电池数据包
  15. GCS_VKLINK_V300_BAT_BMS_ID = 6,
  16. // 电调动力信息
  17. GCS_VKLINK_V300_CANSERVO_DATA_ID = 7,
  18. // 吊舱载荷状态数据包
  19. GCS_VKLINK_V300_PAYLOAD_DATA_ID = 9,
  20. // HOME数据包
  21. GCS_VKLINK_V300_HOME_ID = 10,
  22. // POS数据包
  23. GCS_VKLINK_V300_POS_ID = 11,
  24. // 消息请求包
  25. GCS_VKLINK_V300_REQ_ID = 20,
  26. // 消息反馈包
  27. GCS_VKLINK_V300_ACK_ID = 21,
  28. // 控制命令包
  29. GCS_VKLINK_V300_CTL_ID = 22,
  30. // 校准命令包
  31. GCS_VKLINK_V300_CAL_ID = 23,
  32. // 参数设置包
  33. GCS_VKLINK_V300_CONFINF_ID = 24,
  34. // 参数整体获取包
  35. GCS_VKLINK_V300_CONFINF_TOTAL_ID = 25,
  36. // 机型参数数据包
  37. GCS_VKLINK_V300_APTYPE_ID = 30,
  38. // 基础PID数据包
  39. GCS_VKLINK_V300_PID_ID = 31,
  40. // 高级参数数据包
  41. GCS_VKLINK_V300_PAR_ID = 33,
  42. // 版本信息数据包
  43. GCS_VKLINK_V300_VER_ID = 35,
  44. // 飞行LOG数据包
  45. GCS_VKLINK_V300_LOG_ID = 36,
  46. // 文件索引数据包
  47. GCS_VKLINK_V300_FILE_INDEX_ID = 37,
  48. // 相机参数数据包
  49. GCS_VKLINK_V300_CAMINF_ID = 38,
  50. // 航点信息数据包
  51. GCS_VKLINK_V300_WP_ID = 40,
  52. // 操作杆数据包
  53. GCS_VKLINK_V300_ROCK_ID = 41,
  54. // 云台SUBSout数据包
  55. GCS_VKLINK_V300_GIMBAL_SBUS_ID = 42,
  56. // 地面车载系统数据包
  57. GCS_VKLINK_V300_VEHICLE_DATA_ID = 43,
  58. // 跟随点消息
  59. GCS_VKLINK_V300_GUIDE_ID = 44,
  60. // 安装中心偏差设置数据包
  61. GCS_VKLINK_V300_CENTER_FIX_ID = 45,
  62. // 自定义禁飞区信息
  63. GCS_VKLINK_V300_CUSTOM_NOFLYZONE_ID = 48,
  64. // 视觉模块数据
  65. GCS_VKLINK_V300_VINS_DATA_ID = 51,
  66. // 油电发动机数据
  67. GCS_VKLINK_V300_ENGINE_DATA_ID = 52,
  68. // AFC 控制数据
  69. GCS_VKLINK_V300_AFC_CTL_DATA_ID = 60,
  70. // VINS 参数数据
  71. GCS_VKLINK_V300_VINS_PARAM_DATA_ID = 70,
  72. //飞行记录数据包
  73. GCS_VKLINK_V300_DATA_ID = 150,
  74. // 固件升级指令包
  75. GCS_VKLINK_V300_FIRMWARE_UPDATE_ID = 200,
  76. // 载荷数据转发包
  77. GCS_VKLINK_V300_PORT_UART4_DATA = 201
  78. };
  79. /** 应答参数结构 */
  80. struct gcs_ack_arg
  81. {
  82. uint8_t ack_id;
  83. uint16_t ack_content[5];
  84. };
  85. /** 透传参数结构 */
  86. struct gcs_transparent_transmission_arg
  87. {
  88. const void *data;
  89. uint32_t data_len;
  90. };
  91. void gcs_vklink_v300_rx_decode(struct GCS_Link *pgcs);
  92. void gcs_vklink_v300_tx_poll(struct GCS_Link *pgcs);
  93. void gcs_vklink_v300_set_tx_msg(struct GCS_Link *pgcs, uint8_t msg_id, void *arg);
  94. #endif