use signed pwr on/off speed from -1 to 2 (delay 0 to 3)

This commit is contained in:
Raphael Coeffic
2019-08-16 23:44:00 +02:00
parent 57c48de494
commit 83efad8f43
8 changed files with 28 additions and 29 deletions
+2 -2
View File
@@ -170,8 +170,8 @@ class GeneralSettings {
int gyroMax;
int gyroOffset;
unsigned int pwrOnSpeed;
unsigned int pwrOffSpeed;
int pwrOnSpeed;
int pwrOffSpeed;
bool switchPositionAllowedTaranis(int index) const;
bool switchSourceAllowedTaranis(int index) const;
@@ -2407,8 +2407,8 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, Board::Type
internalField.Append(new UnsignedField<2>(this, generalData.countryCode));
if (version >= 219 && IS_HORUS_OR_TARANIS(board)) {
internalField.Append(new UnsignedField<2>(this, generalData.pwrOnSpeed, "Power On Speed"));
internalField.Append(new UnsignedField<2>(this, generalData.pwrOffSpeed, "Power Off Speed"));
internalField.Append(new SignedField<2>(this, generalData.pwrOnSpeed, "Power On Speed"));
internalField.Append(new SignedField<2>(this, generalData.pwrOffSpeed, "Power Off Speed"));
internalField.Append(new SpareBitsField<2>(this));
}
else {
+8 -2
View File
@@ -2423,8 +2423,11 @@ p, li { white-space: pre-wrap; }
</item>
<item row="11" column="1">
<widget class="QSlider" name="pwrOnSpeed">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>3</number>
<number>2</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -2433,8 +2436,11 @@ p, li { white-space: pre-wrap; }
</item>
<item row="12" column="1">
<widget class="QSlider" name="pwrOffSpeed">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>3</number>
<number>2</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
+2 -2
View File
@@ -772,8 +772,8 @@ PACK(struct RadioData {
NOBACKUP(uint8_t bluetoothBaudrate:4);
NOBACKUP(uint8_t bluetoothMode:4);
NOBACKUP(uint8_t countryCode:2);
NOBACKUP(uint8_t pwrOnSpeed:2);
NOBACKUP(uint8_t pwrOffSpeed:2);
NOBACKUP(int8_t pwrOnSpeed:2);
NOBACKUP(int8_t pwrOffSpeed:2);
NOBACKUP(uint8_t spare5:2);
NOBACKUP(uint8_t imperial:1);
NOBACKUP(uint8_t jitterFilter:1); /* 0 - active */
+6 -6
View File
@@ -510,16 +510,16 @@ void menuRadioSetup(event_t event)
#endif
#if defined(PWR_BUTTON_PRESS)
case ITEM_RADIO_SETUP_PWR_ON_SPEED:
case ITEM_RADIO_SETUP_PWR_ON_SPEED:
lcdDrawTextAlignedLeft(y, STR_PWR_ON_SPEED);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOnSpeed, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOnSpeed, 0, 3);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOnSpeed + 1, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOnSpeed, -1, 2);
break;
case ITEM_RADIO_SETUP_PWR_OFF_SPEED:
case ITEM_RADIO_SETUP_PWR_OFF_SPEED:
lcdDrawTextAlignedLeft(y, STR_PWR_OFF_SPEED);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOffSpeed, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffSpeed, 0, 3);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOffSpeed + 1, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffSpeed, -1, 2);
break;
#endif
+4 -4
View File
@@ -473,14 +473,14 @@ void menuRadioSetup(event_t event)
#if defined(PWR_BUTTON_PRESS)
case ITEM_RADIO_SETUP_PWR_ON_SPEED:
lcdDrawTextAlignedLeft(y, STR_PWR_ON_SPEED);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOnSpeed, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOnSpeed, 0, 3);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOnSpeed + 1, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOnSpeed, -1, 2);
break;
case ITEM_RADIO_SETUP_PWR_OFF_SPEED:
lcdDrawTextAlignedLeft(y, STR_PWR_OFF_SPEED);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOffSpeed, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffSpeed, 0, 3);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.pwrOffSpeed + 1, attr|LEFT);
if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.pwrOffSpeed, -1, 2);
break;
#endif
+1 -1
View File
@@ -385,7 +385,7 @@ bool menuRadioSetup(event_t event)
#if defined(PWR_BUTTON_PRESS)
case ITEM_SETUP_PWR_OFF_SPEED:
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_PWR_OFF_SPEED);
g_eeGeneral.pwrOffSpeed = editSlider(RADIO_SETUP_2ND_COLUMN, y, event, g_eeGeneral.pwrOffSpeed, 0, 3, attr);
g_eeGeneral.pwrOffSpeed = editSlider(RADIO_SETUP_2ND_COLUMN, y, event, g_eeGeneral.pwrOffSpeed, -1, 2, attr);
break;
#endif
+3 -10
View File
@@ -1729,17 +1729,10 @@ void copyTrimsToOffset(uint8_t ch)
}
const uint8_t _pwrOnOffDuration_lookup[] = {
200, // 2s
100, // 1s
50, // 0.5s
0, // none
};
#if defined(STARTUP_ANIMATION)
#define PWR_PRESS_DURATION_MIN() (_pwrOnOffDuration_lookup[g_eeGeneral.pwrOnSpeed & 3])
#define PWR_PRESS_DURATION_MAX 500 // 5s
#define PWR_PRESS_DURATION_MIN() (2 - g_eeGeneral.pwrOnSpeed)
#define PWR_PRESS_DURATION_MAX 500 // 5s
void runStartupAnimation()
{
@@ -2035,7 +2028,7 @@ int main()
#if !defined(SIMU)
#if defined(PWR_BUTTON_PRESS)
#define PWR_PRESS_SHUTDOWN_DELAY() (_pwrOnOffDuration_lookup[g_eeGeneral.pwrOffSpeed & 3])
#define PWR_PRESS_SHUTDOWN_DELAY() (2 - g_eeGeneral.pwrOffSpeed)
uint32_t pwr_press_time = 0;