Add trainer mode OFF for NV14
This commit is contained in:
@@ -177,6 +177,8 @@ void ModelData::clear()
|
||||
for (unsigned i = 0; i < CPN_MAX_SENSORS; i++)
|
||||
sensorData[i].clear();
|
||||
|
||||
trainerMode = TRAINER_MODE_MASTER_JACK;
|
||||
|
||||
const char * layoutId = "Layout2P1"; // currently all using same default though might change for NV14
|
||||
RadioLayout::init(layoutId, customScreens);
|
||||
}
|
||||
@@ -1576,6 +1578,8 @@ QString ModelData::trainerModeToString() const
|
||||
QString ModelData::trainerModeToString(int value)
|
||||
{
|
||||
switch (value) {
|
||||
case TRAINER_MODE_OFF:
|
||||
return tr("OFF");
|
||||
case TRAINER_MODE_MASTER_JACK:
|
||||
return tr("Master/Jack");
|
||||
case TRAINER_MODE_SLAVE_JACK:
|
||||
@@ -1600,13 +1604,15 @@ QString ModelData::trainerModeToString(int value)
|
||||
// static
|
||||
bool ModelData::isTrainerModeAvailable(const GeneralSettings & generalSettings, const Firmware * firmware, const int value)
|
||||
{
|
||||
if (value < 0 || value >= TRAINER_MODE_COUNT)
|
||||
if (value < TRAINER_MODE_FIRST || value > TRAINER_MODE_LAST)
|
||||
return false;
|
||||
|
||||
bool ret = true;
|
||||
const Board::Type board = firmware->getBoard();
|
||||
|
||||
if (!IS_TARANIS(board) || IS_ACCESS_RADIO(board, Firmware::getCurrentVariant()->getId())) {
|
||||
if (!IS_FLYSKY_NV14(board) && value == TRAINER_MODE_OFF)
|
||||
ret = false;
|
||||
else if (!IS_TARANIS(board) || IS_ACCESS_RADIO(board, Firmware::getCurrentVariant()->getId())) {
|
||||
if (value >= TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE && value <= TRAINER_MODE_MASTER_BATTERY_COMPARTMENT)
|
||||
ret = false;
|
||||
}
|
||||
@@ -1628,7 +1634,7 @@ AbstractStaticItemModel * ModelData::trainerModeItemModel(const GeneralSettings
|
||||
AbstractStaticItemModel * mdl = new AbstractStaticItemModel();
|
||||
mdl->setName(AIM_MODELDATA_TRAINERMODE);
|
||||
|
||||
for (int i = 0; i < TRAINER_MODE_COUNT; i++) {
|
||||
for (int i = TRAINER_MODE_FIRST; i <= TRAINER_MODE_LAST; i++) {
|
||||
mdl->appendToItemList(trainerModeToString(i), i, isTrainerModeAvailable(generalSettings, firmware, i));
|
||||
}
|
||||
|
||||
|
||||
@@ -72,6 +72,8 @@ class ScriptData {
|
||||
};
|
||||
|
||||
enum TrainerMode {
|
||||
TRAINER_MODE_OFF,
|
||||
TRAINER_MODE_FIRST = TRAINER_MODE_OFF,
|
||||
TRAINER_MODE_MASTER_JACK,
|
||||
TRAINER_MODE_SLAVE_JACK,
|
||||
TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE,
|
||||
@@ -80,7 +82,7 @@ enum TrainerMode {
|
||||
TRAINER_MODE_MASTER_BLUETOOTH,
|
||||
TRAINER_MODE_SLAVE_BLUETOOTH,
|
||||
TRAINER_MODE_MULTI,
|
||||
TRAINER_MODE_COUNT
|
||||
TRAINER_MODE_LAST = TRAINER_MODE_MULTI
|
||||
};
|
||||
|
||||
#define INPUT_NAME_LEN 4
|
||||
|
||||
@@ -2854,6 +2854,10 @@ void OpenTxModelData::beforeExport()
|
||||
}
|
||||
|
||||
// TODO remove when enum not radio specific requires eeprom change and conversion
|
||||
// Note: this must mirror reverse afterImport
|
||||
if (!IS_FLYSKY_NV14(board))
|
||||
modelData.trainerMode -= 1;
|
||||
|
||||
if (modelData.trainerMode > TRAINER_MODE_SLAVE_JACK) {
|
||||
if (!IS_TARANIS(board)) {
|
||||
modelData.trainerMode -= 2;
|
||||
@@ -2890,6 +2894,10 @@ void OpenTxModelData::afterImport()
|
||||
}
|
||||
|
||||
// TODO remove when enum not radio specific requires eeprom change and conversion
|
||||
// Note: this must mirror reverse beforeExport
|
||||
if (!IS_FLYSKY_NV14(board))
|
||||
modelData.trainerMode += 1;
|
||||
|
||||
if (modelData.trainerMode > TRAINER_MODE_SLAVE_JACK) {
|
||||
if (!IS_TARANIS(board)) {
|
||||
modelData.trainerMode += 2;
|
||||
|
||||
@@ -225,7 +225,10 @@ ModulePanel::ModulePanel(QWidget * parent, ModelData & model, ModuleData & modul
|
||||
if (panelFilteredItemModels)
|
||||
ui->trainerMode->setModel(panelFilteredItemModels->getItemModel(FIM_TRAINERMODE));
|
||||
ui->trainerMode->setField(model.trainerMode);
|
||||
connect(ui->trainerMode, SIGNAL(currentDataChanged(int)), this, SLOT(update()));
|
||||
connect(ui->trainerMode, &AutoComboBox::currentDataChanged, this, [=] () {
|
||||
update();
|
||||
emit modified();
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user