From bcad940a9f529388781433f30d432eb1f25a9feb Mon Sep 17 00:00:00 2001 From: Daniel Agar <daniel@agar.ca> Date: Sun, 16 Sep 2018 17:36:06 -0400 Subject: [PATCH] pwm_out_sim lazily publish actuator_outputs --- src/drivers/pwm_out_sim/PWMSim.cpp | 6 ++---- src/drivers/pwm_out_sim/PWMSim.hpp | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/drivers/pwm_out_sim/PWMSim.cpp b/src/drivers/pwm_out_sim/PWMSim.cpp index ef7054b380..9a93dfbf83 100644 --- a/src/drivers/pwm_out_sim/PWMSim.cpp +++ b/src/drivers/pwm_out_sim/PWMSim.cpp @@ -158,9 +158,6 @@ 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)); @@ -287,7 +284,8 @@ PWMSim::run() /* and publish for anyone that cares to see */ _actuator_outputs.timestamp = hrt_absolute_time(); - orb_publish(ORB_ID(actuator_outputs), _outputs_pub, &_actuator_outputs); + int instance; + orb_publish_auto(ORB_ID(actuator_outputs), &_outputs_pub, &_actuator_outputs, &instance, ORB_PRIO_DEFAULT); // 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 46772adf67..87c7beb612 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}; -- GitLab