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

Merge pull request #3786 from opentx/3djc/TARANIS-Fix-Pots-checks

3djc/taranis fix pots checks
This commit is contained in:
Bertrand Songis 2016-09-11 18:35:51 +02:00 committed by GitHub
commit c15b35fff2
2 changed files with 15 additions and 13 deletions

View file

@ -2,7 +2,7 @@
* Copyright (C) OpenTX * Copyright (C) OpenTX
* *
* Based on code named * Based on code named
* th9x - http://code.google.com/p/th9x * th9x - http://code.google.com/p/th9x
* er9x - http://code.google.com/p/er9x * er9x - http://code.google.com/p/er9x
* gruvin9x - http://code.google.com/p/gruvin9x * gruvin9x - http://code.google.com/p/gruvin9x
* *
@ -63,11 +63,11 @@ enum menuRadioHwItems {
#define HW_SETTINGS_COLUMN 15*FW #define HW_SETTINGS_COLUMN 15*FW
#if defined(PCBX9E) #if defined(PCBX9E)
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, 0, 0, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
#elif defined(PCBX9DP) #elif defined(PCBX9DP)
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, 0, 0 #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
#else #else
#define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, 0, 0 #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1
#endif #endif
#if defined(PCBX9E) #if defined(PCBX9E)
@ -103,8 +103,6 @@ void menuRadioHardware(event_t event)
case ITEM_RADIO_HARDWARE_STICK2: case ITEM_RADIO_HARDWARE_STICK2:
case ITEM_RADIO_HARDWARE_STICK3: case ITEM_RADIO_HARDWARE_STICK3:
case ITEM_RADIO_HARDWARE_STICK4: case ITEM_RADIO_HARDWARE_STICK4:
case ITEM_RADIO_HARDWARE_LS:
case ITEM_RADIO_HARDWARE_RS:
{ {
int idx = (k<=ITEM_RADIO_HARDWARE_STICK4 ? k-ITEM_RADIO_HARDWARE_STICK1 : k-ITEM_RADIO_HARDWARE_LS+MIXSRC_SLIDER1-MIXSRC_Rud); int idx = (k<=ITEM_RADIO_HARDWARE_STICK4 ? k-ITEM_RADIO_HARDWARE_STICK1 : k-ITEM_RADIO_HARDWARE_LS+MIXSRC_SLIDER1-MIXSRC_Rud);
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, idx+1, 0); lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, idx+1, 0);
@ -114,15 +112,19 @@ void menuRadioHardware(event_t event)
lcdDrawTextAtIndex(HW_SETTINGS_COLUMN, y, STR_MMMINV, 0, 0); lcdDrawTextAtIndex(HW_SETTINGS_COLUMN, y, STR_MMMINV, 0, 0);
break; break;
} }
case ITEM_RADIO_HARDWARE_LS:
case ITEM_RADIO_HARDWARE_RS:
#if defined(PCBX9E) #if defined(PCBX9E)
case ITEM_RADIO_HARDWARE_LS2: case ITEM_RADIO_HARDWARE_LS2:
case ITEM_RADIO_HARDWARE_RS2: case ITEM_RADIO_HARDWARE_RS2:
#endif
{ {
int idx = k - ITEM_RADIO_HARDWARE_LS2; int idx = k - ITEM_RADIO_HARDWARE_LS;
uint8_t mask = (0x01 << idx); uint8_t mask = (0x01 << idx);
lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+NUM_XPOTS+2+idx+1, menuHorizontalPosition < 0 ? attr : 0); lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, NUM_STICKS+NUM_POTS+idx+1, menuHorizontalPosition < 0 ? attr : 0);
if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+NUM_XPOTS+2+idx]) || (attr && menuHorizontalPosition == 0)) if (ZEXIST(g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx]) || (attr && menuHorizontalPosition == 0))
editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.anaNames[NUM_STICKS+NUM_XPOTS+2+idx], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0); editName(HW_SETTINGS_COLUMN, y, g_eeGeneral.anaNames[NUM_STICKS+NUM_POTS+idx], LEN_ANA_NAME, event, attr && menuHorizontalPosition == 0);
else else
lcdDrawTextAtIndex(HW_SETTINGS_COLUMN, y, STR_MMMINV, 0, 0); lcdDrawTextAtIndex(HW_SETTINGS_COLUMN, y, STR_MMMINV, 0, 0);
uint8_t potType = (g_eeGeneral.slidersConfig & mask) >> idx; uint8_t potType = (g_eeGeneral.slidersConfig & mask) >> idx;
@ -131,7 +133,7 @@ void menuRadioHardware(event_t event)
g_eeGeneral.slidersConfig |= (potType << idx); g_eeGeneral.slidersConfig |= (potType << idx);
break; break;
} }
#endif
case ITEM_RADIO_HARDWARE_LABEL_POTS: case ITEM_RADIO_HARDWARE_LABEL_POTS:
lcdDrawTextAlignedLeft(y, STR_POTS); lcdDrawTextAlignedLeft(y, STR_POTS);
break; break;

View file

@ -775,7 +775,7 @@ void checkSwitches()
evalFlightModeMixes(e_perout_mode_normal, 0); evalFlightModeMixes(e_perout_mode_normal, 0);
bad_pots = 0; bad_pots = 0;
for (int i=0; i<NUM_POTS+NUM_SLIDERS; i++) { for (int i=0; i<NUM_POTS+NUM_SLIDERS; i++) {
if (!IS_POT_OR_SLIDER_AVAILABLE(i)) { if (!IS_POT_OR_SLIDER_AVAILABLE(POT1+i)) {
continue; continue;
} }
if (!(g_model.potsWarnEnabled & (1 << i)) && (abs(g_model.potsWarnPosition[i] - GET_LOWRES_POT_POSITION(i)) > 1)) { if (!(g_model.potsWarnEnabled & (1 << i)) && (abs(g_model.potsWarnPosition[i] - GET_LOWRES_POT_POSITION(i)) > 1)) {
@ -859,7 +859,7 @@ void checkSwitches()
x = 60; x = 60;
} }
for (int i=0; i<NUM_POTS+NUM_SLIDERS; i++) { for (int i=0; i<NUM_POTS+NUM_SLIDERS; i++) {
if (!IS_POT_OR_SLIDER_AVAILABLE(i)) { if (!IS_POT_OR_SLIDER_AVAILABLE(POT1+i)) {
continue; continue;
} }
if (!(g_model.potsWarnEnabled & (1 << i))) { if (!(g_model.potsWarnEnabled & (1 << i))) {