From 6a77e7fa74482ea989afbee7ef511f6e6f22a135 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 14 Mar 2019 09:01:27 +0100 Subject: [PATCH] [X3] HAL fixes --- radio/src/targets/taranis/board.h | 4 +--- radio/src/targets/taranis/hal.h | 15 ++++++++++++--- radio/src/targets/taranis/pwr_driver.cpp | 4 ++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index cb89f7578..9b44b4a5d 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -170,10 +170,8 @@ uint32_t isBootloaderStart(const uint8_t * buffer); #else #define INTERNAL_MODULE_OFF() GPIO_ResetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN) #endif -#define EXTERNAL_MODULE_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) -#define EXTERNAL_MODULE_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define IS_INTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN) == Bit_SET) -#define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) void init_ppm(uint8_t module); void disable_ppm(uint8_t module); diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index 4cb6ae99e..223f0fc79 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -750,10 +750,16 @@ #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA2) #define EXTMODULE_PWR_GPIO GPIOA #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PA.08 + #define EXTERNAL_MODULE_ON() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define EXTERNAL_MODULE_OFF() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_RESET) #else #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) #define EXTMODULE_PWR_GPIO GPIOD #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_11 // PD.11 + #define EXTERNAL_MODULE_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define EXTERNAL_MODULE_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) #endif #define EXTMODULE_TX_GPIO GPIOC #define EXTMODULE_USART_GPIO GPIOC @@ -786,6 +792,9 @@ #define EXTMODULE_RCC_APB2Periph RCC_APB2Periph_TIM8 #define EXTMODULE_PWR_GPIO GPIOD #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 + #define EXTERNAL_MODULE_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define EXTERNAL_MODULE_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) + #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) #define EXTMODULE_TX_GPIO GPIOA #define EXTMODULE_TX_GPIO_PIN GPIO_Pin_7 // PA.07 #define EXTMODULE_TX_GPIO_PinSource GPIO_PinSource7 @@ -900,7 +909,7 @@ #define TELEMETRY_RCC_APB1Periph RCC_APB1Periph_USART2 #define TELEMETRY_DIR_GPIO GPIOD #define TELEMETRY_DIR_GPIO_PIN GPIO_Pin_4 // PD.04 -#if defined(PCBXLITE) +#if defined(PCBXLITE) || defined(PCBX3) #define TELEMETRY_DIR_OUTPUT() TELEMETRY_DIR_GPIO->BSRRH = TELEMETRY_DIR_GPIO_PIN #define TELEMETRY_DIR_INPUT() TELEMETRY_DIR_GPIO->BSRRL = TELEMETRY_DIR_GPIO_PIN #else @@ -951,8 +960,8 @@ #define SPORT_UPDATE_RCC_AHB1Periph RCC_AHB1Periph_GPIOE #define SPORT_UPDATE_PWR_GPIO GPIOE #define SPORT_UPDATE_PWR_GPIO_PIN GPIO_Pin_15 // PE.15 - #define GPIO_SPORT_UPDATE_PWR_GPIO_ON GPIO_ResetBits - #define GPIO_SPORT_UPDATE_PWR_GPIO_OFF GPIO_SetBits + #define GPIO_SPORT_UPDATE_PWR_GPIO_ON GPIO_SetBits + #define GPIO_SPORT_UPDATE_PWR_GPIO_OFF GPIO_ResetBits #else #define SPORT_MAX_BAUDRATE 400000 #define SPORT_UPDATE_RCC_AHB1Periph 0 diff --git a/radio/src/targets/taranis/pwr_driver.cpp b/radio/src/targets/taranis/pwr_driver.cpp index d754d3473..f233eaaac 100644 --- a/radio/src/targets/taranis/pwr_driver.cpp +++ b/radio/src/targets/taranis/pwr_driver.cpp @@ -32,8 +32,8 @@ void pwrInit() GPIO_ResetBits(INTMODULE_PWR_GPIO, INTMODULE_PWR_GPIO_PIN); GPIO_InitStructure.GPIO_Pin = INTMODULE_PWR_GPIO_PIN; GPIO_Init(INTMODULE_PWR_GPIO, &GPIO_InitStructure); - - GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN); + + EXTERNAL_MODULE_OFF(); GPIO_InitStructure.GPIO_Pin = EXTMODULE_PWR_GPIO_PIN; GPIO_Init(EXTMODULE_PWR_GPIO, &GPIO_InitStructure);