Unverified Commit 5fce1d33 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8884 from DonLakeFlyer/PlanPreCheck

Plan: Upload pre-check must be vehicle-class based
parents c065dbb0 75cc0c75
......@@ -2592,7 +2592,7 @@ MissionController::SendToVehiclePreCheckState MissionController::sendToVehiclePr
if (_managerVehicle->armed() && _managerVehicle->flightMode() == _managerVehicle->missionFlightMode()) {
return SendToVehiclePreCheckStateActiveMission;
}
if (_controllerVehicle->firmwareType() != _managerVehicle->firmwareType() || _controllerVehicle->vehicleType() != _managerVehicle->vehicleType()) {
if (_controllerVehicle->firmwareType() != _managerVehicle->firmwareType() || QGCMAVLink::vehicleClass(_controllerVehicle->vehicleType()) != QGCMAVLink::vehicleClass(_managerVehicle->vehicleType())) {
return SendToVehiclePreCheckStateFirwmareVehicleMismatch;
}
return SendToVehiclePreCheckStateOk;
......
......@@ -61,6 +61,23 @@ bool QGCMAVLink::isVTOL(MAV_TYPE mavType)
}
}
MAV_TYPE QGCMAVLink::vehicleClass(MAV_TYPE mavType)
{
if (isFixedWing(mavType)) {
return MAV_TYPE_FIXED_WING;
} else if (isRover(mavType)) {
return MAV_TYPE_GROUND_ROVER;
} else if (isSub(mavType)) {
return MAV_TYPE_SUBMARINE;
} else if (isMultiRotor(mavType)) {
return MAV_TYPE_QUADROTOR;
} else if (isVTOL(mavType)) {
return MAV_TYPE_VTOL_QUADROTOR;
}
return MAV_TYPE_GENERIC;
}
QString QGCMAVLink::mavResultToString(MAV_RESULT result)
{
switch (result) {
......
......@@ -53,6 +53,7 @@ public:
static bool isSub (MAV_TYPE mavType);
static bool isMultiRotor (MAV_TYPE mavType);
static bool isVTOL (MAV_TYPE mavType);
static MAV_TYPE vehicleClass (MAV_TYPE mavType);
static QString mavResultToString (MAV_RESULT result);
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment