From b34eb922eb30f2d2a9e4d9bccde68cd4b4ba295a Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH] boards/iotlab-m3: unified LED defines --- boards/iotlab-m3/board.c | 39 +++++------------------- boards/iotlab-m3/include/board.h | 41 +++++++++++--------------- boards/iotlab-m3/include/gpio_params.h | 6 ++-- 3 files changed, 28 insertions(+), 58 deletions(-) diff --git a/boards/iotlab-m3/board.c b/boards/iotlab-m3/board.c index e9b6bc7d02..b2a1125072 100644 --- a/boards/iotlab-m3/board.c +++ b/boards/iotlab-m3/board.c @@ -19,41 +19,18 @@ */ #include "board.h" -#include "cpu.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { /* initialize the CPU */ cpu_init(); - /* initialize the boards LEDs */ - leds_init(); -} - -/** - * @brief Initialize the boards on-board LEDs - * - * The LEDs initialization is hard-coded in this function. As the LED is soldered - * onto the board it is fixed to its CPU pins. - * - * The LEDs are connected to the following pin: - * - Green: PB5 - * - Orange: PC10 - * - Red: PD2 - */ -static void leds_init(void) -{ - /* green pin */ - RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; - LED_GREEN_PORT->CR[0] = (0x3 << (LED_GREEN_PIN*4)); - - /* orange pin */ - RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; - LED_ORANGE_PORT->CR[1] = (0x3 << ((LED_ORANGE_PIN-8)*4)); - - /* red pin */ - RCC->APB2ENR |= RCC_APB2ENR_IOPDEN; - LED_RED_PORT->CR[0] = (0x3 << (LED_RED_PIN*4)); + /* initialize the boards LEDs and turn them off */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED1_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED2_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_set(LED0_PIN); + gpio_set(LED1_PIN); + gpio_set(LED2_PIN); } diff --git a/boards/iotlab-m3/include/board.h b/boards/iotlab-m3/include/board.h index 9337e29ece..2580c83577 100644 --- a/boards/iotlab-m3/include/board.h +++ b/boards/iotlab-m3/include/board.h @@ -108,35 +108,28 @@ extern "C" { /** @} */ /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PORT (GPIOD) -#define LED_RED_PIN (2) -#define LED_RED_GPIO GPIO_PIN(PORT_D,2) -#define LED_GREEN_PORT (GPIOB) -#define LED_GREEN_PIN (5) -#define LED_GREEN_GPIO GPIO_PIN(PORT_B,5) -#define LED_ORANGE_PORT (GPIOC) -#define LED_ORANGE_PIN (10) -#define LED_ORANGE_GPIO GPIO_PIN(PORT_C,10) -/** @} */ +#define LED0_PIN GPIO_PIN(PORT_D, 2) +#define LED1_PIN GPIO_PIN(PORT_B, 5) +#define LED2_PIN GPIO_PIN(PORT_C, 10) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (LED_RED_PORT->ODR &= ~(1<ODR |= (1<ODR ^= (1<ODR &= ~(1<ODR |= (1<ODR ^= (1<ODR &= ~LED0_MASK) +#define LED0_OFF (GPIOD->ODR |= LED0_MASK) +#define LED0_TOGGLE (GPIOD->ODR ^= LED0_MASK) -#define LED_ORANGE_ON (LED_ORANGE_PORT->ODR &= ~(1<ODR |= (1<ODR ^= (1<ODR &= ~LED1_MASK) +#define LED1_OFF (GPIOB->ODR |= LED1_MASK) +#define LED1_TOGGLE (GPIOB->ODR ^= LED1_MASK) + +#define LED2_ON (GPIOC->ODR &= ~LED2_MASK) +#define LED2_OFF (GPIOC->ODR |= LED2_MASK) +#define LED2_TOGGLE (GPIOC->ODR ^= LED2_MASK) /** @} */ /** diff --git a/boards/iotlab-m3/include/gpio_params.h b/boards/iotlab-m3/include/gpio_params.h index da6cf71cb1..17a73f6e11 100644 --- a/boards/iotlab-m3/include/gpio_params.h +++ b/boards/iotlab-m3/include/gpio_params.h @@ -33,19 +33,19 @@ static const saul_gpio_params_t saul_gpio_params[] = { { .name = "LED(red)", - .pin = LED_RED_GPIO, + .pin = LED0_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL, }, { .name = "LED(green)", - .pin = LED_GREEN_GPIO, + .pin = LED1_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL, }, { .name = "LED(orange)", - .pin = LED_ORANGE_GPIO, + .pin = LED2_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL, },