diff --git a/src/drivers/vmount/vmount.cpp b/src/drivers/vmount/vmount.cpp index 84f009d6f3..54a14c4b00 100644 --- a/src/drivers/vmount/vmount.cpp +++ b/src/drivers/vmount/vmount.cpp @@ -249,7 +249,6 @@ static int vmount_thread_main(int argc, char *argv[]) g_thread_data = &thread_data; int last_active = 0; - hrt_abstime last_output_update = 0; while (!thread_should_exit) { @@ -376,21 +375,16 @@ static int vmount_thread_main(int argc, char *argv[]) } } - hrt_abstime now = hrt_absolute_time(); - if (now - last_output_update > 10000) { // rate-limit the update of outputs - last_output_update = now; + //update output + int ret = thread_data.output_obj->update(control_data); - //update output - int ret = thread_data.output_obj->update(control_data); - - if (ret) { - PX4_ERR("failed to write output (%i)", ret); - break; - } - - thread_data.output_obj->publish(); + if (ret) { + PX4_ERR("failed to write output (%i)", ret); + break; } + thread_data.output_obj->publish(); + } else { //wait for parameter changes. We still need to wake up regularily to check for thread exit requests usleep(1e6);