diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index de960f1de..87a3eaeee 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -603,10 +603,8 @@ enum MixSources { #if defined(PCBX10) MIXSRC_EXT1, LUA_EXPORT("ext1", "Ext 1") MIXSRC_EXT2, LUA_EXPORT("ext2", "Ext 2") -#if defined(FLYSKY_HALL_STICKS) && defined(FLYSKY_HALL_STICKS_EXT3_EXT4) MIXSRC_EXT3, LUA_EXPORT("ext3", "Ext 3") MIXSRC_EXT4, LUA_EXPORT("ext4", "Ext 4") -#endif #endif MIXSRC_FIRST_SLIDER SKIP, #if defined(PCBX12S) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 3ba00cc31..6d774e64d 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -131,8 +131,13 @@ static inline void check_struct() CHKSIZE(RadioData, 899); CHKSIZE(ModelData, 6604); #elif defined(PCBHORUS) - CHKSIZE(RadioData, 902); - CHKSIZE(ModelData, 11020); + #if defined(PCBX10) + CHKSIZE(RadioData, 920); + CHKSIZE(ModelData, 11022); + #else + CHKSIZE(RadioData, 902); + CHKSIZE(ModelData, 11020); + #endif #endif #undef CHKSIZE diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 3b917919d..7f2c7359e 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1070,19 +1070,7 @@ void getADC() if (x < 4) { v = get_flysky_hall_adc_value(x) >> (1 - ANALOG_SCALE); } else { - #if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) - switch (x) { - case EXT3: - case EXT4: - v = getAnalogValue(x - 7) >> (1 - ANALOG_SCALE); - break; - default: - v = getAnalogValue(x) >> (1 - ANALOG_SCALE); - break; - } - #else v = getAnalogValue(x) >> (1 - ANALOG_SCALE); - #endif } #else v = getAnalogValue(x) >> (1 - ANALOG_SCALE); diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 0645456fa..edfb07dc6 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -114,6 +114,8 @@ const struct YamlIdStr enum_MixSources[] = { { MIXSRC_S2, "S2" }, { MIXSRC_EXT1, "EXT1" }, { MIXSRC_EXT2, "EXT2" }, + { MIXSRC_EXT3, "EXT3" }, + { MIXSRC_EXT4, "EXT4" }, { MIXSRC_LS, "LS" }, { MIXSRC_RS, "RS" }, { MIXSRC_MOUSE1, "MOUSE1" }, @@ -380,7 +382,7 @@ static const struct YamlNode struct_OpenTxTheme__PersistentData[] = { static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "version", 8 ), YAML_PADDING( 16 ), - YAML_ARRAY("calib", 48, 15, struct_CalibData, NULL), + YAML_ARRAY("calib", 48, 17, struct_CalibData, NULL), YAML_PADDING( 16 ), YAML_UNSIGNED( "vBatWarn", 8 ), YAML_SIGNED( "txVoltageCalibration", 8 ), @@ -446,7 +448,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_ARRAY("potsConfig", 2, 8, struct_potConfig, nullptr), YAML_ARRAY("slidersConfig", 1, 8, struct_sliderConfig, nullptr), YAML_PADDING( 240 ), - YAML_PADDING( 312 ), + YAML_PADDING( 360 ), YAML_STRING("currModelFilename", 17), YAML_PADDING( 1 ), YAML_UNSIGNED( "blOffBright", 7 ), @@ -872,7 +874,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("scriptsData", 192, 9, struct_ScriptData, NULL), YAML_ARRAY("inputNames", 32, 32, struct_string_32, NULL), YAML_UNSIGNED( "potsWarnEnabled", 8 ), - YAML_ARRAY("potsWarnPosition", 8, 9, struct_signed_8, NULL), + YAML_ARRAY("potsWarnPosition", 8, 11, struct_signed_8, NULL), YAML_ARRAY("telemetrySensors", 112, 60, struct_TelemetrySensor, NULL), YAML_ARRAY("screenData", 6800, 5, struct_CustomScreenData, NULL), YAML_STRUCT("topbarData", 2400, struct_TopBarPersistentData, NULL), diff --git a/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp b/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp index 59c3081c8..f1b0aa2f5 100644 --- a/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp +++ b/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp @@ -86,10 +86,8 @@ stm32_hal_adc_channel ADC_MAIN_channels[] = { { ADC_CHANNEL_POT3, ADC_SAMPTIME }, { ADC_CHANNEL_EXT1, ADC_SAMPTIME }, { ADC_CHANNEL_EXT2, ADC_SAMPTIME }, -#if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) { ADC_CHANNEL_EXT3, ADC_SAMPTIME }, { ADC_CHANNEL_EXT4, ADC_SAMPTIME }, -#endif { ADC_CHANNEL_SLIDER1, ADC_SAMPTIME }, { ADC_CHANNEL_SLIDER2, ADC_SAMPTIME }, { ADC_CHANNEL_BATT, ADC_SAMPTIME } diff --git a/radio/src/targets/horus/CMakeLists.txt b/radio/src/targets/horus/CMakeLists.txt index 3f8996207..62a55eec1 100644 --- a/radio/src/targets/horus/CMakeLists.txt +++ b/radio/src/targets/horus/CMakeLists.txt @@ -194,10 +194,11 @@ if(FLYSKY_HALL_STICKS) add_definitions(-DFLYSKY_HALL_STICKS_REVERSE) set(FLYSKY_HALL_STICKS_DRIVER flyskyHallStick_driver.cpp) - option(FLYSKY_HALL_STICKS_EXT3_EXT4 "Additional EXT3 & EXT4 inputs for FlySky Hall Sticks" OFF) - if(FLYSKY_HALL_STICKS_EXT3_EXT4) - add_definitions(-DFLYSKY_HALL_STICKS_EXT3_EXT4) - endif() + # option(FLYSKY_HALL_STICKS_EXT3_EXT4 + # "Additional EXT3 & EXT4 inputs for FlySky Hall Sticks" OFF) + # if(FLYSKY_HALL_STICKS_EXT3_EXT4) + # add_definitions(-DFLYSKY_HALL_STICKS_EXT3_EXT4) + # endif() endif() if(IMU_LSM6DS33) diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index ca8839f80..5d7fc97ce 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -355,17 +355,14 @@ void watchdogInit(unsigned int duration); // ADC driver #if defined(PCBX10) - #if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) - #define NUM_POTS 7 - #else - #define NUM_POTS 5 - #endif + #define NUM_POTS 7 + #define STORAGE_NUM_POTS 7 #else -#define NUM_POTS 3 + #define NUM_POTS 3 + #define STORAGE_NUM_POTS 5 #endif #define NUM_XPOTS NUM_POTS -#define STORAGE_NUM_POTS 5 #if defined(PCBX10) #define NUM_SLIDERS 2 @@ -393,8 +390,6 @@ enum Analogs { #if defined(PCBX10) EXT1, EXT2, -#endif -#if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) EXT3, EXT4, #endif @@ -440,7 +435,7 @@ enum Analogs { #if !defined(PCBX12S) // ext are used by mouse on X12S #define HARDWARE_EXT1 #define HARDWARE_EXT2 - #if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) + #if defined(FLYSKY_HALL_STICKS) #define HARDWARE_EXT3 #define HARDWARE_EXT4 #endif @@ -464,10 +459,8 @@ enum CalibratedAnalogs { #else CALIBRATED_POT_EXT1, CALIBRATED_POT_EXT2, - #if defined(FLYSKY_HALL_STICKS_EXT3_EXT4) - CALIBRATED_POT_EXT3, - CALIBRATED_POT_EXT4, - #endif + CALIBRATED_POT_EXT3, + CALIBRATED_POT_EXT4, CALIBRATED_SLIDER_REAR_LEFT, CALIBRATED_SLIDER_REAR_RIGHT, #endif diff --git a/radio/src/targets/horus/hal.h b/radio/src/targets/horus/hal.h index e48df0660..3bad7ebee 100644 --- a/radio/src/targets/horus/hal.h +++ b/radio/src/targets/horus/hal.h @@ -283,15 +283,16 @@ #define ADC_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_DMA2) #define ADC_RCC_APB1Periph (RCC_APB1Periph_TIM5) #define ADC_RCC_APB2Periph (RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC3) - #if !defined(FLYSKY_HALL_STICKS) + // #if !defined(FLYSKY_HALL_STICKS) + // this does not seem to be used anywhere... #define ADC_GPIO_PIN_STICK_LH GPIO_Pin_0 // PA.00 #define ADC_GPIO_PIN_STICK_LV GPIO_Pin_1 // PA.01 #define ADC_GPIO_PIN_STICK_RH GPIO_Pin_2 // PA.02 #define ADC_GPIO_PIN_STICK_RV GPIO_Pin_3 // PA.03 - #elif defined(FLYSKY_HALL_STICKS_EXT3_EXT4) - #define ADC_GPIO_PIN_EXT3 GPIO_Pin_2 // PA.02 - #define ADC_GPIO_PIN_EXT4 GPIO_Pin_3 // PA.03 - #endif + // #elif defined(FLYSKY_HALL_STICKS_EXT3_EXT4) + // #define ADC_GPIO_PIN_EXT3 GPIO_Pin_2 // PA.02 + // #define ADC_GPIO_PIN_EXT4 GPIO_Pin_3 // PA.03 + // #endif #define ADC_GPIO_PIN_POT1 GPIO_Pin_0 // PC.00 #define ADC_GPIO_PIN_POT2 GPIO_Pin_1 // PC.01 #define ADC_GPIO_PIN_POT3 GPIO_Pin_2 // PC.02 @@ -329,10 +330,8 @@ #define ADC_CHANNEL_BATT ADC_Channel_5 // ADC3_IN5 #define ADC_CHANNEL_EXT1 ADC_Channel_6 // ADC3_IN6 #define ADC_CHANNEL_EXT2 ADC_Channel_7 // ADC3_IN7 -#if (defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS)) - #define ADC_CHANNEL_EXT3 ADC_Channel_2 // ADC3_IN2 - #define ADC_CHANNEL_EXT4 ADC_Channel_3 // ADC3_IN3 -#endif + #define ADC_CHANNEL_EXT3 ADC_Channel_2 // ADC3_IN2: same as RH + #define ADC_CHANNEL_EXT4 ADC_Channel_3 // ADC3_IN3: same as RV #define ADC_MAIN ADC3 #define ADC_EXT ADC1 #define ADC_SAMPTIME 3 diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index 2a4c017e9..2c30555a9 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -32,11 +32,7 @@ #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"6P\0" STR_CHAR_POT"S2\0" STR_CHAR_TRIM "L1\0" STR_CHAR_TRIM "L2\0" STR_CHAR_SLIDER"LS\0" STR_CHAR_SLIDER"RS\0" STR_CHAR_POT"JSx" STR_CHAR_POT"JSy" #define TR_SW_VSRCRAW STR_CHAR_SWITCH"SA\0" STR_CHAR_SWITCH"SB\0" STR_CHAR_SWITCH"SC\0" STR_CHAR_SWITCH"SD\0" STR_CHAR_SWITCH"SE\0" STR_CHAR_SWITCH"SF\0" STR_CHAR_SWITCH"SG\0" STR_CHAR_SWITCH"SH\0" STR_CHAR_SWITCH"SI\0" STR_CHAR_SWITCH"SJ\0" #elif defined(PCBX10) - #if defined (FLYSKY_HALL_STICKS_EXT3_EXT4) - #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"6P\0" STR_CHAR_POT"S2\0" STR_CHAR_POT"EX1" STR_CHAR_POT"EX2" STR_CHAR_POT"EX3" STR_CHAR_POT"EX4" STR_CHAR_SLIDER"LS\0" STR_CHAR_SLIDER"RS\0" STR_CHAR_POT"JSx" STR_CHAR_POT"JSy" - #else - #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"6P\0" STR_CHAR_POT"S2\0" STR_CHAR_POT"EX1" STR_CHAR_POT"EX2" STR_CHAR_SLIDER"LS\0" STR_CHAR_SLIDER"RS\0" STR_CHAR_POT"JSx" STR_CHAR_POT"JSy" - #endif + #define TR_POTS_VSRCRAW STR_CHAR_POT"S1\0" STR_CHAR_POT"6P\0" STR_CHAR_POT"S2\0" STR_CHAR_POT"EX1" STR_CHAR_POT"EX2" STR_CHAR_POT"EX3" STR_CHAR_POT"EX4" STR_CHAR_SLIDER"LS\0" STR_CHAR_SLIDER"RS\0" STR_CHAR_POT"JSx" STR_CHAR_POT"JSy" #define TR_SW_VSRCRAW STR_CHAR_SWITCH"SA\0" STR_CHAR_SWITCH"SB\0" STR_CHAR_SWITCH"SC\0" STR_CHAR_SWITCH"SD\0" STR_CHAR_SWITCH"SE\0" STR_CHAR_SWITCH"SF\0" STR_CHAR_SWITCH"SG\0" STR_CHAR_SWITCH"SH\0" STR_CHAR_SWITCH"SI\0" STR_CHAR_SWITCH"SJ\0" #elif defined(PCBX9E) #define TR_POTS_VSRCRAW STR_CHAR_POT"F1\0" STR_CHAR_POT"F2\0" STR_CHAR_POT"F3\0" STR_CHAR_POT"F4\0" STR_CHAR_SLIDER"S1\0" STR_CHAR_SLIDER"S2\0" STR_CHAR_SLIDER"LS\0" STR_CHAR_SLIDER"RS\0"