|
|
|
@ -31,16 +31,17 @@ PX4AdvancedFlightModesController::PX4AdvancedFlightModesController(void) :
@@ -31,16 +31,17 @@ PX4AdvancedFlightModesController::PX4AdvancedFlightModesController(void) :
|
|
|
|
|
_returnModeSelected(false), |
|
|
|
|
_offboardModeSelected(false) |
|
|
|
|
{ |
|
|
|
|
QStringList usedParams; |
|
|
|
|
usedParams << "RC_MAP_THROTTLE" << "RC_MAP_YAW" << "RC_MAP_PITCH" << "RC_MAP_ROLL" << "RC_MAP_FLAPS" << "RC_MAP_AUX1" << "RC_MAP_AUX2" << |
|
|
|
|
"RC_MAP_MODE_SW" << "RC_MAP_RETURN_SW" << "RC_MAP_LOITER_SW" << "RC_MAP_POSCTL_SW" << "RC_MAP_OFFB_SW" << "RC_MAP_ACRO_SW"; |
|
|
|
|
QStringList usedParams = QStringList({ |
|
|
|
|
"RC_MAP_THROTTLE", "RC_MAP_YAW", "RC_MAP_PITCH", "RC_MAP_ROLL", "RC_MAP_FLAPS", "RC_MAP_AUX1", "RC_MAP_AUX2", |
|
|
|
|
"RC_MAP_MODE_SW", "RC_MAP_RETURN_SW", "RC_MAP_LOITER_SW", "RC_MAP_POSCTL_SW", "RC_MAP_OFFB_SW", "RC_MAP_ACRO_SW"}); |
|
|
|
|
|
|
|
|
|
if (!_allParametersExists(FactSystem::defaultComponentId, usedParams)) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
_init(); |
|
|
|
|
_validateConfiguration(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
connect(_vehicle, &Vehicle::rcChannelsChanged, this, &PX4AdvancedFlightModesController::_rcChannelsChanged); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -96,20 +97,17 @@ void PX4AdvancedFlightModesController::_init(void)
@@ -96,20 +97,17 @@ void PX4AdvancedFlightModesController::_init(void)
|
|
|
|
|
// Auto mode is visible if Mission/Loiter are on separate channel from main Mode switch
|
|
|
|
|
_autoModeVisible = loiterChannel != modeChannel; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Setup the channel combobox model
|
|
|
|
|
|
|
|
|
|
QList<int> usedChannels; |
|
|
|
|
QStringList attitudeParams; |
|
|
|
|
|
|
|
|
|
attitudeParams << "RC_MAP_THROTTLE" << "RC_MAP_YAW" << "RC_MAP_PITCH" << "RC_MAP_ROLL" << "RC_MAP_FLAPS" << "RC_MAP_AUX1" << "RC_MAP_AUX2"; |
|
|
|
|
foreach(const QString &attitudeParam, attitudeParams) { |
|
|
|
|
QVector<int> usedChannels; |
|
|
|
|
|
|
|
|
|
for (const QString &attitudeParam : {"RC_MAP_THROTTLE", "RC_MAP_YAW", "RC_MAP_PITCH", "RC_MAP_ROLL", "RC_MAP_FLAPS", "RC_MAP_AUX1", "RC_MAP_AUX2"}) { |
|
|
|
|
int channel = getParameterFact(-1, attitudeParam)->rawValue().toInt(); |
|
|
|
|
if (channel != 0) { |
|
|
|
|
usedChannels << channel; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_channelListModel << "Disabled"; |
|
|
|
|
_channelListModelChannel << 0; |
|
|
|
|
for (int channel=1; channel<=_channelCount; channel++) { |
|
|
|
|