diff --git a/src/FirmwarePlugin/APM/MavCmdInfoCommon.json b/src/FirmwarePlugin/APM/MavCmdInfoCommon.json index 77a8d80304d9720f6c282cabc0802eef05cc281a..8e6320dce8e4c07323540aecbe5553183700d927 100644 --- a/src/FirmwarePlugin/APM/MavCmdInfoCommon.json +++ b/src/FirmwarePlugin/APM/MavCmdInfoCommon.json @@ -2,5 +2,20 @@ "version": 1, "mavCmdInfo": [ + { + "id": 22, + "rawName": "MAV_CMD_NAV_TAKEOFF", + "friendlyName": "Takeoff", + "description": "Take off from the ground.", + "specifiesCoordinate": false, + "friendlyEdit": true, + "category": "Basic", + "param1": { + "label": "Pitch:", + "units": "radians", + "default": 0.26179939, + "decimalPlaces": 2 + } + } ] } diff --git a/src/FirmwarePlugin/APM/MavCmdInfoFixedWing.json b/src/FirmwarePlugin/APM/MavCmdInfoFixedWing.json index 8e6320dce8e4c07323540aecbe5553183700d927..77a8d80304d9720f6c282cabc0802eef05cc281a 100644 --- a/src/FirmwarePlugin/APM/MavCmdInfoFixedWing.json +++ b/src/FirmwarePlugin/APM/MavCmdInfoFixedWing.json @@ -2,20 +2,5 @@ "version": 1, "mavCmdInfo": [ - { - "id": 22, - "rawName": "MAV_CMD_NAV_TAKEOFF", - "friendlyName": "Takeoff", - "description": "Take off from the ground.", - "specifiesCoordinate": false, - "friendlyEdit": true, - "category": "Basic", - "param1": { - "label": "Pitch:", - "units": "radians", - "default": 0.26179939, - "decimalPlaces": 2 - } - } ] } diff --git a/src/MissionManager/MissionCommands.cc b/src/MissionManager/MissionCommands.cc index e16831c461bc65109bf534cd634c64bba5930055..2266372f7dc156d637004237c73e68d821f6618d 100644 --- a/src/MissionManager/MissionCommands.cc +++ b/src/MissionManager/MissionCommands.cc @@ -153,13 +153,13 @@ MavCmdInfo* MissionCommands::getMavCmdInfo(MAV_CMD command, Vehicle* vehicle) co if (_autopilotToMultiRotorMissionCommands[firmwareType]->contains(command)) { mavCmdInfo = _autopilotToMultiRotorMissionCommands[firmwareType]->getMavCmdInfo(command); } - } else { - if (_autopilotToCommonMissionCommands[firmwareType]->contains(command)) { - mavCmdInfo = _autopilotToCommonMissionCommands[firmwareType]->getMavCmdInfo(command); - } } } + if (!mavCmdInfo && _autopilotToCommonMissionCommands[firmwareType]->contains(command)) { + mavCmdInfo = _autopilotToCommonMissionCommands[firmwareType]->getMavCmdInfo(command); + } + if (!mavCmdInfo) { mavCmdInfo = _commonMissionCommands.getMavCmdInfo(command); } diff --git a/src/MissionManager/MissionItem.cc b/src/MissionManager/MissionItem.cc index 3d3dd6382c463596bd6342a17d7f4a4e459b8f93..938ae79a6936a962baef28296e28a354750fc12f 100644 --- a/src/MissionManager/MissionItem.cc +++ b/src/MissionManager/MissionItem.cc @@ -813,7 +813,8 @@ void MissionItem::setDefaultsForCommand(void) MAV_CMD command = (MAV_CMD)this->command(); if (_missionCommands->contains(command)) { - foreach (const MavCmdParamInfo* paramInfo, _missionCommands->getMavCmdInfo(command, _vehicle)->paramInfoMap()) { + MavCmdInfo* mavCmdInfo = _missionCommands->getMavCmdInfo(command, _vehicle); + foreach (const MavCmdParamInfo* paramInfo, mavCmdInfo->paramInfoMap()) { Fact* rgParamFacts[7] = { &_param1Fact, &_param2Fact, &_param3Fact, &_param4Fact, &_param5Fact, &_param6Fact, &_param7Fact }; rgParamFacts[paramInfo->param()-1]->setRawValue(paramInfo->defaultValue());