1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 06:15:10 +03:00

Bug on ID2 fixed

This commit is contained in:
Bertrand Songis 2014-02-10 10:22:12 +01:00
parent dc660d4ade
commit 12997bd169
3 changed files with 16 additions and 25 deletions

View file

@ -1293,7 +1293,7 @@ class SwitchesWarningField: public TransformedField {
virtual void beforeExport()
{
bool release21March2013 = IS_RELEASE_21_MARCH_2013(board, version);
if (release21March2013) {
if (release21March2013 && version < 216) {
_sw = (sw & 0xC1) + ((sw & 0x30) >> 3) + ((sw & 0x0E) << 2);
}
else {
@ -1304,7 +1304,7 @@ class SwitchesWarningField: public TransformedField {
virtual void afterImport()
{
bool release21March2013 = IS_RELEASE_21_MARCH_2013(board, version);
if (release21March2013) {
if (release21March2013 && version < 216) {
sw = (_sw & 0xC1) + ((_sw & 0x38) >> 2) + ((_sw & 0x06) << 3);
}
else {
@ -1941,10 +1941,6 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u
internalField.Append(new MavlinkField(modelData.mavlink, board, version));
}
if (!IS_ARM(board) && (version >= 216)) {
internalField.Append(new UnsignedField<8>(modelData.nSwToWarn));
}
if (IS_TARANIS(board) && version < 215) {
internalField.Append(new CharField<10>(modelData.bitmap));
}

View file

@ -588,12 +588,11 @@ void Setup::updateStartupSwitches()
lock = true;
unsigned int switchStates = model.switchWarningStates;
bool enabled;
for (int i=0; i<GetEepromInterface()->getCapability(Switches)-1; i++) {
QSlider * slider = startupSwitchesSliders[i];
QCheckBox * cb = startupSwitchesCheckboxes[i];
enabled = !(model.nSwToWarn & (1 << i));
bool enabled = !(model.nSwToWarn & (1 << i));
slider->setEnabled(enabled);
cb->setChecked(enabled);
if (IS_TARANIS(GetEepromInterface()->getBoard())) {
@ -640,12 +639,7 @@ void Setup::startupSwitchEdited(int value)
model.switchWarningStates &= ~mask;
if (value) {
if (shift == 0) {
model.switchWarningStates |= value;
}
else {
model.switchWarningStates |= (value << shift);
}
model.switchWarningStates |= (value << shift);
}
updateStartupSwitches();

View file

@ -1163,17 +1163,18 @@ void menuModelSetup(uint8_t event)
switch(event) {
CASE_EVT_ROTARY_BREAK
case EVT_KEY_BREAK(KEY_ENTER):
killEvents(event);
killEvents(event);
#if defined(CPUM64)
g_model.nSwToWarn ^= (1 << m_posHorz);
eeDirty(EE_MODEL);
#else
if (m_posHorz < NUM_SWITCHES-1) {
g_model.nSwToWarn ^= (1 << m_posHorz);
eeDirty(EE_MODEL);
#else
if (m_posHorz < NUM_SWITCHES-1) {
g_model.nSwToWarn ^= (1 << m_posHorz);
eeDirty(EE_MODEL);
}
}
#endif
break;
case EVT_KEY_LONG(KEY_ENTER):
#if defined(CPUM64)
getMovedSwitch();
@ -1189,7 +1190,7 @@ void menuModelSetup(uint8_t event)
eeDirty(EE_MODEL);
}
#endif
break;
break;
}
}
}
@ -1200,7 +1201,7 @@ void menuModelSetup(uint8_t event)
#if defined(PCBTARANIS)
c = "\300-\301"[states & 0x03];
lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*(2*FW), y, 'A'+i, line && (m_posHorz == i) ? INVERS : 0);
if(swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW)+FWNUM, y, c);
if (swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW)+FWNUM, y, c);
lcd_putsAtt(MODEL_SETUP_2ND_COLUMN+((NUM_SWITCHES-1)*2*FW+2), y, PSTR("<]"), (m_posHorz == NUM_SWITCHES-1 && !s_noHi) ? line : 0);
states >>= 2;
#else
@ -1211,14 +1212,14 @@ void menuModelSetup(uint8_t event)
states >>= 2;
}
else {
if (states & 0x01 && swactive)
if ((states & 0x01) && swactive)
attr = INVERS;
c = pgm_read_byte(STR_VSWITCHES - 2 + 9 + (3*i));
states >>= 1;
}
if(line && (m_posHorz == i)) {
if (line && (m_posHorz == i)) {
attr = BLINK;
if(swactive)
if (swactive)
attr |= INVERS;
}
lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*FW, y, (swactive || (attr & BLINK)) ? c : '-', attr);