diff --git a/src/drivers/pwm_out_sim/PWMSim.cpp b/src/drivers/pwm_out_sim/PWMSim.cpp index 9a93dfbf8313482b52663d879d3e2ddfe5df9862..ef7054b3800ef03fc7c55472f1ddd6c5d5f96a94 100644 --- a/src/drivers/pwm_out_sim/PWMSim.cpp +++ b/src/drivers/pwm_out_sim/PWMSim.cpp @@ -158,6 +158,9 @@ PWMSim::run() _armed_sub = orb_subscribe(ORB_ID(actuator_armed)); + /* advertise the mixed control outputs, insist on the first group output */ + _outputs_pub = orb_advertise(ORB_ID(actuator_outputs), &_actuator_outputs); + update_params(); int params_sub = orb_subscribe(ORB_ID(parameter_update)); @@ -284,8 +287,7 @@ PWMSim::run() /* and publish for anyone that cares to see */ _actuator_outputs.timestamp = hrt_absolute_time(); - int instance; - orb_publish_auto(ORB_ID(actuator_outputs), &_outputs_pub, &_actuator_outputs, &instance, ORB_PRIO_DEFAULT); + orb_publish(ORB_ID(actuator_outputs), _outputs_pub, &_actuator_outputs); // use first valid timestamp_sample for latency tracking for (int i = 0; i < actuator_controls_s::NUM_ACTUATOR_CONTROL_GROUPS; i++) { diff --git a/src/drivers/pwm_out_sim/PWMSim.hpp b/src/drivers/pwm_out_sim/PWMSim.hpp index 87c7beb61234522ca44f50f5e99f594761667cb2..46772adf67e956aa6a09e3f934df891efb8623f6 100644 --- a/src/drivers/pwm_out_sim/PWMSim.hpp +++ b/src/drivers/pwm_out_sim/PWMSim.hpp @@ -110,7 +110,7 @@ private: int _armed_sub{-1}; - actuator_outputs_s _actuator_outputs{}; + actuator_outputs_s _actuator_outputs = {}; orb_advert_t _outputs_pub{nullptr}; unsigned _num_outputs{0};