Add support for testing precision landing in SITL simulation

This commit is contained in:
Nicolas de Palezieux
2018-01-14 23:21:23 +05:30
committed by Lorenz Meier
parent d9221bb8d2
commit f600cfbb9f
6 changed files with 191 additions and 1 deletions
@@ -429,6 +429,25 @@ void Simulator::handle_message(mavlink_message_t *msg, bool publish)
break;
case MAVLINK_MSG_ID_LANDING_TARGET:
mavlink_landing_target_t landing_target_mavlink;
mavlink_msg_landing_target_decode(msg, &landing_target_mavlink);
struct irlock_report_s report;
memset(&report, 0, sizeof(report));
report.timestamp = hrt_absolute_time();
report.signature = landing_target_mavlink.target_num;
report.pos_x = landing_target_mavlink.angle_x;
report.pos_y = landing_target_mavlink.angle_y;
report.size_x = landing_target_mavlink.size_x;
report.size_y = landing_target_mavlink.size_y;
int irlock_multi;
orb_publish_auto(ORB_ID(irlock_report), &_irlock_report_pub, &report, &irlock_multi, ORB_PRIO_HIGH);
break;
case MAVLINK_MSG_ID_HIL_STATE_QUATERNION:
mavlink_hil_state_quaternion_t hil_state;
mavlink_msg_hil_state_quaternion_decode(msg, &hil_state);