#ifndef _GCS_VKLINK_V300_H #define _GCS_VKLINK_V300_H #include "soft_gs.h" #include "vklink.h" /* 地面站消息 ID 分配 */ enum { // 心跳包 GCS_VKLINK_V300_HEART_ID = 1, // 位姿数据包 GCS_VKLINK_V300_GLOBAL_POS_ID = 2, // 遥测数据包 GCS_VKLINK_V300_TELEMETRY_ID = 3, // 智能电池数据包 GCS_VKLINK_V300_BAT_BMS_ID = 6, // 电调动力信息 GCS_VKLINK_V300_CANSERVO_DATA_ID = 7, // 吊舱载荷状态数据包 GCS_VKLINK_V300_PAYLOAD_DATA_ID = 9, // HOME数据包 GCS_VKLINK_V300_HOME_ID = 10, // POS数据包 GCS_VKLINK_V300_POS_ID = 11, // 消息请求包 GCS_VKLINK_V300_REQ_ID = 20, // 消息反馈包 GCS_VKLINK_V300_ACK_ID = 21, // 控制命令包 GCS_VKLINK_V300_CTL_ID = 22, // 校准命令包 GCS_VKLINK_V300_CAL_ID = 23, // 参数设置包 GCS_VKLINK_V300_CONFINF_ID = 24, // 参数整体获取包 GCS_VKLINK_V300_CONFINF_TOTAL_ID = 25, // 机型参数数据包 GCS_VKLINK_V300_APTYPE_ID = 30, // 基础PID数据包 GCS_VKLINK_V300_PID_ID = 31, // 高级参数数据包 GCS_VKLINK_V300_PAR_ID = 33, // 版本信息数据包 GCS_VKLINK_V300_VER_ID = 35, // 飞行LOG数据包 GCS_VKLINK_V300_LOG_ID = 36, // 文件索引数据包 GCS_VKLINK_V300_FILE_INDEX_ID = 37, // 相机参数数据包 GCS_VKLINK_V300_CAMINF_ID = 38, // 航点信息数据包 GCS_VKLINK_V300_WP_ID = 40, // 操作杆数据包 GCS_VKLINK_V300_ROCK_ID = 41, // 云台SUBSout数据包 GCS_VKLINK_V300_GIMBAL_SBUS_ID = 42, // 地面车载系统数据包 GCS_VKLINK_V300_VEHICLE_DATA_ID = 43, // 跟随点消息 GCS_VKLINK_V300_GUIDE_ID = 44, // 安装中心偏差设置数据包 GCS_VKLINK_V300_CENTER_FIX_ID = 45, // 自定义禁飞区信息 GCS_VKLINK_V300_CUSTOM_NOFLYZONE_ID = 48, // 视觉模块数据 GCS_VKLINK_V300_VINS_DATA_ID = 51, // 油电发动机数据 GCS_VKLINK_V300_ENGINE_DATA_ID = 52, // AFC 控制数据 GCS_VKLINK_V300_AFC_CTL_DATA_ID = 60, // VINS 参数数据 GCS_VKLINK_V300_VINS_PARAM_DATA_ID = 70, //飞行记录数据包 GCS_VKLINK_V300_DATA_ID = 150, // 固件升级指令包 GCS_VKLINK_V300_FIRMWARE_UPDATE_ID = 200, // 载荷数据转发包 GCS_VKLINK_V300_PORT_UART4_DATA = 201 }; /** 应答参数结构 */ struct gcs_ack_arg { uint8_t ack_id; uint16_t ack_content[5]; }; /** 透传参数结构 */ struct gcs_transparent_transmission_arg { const void *data; uint32_t data_len; }; void gcs_vklink_v300_rx_decode(struct GCS_Link *pgcs); void gcs_vklink_v300_tx_poll(struct GCS_Link *pgcs); void gcs_vklink_v300_set_tx_msg(struct GCS_Link *pgcs, uint8_t msg_id, void *arg); #endif