diff --git a/radio/src/gui/212x64/view_main.cpp b/radio/src/gui/212x64/view_main.cpp index 46b56716d..eee71f097 100644 --- a/radio/src/gui/212x64/view_main.cpp +++ b/radio/src/gui/212x64/view_main.cpp @@ -165,19 +165,21 @@ void displayTrims(uint8_t phase) void drawSliders() { - for (uint8_t i=NUM_STICKS; i=SLIDER1 ? LCD_H/2+1 : 1); #endif lcdDrawSolidVerticalLine(x, y, LCD_H/2-2); lcdDrawSolidVerticalLine(x+1, y, LCD_H/2-2); - y += LCD_H/2-4; + y += LCD_H / 2 - 4; y -= ((calibratedAnalogs[i]+RESX)*(LCD_H/2-4)/(RESX*2)); // calculate once per loop lcdDrawSolidVerticalLine(x-1, y, 2); lcdDrawSolidVerticalLine(x+2, y, 2); diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp index 4f8156453..6b21a0f0f 100644 --- a/radio/src/gui/common/stdlcd/radio_hardware.cpp +++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp @@ -99,7 +99,7 @@ enum { #if defined(HARDWARE_POT2) ITEM_RADIO_HARDWARE_POT2, #endif -#if defined(HARDWARE_POT3) +#if defined(HARDWARE_POT3) || defined(PCBX9D) // TODO #if defined(STORAGE_POT3) ITEM_RADIO_HARDWARE_POT3, #endif #if defined(HARDWARE_POT4) @@ -194,6 +194,8 @@ enum { #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 #elif (NUM_POTS + NUM_SLIDERS) == 3 #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 +#elif defined(PCBX9D) // TODO defined(STORAGE_POT3) && !defined(STORAGE_POT3) + #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, HIDDEN_ROW, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 #elif (NUM_POTS + NUM_SLIDERS) == 4 #define POTS_ROWS NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1, NAVIGATION_LINE_BY_LINE|1 #elif (NUM_POTS + NUM_SLIDERS) == 5 @@ -472,7 +474,7 @@ void menuRadioHardware(event_t event) { int index = k - ITEM_RADIO_HARDWARE_SA; int config = SWITCH_CONFIG(index); - lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, MIXSRC_FIRST_SWITCH-MIXSRC_Rud+index+1, menuHorizontalPosition < 0 ? attr : 0); + lcdDrawTextAtIndex(INDENT_WIDTH, y, STR_VSRCRAW, MIXSRC_FIRST_SWITCH - MIXSRC_Rud + index + 1, menuHorizontalPosition < 0 ? attr : 0); if (ZEXIST(g_eeGeneral.switchNames[index]) || (attr && s_editMode > 0 && menuHorizontalPosition == 0)) editName(HW_SETTINGS_COLUMN1, y, g_eeGeneral.switchNames[index], LEN_SWITCH_NAME, event, menuHorizontalPosition == 0 ? attr : 0); else diff --git a/radio/src/mixer.cpp b/radio/src/mixer.cpp index ee4406201..43c2629ee 100644 --- a/radio/src/mixer.cpp +++ b/radio/src/mixer.cpp @@ -311,7 +311,7 @@ getvalue_t getValue(mixsrc_t i) } #endif - else if (i <= MIXSRC_LAST_POT+NUM_MOUSE_ANALOGS) { + else if (i <= MIXSRC_LAST_POT + NUM_MOUSE_ANALOGS) { return calibratedAnalogs[i - MIXSRC_Rud]; } @@ -420,7 +420,7 @@ void evalInputs(uint8_t mode) { BeepANACenter anaCenter = 0; - for (uint8_t i=0; i [-1024..1024] uint8_t ch = (i < NUM_STICKS ? CONVERT_MODE(i) : i); int16_t v = anaIn(i); diff --git a/radio/src/simu.cpp b/radio/src/simu.cpp index b92e16dab..cfe2516a6 100644 --- a/radio/src/simu.cpp +++ b/radio/src/simu.cpp @@ -113,7 +113,7 @@ OpenTxSim::OpenTxSim(FXApp* a): sliders[i]->setValue(0); } - for(int i=0; isetValue(0); @@ -125,6 +125,7 @@ OpenTxSim::OpenTxSim(FXApp* a): continue; } #endif + knobs[i]->setRange(-1024, 1024); } @@ -152,7 +153,7 @@ OpenTxSim::~OpenTxSim() delete sliders[2]; delete sliders[3]; - for(int i=0; isliders[chan]->getValue(); - else if (chanknobs[chan-NUM_STICKS]->getValue(); + else if (chan < NUM_STICKS + NUM_POTS + NUM_SLIDERS) + return opentxSim->knobs[chan - NUM_STICKS]->getValue(); #if defined(PCBTARANIS) else if (chan == TX_RTC_VOLTAGE) return 800; // 2.34V diff --git a/radio/src/targets/common/arm/stm32/adc_driver.cpp b/radio/src/targets/common/arm/stm32/adc_driver.cpp index 36d0e5a60..ac4cc4024 100644 --- a/radio/src/targets/common/arm/stm32/adc_driver.cpp +++ b/radio/src/targets/common/arm/stm32/adc_driver.cpp @@ -36,14 +36,14 @@ 9 /*TX_VOLTAGE*/, 10 /*TX_VBAT*/ }; #elif defined(PCBX9DP) const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,-1, 1,1, 1, 1}; +#elif defined(PCBX9D) + const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,0, 1,1, 1, 1}; #elif defined(PCBX7) const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1, 1}; #elif defined(PCBX9LITE) const int8_t adcDirection[NUM_ANALOGS] = {-1,1,-1,1, 1,1, 1}; #elif defined(PCBXLITE) const int8_t adcDirection[NUM_ANALOGS] = {1,-1,-1,1, -1,1, 1, 1}; -#else - const int8_t adcDirection[NUM_ANALOGS] = {1,-1,1,-1, 1,1,0, 1,1, 1, 1}; #endif #if NUM_PWMSTICKS > 0 diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 7c4842d39..eb9ccde57 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -498,7 +498,7 @@ enum Analogs { #define STORAGE_NUM_POTS 3 #define STORAGE_NUM_SLIDERS 2 #else - #define NUM_POTS 2 + #define NUM_POTS 3 // TODO X9D has only 2 pots #define NUM_SLIDERS 2 #define STORAGE_NUM_POTS 3 #define STORAGE_NUM_SLIDERS 2