Skip to content

Commit

Permalink
Initial steps towards stick pot controls and battery charger(s). I/O …
Browse files Browse the repository at this point in the history
…definitions and setting outputs init state.
  • Loading branch information
rotorman committed Jan 12, 2022
1 parent c00c49f commit a704b57
Show file tree
Hide file tree
Showing 6 changed files with 114 additions and 82 deletions.
4 changes: 2 additions & 2 deletions radio/src/targets/common/arm/stm32/stm32_hal_adc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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; }
Expand Down
31 changes: 26 additions & 5 deletions radio/src/targets/pl18/battery_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
Expand Down
14 changes: 3 additions & 11 deletions radio/src/targets/pl18/battery_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
***************************************************************************************************/

#include "board.h"
#include "hal.h"

enum ChargeState
{
Expand All @@ -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);
Expand Down
4 changes: 2 additions & 2 deletions radio/src/targets/pl18/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
8 changes: 0 additions & 8 deletions radio/src/targets/pl18/extmodule_helper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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);
Expand Down
135 changes: 81 additions & 54 deletions radio/src/targets/pl18/hal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
Expand All @@ -127,22 +127,26 @@
#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)
#define ADC_GPIOA_PINS ADC_GPIOA_PINS_FS
#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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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
Expand Down

0 comments on commit a704b57

Please sign in to comment.