Skip to content
Snippets Groups Projects
Commit d1343b0c authored by Beat Küng's avatar Beat Küng Committed by Lorenz Meier
Browse files

calibration_routines: fix 'Command denied during calibration' error message

The uorb subscribe logic got changed for queued topics with
https://github.com/PX4/Firmware/pull/9436, meaning an orb_subscribe will
return past messages as well now.

This lead to an error 'Command denied during calibration' for the previously
received calibration start command.
parent 1fac3a1c
No related branches found
No related tags found
No related merge requests found
......@@ -799,7 +799,16 @@ calibrate_return calibrate_from_orientation(orb_advert_t *mavlink_log_pub,
int calibrate_cancel_subscribe()
{
return orb_subscribe(ORB_ID(vehicle_command));
int vehicle_command_sub = orb_subscribe(ORB_ID(vehicle_command));
if (vehicle_command_sub >= 0) {
// make sure we won't read any old messages
struct vehicle_command_s cmd;
bool update;
while (orb_check(vehicle_command_sub, &update) == 0 && update) {
orb_copy(ORB_ID(vehicle_command), vehicle_command_sub, &cmd);
}
}
return vehicle_command_sub;
}
void calibrate_cancel_unsubscribe(int cmd_sub)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment