@@ -47,25 +47,49 @@ void EscPage::initializePage()
4747{
4848 bool enabled = isSynchOrOneShotAvailable ();
4949
50- ui->oneshotESCButton ->setEnabled (enabled);
51- if (ui->oneshotESCButton ->isChecked () && !enabled) {
52- ui->oneshotESCButton ->setChecked (false );
50+ ui->oneshot125ESCButton ->setEnabled (enabled);
51+ ui->oneshot42ESCButton ->setEnabled (enabled);
52+ ui->multishotESCButton ->setEnabled (enabled);
53+
54+ if ((ui->oneshot125ESCButton ->isChecked () ||
55+ ui->oneshot42ESCButton ->isChecked () ||
56+ ui->multishotESCButton ->isChecked ()) && !enabled) {
57+ ui->oneshot125ESCButton ->setChecked (false );
58+ ui->oneshot42ESCButton ->setChecked (false );
59+ ui->multishotESCButton ->setChecked (false );
5360 ui->rapidESCButton ->setChecked (true );
5461 }
62+
63+ enabled = isFastDShotAvailable ();
64+ ui->dshot1200ESCButton ->setEnabled (enabled);
65+ if (ui->dshot1200ESCButton ->isChecked () && !enabled) {
66+ ui->dshot1200ESCButton ->setChecked (false );
67+ ui->dshot600ESCButton ->setChecked (true );
68+ }
5569}
5670
5771bool EscPage::validatePage ()
5872{
59- if (ui->oneshotESCButton ->isChecked ()) {
60- getWizard ()->setEscType (SetupWizard::ESC_ONESHOT);
73+ if (ui->dshot1200ESCButton ->isChecked ()) {
74+ getWizard ()->setEscType (SetupWizard::ESC_DSHOT1200);
75+ } else if (ui->dshot600ESCButton ->isChecked ()) {
76+ getWizard ()->setEscType (SetupWizard::ESC_DSHOT600);
77+ } else if (ui->dshot150ESCButton ->isChecked ()) {
78+ getWizard ()->setEscType (SetupWizard::ESC_DSHOT150);
79+ } else if (ui->multishotESCButton ->isChecked ()) {
80+ getWizard ()->setEscType (SetupWizard::ESC_MULTISHOT);
81+ } else if (ui->oneshot42ESCButton ->isChecked ()) {
82+ getWizard ()->setEscType (SetupWizard::ESC_ONESHOT42);
83+ } else if (ui->oneshot125ESCButton ->isChecked ()) {
84+ getWizard ()->setEscType (SetupWizard::ESC_ONESHOT125);
6185 } else if (ui->rapidESCButton ->isChecked ()) {
6286 if (isSynchOrOneShotAvailable ()) {
6387 getWizard ()->setEscType (SetupWizard::ESC_SYNCHED);
6488 } else {
6589 getWizard ()->setEscType (SetupWizard::ESC_RAPID);
6690 }
6791 } else if (ui->defaultESCButton ->isChecked ()) {
68- getWizard ()->setEscType (SetupWizard::ESC_STANDARD );
92+ getWizard ()->setEscType (SetupWizard::ESC_STANDARD300 );
6993 }
7094
7195 return true ;
@@ -107,3 +131,22 @@ bool EscPage::isSynchOrOneShotAvailable()
107131
108132 return available;
109133}
134+
135+ bool EscPage::isFastDShotAvailable ()
136+ {
137+ bool available = true ;
138+
139+ switch (getWizard ()->getControllerType ()) {
140+ case SetupWizard::CONTROLLER_CC3D:
141+ case SetupWizard::CONTROLLER_SPRACINGF3:
142+ case SetupWizard::CONTROLLER_SPRACINGF3EVO:
143+ case SetupWizard::CONTROLLER_PIKOBLX:
144+ case SetupWizard::CONTROLLER_TINYFISH:
145+ available = false ;
146+ break ;
147+ default :
148+ break ;
149+ }
150+
151+ return available;
152+ }
0 commit comments