mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-27 16:54:15 +01:00
OP-39 Fixed a bug when changing receiver type in wizard. The channel group type was not correctly set in manual control settings.
Added support in code for all known DSM types (2/X10Bit/X11Bit). Still have to add/create GUI/Icons to enable selection of specific protocol. Renamed some enums to have better and more correct names.
This commit is contained in:
parent
30c1523b80
commit
57169ceeb2
@ -133,7 +133,9 @@ void ConnectionDiagram::setupGraphicsScene()
|
||||
case VehicleConfigurationSource::INPUT_SBUS:
|
||||
elementsToShow << "sbus";
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_DSM:
|
||||
case VehicleConfigurationSource::INPUT_DSMX10:
|
||||
case VehicleConfigurationSource::INPUT_DSMX11:
|
||||
case VehicleConfigurationSource::INPUT_DSM2:
|
||||
elementsToShow << "satellite";
|
||||
break;
|
||||
default:
|
||||
|
@ -57,7 +57,7 @@ bool InputPage::validatePage()
|
||||
getWizard()->setInputType(SetupWizard::INPUT_SBUS);
|
||||
}
|
||||
else if(ui->spectrumButton->isChecked()) {
|
||||
getWizard()->setInputType(SetupWizard::INPUT_DSM);
|
||||
getWizard()->setInputType(SetupWizard::INPUT_DSM2);
|
||||
}
|
||||
else {
|
||||
getWizard()->setInputType(SetupWizard::INPUT_PWM);
|
||||
@ -82,7 +82,7 @@ bool InputPage::restartNeeded(VehicleConfigurationSource::INPUT_TYPE selectedTyp
|
||||
return data.CC_RcvrPort != HwSettings::CC_RCVRPORT_PPM;
|
||||
case VehicleConfigurationSource::INPUT_SBUS:
|
||||
return data.CC_MainPort != HwSettings::CC_MAINPORT_SBUS;
|
||||
case VehicleConfigurationSource::INPUT_DSM:
|
||||
case VehicleConfigurationSource::INPUT_DSM2:
|
||||
// TODO: Handle all of the DSM types ?? Which is most common?
|
||||
return data.CC_MainPort != HwSettings::CC_MAINPORT_DSM2;
|
||||
default:
|
||||
|
@ -217,9 +217,15 @@ QString SetupWizard::getSummaryText()
|
||||
case INPUT_SBUS:
|
||||
summary.append(tr("Futaba S.Bus"));
|
||||
break;
|
||||
case INPUT_DSM:
|
||||
case INPUT_DSM2:
|
||||
summary.append(tr("Spectrum satellite (DSM2)"));
|
||||
break;
|
||||
case INPUT_DSMX10:
|
||||
summary.append(tr("Spectrum satellite (DSMX10BIT)"));
|
||||
break;
|
||||
case INPUT_DSMX11:
|
||||
summary.append(tr("Spectrum satellite (DSMX11BIT)"));
|
||||
break;
|
||||
default:
|
||||
summary.append(tr("Unknown"));
|
||||
}
|
||||
|
@ -118,8 +118,13 @@ void VehicleConfigurationHelper::applyHardwareConfiguration()
|
||||
case VehicleConfigurationSource::INPUT_SBUS:
|
||||
data.CC_MainPort = HwSettings::CC_MAINPORT_SBUS;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_DSM:
|
||||
// TODO: Handle all of the DSM types ?? Which is most common?
|
||||
case VehicleConfigurationSource::INPUT_DSMX10:
|
||||
data.CC_MainPort = HwSettings::CC_MAINPORT_DSMX10BIT;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_DSMX11:
|
||||
data.CC_MainPort = HwSettings::CC_MAINPORT_DSMX11BIT;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_DSM2:
|
||||
data.CC_MainPort = HwSettings::CC_MAINPORT_DSM2;
|
||||
break;
|
||||
default:
|
||||
@ -357,11 +362,33 @@ void VehicleConfigurationHelper::applyManualControlDefaults()
|
||||
ManualControlSettings *mcSettings = ManualControlSettings::GetInstance(m_uavoManager);
|
||||
Q_ASSERT(mcSettings);
|
||||
ManualControlSettings::DataFields cData = mcSettings->getData();
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_THROTTLE] = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_ROLL] = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_YAW] = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_PITCH] = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_FLIGHTMODE] = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
|
||||
ManualControlSettings::ChannelGroupsOptions channelType = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
switch(m_configSource->getInputType())
|
||||
{
|
||||
case VehicleConfigurationSource::INPUT_PWM:
|
||||
channelType = ManualControlSettings::CHANNELGROUPS_PWM;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_PPM:
|
||||
channelType = ManualControlSettings::CHANNELGROUPS_PPM;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_SBUS:
|
||||
channelType = ManualControlSettings::CHANNELGROUPS_SBUS;
|
||||
break;
|
||||
case VehicleConfigurationSource::INPUT_DSMX10:
|
||||
case VehicleConfigurationSource::INPUT_DSMX11:
|
||||
case VehicleConfigurationSource::INPUT_DSM2:
|
||||
channelType = ManualControlSettings::CHANNELGROUPS_DSMMAINPORT;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_THROTTLE] = channelType;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_ROLL] = channelType;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_YAW] = channelType;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_PITCH] = channelType;
|
||||
cData.ChannelGroups[ManualControlSettings::CHANNELGROUPS_FLIGHTMODE] = channelType;
|
||||
|
||||
cData.ChannelNumber[ManualControlSettings::CHANNELGROUPS_THROTTLE] = 1;
|
||||
cData.ChannelNumber[ManualControlSettings::CHANNELGROUPS_ROLL] = 2;
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
MULTI_ROTOR_OCTO_V, MULTI_ROTOR_OCTO_COAX_X, MULTI_ROTOR_OCTO_COAX_PLUS, FIXED_WING_AILERON,
|
||||
FIXED_WING_VTAIL, HELI_CCPM};
|
||||
enum ESC_TYPE {ESC_RAPID, ESC_LEGACY, ESC_UNKNOWN};
|
||||
enum INPUT_TYPE {INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSM, INPUT_UNKNOWN};
|
||||
enum INPUT_TYPE {INPUT_PWM, INPUT_PPM, INPUT_SBUS, INPUT_DSMX10, INPUT_DSMX11, INPUT_DSM2, INPUT_UNKNOWN};
|
||||
|
||||
virtual VehicleConfigurationSource::CONTROLLER_TYPE getControllerType() const = 0;
|
||||
virtual VehicleConfigurationSource::VEHICLE_TYPE getVehicleType() const = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user