mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-19 05:33:34 +08:00
RTCM: use MAVLINK_MSG_ID_GPS_RTCM_DATA mavlink message (supports fragmentation)
This commit is contained in:
@@ -250,8 +250,8 @@ MavlinkReceiver::handle_message(mavlink_message_t *msg)
|
||||
handle_message_adsb_vehicle(msg);
|
||||
break;
|
||||
|
||||
case MAVLINK_MSG_ID_GPS_INJECT_DATA:
|
||||
handle_message_gps_inject_data(msg);
|
||||
case MAVLINK_MSG_ID_GPS_RTCM_DATA:
|
||||
handle_message_gps_rtcm_data(msg);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -1775,16 +1775,17 @@ void MavlinkReceiver::handle_message_adsb_vehicle(mavlink_message_t *msg)
|
||||
}
|
||||
}
|
||||
|
||||
void MavlinkReceiver::handle_message_gps_inject_data(mavlink_message_t *msg)
|
||||
void MavlinkReceiver::handle_message_gps_rtcm_data(mavlink_message_t *msg)
|
||||
{
|
||||
mavlink_gps_inject_data_t gps_inject_data_msg;
|
||||
mavlink_gps_rtcm_data_t gps_rtcm_data_msg;
|
||||
gps_inject_data_s gps_inject_data_topic;
|
||||
|
||||
mavlink_msg_gps_inject_data_decode(msg, &gps_inject_data_msg);
|
||||
mavlink_msg_gps_rtcm_data_decode(msg, &gps_rtcm_data_msg);
|
||||
|
||||
gps_inject_data_topic.len = gps_inject_data_msg.len;
|
||||
memcpy(gps_inject_data_topic.data, gps_inject_data_msg.data,
|
||||
math::min((int)sizeof(gps_inject_data_topic.data), (int)sizeof(uint8_t) * gps_inject_data_msg.len));
|
||||
gps_inject_data_topic.len = gps_rtcm_data_msg.len;
|
||||
gps_inject_data_topic.flags = gps_rtcm_data_msg.flags;
|
||||
memcpy(gps_inject_data_topic.data, gps_rtcm_data_msg.data,
|
||||
math::min((int)sizeof(gps_inject_data_topic.data), (int)sizeof(uint8_t) * gps_rtcm_data_msg.len));
|
||||
|
||||
orb_advert_t &pub = _gps_inject_data_pub[_gps_inject_data_next_idx];
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ private:
|
||||
void handle_message_distance_sensor(mavlink_message_t *msg);
|
||||
void handle_message_follow_target(mavlink_message_t *msg);
|
||||
void handle_message_adsb_vehicle(mavlink_message_t *msg);
|
||||
void handle_message_gps_inject_data(mavlink_message_t *msg);
|
||||
void handle_message_gps_rtcm_data(mavlink_message_t *msg);
|
||||
|
||||
void *receive_thread(void *arg);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user