mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-21 11:54:15 +01:00
LP-551 Add enableBanks function - Refine bank freeze/unfreeze - Remove unused bankModeName()
This commit is contained in:
parent
b5bce33ce2
commit
42332c6913
@ -224,14 +224,7 @@ void ConfigOutputWidget::runChannelTests(bool state)
|
|||||||
|
|
||||||
channelTestsStarted = state;
|
channelTestsStarted = state;
|
||||||
|
|
||||||
// Disable/Enable banks
|
enableBanks(!state);
|
||||||
for (int i = 0; i < m_banks.count(); i++) {
|
|
||||||
OutputBankControls controls = m_banks.at(i);
|
|
||||||
bool isUsed = !(controls.rateCombo()->currentText() == "-" && controls.modeCombo()->currentText() == "PWM");
|
|
||||||
if (isUsed) {
|
|
||||||
controls.modeCombo()->setEnabled(!state);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ActuatorCommand *obj = ActuatorCommand::GetInstance(getObjectManager());
|
ActuatorCommand *obj = ActuatorCommand::GetInstance(getObjectManager());
|
||||||
UAVObject::Metadata mdata = obj->getMetadata();
|
UAVObject::Metadata mdata = obj->getMetadata();
|
||||||
@ -420,6 +413,9 @@ void ConfigOutputWidget::refreshWidgetsValuesImpl(UAVObject *obj)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Store how many banks are active according to the board
|
||||||
|
activeBanksCount = bankLabels.count();
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
foreach(QString banklabel, bankLabels) {
|
foreach(QString banklabel, bankLabels) {
|
||||||
OutputBankControls controls = m_banks.at(i);
|
OutputBankControls controls = m_banks.at(i);
|
||||||
@ -429,11 +425,12 @@ void ConfigOutputWidget::refreshWidgetsValuesImpl(UAVObject *obj)
|
|||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
controls.rateCombo()->addItem(tr("%1 Hz").arg(actuatorSettingsData.BankUpdateFreq[i]), actuatorSettingsData.BankUpdateFreq[i]);
|
controls.rateCombo()->addItem(tr("%1 Hz").arg(actuatorSettingsData.BankUpdateFreq[i]), actuatorSettingsData.BankUpdateFreq[i]);
|
||||||
}
|
}
|
||||||
|
bool isPWM = (controls.modeCombo()->currentIndex() == ActuatorSettings::BANKMODE_PWM);
|
||||||
controls.rateCombo()->setCurrentIndex(index);
|
controls.rateCombo()->setCurrentIndex(index);
|
||||||
controls.rateCombo()->setEnabled(controls.modeCombo()->currentIndex() == ActuatorSettings::BANKMODE_PWM);
|
controls.rateCombo()->setEnabled(!inputCalibrationStarted && !channelTestsStarted && isPWM);
|
||||||
setColor(controls.rateCombo(), controls.color());
|
setColor(controls.rateCombo(), controls.color());
|
||||||
|
controls.modeCombo()->setEnabled(!inputCalibrationStarted && !channelTestsStarted);
|
||||||
setColor(controls.modeCombo(), controls.color());
|
setColor(controls.modeCombo(), controls.color());
|
||||||
controls.modeCombo()->setEnabled((inputCalibrationStarted || channelTestsStarted) ? false : true);
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -761,6 +758,21 @@ void ConfigOutputWidget::updateChannelConfigWarning(ChannelConfigWarning warning
|
|||||||
setConfigWarning(warning_str);
|
setConfigWarning(warning_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConfigOutputWidget::enableBanks(bool state)
|
||||||
|
{
|
||||||
|
// Disable/Enable banks
|
||||||
|
for (int i = 0; i < m_banks.count(); i++) {
|
||||||
|
OutputBankControls controls = m_banks.at(i);
|
||||||
|
if (i < activeBanksCount) {
|
||||||
|
controls.modeCombo()->setEnabled(state);
|
||||||
|
controls.rateCombo()->setEnabled(state);
|
||||||
|
} else {
|
||||||
|
controls.modeCombo()->setEnabled(false);
|
||||||
|
controls.rateCombo()->setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ConfigOutputWidget::setBoardWarning(QString message)
|
void ConfigOutputWidget::setBoardWarning(QString message)
|
||||||
{
|
{
|
||||||
m_ui->boardWarningFrame->setVisible(!message.isNull());
|
m_ui->boardWarningFrame->setVisible(!message.isNull());
|
||||||
@ -775,22 +787,6 @@ void ConfigOutputWidget::setConfigWarning(QString message)
|
|||||||
m_ui->configWarningTxt->setText(message);
|
m_ui->configWarningTxt->setText(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ConfigOutputWidget::bankModeName(int index)
|
|
||||||
{
|
|
||||||
UAVDataObject *actuator = dynamic_cast<UAVDataObject *>(getObjectManager()->getObject(QString("ActuatorSettings")));
|
|
||||||
|
|
||||||
Q_ASSERT(actuator);
|
|
||||||
UAVObjectField *field = actuator->getField("BankMode");
|
|
||||||
Q_ASSERT(field);
|
|
||||||
QStringList bankModeOptions;
|
|
||||||
|
|
||||||
if (field) {
|
|
||||||
bankModeOptions = field->getOptions();
|
|
||||||
}
|
|
||||||
|
|
||||||
return bankModeOptions.at(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ConfigOutputWidget::inputCalibrationStatus(bool started)
|
void ConfigOutputWidget::inputCalibrationStatus(bool started)
|
||||||
{
|
{
|
||||||
inputCalibrationStarted = started;
|
inputCalibrationStarted = started;
|
||||||
@ -798,6 +794,7 @@ void ConfigOutputWidget::inputCalibrationStatus(bool started)
|
|||||||
// Disable UI when a input calibration is started
|
// Disable UI when a input calibration is started
|
||||||
// so user cannot manipulate settings.
|
// so user cannot manipulate settings.
|
||||||
enableControls(!started);
|
enableControls(!started);
|
||||||
|
enableBanks(!started);
|
||||||
|
|
||||||
// Disable every channel form when needed
|
// Disable every channel form when needed
|
||||||
for (unsigned int i = 0; i < ActuatorCommand::CHANNEL_NUMELEM; i++) {
|
for (unsigned int i = 0; i < ActuatorCommand::CHANNEL_NUMELEM; i++) {
|
||||||
|
@ -105,6 +105,8 @@ private:
|
|||||||
int m_mccDataRate;
|
int m_mccDataRate;
|
||||||
UAVObject::Metadata m_accInitialData;
|
UAVObject::Metadata m_accInitialData;
|
||||||
QList<OutputBankControls> m_banks;
|
QList<OutputBankControls> m_banks;
|
||||||
|
int activeBanksCount;
|
||||||
|
void enableBanks(bool state);
|
||||||
|
|
||||||
bool inputCalibrationStarted;
|
bool inputCalibrationStarted;
|
||||||
bool channelTestsStarted;
|
bool channelTestsStarted;
|
||||||
@ -119,7 +121,6 @@ private:
|
|||||||
ChannelConfigWarning checkChannelConfig(OutputChannelForm *channelForm, OutputBankControls *bankControls);
|
ChannelConfigWarning checkChannelConfig(OutputChannelForm *channelForm, OutputBankControls *bankControls);
|
||||||
void checkOutputConfig();
|
void checkOutputConfig();
|
||||||
void updateChannelConfigWarning(ChannelConfigWarning warning);
|
void updateChannelConfigWarning(ChannelConfigWarning warning);
|
||||||
QString bankModeName(int index);
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateBoardWarnings(UAVObject *);
|
void updateBoardWarnings(UAVObject *);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user