【类 型】:feat

【原  因】:飞控发送adsb 数据 (测试)
【过  程】:
【影  响】:

# 类型 包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# refactor:重构(即不是新增功能,也不是修改bug的代码变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
This commit is contained in:
air 2025-06-20 08:35:13 +08:00
parent 1d7b31716c
commit 1cf9b81ccb

View File

@ -795,6 +795,27 @@ void mavlink_receiveCallback(uint8_t c)
}
break;
case MAVLINK_MSG_ID_ADSB_VEHICLE: // #246 ADSB
{
mavlink_adsb_vehicle_t adsb;
mavlink_msg_adsb_vehicle_decode(&msg, &adsb);
// 提取并转换数据
uint32_t icao = adsb.ICAO_address;
float lat = adsb.lat / 1e7;
float lon = adsb.lon / 1e7;
int alt = adsb.altitude;
float heading = adsb.heading / 10.0f;
// 构建 JSON 字符串
char jsonString[256];
snprintf(jsonString, sizeof(jsonString), "{\"icao\":%u,\"lat\":%.7f,\"lon\":%.7f,\"alt\":%d,\"heading\":%.1f}", icao, lat, lon, alt, heading);
// 发送 MQTT 消息
fc.pubMQTTmsg("ceshi", jsonString);
}
break;
case MAVLINK_MSG_ID_STATUSTEXT: // #253 文本信息
{
char buf[51]; // 定义一个局部缓冲区,大小为 51