1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-25 01:05:10 +03:00

[companion] Add sport power support (fix #8047) (#8050)

This commit is contained in:
Andre Bernet 2020-10-30 17:05:40 +01:00 committed by GitHub
parent 4472d26457
commit bcc5f90c36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 935 additions and 903 deletions

View file

@ -151,6 +151,7 @@ enum Capability {
DangerousFunctions, DangerousFunctions,
HasModelCategories, HasModelCategories,
HasSwitchableJack, HasSwitchableJack,
HasSportConnector,
PwrButtonPress, PwrButtonPress,
Sensors Sensors
}; };

View file

@ -103,6 +103,7 @@ class GeneralSettings {
bool disableRssiPoweroffAlarm; bool disableRssiPoweroffAlarm;
unsigned int usbMode; unsigned int usbMode;
unsigned int jackMode; unsigned int jackMode;
bool sportPower;
BeeperMode hapticMode; BeeperMode hapticMode;
unsigned int stickMode; // TODO enum unsigned int stickMode; // TODO enum
int timezone; int timezone;

View file

@ -2720,7 +2720,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
internalField.Append(new BoolField<1>(this, generalData.disableRssiPoweroffAlarm)); internalField.Append(new BoolField<1>(this, generalData.disableRssiPoweroffAlarm));
internalField.Append(new UnsignedField<2>(this, generalData.usbMode)); internalField.Append(new UnsignedField<2>(this, generalData.usbMode));
internalField.Append(new UnsignedField<2>(this, generalData.jackMode)); internalField.Append(new UnsignedField<2>(this, generalData.jackMode));
internalField.Append(new SpareBitsField<1>(this)); internalField.Append(new BoolField<1>(this, generalData.sportPower));
} }
else { else {
internalField.Append(new SpareBitsField<7>(this)); internalField.Append(new SpareBitsField<7>(this));

View file

@ -696,6 +696,8 @@ int OpenTxFirmware::getCapability(::Capability capability)
return IS_FAMILY_HORUS_OR_T16(board); return IS_FAMILY_HORUS_OR_T16(board);
case HasSwitchableJack: case HasSwitchableJack:
return IS_TARANIS_XLITES(board); return IS_TARANIS_XLITES(board);
case HasSportConnector:
return IS_ACCESS_RADIO(board, id) || IS_TARANIS_X7(board) || IS_HORUS_X10(board) || IS_TARANIS_XLITE(board);
case PwrButtonPress: case PwrButtonPress:
return IS_HORUS_OR_TARANIS(board) && (board!=Board::BOARD_TARANIS_X9D) && (board!=Board::BOARD_TARANIS_X9DP); return IS_HORUS_OR_TARANIS(board) && (board!=Board::BOARD_TARANIS_X9D) && (board!=Board::BOARD_TARANIS_X9DP);
case Sensors: case Sensors:

View file

@ -127,6 +127,14 @@ HardwarePanel::HardwarePanel(QWidget * parent, GeneralSettings & generalSettings
ui->potsTypeSeparator_1->hide(); ui->potsTypeSeparator_1->hide();
ui->potsTypeSeparator_2->hide(); ui->potsTypeSeparator_2->hide();
} }
if(firmware->getCapability(HasSportConnector)) {
ui->sportPower->setChecked(generalSettings.sportPower);
}
else {
ui->sportPower->hide();
ui->sportPowerLabel->hide();
}
setupPotType(0, ui->pot1Label, ui->pot1Name, ui->pot1Type); setupPotType(0, ui->pot1Label, ui->pot1Name, ui->pot1Type);
setupPotType(1, ui->pot2Label, ui->pot2Name, ui->pot2Type); setupPotType(1, ui->pot2Label, ui->pot2Name, ui->pot2Type);
@ -232,6 +240,11 @@ void HardwarePanel::on_filterEnable_stateChanged()
generalSettings.jitterFilter = !ui->filterEnable->isChecked(); generalSettings.jitterFilter = !ui->filterEnable->isChecked();
} }
void HardwarePanel::on_sportPower_stateChanged()
{
generalSettings.sportPower = ui->sportPower->isChecked();
}
void HardwarePanel::on_rtcCheckDisable_stateChanged() void HardwarePanel::on_rtcCheckDisable_stateChanged()
{ {
generalSettings.rtcCheckDisable = !ui->rtcCheckDisable->isChecked(); generalSettings.rtcCheckDisable = !ui->rtcCheckDisable->isChecked();

View file

@ -50,6 +50,7 @@ class HardwarePanel : public GeneralPanel
void on_txVoltageCalibration_editingFinished(); void on_txVoltageCalibration_editingFinished();
void on_filterEnable_stateChanged(); void on_filterEnable_stateChanged();
void on_rtcCheckDisable_stateChanged(); void on_rtcCheckDisable_stateChanged();
void on_sportPower_stateChanged();
void on_serialPortMode_currentIndexChanged(int index); void on_serialPortMode_currentIndexChanged(int index);

File diff suppressed because it is too large Load diff