1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

boards/arduino-due: cleaned up LED handling

This commit is contained in:
Hauke Petersen 2016-03-01 16:33:07 +01:00
parent ec1bea389b
commit 593ad5b223
2 changed files with 15 additions and 44 deletions

View File

@ -18,44 +18,14 @@
* @}
*/
#include <stdio.h>
#include "board.h"
#include "cpu.h"
void led_init(void);
#include "board.h"
#include "periph/gpio.h"
void board_init(void)
{
/* initialize the CPU */
cpu_init();
/* initialize the boards LEDs */
led_init();
}
/**
* @brief Initialize the boards on-board LED (Amber LED "L")
*
* The LED initialization is hard-coded in this function. As the LED is soldered
* onto the board it is fixed to its CPU pins.
*
* The LED is connected to the following pin:
* - LED: PB27
*/
void led_init(void)
{
/* enable PIO control of pin PD27 */
LED_PORT->PIO_PER = LED_PIN;
/* set pin as output */
LED_PORT->PIO_OER = LED_PIN;
/* enable direct write access to the LED pin */
LED_PORT->PIO_OWER = LED_PIN;
/* disable pull-up */
LED_PORT->PIO_PUDR = LED_PIN;
/* clear pin */
LED_PORT->PIO_CODR = LED_PIN;
/* initialize the on-board Amber "L" LED @ pin PB27 */
gpio_init(LED_PIN, GPIO_DIR_OUT, GPIO_NOPULL);
}

View File

@ -33,24 +33,25 @@ extern "C" {
* @{
*/
#define LED_PORT PIOB
#define LED_PIN PIO_PB27
#define LED_BIT PIO_PB27
#define LED_PIN GPIO_PIN(PB, 27)
/** @} */
/**
* @name Macros for controlling the on-board LEDs.
* @{
*/
#define LED_ON (LED_PORT->PIO_ODSR |= LED_PIN)
#define LED_OFF (LED_PORT->PIO_ODSR &= ~LED_PIN)
#define LED_TOGGLE (LED_PORT->PIO_ODSR ^= LED_PIN)
#define LED_ON (LED_PORT->PIO_SODR = LED_BIT)
#define LED_OFF (LED_PORT->PIO_CODR = LED_BIT)
#define LED_TOGGLE (LED_PORT->PIO_ODSR ^= LED_BIT)
/* for compatability to other boards */
#define LED_GREEN_ON /* not available */
#define LED_GREEN_OFF /* not available */
#define LED_GREEN_TOGGLE /* not available */
#define LED_RED_ON LED_ON
#define LED_RED_OFF LED_OFF
#define LED_RED_TOGGLE LED_TOGGLE
#define LED_GREEN_ON LED_ON
#define LED_GREEN_OFF LED_OFF
#define LED_GREEN_TOGGLE LED_TOGGLE
#define LED_RED_ON /* not available */
#define LED_RED_OFF /* not available */
#define LED_RED_TOGGLE /* not available */
/** @} */
/**