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 c9030f851a7..d0abc587d74 100644 --- a/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp +++ b/radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp @@ -169,7 +169,7 @@ static const stm32_hal_adc_channel* ADC_MAIN_get_channels() static uint8_t ADC_MAIN_get_nconv() { #if defined(RADIO_FAMILY_T16) || defined(PCBNV14) || defined(PCBPL18) - if (globalData.flyskygimbals) + if (globalData.flyskygimbals) return NUM_ANALOGS_ADC_FS; else #endif @@ -209,7 +209,7 @@ static uint8_t ADC_EXT_get_nconv() { return NUM_ANALOGS_ADC_EXT; } static const stm32_hal_adc_channel ADC_EXT_channels[] = { {ADC_CHANNEL_POT3, ADC_SAMPTIME}, {ADC_CHANNEL_SLIDER1, ADC_SAMPTIME}, - {ADC_CHANNEL_SWH, ADC_SAMPTIME}, + {ADC_CHANNEL_SWH, ADC_SAMPTIME} }; static uint8_t ADC_EXT_get_nconv() { return NUM_ANALOGS_ADC_EXT; } diff --git a/radio/src/targets/pl18/battery_driver.cpp b/radio/src/targets/pl18/battery_driver.cpp index bd64242930f..2518aaf4b10 100644 --- a/radio/src/targets/pl18/battery_driver.cpp +++ b/radio/src/targets/pl18/battery_driver.cpp @@ -35,13 +35,34 @@ void battery_charge_init() { GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = PWR_CHARGE_FINISHED_GPIO_PIN | PWR_CHARGING_GPIO_PIN; + GPIO_InitStructure.GPIO_Pin = UCHARGER_STDBY_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(PWR_CHARGING_GPIO, &GPIO_InitStructure); - GPIO_SetBits(PWR_CHARGING_GPIO, PWR_CHARGE_FINISHED_GPIO_PIN | PWR_CHARGING_GPIO_PIN); + GPIO_Init(UCHARGER_STDBY_GPIO, &GPIO_InitStructure); + GPIO_InitStructure.GPIO_Pin = UCHARGER_CHARGE_GPIO_PIN; + GPIO_Init(UCHARGER_CHARGE_GPIO, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = WCHARGER_STDBY_GPIO_PIN; + GPIO_Init(WCHARGER_STDBY_GPIO, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = WCHARGER_CHARGE_GPIO_PIN; + GPIO_Init(WCHARGER_CHARGE_GPIO, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = WCHARGER_EN_GPIO_PIN; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; + GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; + GPIO_Init(WCHARGER_EN_GPIO, &GPIO_InitStructure); + GPIO_ResetBits(WCHARGER_EN_GPIO, WCHARGER_EN_GPIO_PIN); + + GPIO_InitStructure.GPIO_Pin = WCHARGER_VBUS_EN_GPIO_PIN; + GPIO_Init(WCHARGER_VBUS_EN_GPIO, &GPIO_InitStructure); + GPIO_ResetBits(WCHARGER_VBUS_EN_GPIO, WCHARGER_VBUS_EN_GPIO_PIN); + + GPIO_InitStructure.GPIO_Pin = WCHARGER_I_CONTROL_GPIO_PIN; + GPIO_Init(WCHARGER_I_CONTROL_GPIO, &GPIO_InitStructure); + GPIO_ResetBits(WCHARGER_I_CONTROL_GPIO, WCHARGER_I_CONTROL_GPIO_PIN); } #define CHARGE_SAMPLES 10 @@ -53,8 +74,8 @@ uint16_t get_battery_charge_state() uint16_t chargeState = CHARGE_UNKNOWN; int maxSamples = CHARGE_SAMPLES; #if !defined(SIMU) - bool isFinished = !READ_CHARGE_FINISHED_STATE(); - bool isCharging = !READ_CHARGING_STATE(); + bool isFinished = !READ_UCHARGE_FINISHED_STATE(); + bool isCharging = !READ_UCHARGING_STATE(); //maxSamples = boardState == BOARD_POWER_OFF ? CHARGE_SAMPLES/2 : CHARGE_SAMPLES; if(chargeSampleIndex >= maxSamples) chargeSampleIndex = 0; uint16_t currentChargeState = isFinished ? CHARGE_FINISHED : isCharging ? CHARGE_STARTED : CHARGE_NONE; diff --git a/radio/src/targets/pl18/battery_driver.h b/radio/src/targets/pl18/battery_driver.h index 1eace4d8cb9..9e2c9823cf4 100644 --- a/radio/src/targets/pl18/battery_driver.h +++ b/radio/src/targets/pl18/battery_driver.h @@ -29,6 +29,7 @@ ***************************************************************************************************/ #include "board.h" +#include "hal.h" enum ChargeState { @@ -38,17 +39,8 @@ enum ChargeState CHARGE_FINISHED }; - -#define PWR_CHARGE_FINISHED_GPIO GPIOB -#define PWR_CHARGE_FINISHED_GPIO_REG PWR_CHARGE_FINISHED_GPIO->IDR -#define PWR_CHARGE_FINISHED_GPIO_PIN GPIO_Pin_13 // PB.13 - -#define PWR_CHARGING_GPIO GPIOB -#define PWR_CHARGING_GPIO_REG PWR_CHARGING_GPIO->IDR -#define PWR_CHARGING_GPIO_PIN GPIO_Pin_14 // PB.14 - -#define READ_CHARGE_FINISHED_STATE() GPIO_ReadInputDataBit( PWR_CHARGE_FINISHED_GPIO, PWR_CHARGE_FINISHED_GPIO_PIN ) -#define READ_CHARGING_STATE() GPIO_ReadInputDataBit( PWR_CHARGING_GPIO, PWR_CHARGING_GPIO_PIN ) +#define READ_UCHARGE_FINISHED_STATE() GPIO_ReadInputDataBit( UCHARGER_STDBY_GPIO, UCHARGER_STDBY_GPIO_PIN ) +#define READ_UCHARGING_STATE() GPIO_ReadInputDataBit( UCHARGER_CHARGE_GPIO, UCHARGER_CHARGE_GPIO_PIN ) extern void battery_charge_init(); extern void handle_battery_charge(uint32_t last_press_time); diff --git a/radio/src/targets/pl18/board.h b/radio/src/targets/pl18/board.h index e5781f88625..af3ec08af82 100644 --- a/radio/src/targets/pl18/board.h +++ b/radio/src/targets/pl18/board.h @@ -114,8 +114,8 @@ void SDRAM_Init(); void EXTERNAL_MODULE_ON(); void EXTERNAL_MODULE_OFF(); #define EXTERNAL_MODULE_PWR_OFF EXTERNAL_MODULE_OFF -#define BLUETOOTH_MODULE_ON() GPIO_ResetBits(BLUETOOTH_ON_GPIO, BLUETOOTH_ON_GPIO_PIN) -#define BLUETOOTH_MODULE_OFF() GPIO_SetBits(BLUETOOTH_ON_GPIO, BLUETOOTH_ON_GPIO_PIN) +#define BLUETOOTH_MODULE_ON() GPIO_ResetBits(BT_EN_GPIO, BT_EN_GPIO_PIN) +#define BLUETOOTH_MODULE_OFF() GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN) #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) #define IS_PXX2_INTERNAL_ENABLED() (false) diff --git a/radio/src/targets/pl18/extmodule_helper.cpp b/radio/src/targets/pl18/extmodule_helper.cpp index 40ff0f9c2e0..7d9b2df0ec3 100644 --- a/radio/src/targets/pl18/extmodule_helper.cpp +++ b/radio/src/targets/pl18/extmodule_helper.cpp @@ -24,13 +24,11 @@ void EXTERNAL_MODULE_ON() { GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN); - GPIO_ResetBits(EXTMODULE_PWR_FIX_GPIO, EXTMODULE_PWR_FIX_GPIO_PIN); } void EXTERNAL_MODULE_OFF() { GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN); - GPIO_SetBits(EXTMODULE_PWR_FIX_GPIO, EXTMODULE_PWR_FIX_GPIO_PIN); } void extModuleInit() @@ -44,14 +42,8 @@ void extModuleInit() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN); GPIO_Init(EXTMODULE_PWR_GPIO, &GPIO_InitStructure); - //for additional transistor to ensuring module is completely disabled GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - //pin must be pulled to V+ (voltage of board - VCC is not enough to fully close transistor) GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = EXTMODULE_PWR_FIX_GPIO_PIN; - GPIO_SetBits(EXTMODULE_PWR_FIX_GPIO, EXTMODULE_PWR_FIX_GPIO_PIN); - GPIO_Init(EXTMODULE_PWR_FIX_GPIO, &GPIO_InitStructure); - GPIO_InitStructure.GPIO_Pin = EXTMODULE_TX_INVERT_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_Init(EXTMODULE_TX_INVERT_GPIO, &GPIO_InitStructure); diff --git a/radio/src/targets/pl18/hal.h b/radio/src/targets/pl18/hal.h index de1428bc2bb..abb1dd3b338 100644 --- a/radio/src/targets/pl18/hal.h +++ b/radio/src/targets/pl18/hal.h @@ -63,7 +63,7 @@ #define TRIMS_GPIO_OUT2_PIN GPIO_Pin_10 // PG.10 #define TRIMS_GPIO_OUT3 GPIOG #define TRIMS_GPIO_OUT3_PIN GPIO_Pin_11 // PG.11 -// OUT4 routed on MCU PCB, but not attached to any physical buttons +// OUT4 routed on MCU PCB, but not attached to any physical buttons, free to use for extensions #define TRIMS_GPIO_OUT4 GPIOH #define TRIMS_GPIO_OUT4_PIN GPIO_Pin_7 // PH.07 @@ -113,7 +113,7 @@ // Index of all switches / trims #define KEYS_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOJ) #define KEYS_GPIOB_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_14) -#define KEYS_GPIOC_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 ) /* TODO! PC8 currently allocated for SDIO D0 */ +#define KEYS_GPIOC_PINS (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 ) /* PC8 allocated to SDIO D0, is not required to sample SWA ! */ #define KEYS_GPIOD_PINS (GPIO_Pin_7) #define KEYS_GPIOF_PINS (GPIO_Pin_10) #define KEYS_GPIOH_PINS (GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11) @@ -127,14 +127,18 @@ #define ADC_GPIO_PIN_POT1 GPIO_Pin_6 // PA.06 VRA #define ADC_GPIO_PIN_POT2 GPIO_Pin_4 // PC.04 VRB #define ADC_GPIO_PIN_POT3 GPIO_Pin_8 // PF.08 VRC -#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_9 // PF.09 LS -#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_7 // PA.07 RS +#define ADC_GPIO_PIN_EXT1 GPIO_Pin_2 // PA.02 +#define ADC_GPIO_PIN_EXT2 GPIO_Pin_6 // PF.06 +#define ADC_GPIO_PIN_SLIDER1 GPIO_Pin_9 // PF.09 VRD/LS +#define ADC_GPIO_PIN_SLIDER2 GPIO_Pin_7 // PA.07 VRE/RS #define ADC_GPIO_PIN_SWB GPIO_Pin_1 // PC.01 #define ADC_GPIO_PIN_SWD GPIO_Pin_0 // PC.00 #define ADC_GPIO_PIN_SWE GPIO_Pin_2 // PC.02 #define ADC_GPIO_PIN_SWF GPIO_Pin_0 // PB.00 #define ADC_GPIO_PIN_SWG GPIO_Pin_1 // PB.01 #define ADC_GPIO_PIN_SWH GPIO_Pin_10 // PF.10 +#define ADC_GPIO_PIN_SWI GPIO_Pin_3 // PA.03 +#define ADC_GPIO_PIN_SWJ GPIO_Pin_5 // PA.05 #define ADC_GPIO_PIN_BATT GPIO_Pin_5 // PC.05 #define ADC_GPIOA_PINS_FS (GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7) @@ -142,7 +146,7 @@ #define ADC_GPIOB_PINS (GPIO_Pin_0 | GPIO_Pin_1) #define ADC_GPIOC_PINS \ (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_4 | GPIO_Pin_5) -#define ADC_GPIOF_PINS (GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10) +#define ADC_GPIOF_PINS (GPIO_Pin_6 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10) #define ADC_CHANNEL_STICK_LH 0 #define ADC_CHANNEL_STICK_LV 0 @@ -152,6 +156,8 @@ #define ADC_CHANNEL_POT1 ADC_Channel_6 // ADC12_IN6 -> ADC1_IN6 #define ADC_CHANNEL_POT2 ADC_Channel_14 // ADC12_IN14 -> ADC1_IN14 #define ADC_CHANNEL_POT3 ADC_Channel_6 // ADC3_IN6 -> ADC3_IN6 +#define ADC_CHANNEL_EXT1 ADC_Channel_2 // ADC123_IN2 -> ADC3_IN2 (Right stick end pot on PL18EV) +#define ADC_CHANNEL_EXT2 ADC_Channel_4 // ADC3_IN4 -> ADC3_IN4 (Left stick end pot on PL18EV) #define ADC_CHANNEL_SLIDER1 ADC_Channel_7 // ADC3_IN7 -> ADC3_IN7 #define ADC_CHANNEL_SLIDER2 ADC_Channel_7 // ADC12_IN7 -> ADC1_IN7 #define ADC_CHANNEL_SWB ADC_Channel_11 // ADC123_IN11 -> ADC3_IN11 @@ -160,6 +166,8 @@ #define ADC_CHANNEL_SWF ADC_Channel_8 // ADC12_IN8 -> ADC1_IN8 #define ADC_CHANNEL_SWG ADC_Channel_9 // ADC12_IN9 -> ADC1_IN9 #define ADC_CHANNEL_SWH ADC_Channel_8 // ADC3_IN8 -> ADC3_IN8 +#define ADC_CHANNEL_SWI ADC_Channel_3 // ADC123_IN3 -> ADC3_IN3 (Right stick end buttons on PL18EV) +#define ADC_CHANNEL_SWJ ADC_Channel_5 // ADC12_IN5 -> ADC1_IN5 (Left stick end buttons on PL18EV) #define ADC_CHANNEL_BATT ADC_Channel_15 // ADC12_IN15 -> ADC1_IN15 #define ADC_MAIN ADC1 @@ -184,6 +192,34 @@ #define PWR_SWITCH_GPIO_PIN GPIO_Pin_11 // PI.11 #define PWR_ON_GPIO_PIN GPIO_Pin_14 // PI.14 +// Chargers (USB and wireless) +#define CHARGER_RCC_AHB1Periph ( RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOI ) + +#define UCHARGER_STDBY_GPIO GPIOB +#define UCHARGER_STDBY_GPIO_REG UCHARGER_STDBY_GPIO->IDR +#define UCHARGER_STDBY_GPIO_PIN GPIO_Pin_13 // PB.13 input + +#define UCHARGER_CHARGE_GPIO GPIOB +#define UCHARGER_CHARGE_GPIO_REG UCHARGER_CHARGE_GPIO->IDR +#define UCHARGER_CHARGE_GPIO_PIN GPIO_Pin_14 // PB.14 input + +#define WCHARGER_EN_GPIO GPIOH +#define WCHARGER_EN_GPIO_PIN GPIO_Pin_4 // PH.04 output + +#define WCHARGER_VBUS_EN_GPIO GPIOG +#define WCHARGER_VBUS_EN_GPIO_PIN GPIO_Pin_3 // PG.03 output + +#define WCHARGER_I_CONTROL_GPIO GPIOH +#define WCHARGER_I_CONTROL_GPIO_PIN GPIO_Pin_13 // PH.13 output + +#define WCHARGER_STDBY_GPIO GPIOI +#define WCHARGER_STDBY_GPIO_PIN GPIO_Pin_10 // PI.10 input + +#define WCHARGER_CHARGE_GPIO GPIOI +#define WCHARGER_CHARGE_GPIO_PIN GPIO_Pin_9 // PI.09 input + +// TODO! Check IOLL1 to PI.01 connectivity! + // S.Port update connector #define SPORT_MAX_BAUDRATE 400000 #define SPORT_UPDATE_RCC_AHB1Periph 0 @@ -251,6 +287,7 @@ #define TELEMETRY_TX_POL_INV() TELEMETRY_REV_GPIO->BSRRL = TELEMETRY_TX_REV_GPIO_PIN #define TELEMETRY_RX_POL_NORM() TELEMETRY_REV_GPIO->BSRRH = TELEMETRY_RX_REV_GPIO_PIN #define TELEMETRY_RX_POL_INV() TELEMETRY_REV_GPIO->BSRRL = TELEMETRY_RX_REV_GPIO_PIN + // USB #define USB_RCC_AHB1Periph_GPIO RCC_AHB1Periph_GPIOA #define USB_GPIO GPIOA @@ -332,44 +369,44 @@ #define EEPROM_SPI_MOSI_GPIO_PinSource GPIO_PinSource14 // Audio -#define AUDIO_RCC_APB1Periph (RCC_APB1Periph_TIM6 | RCC_APB1Periph_DAC) -#define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1) -#define AUDIO_OUTPUT_GPIO GPIOA -#define AUDIO_OUTPUT_GPIO_PIN GPIO_Pin_4 // PA.04 -#define AUDIO_GPIO_PinSource GPIO_PinSource4 -#define AUDIO_DMA_Stream DMA1_Stream5 -#define AUDIO_DMA_Stream_IRQn DMA1_Stream5_IRQn -#define AUDIO_TIM_IRQn TIM6_DAC_IRQn -#define AUDIO_TIM_IRQHandler TIM6_DAC_IRQHandler -#define AUDIO_DMA_Stream_IRQHandler DMA1_Stream5_IRQHandler -#define AUDIO_TIMER TIM6 -#define AUDIO_DMA DMA1 +#define AUDIO_RCC_APB1Periph (RCC_APB1Periph_TIM6 | RCC_APB1Periph_DAC) +#define AUDIO_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_DMA1) +#define AUDIO_OUTPUT_GPIO GPIOA +#define AUDIO_OUTPUT_GPIO_PIN GPIO_Pin_4 // PA.04 +#define AUDIO_GPIO_PinSource GPIO_PinSource4 +#define AUDIO_DMA_Stream DMA1_Stream5 +#define AUDIO_DMA_Stream_IRQn DMA1_Stream5_IRQn +#define AUDIO_TIM_IRQn TIM6_DAC_IRQn +#define AUDIO_TIM_IRQHandler TIM6_DAC_IRQHandler +#define AUDIO_DMA_Stream_IRQHandler DMA1_Stream5_IRQHandler +#define AUDIO_TIMER TIM6 +#define AUDIO_DMA DMA1 // I2C Bus - Touch -#define I2C_B1_RCC_AHB1Periph RCC_AHB1Periph_GPIOB -#define I2C_B1_RCC_APB1Periph RCC_APB1Periph_I2C1 -#define I2C_B1 I2C1 -#define I2C_B1_GPIO GPIOB -#define I2C_B1_SDA_GPIO_PIN GPIO_Pin_7 // PB.07 -#define I2C_B1_SCL_GPIO_PIN GPIO_Pin_8 // PB.08 -#define I2C_B1_GPIO_AF GPIO_AF_I2C1 -#define I2C_B1_SDA_GPIO_PinSource GPIO_PinSource7 -#define I2C_B1_SCL_GPIO_PinSource GPIO_PinSource8 -#define I2C_B1_CLK_RATE 100000 - -#define TOUCH_RST_RCC_AHB1Periph RCC_AHB1Periph_GPIOB -#define TOUCH_RST_GPIO GPIOB -#define TOUCH_RST_GPIO_PIN GPIO_Pin_12 // PB.12 - -#define TOUCH_INT_RCC_AHB1Periph RCC_AHB1Periph_GPIOB -#define TOUCH_INT_GPIO GPIOB -#define TOUCH_INT_GPIO_PIN GPIO_Pin_9 // PB.09 -#define TOUCH_INT_EXTI_LINE1 EXTI_Line9 -#define TOUCH_INT_EXTI_IRQn1 EXTI9_5_IRQn -#define TOUCH_INT_EXTI_IRQHandler1 EXTI9_5_IRQHandler -#define TOUCH_INT_EXTI_PortSource EXTI_PortSourceGPIOB -#define TOUCH_INT_EXTI_PinSource1 EXTI_PinSource9 -#define TOUCH_INT_STATUS() (GPIO_ReadInputDataBit(TOUCH_INT_GPIO, TOUCH_INT_GPIO_PIN)) +#define I2C_B1_RCC_AHB1Periph RCC_AHB1Periph_GPIOB +#define I2C_B1_RCC_APB1Periph RCC_APB1Periph_I2C1 +#define I2C_B1 I2C1 +#define I2C_B1_GPIO GPIOB +#define I2C_B1_SDA_GPIO_PIN GPIO_Pin_7 // PB.07 +#define I2C_B1_SCL_GPIO_PIN GPIO_Pin_8 // PB.08 +#define I2C_B1_GPIO_AF GPIO_AF_I2C1 +#define I2C_B1_SDA_GPIO_PinSource GPIO_PinSource7 +#define I2C_B1_SCL_GPIO_PinSource GPIO_PinSource8 +#define I2C_B1_CLK_RATE 100000 + +#define TOUCH_RST_RCC_AHB1Periph RCC_AHB1Periph_GPIOB +#define TOUCH_RST_GPIO GPIOB +#define TOUCH_RST_GPIO_PIN GPIO_Pin_12 // PB.12 + +#define TOUCH_INT_RCC_AHB1Periph RCC_AHB1Periph_GPIOB +#define TOUCH_INT_GPIO GPIOB +#define TOUCH_INT_GPIO_PIN GPIO_Pin_9 // PB.09 +#define TOUCH_INT_EXTI_LINE1 EXTI_Line9 +#define TOUCH_INT_EXTI_IRQn1 EXTI9_5_IRQn +#define TOUCH_INT_EXTI_IRQHandler1 EXTI9_5_IRQHandler +#define TOUCH_INT_EXTI_PortSource EXTI_PortSourceGPIOB +#define TOUCH_INT_EXTI_PinSource1 EXTI_PinSource9 +#define TOUCH_INT_STATUS() (GPIO_ReadInputDataBit(TOUCH_INT_GPIO, TOUCH_INT_GPIO_PIN)) // Haptic: TIM1_CH1 #define HAPTIC_PWM @@ -413,8 +450,6 @@ #define EXTMODULE_PULSES #define EXTMODULE_PWR_GPIO GPIOD #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_11 -#define EXTMODULE_PWR_FIX_GPIO GPIOA -#define EXTMODULE_PWR_FIX_GPIO_PIN GPIO_Pin_2 // PA.02 #define EXTMODULE_RCC_AHB1Periph \ (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOC | \ RCC_AHB1Periph_GPIOI | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_DMA2) @@ -473,11 +508,6 @@ #define EXTMODULE_RX_NORMAL() EXTMODULE_TX_INVERT_GPIO->BSRRH = EXTMODULE_RX_INVERT_GPIO_PIN #define EXTMODULE_RX_INVERTED() EXTMODULE_TX_INVERT_GPIO->BSRRL = EXTMODULE_RX_INVERT_GPIO_PIN -// Heartbeat (not used) -#define HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD -#define HEARTBEAT_GPIO GPIOD -#define HEARTBEAT_GPIO_PIN GPIO_Pin_12 // PD.12 - // Trainer Port #define TRAINERMODULE #define TRAINER_RCC_AHB1Periph (RCC_AHB1Periph_GPIOD) @@ -510,8 +540,8 @@ //BLUETOOTH #define BLUETOOTH_ON_RCC_AHB1Periph RCC_AHB1Periph_GPIOI -#define BLUETOOTH_ON_GPIO GPIOI -#define BLUETOOTH_ON_GPIO_PIN GPIO_Pin_8 // PI.8 +#define BT_EN_GPIO GPIOI +#define BT_EN_GPIO_PIN GPIO_Pin_8 // PI.8 #define BT_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOI | RCC_AHB1Periph_GPIOH) #define BT_RCC_APB1Periph (RCC_APB1Periph_USART3) @@ -526,12 +556,9 @@ #define BT_TX_GPIO_PinSource GPIO_PinSource10 #define BT_RX_GPIO_PinSource GPIO_PinSource11 #define BT_USART_IRQHandler USART3_IRQHandler - -#define BT_EN_GPIO GPIOI -#define BT_EN_GPIO_PIN GPIO_Pin_8 // PI.08 #define BT_CONNECTED_GPIO GPIOJ -#define BT_CONNECTED_GPIO_PIN GPIO_Pin_1 // PJ.10 +#define BT_CONNECTED_GPIO_PIN GPIO_Pin_1 // PJ.01 #define BT_CMD_MODE_GPIO GPIOH #define BT_CMD_MODE_GPIO_PIN GPIO_Pin_6 // PH.6