diff --git a/sw/airborne/boards/apogee_1.0.h b/sw/airborne/boards/apogee_1.0.h index 705dca0eda..49e3c5cc1f 100644 --- a/sw/airborne/boards/apogee_1.0.h +++ b/sw/airborne/boards/apogee_1.0.h @@ -112,18 +112,11 @@ #define POWER_SWITCH_LED 9 -/* Uart2 RX polarity, on PB13, 1 on LED_ON, 0 on LED_OFF */ -#ifndef USE_LED_10 -#define USE_LED_10 1 -#endif -#define LED_10_GPIO GPIOB -#define LED_10_GPIO_CLK RCC_AHB1ENR_IOPBEN -#define LED_10_GPIO_PIN GPIO13 -#define LED_10_GPIO_ON gpio_set -#define LED_10_GPIO_OFF gpio_clear -#define LED_10_AFIO_REMAP ((void)0) -#define RC_POLARITY_LED 10 +/* Uart2 RX polarity, on PB13, 1 on LED_ON, 0 on LED_OFF */ +#define RC_POLARITY_GPIO_PORT GPIOB +#define RC_POLARITY_GPIO_PIN GPIO13 + /* Default actuators driver */ #define DEFAULT_ACTUATORS "subsystems/actuators/actuators_pwm.h" diff --git a/sw/airborne/subsystems/radio_control/sbus.c b/sw/airborne/subsystems/radio_control/sbus.c index de0bbedd3e..21bf9dc485 100644 --- a/sw/airborne/subsystems/radio_control/sbus.c +++ b/sw/airborne/subsystems/radio_control/sbus.c @@ -28,7 +28,7 @@ #include "subsystems/radio_control/sbus.h" #include BOARD_CONFIG #include "mcu_periph/uart.h" -#include "led.h" +#include "mcu_periph/gpio.h" #include /* @@ -44,13 +44,15 @@ #define SBUS_STATUS_UNINIT 0 #define SBUS_STATUS_GOT_START 1 -/** Set polarity using RC_POLARITY_LED. - * SBUS signal has a reversed polarity compared to normal UART - * this allow to using hardware UART peripheral by changing - * the input signal polarity +/** Set polarity using RC_POLARITY_GPIO. + * SBUS signal has a reversed polarity compared to normal UART + * this allows to using hardware UART peripheral by changing + * the input signal polarity. + * Setting this gpio ouput low inverts the signal, + * output high sets it to normal polarity. */ #ifndef RC_SET_POLARITY -#define RC_SET_POLARITY LED_ON +#define RC_SET_POLARITY gpio_output_low #endif @@ -67,8 +69,9 @@ void radio_control_impl_init(void) { uart_periph_set_baudrate(&SBUS_UART_DEV, B100000); // Set polarity -#ifdef RC_POLARITY_LED - RC_SET_POLARITY(RC_POLARITY_LED); +#ifdef RC_POLARITY_GPIO_PORT + gpio_setup_output(RC_POLARITY_GPIO_PORT, RC_POLARITY_GPIO_PIN); + RC_SET_POLARITY(RC_POLARITY_GPIO_PORT, RC_POLARITY_GPIO_PIN); #endif }