Added support for EXT3 / EXT4
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user