explicitly set param2 to 0 in existing *DO_VTOL_TRANSITION commands. add a guard against NaNs.

This commit is contained in:
Thomas
2021-06-03 10:27:48 +02:00
committed by Silvan Fuhrer
parent 0c5f2d3b8c
commit a264541861
3 changed files with 4 additions and 2 deletions

View File

@@ -304,7 +304,7 @@ int Commander::custom_command(int argc, char *argv[])
send_vehicle_command(vehicle_command_s::VEHICLE_CMD_DO_VTOL_TRANSITION,
(float)(vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING ?
vtol_vehicle_status_s::VEHICLE_VTOL_STATE_FW :
vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC));
vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC), 0.0f);
return 0;
}

View File

@@ -699,6 +699,7 @@ MissionBlock::set_land_item(struct mission_item_s *item, bool at_current_locatio
vehicle_command_s vcmd = {};
vcmd.command = NAV_CMD_DO_VTOL_TRANSITION;
vcmd.param1 = vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC;
vcmd.param2 = 0.0f;
_navigator->publish_vehicle_cmd(&vcmd);
}
@@ -748,6 +749,7 @@ MissionBlock::set_vtol_transition_item(struct mission_item_s *item, const uint8_
{
item->nav_cmd = NAV_CMD_DO_VTOL_TRANSITION;
item->params[0] = (float) new_mode;
item->params[1] = 0.0f;
item->yaw = _navigator->get_local_position()->heading;
item->autocontinue = true;
}

View File

@@ -160,7 +160,7 @@ void VtolAttitudeControl::vehicle_cmd_poll()
} else {
_transition_command = int(vehicle_command.param1 + 0.5f);
_immediate_transition = int(vehicle_command.param2 + 0.5f);
_immediate_transition = (PX4_ISFINITE(vehicle_command.param2)) ? int(vehicle_command.param2 + 0.5f) : false;
}
if (vehicle_command.from_external) {