In combination with TX16S & FLYSKY HALL GIMBAL - enable the right joystick two analogs as EX3 and EX4.
At the same time disable PWM Sticks on TX16S.
This commit is contained in:
+14
-1
@@ -1070,7 +1070,20 @@ void getADC()
|
||||
if (x < 4)
|
||||
v = get_flysky_hall_adc_value(x) >> (1 - ANALOG_SCALE);
|
||||
else
|
||||
v = getAnalogValue(x) >> (1 - ANALOG_SCALE);
|
||||
#if defined(RADIO_TX16S)
|
||||
switch (x)
|
||||
{
|
||||
case 9:
|
||||
case 10:
|
||||
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);
|
||||
#endif
|
||||
|
||||
@@ -85,6 +85,10 @@ stm32_hal_adc_channel ADC_MAIN_channels[] = {
|
||||
{ ADC_CHANNEL_POT3, ADC_SAMPTIME },
|
||||
{ ADC_CHANNEL_EXT1, ADC_SAMPTIME },
|
||||
{ ADC_CHANNEL_EXT2, ADC_SAMPTIME },
|
||||
#if (defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS))
|
||||
{ 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 }
|
||||
|
||||
@@ -55,8 +55,13 @@ if (PCB STREQUAL X10)
|
||||
set(TARGET_SRC
|
||||
${TARGET_SRC}
|
||||
../common/arm/stm32/audio_dac_driver.cpp
|
||||
../common/arm/stm32/sticks_pwm_driver.cpp
|
||||
)
|
||||
if (NOT PCBREV STREQUAL TX16S)
|
||||
set(TARGET_SRC
|
||||
${TARGET_SRC}
|
||||
../common/arm/stm32/sticks_pwm_driver.cpp
|
||||
)
|
||||
endif()
|
||||
set(FIRMWARE_TARGET_SRC
|
||||
${FIRMWARE_TARGET_SRC}
|
||||
../common/arm/stm32/stm32_hal_adc.cpp
|
||||
|
||||
@@ -335,7 +335,11 @@ void watchdogInit(unsigned int duration);
|
||||
// ADC driver
|
||||
|
||||
#if defined(PCBX10)
|
||||
#define NUM_POTS 5
|
||||
#if defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS)
|
||||
#define NUM_POTS 7
|
||||
#else
|
||||
#define NUM_POTS 5
|
||||
#endif
|
||||
#else
|
||||
#define NUM_POTS 3
|
||||
#endif
|
||||
@@ -345,7 +349,11 @@ void watchdogInit(unsigned int duration);
|
||||
|
||||
#if defined(PCBX10)
|
||||
#define NUM_SLIDERS 2
|
||||
#define NUM_PWMSTICKS 4
|
||||
#if defined(RADIO_TX16S)
|
||||
#define NUM_PWMSTICKS 0
|
||||
#else
|
||||
#define NUM_PWMSTICKS 4
|
||||
#endif
|
||||
#else
|
||||
#define NUM_SLIDERS 4
|
||||
#define NUM_PWMSTICKS 0
|
||||
@@ -365,6 +373,10 @@ enum Analogs {
|
||||
#if defined(PCBX10)
|
||||
EXT1,
|
||||
EXT2,
|
||||
#endif
|
||||
#if defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS)
|
||||
EXT3,
|
||||
EXT4,
|
||||
#endif
|
||||
POT_LAST = POT_FIRST + NUM_POTS - 1,
|
||||
SLIDER_FIRST,
|
||||
@@ -406,8 +418,12 @@ enum Analogs {
|
||||
|
||||
#define HARDWARE_POT3
|
||||
#if !defined(PCBX12S) // ext are used by mouse on X12S
|
||||
#define HARDWARE_EXT1
|
||||
#define HARDWARE_EXT2
|
||||
#define HARDWARE_EXT1
|
||||
#define HARDWARE_EXT2
|
||||
#if (defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS))
|
||||
#define HARDWARE_EXT3
|
||||
#define HARDWARE_EXT4
|
||||
#endif
|
||||
#endif
|
||||
|
||||
enum CalibratedAnalogs {
|
||||
@@ -428,6 +444,10 @@ enum CalibratedAnalogs {
|
||||
#else
|
||||
CALIBRATED_POT_EXT1,
|
||||
CALIBRATED_POT_EXT2,
|
||||
#if (defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS))
|
||||
CALIBRATED_POT_EXT3,
|
||||
CALIBRATED_POT_EXT4,
|
||||
#endif
|
||||
CALIBRATED_SLIDER_REAR_LEFT,
|
||||
CALIBRATED_SLIDER_REAR_RIGHT,
|
||||
#endif
|
||||
|
||||
@@ -282,10 +282,15 @@
|
||||
#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)
|
||||
#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
|
||||
#if !(defined(RADIO_TX16S) && defined(FLYSKY_HALL_STICKS))
|
||||
#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
|
||||
#else
|
||||
#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
|
||||
@@ -294,14 +299,20 @@
|
||||
#define ADC_GPIO_PIN_BATT GPIO_Pin_7 // PF.07
|
||||
#define ADC_GPIO_PIN_EXT1 GPIO_Pin_8 // PF.08
|
||||
#define ADC_GPIO_PIN_EXT2 GPIO_Pin_9 // PF.09
|
||||
#define PWM_TIMER TIM5
|
||||
#define PWM_GPIO GPIOA
|
||||
#define PWM_GPIO_AF GPIO_AF_TIM5
|
||||
#define PWM_IRQHandler TIM5_IRQHandler
|
||||
#define PWM_IRQn TIM5_IRQn
|
||||
#define PWM_GPIOA_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#if !defined(FLYSKY_HALL_STICKS)
|
||||
#define ADC_GPIOA_PINS (STICKS_PWM_ENABLED() ? 0 : (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3))
|
||||
#if !defined(RADIO_TX16S)
|
||||
#define PWM_TIMER TIM5
|
||||
#define PWM_GPIO GPIOA
|
||||
#define PWM_GPIO_AF GPIO_AF_TIM5
|
||||
#define PWM_IRQHandler TIM5_IRQHandler
|
||||
#define PWM_IRQn TIM5_IRQn
|
||||
#define PWM_GPIOA_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#endif
|
||||
#if defined(FLYSKY_HALL_STICKS)
|
||||
#if defined (RADIO_TX16S)
|
||||
#define ADC_GPIOA_PINS (GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#endif
|
||||
#else
|
||||
#define ADC_GPIOA_PINS (STICKS_PWM_ENABLED() ? 0 : (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3))
|
||||
#endif
|
||||
#define ADC_GPIOC_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3)
|
||||
#define ADC_GPIOF_PINS (GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9)
|
||||
@@ -317,6 +328,10 @@
|
||||
#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_MAIN ADC3
|
||||
#define ADC_EXT ADC1
|
||||
#define ADC_SAMPTIME 3
|
||||
|
||||
Reference in New Issue
Block a user