diff --git a/src/modules/simulator/simulator.h b/src/modules/simulator/simulator.h index 21cc7859da..1dad4e9dcf 100644 --- a/src/modules/simulator/simulator.h +++ b/src/modules/simulator/simulator.h @@ -336,6 +336,7 @@ private: void handle_message_hil_sensor(const mavlink_message_t *msg); void handle_message_hil_state_quaternion(const mavlink_message_t *msg); void handle_message_landing_target(const mavlink_message_t *msg); + void handle_message_odometry(const mavlink_message_t *msg); void handle_message_optical_flow(const mavlink_message_t *msg); void handle_message_rc_channels(const mavlink_message_t *msg); void handle_message_vision_position_estimate(const mavlink_message_t *msg); diff --git a/src/modules/simulator/simulator_mavlink.cpp b/src/modules/simulator/simulator_mavlink.cpp index 11ff5d5efb..6f6212141d 100644 --- a/src/modules/simulator/simulator_mavlink.cpp +++ b/src/modules/simulator/simulator_mavlink.cpp @@ -301,6 +301,9 @@ void Simulator::handle_message(mavlink_message_t *msg) break; case MAVLINK_MSG_ID_ODOMETRY: + handle_message_odometry(msg); + break; + case MAVLINK_MSG_ID_VISION_POSITION_ESTIMATE: handle_message_vision_position_estimate(msg); break; @@ -522,6 +525,11 @@ void Simulator::handle_message_landing_target(const mavlink_message_t *msg) orb_publish_auto(ORB_ID(irlock_report), &_irlock_report_pub, &report, &irlock_multi, ORB_PRIO_HIGH); } +void Simulator::handle_message_odometry(const mavlink_message_t *msg) +{ + publish_odometry_topic(msg); +} + void Simulator::handle_message_optical_flow(const mavlink_message_t *msg) { mavlink_hil_optical_flow_t flow;