From 1fc2da15087218a83c07f60214fbd883e2aa5205 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 14:12:07 +0100 Subject: [PATCH 01/60] boards/wsn430: cleanup for common board.h - renamed board-conf.h to board_common.h - moved xtimer defines to board_common.h --- .../include/{board-conf.h => board_common.h} | 27 ++++++++++++++----- boards/wsn430-v1_3b/include/board.h | 13 +-------- boards/wsn430-v1_4/include/board.h | 13 +-------- 3 files changed, 23 insertions(+), 30 deletions(-) rename boards/wsn430-common/include/{board-conf.h => board_common.h} (50%) diff --git a/boards/wsn430-common/include/board-conf.h b/boards/wsn430-common/include/board_common.h similarity index 50% rename from boards/wsn430-common/include/board-conf.h rename to boards/wsn430-common/include/board_common.h index cff1c02246..f8182013e9 100644 --- a/boards/wsn430-common/include/board-conf.h +++ b/boards/wsn430-common/include/board_common.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2013 Milan Babel + * 2016 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level @@ -15,23 +16,37 @@ * @file * @brief Common definitions for WSN430 based boards * - * @author unknown + * @author Milan Babel + * @author Hauke Petersen + * */ -#ifndef BOARD_CONF_H_ -#define BOARD_CONF_H_ - -#include +#ifndef BOARD_COMMON_H_ +#define BOARD_COMMON_H_ #ifdef __cplusplus extern "C" { #endif +/** + * @brief Address of the info memory + */ #define INFOMEM (0x1000) +/** + * @brief Xtimer configuration + * @{ + */ +#define XTIMER (0) +#define XTIMER_CHAN (0) +#define XTIMER_MASK (0xffff0000) +#define XTIMER_SHIFT_ON_COMPARE (4) +#define XTIMER_BACKOFF (40) +/** @} */ + #ifdef __cplusplus } #endif +#endif /* BOARD_COMMON_H_ */ /** @} */ -#endif /* BOARD-CONF_H */ diff --git a/boards/wsn430-v1_3b/include/board.h b/boards/wsn430-v1_3b/include/board.h index 20f73d5ef1..53d654928f 100644 --- a/boards/wsn430-v1_3b/include/board.h +++ b/boards/wsn430-v1_3b/include/board.h @@ -28,7 +28,7 @@ #ifndef WSN_BOARD_H_ #define WSN_BOARD_H_ -#include "board-conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { @@ -39,17 +39,6 @@ extern "C" { #define __MSP430F1611__ #endif -/** - * @brief Xtimer configuration - * @{ - */ -#define XTIMER (0) -#define XTIMER_CHAN (0) -#define XTIMER_MASK (0xffff0000) -#define XTIMER_SHIFT_ON_COMPARE (4) -#define XTIMER_BACKOFF (40) -/** @} */ - //MSB430 core #define MSP430_INITIAL_CPU_SPEED 800000uL #define F_CPU MSP430_INITIAL_CPU_SPEED diff --git a/boards/wsn430-v1_4/include/board.h b/boards/wsn430-v1_4/include/board.h index 84199f3576..ba4128da50 100644 --- a/boards/wsn430-v1_4/include/board.h +++ b/boards/wsn430-v1_4/include/board.h @@ -28,7 +28,7 @@ #ifndef WSN_BOARD_H_ #define WSN_BOARD_H_ -#include "board-conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { @@ -39,17 +39,6 @@ extern "C" { #define __MSP430F1611__ #endif -/** - * @brief Xtimer configuration - * @{ - */ -#define XTIMER (0) -#define XTIMER_CHAN (0) -#define XTIMER_MASK (0xffff0000) -#define XTIMER_SHIFT_ON_COMPARE (4) -#define XTIMER_BACKOFF (40) -/** @} */ - /* MSB430 core */ #define MSP430_INITIAL_CPU_SPEED 800000uL #define F_CPU MSP430_INITIAL_CPU_SPEED From 0ccadc0f7beb3757ec37fad1c30433c3c2330727 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 15:01:58 +0100 Subject: [PATCH 02/60] boards/nucleo: added and use common board folder --- boards/nucleo-common/Makefile | 3 ++ boards/nucleo-common/Makefile.include | 12 +++++ boards/nucleo-common/include/board_common.h | 60 +++++++++++++++++++++ boards/nucleo-f091/Makefile.include | 11 +--- boards/nucleo-f091/include/board.h | 41 +------------- boards/nucleo-f103/Makefile.include | 11 +--- boards/nucleo-f103/include/board.h | 39 +------------- boards/nucleo-f303/Makefile.include | 11 +--- boards/nucleo-f303/include/board.h | 41 +------------- boards/nucleo-f334/Makefile.include | 11 +--- boards/nucleo-f334/include/board.h | 41 +------------- boards/nucleo-f401/Makefile.include | 11 +--- boards/nucleo-f401/include/board.h | 39 +------------- boards/nucleo-l1/Makefile.include | 11 +--- boards/nucleo-l1/include/board.h | 41 +------------- 15 files changed, 93 insertions(+), 290 deletions(-) create mode 100644 boards/nucleo-common/Makefile create mode 100644 boards/nucleo-common/Makefile.include create mode 100644 boards/nucleo-common/include/board_common.h diff --git a/boards/nucleo-common/Makefile b/boards/nucleo-common/Makefile new file mode 100644 index 0000000000..79ef2678ed --- /dev/null +++ b/boards/nucleo-common/Makefile @@ -0,0 +1,3 @@ +MODULE = nucleo_common + +include $(RIOTBASE)/Makefile.base diff --git a/boards/nucleo-common/Makefile.include b/boards/nucleo-common/Makefile.include new file mode 100644 index 0000000000..6f653099fc --- /dev/null +++ b/boards/nucleo-common/Makefile.include @@ -0,0 +1,12 @@ +# define the default port depending on the host OS +PORT_LINUX ?= /dev/ttyACM0 +PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.SLAB_USBtoUART*))) + +# setup serial terminal +include $(RIOTBOARD)/Makefile.include.serial + +# this board uses openocd +include $(RIOTBOARD)/Makefile.include.openocd + +# add the common header files to the include path +INCLUDES += -I$(RIOTBOARD)/nucleo-common/include diff --git a/boards/nucleo-common/include/board_common.h b/boards/nucleo-common/include/board_common.h new file mode 100644 index 0000000000..97f397e4ba --- /dev/null +++ b/boards/nucleo-common/include/board_common.h @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2016 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @defgroup boards_nucleo_common STM Nucleo Common + * @ingroup drivers_periph + * @brief Common files for STM Nucleo boards + * @{ + * + * @file + * @brief Common pin definitions and board configuration options + * + * @author Hauke Petersen + */ + +#ifndef BOARD_COMMON__H +#define BOARD_COMMON__H + +#include "cpu.h" +#include "periph_conf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief LED pin definitions and handlers + * @{ + */ +#define LED0_PIN GPIO_PIN(PORT_A, 5) + +#define LED_MASK GPIOA +#define LED0_MASK (1 << 5) + +#define LED0_ON (GPIOA->BRR = ~LED0_MASK) +#define LED0_OFF (GPIOA->OSRR = LED0_MASK) +#define LED0_TOGGLE (GPIOA->ODR ^= LED0_MASK) +/** @} */ + +/** + * @brief User button + */ +#define BTN_B1_PIN GPIO_PIN(PORT_C, 13) + +/** + * @brief Initialize board specific hardware, including clock, LEDs and std-IO + */ +void board_init(void); + +#ifdef __cplusplus +} +#endif + +#endif /* BOARD_COMMON__H */ +/** @} */ diff --git a/boards/nucleo-f091/Makefile.include b/boards/nucleo-f091/Makefile.include index 55cf92fcc0..46a891574b 100644 --- a/boards/nucleo-f091/Makefile.include +++ b/boards/nucleo-f091/Makefile.include @@ -2,12 +2,5 @@ export CPU = stm32f0 export CPU_MODEL = stm32f091rc -#define the default port depending on the host OS -PORT_LINUX ?= /dev/ttyACM0 -PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) - -# setup serial terminal -include $(RIOTBOARD)/Makefile.include.serial - -# this board uses openocd -include $(RIOTBOARD)/Makefile.include.openocd +# load the common Makefile.include for Nucleo boards +include $(RIOTBOARD)/nucleo-common/Makefile.include diff --git a/boards/nucleo-f091/include/board.h b/boards/nucleo-f091/include/board.h index e0e275e870..470af2dee2 100644 --- a/boards/nucleo-f091/include/board.h +++ b/boards/nucleo-f091/include/board.h @@ -22,54 +22,15 @@ #ifndef BOARD_H_ #define BOARD_H_ -#include - -#include "cpu.h" -#include "periph_conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { #endif -/** - * @name LED pin definitions - * @{ - */ -#define LED_GREEN_PORT (GPIOA) -#define LED_GREEN_PIN (5) -/** @} */ - -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON -#define LED_RED_OFF -#define LED_RED_TOGGLE - -#define LED_GREEN_ON (LED_GREEN_PORT->BSRR = (1 << LED_GREEN_PIN)) -#define LED_GREEN_OFF (LED_GREEN_PORT->BSRR = ((1 << LED_GREEN_PIN) << 16)) -#define LED_GREEN_TOGGLE (LED_GREEN_PORT->ODR ^= (1 << LED_GREEN_PIN)) - -#define LED_ORANGE_ON -#define LED_ORANGE_OFF -#define LED_ORANGE_TOGGLE -/** @} */ - -/** - * @brief User button - */ -#define BTN_B1_PIN GPIO_PIN(PORT_C, 13) - -/** - * @brief Initialize board specific hardware, including clock, LEDs and std-IO - */ -void board_init(void); - #ifdef __cplusplus } #endif #endif /* BOARD_H_ */ /** @} */ -/** @} */ diff --git a/boards/nucleo-f103/Makefile.include b/boards/nucleo-f103/Makefile.include index f1b362445f..1fe6635a94 100755 --- a/boards/nucleo-f103/Makefile.include +++ b/boards/nucleo-f103/Makefile.include @@ -2,12 +2,5 @@ export CPU = stm32f1 export CPU_MODEL = stm32f103rb -#define the default port depending on the host OS -PORT_LINUX ?= /dev/ttyUSB0 -PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) - -# setup serial terminal -include $(RIOTBOARD)/Makefile.include.serial - -# this board uses openocd -include $(RIOTBOARD)/Makefile.include.openocd +# load the common Makefile.include for Nucleo boards +include $(RIOTBOARD)/nucleo-common/Makefile.include diff --git a/boards/nucleo-f103/include/board.h b/boards/nucleo-f103/include/board.h index 7f39091dae..7641bd1b37 100755 --- a/boards/nucleo-f103/include/board.h +++ b/boards/nucleo-f103/include/board.h @@ -21,10 +21,7 @@ #ifndef BOARD_H_ #define BOARD_H_ -#include - -#include "cpu.h" -#include "periph_conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { @@ -42,40 +39,6 @@ extern "C" { #define XTIMER_BACKOFF 5 /** @} */ -/** - * @name LED pin definitions - * @{ - */ -#define LED_GREEN_GPIO GPIO_PIN(PORT_A, 5) -/** @} */ - -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON -#define LED_RED_OFF -#define LED_RED_TOGGLE - -#define LED_GREEN_ON (GPIOA->BSRR = (1 << 5)) -#define LED_GREEN_OFF (GPIOA->BRR = (1 << 5)) -#define LED_GREEN_TOGGLE (GPIOA->ODR ^= (1 << 5)) - -#define LED_ORANGE_ON -#define LED_ORANGE_OFF -#define LED_ORANGE_TOGGLE -/** @} */ - -/** - * @brief User button - */ -#define BTN_B1_PIN GPIO_PIN(PORT_C, 13) - -/** - * @brief Initialize board specific hardware, including clock, LEDs and std-IO - */ -void board_init(void); - #ifdef __cplusplus } #endif diff --git a/boards/nucleo-f303/Makefile.include b/boards/nucleo-f303/Makefile.include index aca137caf3..c37c350a99 100755 --- a/boards/nucleo-f303/Makefile.include +++ b/boards/nucleo-f303/Makefile.include @@ -2,12 +2,5 @@ export CPU = stm32f3 export CPU_MODEL = stm32f303re -#define the default port depending on the host OS -PORT_LINUX ?= /dev/ttyUSB0 -PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) - -# setup serial terminal -include $(RIOTBOARD)/Makefile.include.serial - -# this board uses openocd -include $(RIOTBOARD)/Makefile.include.openocd +# load the common Makefile.include for Nucleo boards +include $(RIOTBOARD)/nucleo-common/Makefile.include diff --git a/boards/nucleo-f303/include/board.h b/boards/nucleo-f303/include/board.h index 66c1a96bb7..b756fb97fd 100755 --- a/boards/nucleo-f303/include/board.h +++ b/boards/nucleo-f303/include/board.h @@ -23,54 +23,15 @@ #ifndef BOARD_H_ #define BOARD_H_ -#include - -#include "cpu.h" -#include "periph_conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { #endif -/** - * @name LED pin definitions - * @{ - */ -#define LED_GREEN_PORT (GPIOA) -#define LED_GREEN_PIN (5) -/** @} */ - -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON -#define LED_RED_OFF -#define LED_RED_TOGGLE - -#define LED_GREEN_ON (LED_GREEN_PORT->BSRRL = (1 << LED_GREEN_PIN)) -#define LED_GREEN_OFF (LED_GREEN_PORT->BSRRH = (1 << LED_GREEN_PIN)) -#define LED_GREEN_TOGGLE (LED_GREEN_PORT->ODR ^= (1 << LED_GREEN_PIN)) - -#define LED_ORANGE_ON -#define LED_ORANGE_OFF -#define LED_ORANGE_TOGGLE -/** @} */ - -/** - * @brief User button - */ -#define BTN_B1_PIN GPIO_PIN(PORT_C, 13) - -/** - * @brief Initialize board specific hardware, including clock, LEDs and std-IO - */ -void board_init(void); - #ifdef __cplusplus } #endif #endif /* BOARD_H_ */ /** @} */ -/** @} */ diff --git a/boards/nucleo-f334/Makefile.include b/boards/nucleo-f334/Makefile.include index edf7af4036..108e978264 100644 --- a/boards/nucleo-f334/Makefile.include +++ b/boards/nucleo-f334/Makefile.include @@ -2,12 +2,5 @@ export CPU = stm32f3 export CPU_MODEL = stm32f334r8 -#define the default port depending on the host OS -PORT_LINUX ?= /dev/ttyACM0 -PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) - -# setup serial terminal -include $(RIOTBOARD)/Makefile.include.serial - -# this board uses openocd -include $(RIOTBOARD)/Makefile.include.openocd +# load the common Makefile.include for Nucleo boards +include $(RIOTBOARD)/nucleo-common/Makefile.include diff --git a/boards/nucleo-f334/include/board.h b/boards/nucleo-f334/include/board.h index 6216c2b989..ffaefa782b 100644 --- a/boards/nucleo-f334/include/board.h +++ b/boards/nucleo-f334/include/board.h @@ -21,45 +21,12 @@ #ifndef BOARD_H_ #define BOARD_H_ -#include - -#include "cpu.h" -#include "periph_conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { #endif -/** - * @name LED pin definitions - * @{ - */ -#define LED_GREEN_PORT (GPIOA) -#define LED_GREEN_PIN (5) -/** @} */ - -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON -#define LED_RED_OFF -#define LED_RED_TOGGLE - -#define LED_GREEN_ON (LED_GREEN_PORT->BSRRL = (1<BSRRH = (1<ODR ^= (1<BSRRL = (1<BSRRH = (1<ODR ^= (1< - -#include "cpu.h" -#include "periph_conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { @@ -40,45 +37,9 @@ extern "C" { #define XTIMER_BACKOFF (3) /** @} */ -/** - * @name LED pin definitions - * @{ - */ -#define LED_GREEN_PORT (GPIOA) -#define LED_GREEN_PIN (5) -/** @} */ - -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON -#define LED_RED_OFF -#define LED_RED_TOGGLE - -#define LED_GREEN_ON (LED_GREEN_PORT->ODR &= ~(1<ODR |= (1<ODR ^= (1< Date: Fri, 11 Mar 2016 15:24:46 +0100 Subject: [PATCH 03/60] boards/msb-430: cleanup in common files - renamed board-conf.h to board_common.h - moved common defines to board_common.h --- boards/msb-430-common/include/board-conf.h | 37 ----------- boards/msb-430-common/include/board_common.h | 69 ++++++++++++++++++++ boards/msb-430/include/board.h | 31 +-------- boards/msb-430h/include/board.h | 31 +-------- 4 files changed, 72 insertions(+), 96 deletions(-) delete mode 100644 boards/msb-430-common/include/board-conf.h create mode 100644 boards/msb-430-common/include/board_common.h diff --git a/boards/msb-430-common/include/board-conf.h b/boards/msb-430-common/include/board-conf.h deleted file mode 100644 index 9a63298949..0000000000 --- a/boards/msb-430-common/include/board-conf.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2013 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @defgroup boards_msb430-common MSB-430 common - * @ingroup boards - * @brief Common files for all MSB-430 boards - * @{ - * - * @file - * @brief Common definitions for all msb-430 based boards - * - * @author unknown - */ - -#ifndef BOARD_CONF_H_ -#define BOARD_CONF_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define INFOMEM (0x1000) - -#ifdef __cplusplus -} -#endif - -#endif /* BOARD-CONF_H */ -/** @} */ diff --git a/boards/msb-430-common/include/board_common.h b/boards/msb-430-common/include/board_common.h new file mode 100644 index 0000000000..b2a28221e2 --- /dev/null +++ b/boards/msb-430-common/include/board_common.h @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2013-2016 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @defgroup boards_msb430-common MSB-430 common + * @ingroup boards + * @brief Common files for all MSB-430 boards + * @{ + * + * @file + * @brief Common definitions for all msb-430 based boards + * + * @author unknown + * @author Hauke Petersen + */ + +#ifndef BOARD_COMMON_H_ +#define BOARD_COMMON_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Address of the info memory + */ +#define INFOMEM (0x1000) + +/** + * @brief Xtimer configuration + * @{ + */ +#define XTIMER (0) +#define XTIMER_CHAN (0) +#define XTIMER_MASK (0xffff0000) +#define XTIMER_SHIFT_ON_COMPARE (4) +#define XTIMER_BACKOFF (40) +/** @} */ + +/** + * @brief LED definitions + * @{ + */ +#define LEDS_PxDIR (P5DIR) +#define LEDS_PxOUT (P5OUT) +#define LEDS_CONF_RED (0x80) +#define LEDS_CONF_GREEN (0x00) +#define LEDS_CONF_YELLOW (0x00) + +#define LED_RED_ON (LEDS_PxOUT &=~LEDS_CONF_RED) +#define LED_RED_OFF (LEDS_PxOUT |= LEDS_CONF_RED) +#define LED_RED_TOGGLE (LEDS_PxOUT ^= LEDS_CONF_RED) +#define LED_GREEN_ON /* not present */ +#define LED_GREEN_OFF /* not present */ +#define LED_GREEN_TOGGLE /* not present */ +/** @} */ + + +#ifdef __cplusplus +} +#endif + +#endif /* BOARD-CONF_H */ +/** @} */ diff --git a/boards/msb-430/include/board.h b/boards/msb-430/include/board.h index 7ca7cc3783..c862e03fca 100644 --- a/boards/msb-430/include/board.h +++ b/boards/msb-430/include/board.h @@ -34,7 +34,7 @@ #ifndef MSB_BOARD_H_ #define MSB_BOARD_H_ -#include "board-conf.h" +#include "board_common.h" #ifdef __cplusplus extern "C" { @@ -45,17 +45,6 @@ extern "C" { #define __MSP430F1612__ #endif -/** - * @brief Xtimer configuration - * @{ - */ -#define XTIMER (0) -#define XTIMER_CHAN (0) -#define XTIMER_MASK (0xffff0000) -#define XTIMER_SHIFT_ON_COMPARE (4) -#define XTIMER_BACKOFF (40) -/** @} */ - /* MSB430 core */ #define MSP430_INITIAL_CPU_SPEED 2457600uL #define F_CPU MSP430_INITIAL_CPU_SPEED @@ -63,24 +52,6 @@ extern "C" { #define MSP430_HAS_DCOR 1 #define MSP430_HAS_EXTERNAL_CRYSTAL 0 -/** - * @brief LED definitions - * @{ - */ -#define LEDS_PxDIR (P5DIR) -#define LEDS_PxOUT (P5OUT) -#define LEDS_CONF_RED (0x80) -#define LEDS_CONF_GREEN (0x00) -#define LEDS_CONF_YELLOW (0x00) - -#define LED_RED_ON (LEDS_PxOUT &=~LEDS_CONF_RED) -#define LED_RED_OFF (LEDS_PxOUT |= LEDS_CONF_RED) -#define LED_RED_TOGGLE (LEDS_PxOUT ^= LEDS_CONF_RED) -#define LED_GREEN_ON /* not present */ -#define LED_GREEN_OFF /* not present */ -#define LED_GREEN_TOGGLE /* not present */ -/** @} */ - #ifdef __cplusplus } #endif diff --git a/boards/msb-430h/include/board.h b/boards/msb-430h/include/board.h index 18ff7dd3ee..f346a240a9 100644 --- a/boards/msb-430h/include/board.h +++ b/boards/msb-430h/include/board.h @@ -22,6 +22,8 @@ #ifndef MSB_BOARD_H_ #define MSB_BOARD_H_ +#include "board_common.h" + #ifdef __cplusplus extern "C" { #endif @@ -31,17 +33,6 @@ extern "C" { #define __MSP430F1612__ #endif -/** - * @brief Xtimer configuration - * @{ - */ -#define XTIMER (0) -#define XTIMER_CHAN (0) -#define XTIMER_MASK (0xffff0000) -#define XTIMER_SHIFT_ON_COMPARE (4) -#define XTIMER_BACKOFF (40) -/** @} */ - //MSB430 core #define MSP430_INITIAL_CPU_SPEED 7372800uL #define F_CPU MSP430_INITIAL_CPU_SPEED @@ -49,24 +40,6 @@ extern "C" { #define MSP430_HAS_DCOR 1 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 -/** - * @brief LED definitions - * @{ - */ -#define LEDS_PxDIR (P5DIR) -#define LEDS_PxOUT (P5OUT) -#define LEDS_CONF_RED (0x80) -#define LEDS_CONF_GREEN (0x00) -#define LEDS_CONF_YELLOW (0x00) - -#define LED_RED_ON (LEDS_PxOUT &=~LEDS_CONF_RED) -#define LED_RED_OFF (LEDS_PxOUT |= LEDS_CONF_RED) -#define LED_RED_TOGGLE (LEDS_PxOUT ^= LEDS_CONF_RED) -#define LED_GREEN_ON /* not present */ -#define LED_GREEN_OFF /* not present */ -#define LED_GREEN_TOGGLE /* not present */ -/** @} */ - #ifdef __cplusplus } #endif From 35cc73f4031a61c33c9c2848fed625a64881c0de Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 16:25:00 +0100 Subject: [PATCH 04/60] tests/leds: blink ALL defined on-board LEDs --- tests/leds/Makefile | 2 - tests/leds/README.md | 15 ++-- tests/leds/main.c | 195 +++++++++++++++++++++++++++++++++++++------ 3 files changed, 178 insertions(+), 34 deletions(-) diff --git a/tests/leds/Makefile b/tests/leds/Makefile index 1bccb9df11..9e35d60083 100644 --- a/tests/leds/Makefile +++ b/tests/leds/Makefile @@ -1,6 +1,4 @@ export APPLICATION = leds include ../Makefile.tests_common -USEMODULE += xtimer - include $(RIOTBASE)/Makefile.include diff --git a/tests/leds/README.md b/tests/leds/README.md index a03c6386f5..ce2423cd7a 100644 --- a/tests/leds/README.md +++ b/tests/leds/README.md @@ -1,12 +1,13 @@ Expected result =============== -The 'red' and the 'green' LEDs of the board should light up alternating with a -500ms interval. If your board has only one LED (probably defined as LED_RED), -you will see only this LED blink at 1Hz. If your board has no on-board LED, you -will see nothing. +This test will blink all available on-board LEDs, one after each other in an +endless loop. Each LED will light up once long, and twice short, where the long +interval is roughly 4 times as long as the short interval. The length of the +interval is not specified and differs for each platform. Background ========== -All boards in RIOT define at least two macros for accessing two selected -on-board LEDs directly. These are called LED_RED and LED_GREEN, independent if -the actual color of those LED is red or green. +Running this test shows if all the direct access macros for all on-board LEDs +are working correctly (xx_ON, xx_OFF, xx_TOGGLE). This test is intentionally not +using any timers, so it can also be used early on in the porting process, where +timers might not yet be available. diff --git a/tests/leds/main.c b/tests/leds/main.c index 42669c956c..61a79e762b 100644 --- a/tests/leds/main.c +++ b/tests/leds/main.c @@ -21,38 +21,183 @@ #include #include "board.h" -#include "xtimer.h" +#include "periph_conf.h" -#define WAIT_INTERVAL (500 * MS_IN_USEC) +#ifdef CLOCK_CORECLOCK +#define DELAY_SHORT (CLOCK_CORECLOCK / 50) +#else +#define DELAY_SHORT (500000UL) +#endif +#define DELAY_LONG (DELAY_SHORT * 4) + +void dumb_delay(uint32_t delay) +{ + for (uint32_t i = 0; i < delay; i++) { + asm("nop"); + } +} int main(void) { - puts("On-board LED test\n"); - puts("You should now see the 'red' and the 'green' LED lighting up in a\n" - "500ms interval, alternating of each other."); + int numof = 0; + + /* get the number of available LED's and turn them all off*/ +#ifdef LED0_ON + ++numof; + LED0_OFF; +#endif +#ifdef LED1_ON + ++numof; + LED1_OFF; +#endif +#ifdef LED2_ON + ++numof; + LED2_OFF; +#endif +#ifdef LED3_ON + ++numof; + LED3_OFF; +#endif +#ifdef LED4_ON + ++numof; + LED4_OFF; +#endif +#ifdef LED5_ON + ++numof; + LED5_OFF; +#endif +#ifdef LED6_ON + ++numof; + LED6_OFF; +#endif +#ifdef LED7_ON + ++numof; + LED7_OFF; +#endif + + puts("On-board LED test\n"); + if (numof == 0) { + puts("NO LEDs AVAILABLE"); + } + else { + printf("Available LEDs: %i\n\n", numof); + puts("Will now light up each LED once short and twice long in a loop"); + } - /* turn off all LEDs */ - LED_RED_OFF; - LED_GREEN_OFF; while (1) { - LED_RED_ON; - puts("LED_RED_ON"); - xtimer_usleep(WAIT_INTERVAL); - LED_RED_OFF; - LED_GREEN_ON; - puts("LED_GREEN_ON"); - xtimer_usleep(WAIT_INTERVAL); - LED_GREEN_OFF; - - LED_RED_TOGGLE; - puts("LED_RED_TOGGLE"); - xtimer_usleep(WAIT_INTERVAL); - LED_RED_TOGGLE; - LED_GREEN_TOGGLE; - puts("LED_GREEN_TOGGLE"); - xtimer_usleep(WAIT_INTERVAL); - LED_GREEN_TOGGLE; +#ifdef LED0_ON + LED0_ON; + dumb_delay(DELAY_LONG); + LED0_OFF; + dumb_delay(DELAY_LONG); + LED0_TOGGLE; + dumb_delay(DELAY_SHORT); + LED0_TOGGLE; + dumb_delay(DELAY_SHORT); + LED0_TOGGLE; + dumb_delay(DELAY_SHORT); + LED0_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED1_ON + LED1_ON; + dumb_delay(DELAY_LONG); + LED1_OFF; + dumb_delay(DELAY_LONG); + LED1_TOGGLE; + dumb_delay(DELAY_SHORT); + LED1_TOGGLE; + dumb_delay(DELAY_SHORT); + LED1_TOGGLE; + dumb_delay(DELAY_SHORT); + LED1_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED2_ON + LED2_ON; + dumb_delay(DELAY_LONG); + LED2_OFF; + dumb_delay(DELAY_LONG); + LED2_TOGGLE; + dumb_delay(DELAY_SHORT); + LED2_TOGGLE; + dumb_delay(DELAY_SHORT); + LED2_TOGGLE; + dumb_delay(DELAY_SHORT); + LED2_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED3_ON + LED3_ON; + dumb_delay(DELAY_LONG); + LED3_OFF; + dumb_delay(DELAY_LONG); + LED3_TOGGLE; + dumb_delay(DELAY_SHORT); + LED3_TOGGLE; + dumb_delay(DELAY_SHORT); + LED3_TOGGLE; + dumb_delay(DELAY_SHORT); + LED3_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED4_ON + LED4_ON; + dumb_delay(DELAY_LONG); + LED4_OFF; + dumb_delay(DELAY_LONG); + LED4_TOGGLE; + dumb_delay(DELAY_SHORT); + LED4_TOGGLE; + dumb_delay(DELAY_SHORT); + LED4_TOGGLE; + dumb_delay(DELAY_SHORT); + LED4_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED5_ON + LED5_ON; + dumb_delay(DELAY_LONG); + LED5_OFF; + dumb_delay(DELAY_LONG); + LED5_TOGGLE; + dumb_delay(DELAY_SHORT); + LED5_TOGGLE; + dumb_delay(DELAY_SHORT); + LED5_TOGGLE; + dumb_delay(DELAY_SHORT); + LED5_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED6_ON + LED6_ON; + dumb_delay(DELAY_LONG); + LED6_OFF; + dumb_delay(DELAY_LONG); + LED6_TOGGLE; + dumb_delay(DELAY_SHORT); + LED6_TOGGLE; + dumb_delay(DELAY_SHORT); + LED6_TOGGLE; + dumb_delay(DELAY_SHORT); + LED6_TOGGLE; + dumb_delay(DELAY_LONG); +#endif +#ifdef LED7_ON + LED7_ON; + dumb_delay(DELAY_LONG); + LED7_OFF; + dumb_delay(DELAY_LONG); + LED7_TOGGLE; + dumb_delay(DELAY_SHORT); + LED7_TOGGLE; + dumb_delay(DELAY_SHORT); + LED7_TOGGLE; + dumb_delay(DELAY_SHORT); + LED7_TOGGLE; + dumb_delay(DELAY_LONG); +#endif } return 0; From 663be83b2a0ef08213e54a9ae43d3d75db528cd1 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 16:25:43 +0100 Subject: [PATCH 05/60] boards/native: updated LED macros --- boards/native/board_init.c | 4 ++-- boards/native/include/board.h | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/boards/native/board_init.c b/boards/native/board_init.c index cebdafbbab..e94f69a3d8 100644 --- a/boards/native/board_init.c +++ b/boards/native/board_init.c @@ -24,7 +24,7 @@ */ void board_init(void) { - LED_GREEN_OFF; - LED_RED_ON; + LED0_OFF; + LED1_ON; puts("RIOT native board initialized."); } diff --git a/boards/native/include/board.h b/boards/native/include/board.h index 758a8f68df..1062e642ce 100644 --- a/boards/native/include/board.h +++ b/boards/native/include/board.h @@ -30,18 +30,24 @@ extern "C" { #endif +/** + * @brief LED handlers + * @{ + */ void _native_LED_GREEN_OFF(void); -#define LED_GREEN_OFF (_native_LED_GREEN_OFF()) void _native_LED_GREEN_ON(void); -#define LED_GREEN_ON (_native_LED_GREEN_ON()) void _native_LED_GREEN_TOGGLE(void); -#define LED_GREEN_TOGGLE (_native_LED_GREEN_TOGGLE()) void _native_LED_RED_OFF(void); -#define LED_RED_OFF (_native_LED_RED_OFF()) void _native_LED_RED_ON(void); -#define LED_RED_ON (_native_LED_RED_ON()) void _native_LED_RED_TOGGLE(void); -#define LED_RED_TOGGLE (_native_LED_RED_TOGGLE()) + +#define LED0_ON (_native_LED_RED_ON()) +#define LED0_OFF (_native_LED_RED_OFF()) +#define LED0_TOGGLE (_native_LED_RED_TOGGLE()) +#define LED1_ON (_native_LED_GREEN_ON()) +#define LED1_OFF (_native_LED_GREEN_OFF()) +#define LED1_TOGGLE (_native_LED_GREEN_TOGGLE()) +/** @} */ #ifdef __cplusplus } From 8eeac35b5105ed782602e9af6b65c64a83482299 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:57:04 +0100 Subject: [PATCH 06/60] boards/airfy-becon: unified LED defines --- boards/airfy-beacon/board.c | 3 --- boards/airfy-beacon/include/board.h | 18 ------------------ 2 files changed, 21 deletions(-) diff --git a/boards/airfy-beacon/board.c b/boards/airfy-beacon/board.c index 80762f4897..ef39f2bac0 100644 --- a/boards/airfy-beacon/board.c +++ b/boards/airfy-beacon/board.c @@ -23,9 +23,6 @@ void board_init(void) { - /* setup led(s) for debugging */ - NRF_GPIO->DIRSET = LED_RED_MASK; - /* initialize the CPU */ cpu_init(); } diff --git a/boards/airfy-beacon/include/board.h b/boards/airfy-beacon/include/board.h index 7b194bb152..a94b061e8e 100644 --- a/boards/airfy-beacon/include/board.h +++ b/boards/airfy-beacon/include/board.h @@ -38,24 +38,6 @@ #define XTIMER_BACKOFF (40) /** @} */ -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_PIN (GPIO_PIN(0, 16)) -#define LED_RED_MASK (1 << 16) - -#define LED_RED_ON (NRF_GPIO->OUTSET = LED_RED_MASK) -#define LED_RED_OFF (NRF_GPIO->OUTCLR = LED_RED_MASK) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= LED_RED_MASK) -#define LED_GREEN_ON /* not available */ -#define LED_GREEN_OFF /* not available */ -#define LED_GREEN_TOGGLE /* not available */ -#define LED_BLUE_ON /* not available */ -#define LED_BLUE_OFF /* not available */ -#define LED_BLUE_TOGGLE /* not available */ -/* @} */ - /** * @brief Initialize board specific hardware, including clock, LEDs and std-IO */ From 2d748ab55be19f96f307cbca1f0d8f98f0ef904e Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:57:38 +0100 Subject: [PATCH 07/60] boards/arduino-due: unified LED defines --- boards/arduino-due/board.c | 2 +- boards/arduino-due/include/board.h | 23 ++++------------------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/boards/arduino-due/board.c b/boards/arduino-due/board.c index 8d24fddc60..9d116a371a 100644 --- a/boards/arduino-due/board.c +++ b/boards/arduino-due/board.c @@ -27,5 +27,5 @@ void board_init(void) /* initialize the CPU */ cpu_init(); /* initialize the on-board Amber "L" LED @ pin PB27 */ - gpio_init(LED_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } diff --git a/boards/arduino-due/include/board.h b/boards/arduino-due/include/board.h index 20453ec6d6..20d1c9708d 100644 --- a/boards/arduino-due/include/board.h +++ b/boards/arduino-due/include/board.h @@ -32,26 +32,11 @@ extern "C" { * @name LED pin definitions * @{ */ -#define LED_PORT PIOB -#define LED_BIT PIO_PB27 -#define LED_PIN GPIO_PIN(PB, 27) -/** @} */ +#define LED0_PIN GPIO_PIN(PB, 27) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#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 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 */ +#define LED0_ON (PIOB->PIO_SODR = PIO_PB27) +#define LED0_OFF (PIOB->PIO_CODR = PIO_PB27) +#define LED0_TOGGLE (PIOB->PIO_ODSR ^= PIO_PB27) /** @} */ /** From 7c744fd4bbb593e14c154170e4389faa1a3f2867 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:57:53 +0100 Subject: [PATCH 08/60] boards/arduino-mega: unified LED defines --- boards/arduino-mega2560/board.c | 21 +++------------------ boards/arduino-mega2560/include/board.h | 25 ++++++------------------- 2 files changed, 9 insertions(+), 37 deletions(-) diff --git a/boards/arduino-mega2560/board.c b/boards/arduino-mega2560/board.c index 9746555e0e..2c2843c5f9 100644 --- a/boards/arduino-mega2560/board.c +++ b/boards/arduino-mega2560/board.c @@ -43,28 +43,13 @@ void board_init(void) /* initialize the CPU */ cpu_init(); - /* initialize the boards LEDs */ - led_init(); + /* initialize the board LED (connected to pin PB7) */ + DDRB |= (1 << DDB7); + PORTB &= ~(1 << 7); enableIRQ(); } - -/** - * @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) -{ - LED_ENABLE_PORT; - LED_ON; -} - /** * @brief Initialize the System, initialize IO via UART_0 */ diff --git a/boards/arduino-mega2560/include/board.h b/boards/arduino-mega2560/include/board.h index 0cbeff881e..abc1fdea12 100644 --- a/boards/arduino-mega2560/include/board.h +++ b/boards/arduino-mega2560/include/board.h @@ -35,29 +35,16 @@ extern "C" { #define UART_STDIO_BAUDRATE (9600U) /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_PORT PORTB -#define LED_PIN (1 << 7) -/** @} */ +#define LED0_PIN GPIO_PIN(1, 7) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_ENABLE_PORT DDRB |= (1 << DDB7) -#define LED_ON LED_PORT |= LED_PIN -#define LED_OFF LED_PORT &= ~LED_PIN -#define LED_TOGGLE LED_PORT ^= LED_PIN; +#define LED0_MASK (1 << DDB7) -/* for compatability to other boards */ -#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 */ +#define LED0_ON (PORTB |= LED0_MASK) +#define LED0_OFF (PORTB &= ~LED0_MASK) +#define LED0_TOGGLE (PORTB ^= LED0_MASK) /** @} */ /** From ef627958aa24dd1fa70525f531b8a0069e9f9ecd Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:58:14 +0100 Subject: [PATCH 09/60] baords/avsextrem: unified LED defines --- boards/avsextrem/include/board.h | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/boards/avsextrem/include/board.h b/boards/avsextrem/include/board.h index 0906040464..802d3fb4e5 100644 --- a/boards/avsextrem/include/board.h +++ b/boards/avsextrem/include/board.h @@ -32,19 +32,22 @@ extern "C" { #endif /** - * @brief Board LED defines + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PIN (BIT25) -#define LED_GREEN_PIN (BIT26) +#define LED0_PIN GPIO_PIN(2, 25) +#define LED1_PIN GPIO_PIN(2, 26) -#define LED_GREEN_OFF (FIO3SET = LED_GREEN_PIN) -#define LED_GREEN_ON (FIO3CLR = LED_GREEN_PIN) -#define LED_GREEN_TOGGLE (FIO3PIN ^= LED_GREEN_PIN) +#define LED0_MASK (BIT25) +#define LED1_MASK (BIT26) -#define LED_RED_OFF (FIO3SET = LED_RED_PIN) -#define LED_RED_ON (FIO3CLR = LED_RED_PIN) -#define LED_RED_TOGGLE (FIO3PIN ^= LED_RED_PIN) +#define LED0_OFF (FIO3SET = LED0_MASK) +#define LED0_ON (FIO3CLR = LED0_MASK) +#define LED0_TOGGLE (FIO3PIN ^= LED0_MASK) + +#define LED1_OFF (FIO3SET = LED1_MASK) +#define LED1_ON (FIO3CLR = LED1_MASK) +#define LED1_TOGGLE (FIO3PIN ^= LED1_MASK) /** @} */ /** From 150bc9691184ab5b5b85941432ddac63f85c3a07 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:58:25 +0100 Subject: [PATCH 10/60] boards/cc25638dk: unified LED defines --- boards/cc2538dk/board.c | 16 ++++--------- boards/cc2538dk/include/board.h | 42 ++++++++++++++++----------------- 2 files changed, 25 insertions(+), 33 deletions(-) diff --git a/boards/cc2538dk/board.c b/boards/cc2538dk/board.c index 0c054f2898..f0761d75e2 100644 --- a/boards/cc2538dk/board.c +++ b/boards/cc2538dk/board.c @@ -29,17 +29,6 @@ static void led_init_helper(int gpio_num) { IOC_PXX_OVER[gpio_num] = IOC_OVERRIDE_OE; } -/** - * @brief Initialize the SmartRF06's on-board LEDs - */ -void led_init(void) -{ - led_init_helper(LED_RED_GPIO); - led_init_helper(LED_GREEN_GPIO); - led_init_helper(LED_YELLOW_GPIO); - led_init_helper(LED_ORANGE_GPIO); -} - /** * @brief Initialize the SmartRF06 board */ @@ -49,7 +38,10 @@ void board_init(void) cpu_init(); /* initialize the boards LEDs */ - led_init(); + led_init_helper(LED0_GPIO); + led_init_helper(LED1_GPIO); + led_init_helper(LED2_GPIO); + led_init_helper(LED3_GPIO); } /** @} */ diff --git a/boards/cc2538dk/include/board.h b/boards/cc2538dk/include/board.h index 5743f9f00c..ebb0648767 100644 --- a/boards/cc2538dk/include/board.h +++ b/boards/cc2538dk/include/board.h @@ -28,34 +28,34 @@ extern "C" { #endif /** - * @name Macros for controlling the on-board LEDs. + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_GPIO GPIO_PC0 /**< Red LED GPIO pin */ -#define LED_YELLOW_GPIO GPIO_PC1 /**< Yellow LED GPIO pin */ -#define LED_GREEN_GPIO GPIO_PC2 /**< Green LED GPIO pin */ -#define LED_ORANGE_GPIO GPIO_PC3 /**< Orange LED GPIO pin */ +#define LED0_PIN GPIO_PIN(2, 0) +#define LED1_PIN GPIO_PIN(2, 1) +#define LED2_PIN GPIO_PIN(2, 2) +#define LED3_PIN GPIO_PIN(2, 3) -#define LED_RED_ON cc2538_gpio_set(LED_GREEN_GPIO) -#define LED_RED_OFF cc2538_gpio_clear(LED_GREEN_GPIO) -#define LED_RED_TOGGLE cc2538_gpio_toggle(LED_GREEN_GPIO) +#define LED0_GPIO GPIO_PC0 /**< red LED */ +#define LED1_GPIO GPIO_PC1 /**< yellow LED */ +#define LED2_GPIO GPIO_PC2 /**< green LED */ +#define LED3_GPIO GPIO_PC3 /**< orange LED */ -#define LED_YELLOW_ON cc2538_gpio_set(LED_YELLOW_GPIO) -#define LED_YELLOW_OFF cc2538_gpio_clear(LED_YELLOW_GPIO) -#define LED_YELLOW_TOGGLE cc2538_gpio_toggle(LED_YELLOW_GPIO) +#define LED0_ON cc2538_gpio_set(LED0_GPIO) +#define LED0_OFF cc2538_gpio_clear(LED0_GPIO) +#define LED0_TOGGLE cc2538_gpio_toggle(LED0_GPIO) -#define LED_GREEN_ON cc2538_gpio_set(LED_GREEN_GPIO) -#define LED_GREEN_OFF cc2538_gpio_clear(LED_GREEN_GPIO) -#define LED_GREEN_TOGGLE cc2538_gpio_toggle(LED_GREEN_GPIO) +#define LED1_ON cc2538_gpio_set(LED1_GPIO) +#define LED1_OFF cc2538_gpio_clear(LED1_GPIO) +#define LED1_TOGGLE cc2538_gpio_toggle(LED1_GPIO) -#define LED_ORANGE_ON cc2538_gpio_set(LED_ORANGE_GPIO) -#define LED_ORANGE_OFF cc2538_gpio_clear(LED_ORANGE_GPIO) -#define LED_ORANGE_TOGGLE cc2538_gpio_toggle(LED_ORANGE_GPIO) +#define LED2_ON cc2538_gpio_set(LED2_GPIO) +#define LED2_OFF cc2538_gpio_clear(LED2_GPIO) +#define LED2_TOGGLE cc2538_gpio_toggle(LED2_GPIO) -/* Default to red if the color is not specified: */ -#define LED_ON LED_RED_ON -#define LED_OFF LED_RED_OFF -#define LED_TOGGLE LED_RED_TOGGLE +#define LED3_ON cc2538_gpio_set(LED3_GPIO) +#define LED3_OFF cc2538_gpio_clear(LED3_GPIO) +#define LED3_TOGGLE cc2538_gpio_toggle(LED3_GPIO) /** @} */ /** From 62c6807acd6de66b411066dbe61357544a13d191 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 17:58:46 +0100 Subject: [PATCH 11/60] boards/chronos: unified LED defines --- boards/chronos/include/board.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/boards/chronos/include/board.h b/boards/chronos/include/board.h index 01cd0a8c0a..4499de4ab0 100644 --- a/boards/chronos/include/board.h +++ b/boards/chronos/include/board.h @@ -53,18 +53,6 @@ extern "C" { #define MSP430_HAS_EXTERNAL_CRYSTAL 1 /** @} */ -/** - * @brief LED defines for compatibility - * @{ - */ -#define LED_RED_ON /* not present */ -#define LED_RED_OFF /* not present */ -#define LED_RED_TOGGLE /* not present */ -#define LED_GREEN_ON /* not present */ -#define LED_GREEN_OFF /* not present */ -#define LED_GREEN_TOGGLE /* not present */ -/** @} */ - #ifdef __cplusplus } #endif From af56ae6fa2703e603b45c7f5023b0143bb41360c Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 12/60] boards/ek-lm4f120xl: unified LED defines --- boards/ek-lm4f120xl/include/board.h | 31 +++++++++++++++++------------ 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/boards/ek-lm4f120xl/include/board.h b/boards/ek-lm4f120xl/include/board.h index 14168087b5..5a69618d65 100644 --- a/boards/ek-lm4f120xl/include/board.h +++ b/boards/ek-lm4f120xl/include/board.h @@ -30,24 +30,29 @@ extern "C" { #endif /** - * @name Macros for controlling the on-board LEDs. + * @brief LED pin definitions and handlers * @{ */ -#define LED_GREEN_PIN 0x08 -#define LED_BLUE_PIN 0x04 -#define LED_RED_PIN 0x02 +#define LED0_PIN GPIO_PIN(5, 7) +#define LED1_PIN GPIO_PIN(5, 2) +#define LED2_PIN GPIO_PIN(5, 1) -#define LED_GREEN_ON GPIO_PORTF_DATA_R |= LED_GREEN_PIN -#define LED_GREEN_OFF GPIO_PORTF_DATA_R &= ~(LED_GREEN_PIN) -#define LED_GREEN_TOGGLE /* not available */ +#define LED_PORT (GPIO_PORTF_DATA_R) +#define LED0_MASK (1 << 7) +#define LED1_MASK (1 << 2) +#define LED2_MASK (1 << 1) -#define LED_BLUE_ON GPIO_PORTF_DATA_R |= LED_BLUE_PIN -#define LED_BLUE_OFF GPIO_PORTF_DATA_R &= ~(LED_BLUE_PIN) -#define LED_BLUE_TOGGLE /* not available */ +#define LED0_ON (LED_PORT |= LED0_MASK) +#define LED0_OFF (LED_PORT &= ~LED0_MASK) +#define LED0_TOGGLE (LED_PORT ^= LED0_MASK) -#define LED_RED_ON GPIO_PORTF_DATA_R |= LED_RED_PIN -#define LED_RED_OFF GPIO_PORTF_DATA_R &= ~(LED_RED_PIN) -#define LED_RED_TOGGLE /* not available */ +#define LED1_ON (LED_PORT |= LED1_MASK) +#define LED1_OFF (LED_PORT &= ~LED1_MASK) +#define LED1_TOGGLE (LED_PORT ^= LED1_MASK) + +#define LED2_ON (LED_PORT |= LED2_MASK) +#define LED2_OFF (LED_PORT &= ~LED2_MASK) +#define LED2_TOGGLE (LED_PORT ^= LED2_MASK) /* @} */ /** From 845e2f1cd7dd258939d8f75ff461ce4eedd10c55 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 13/60] boards/f4vi1: unified LED defines --- boards/f4vi1/board.c | 39 ++++--------------------------- boards/f4vi1/include/board.h | 45 ++++++++++++++---------------------- 2 files changed, 22 insertions(+), 62 deletions(-) diff --git a/boards/f4vi1/board.c b/boards/f4vi1/board.c index e67763ce78..2f45e73d10 100644 --- a/boards/f4vi1/board.c +++ b/boards/f4vi1/board.c @@ -20,44 +20,15 @@ */ #include "board.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - /* initialize the boards LEDs, this is done first for debugging purposes */ - leds_init(); + /* initialize the boards LEDs */ + 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); /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs (LD4,LD5 and LD6) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LD4: PA 1 - * - LD5: PA 3 - * - LD6: PA 2 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOD */ - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; - - /* configure pins as general outputs */ - LED_PORT->MODER &= ~(0x000000FC); - LED_PORT->MODER |= 0x00000054; - /* set output speed high-speed */ - LED_PORT->OSPEEDR |= 0x000000FC; - /* set output type to push-pull */ - LED_PORT->OTYPER &= ~(0x000E); - /* disable pull resistors */ - LED_PORT->PUPDR &= ~(0x000000FC); - - /* turn all LEDs off */ - LED_PORT->BSRRL = 0x00E; -} diff --git a/boards/f4vi1/include/board.h b/boards/f4vi1/include/board.h index 56c0932e90..0588a27bcf 100644 --- a/boards/f4vi1/include/board.h +++ b/boards/f4vi1/include/board.h @@ -30,40 +30,29 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ +#define LED0_PIN GPIO_PIN(PORT_A, 1) +#define LED1_PIN GPIO_PIN(PORT_A, 3) +#define LED2_PIN GPIO_PIN(PORT_A, 2) + #define LED_PORT GPIOA -#define LD4_PIN (1 << 1) -#define LD5_PIN (1 << 3) -#define LD6_PIN (1 << 2) +#define LED0_MASK (1 << 1) +#define LED1_MASK (1 << 3) +#define LED2_MASK (1 << 2) -/** @} */ +#define LED0_ON (LED_PORT->BSRRH = LED0_MASK) +#define LED0_OFF (LED_PORT->BSRRL = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LD4_ON (LED_PORT->BSRRH = LD4_PIN) -#define LD4_OFF (LED_PORT->BSRRL = LD4_PIN) -#define LD4_TOGGLE (LED_PORT->ODR ^= LD4_PIN) -#define LD5_ON (LED_PORT->BSRRH = LD5_PIN) -#define LD5_OFF (LED_PORT->BSRRL = LD5_PIN) -#define LD5_TOGGLE (LED_PORT->ODR ^= LD5_PIN) -#define LD6_ON (LED_PORT->BSRRH = LD6_PIN) -#define LD6_OFF (LED_PORT->BSRRL = LD6_PIN) -#define LD6_TOGGLE (LED_PORT->ODR ^= LD6_PIN) +#define LED1_ON (LED_PORT->BSRRH = LED1_MASK) +#define LED1_OFF (LED_PORT->BSRRL = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) -/* for compatability to other boards */ -#define LED_GREEN_ON LD6_ON -#define LED_GREEN_OFF LD6_OFF -#define LED_GREEN_TOGGLE LD6_TOGGLE -#define LED_RED_ON LD5_ON -#define LED_RED_OFF LD5_OFF -#define LED_RED_TOGGLE LD5_TOGGLE -#define LED_ORANGE_ON LD4_ON -#define LED_ORANGE_OFF LD4_OFF -#define LED_ORANGE_TOGGLE LD4_TOGGLE +#define LED2_ON (LED_PORT->BSRRH = LED2_MASK) +#define LED2_OFF (LED_PORT->BSRRL = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->ODR ^= LED2_MASK) /** @} */ /** From c9677c4350d3d4dcf49a0cae9ae789f07f6f06e0 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 14/60] boards/fox: unified LED defines --- boards/fox/board.c | 29 ++++++----------------------- boards/fox/include/board.h | 32 +++++++++++--------------------- 2 files changed, 17 insertions(+), 44 deletions(-) diff --git a/boards/fox/board.c b/boards/fox/board.c index d469c99ccd..2e5164dfcb 100644 --- a/boards/fox/board.c +++ b/boards/fox/board.c @@ -19,34 +19,17 @@ */ #include "board.h" -#include "cpu.h" +#include "periph/gpio.h" -static void leds_init(void); 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: PB12 - * - Red: PB10 - */ -static void leds_init(void) -{ - /* green pin */ - RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; - LED_GREEN_PORT->CR[0] = (0x3 << ((LED_GREEN_PIN-8)*4)); - /* red pin */; - LED_RED_PORT->CR[0] = (0x3 << ((LED_RED_PIN-8)*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_set(LED0_PIN); + gpio_set(LED1_PIN); } diff --git a/boards/fox/include/board.h b/boards/fox/include/board.h index 6b2ec7e17f..e62bf4c7e2 100644 --- a/boards/fox/include/board.h +++ b/boards/fox/include/board.h @@ -81,32 +81,22 @@ extern "C" { /** @} */ /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PORT (GPIOB) -#define LED_RED_PIN (10) -#define LED_RED_GPIO GPIO_PIN(PORT_B,10) -#define LED_GREEN_PORT (GPIOB) -#define LED_GREEN_PIN (12) -#define LED_GREEN_GPIO GPIO_PIN(PORT_B,12) -/** @} */ +#define LED0_PIN GPIO_PIN(PORT_B, 10) +#define LED1_PIN GPIO_PIN(PORT_B, 12) -/** - * @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 (GPIOB->ODR |= LED0_MASK) +#define LED0_TOGGLE (GPIOB->ODR ^= LED0_MASK) -#define LED_ORANGE_ON -#define LED_ORANGE_OFF -#define LED_ORANGE_TOGGLE +#define LED1_ON (GPIOB->ODR &= ~LED1_MASK) +#define LED1_OFF (GPIOB->ODR |= LED1_MASK) +#define LED1_TOGGLE (GPIOB->ODR ^= LED1_MASK) /** @} */ /** From 9f12d269023c8eeed9f60bdedaf0e02de56a8daf Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 15/60] boards/frdm-k64f: unified LED defines --- boards/frdm-k64f/board.c | 34 ++++++--------------- boards/frdm-k64f/include/board.h | 52 +++++++++++--------------------- 2 files changed, 27 insertions(+), 59 deletions(-) diff --git a/boards/frdm-k64f/board.c b/boards/frdm-k64f/board.c index 56b38649e1..021f033992 100644 --- a/boards/frdm-k64f/board.c +++ b/boards/frdm-k64f/board.c @@ -20,34 +20,18 @@ */ #include "board.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - leds_init(); + /* initialize the CPU core */ cpu_init(); -} -/** - * @brief Initialize the boards on-board RGB-LED - * - */ -static void leds_init(void) -{ - /* enable clock */ - LED_B_PORT_CLKEN(); - LED_G_PORT_CLKEN(); - LED_R_PORT_CLKEN(); - /* configure pins as gpio */ - LED_B_PORT->PCR[LED_B_PIN] = PORT_PCR_MUX(1); - LED_G_PORT->PCR[LED_G_PIN] = PORT_PCR_MUX(1); - LED_R_PORT->PCR[LED_R_PIN] = PORT_PCR_MUX(1); - LED_B_GPIO->PDDR |= (1 << LED_B_PIN); - LED_G_GPIO->PDDR |= (1 << LED_G_PIN); - LED_R_GPIO->PDDR |= (1 << LED_R_PIN); - /* turn all LEDs off */ - LED_B_GPIO->PSOR |= (1 << LED_B_PIN); - LED_G_GPIO->PSOR |= (1 << LED_G_PIN); - LED_R_GPIO->PSOR |= (1 << LED_R_PIN); + /* initialize and turn off the on-board RGB-LED */ + 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/frdm-k64f/include/board.h b/boards/frdm-k64f/include/board.h index dc4b528e2d..c9fcd2faef 100644 --- a/boards/frdm-k64f/include/board.h +++ b/boards/frdm-k64f/include/board.h @@ -31,44 +31,28 @@ extern "C" #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_R_PORT_CLKEN() (PORTB_CLOCK_GATE = 1) /**< Clock Enable for PORTD*/ -#define LED_G_PORT_CLKEN() (PORTE_CLOCK_GATE = 1) /**< Clock Enable for PORTE*/ -#define LED_B_PORT_CLKEN() (PORTB_CLOCK_GATE = 1) /**< Clock Enable for PORTB*/ -#define LED_R_PORT PORTB /**< PORT for Red LED*/ -#define LED_R_GPIO GPIOB /**< GPIO-Device for Red LED*/ -#define LED_G_PORT PORTE /**< PORT for Green LED*/ -#define LED_G_GPIO GPIOE /**< GPIO-Device for Green LED*/ -#define LED_B_PORT PORTB /**< PORT for Blue LED*/ -#define LED_B_GPIO GPIOB /**< GPIO-Device for Blue LED*/ -#define LED_R_PIN 22 /**< Red LED connected to PINx*/ -#define LED_G_PIN 26 /**< Green LED connected to PINx*/ -#define LED_B_PIN 21 /**< Blue LED connected to PINx*/ -/** @} */ +#define LED0_PIN GPIO_PIN(PORT_B, 22) +#define LED1_PIN GPIO_PIN(PORT_E, 26) +#define LED2_PIN GPIO_PIN(PORT_B, 21) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_B_ON (LED_B_GPIO->PCOR = (1 << LED_B_PIN)) -#define LED_B_OFF (LED_B_GPIO->PSOR = (1 << LED_B_PIN)) -#define LED_B_TOGGLE (LED_B_GPIO->PTOR = (1 << LED_B_PIN)) -#define LED_G_ON (LED_G_GPIO->PCOR = (1 << LED_G_PIN)) -#define LED_G_OFF (LED_G_GPIO->PSOR = (1 << LED_G_PIN)) -#define LED_G_TOGGLE (LED_G_GPIO->PTOR = (1 << LED_G_PIN)) -#define LED_R_ON (LED_R_GPIO->PCOR = (1 << LED_R_PIN)) -#define LED_R_OFF (LED_R_GPIO->PSOR = (1 << LED_R_PIN)) -#define LED_R_TOGGLE (LED_R_GPIO->PTOR = (1 << LED_R_PIN)) +#define LED0_MASK (1 << 22) +#define LED1_MASK (1 << 26) +#define LED2_MASK (1 << 21) -/* for compatability to other boards */ -#define LED_GREEN_ON LED_G_ON -#define LED_GREEN_OFF LED_G_OFF -#define LED_GREEN_TOGGLE LED_G_TOGGLE -#define LED_RED_ON LED_R_ON -#define LED_RED_OFF LED_R_OFF -#define LED_RED_TOGGLE LED_R_TOGGLE +#define LED0_ON (GPIOB->PCOR = LED0_MASK) +#define LED0_OFF (GPIOB->PSOR = LED0_MASK) +#define LED0_TOGGLE (GPIOB->PTOR = LED0_MASK) + +#define LED1_ON (GPIOE->PCOR = LED1_MASK) +#define LED1_OFF (GPIOE->PSOR = LED1_MASK) +#define LED1_TOGGLE (GPIOE->PTOR = LED1_MASK) + +#define LED2_ON (GPIOB->PCOR = LED2_MASK) +#define LED2_OFF (GPIOB->PSOR = LED2_MASK) +#define LED2_TOGGLE (GPIOB->PTOR = LED2_MASK) /** @} */ /** From b34eb922eb30f2d2a9e4d9bccde68cd4b4ba295a Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 16/60] 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, }, From c0a881c5f80d916e47a8a17698191f8b4db2b94d Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 17/60] boards/limifrog-v1: unified LED defines --- boards/limifrog-v1/board.c | 31 ++---------------------------- boards/limifrog-v1/include/board.h | 26 ++++++++----------------- 2 files changed, 10 insertions(+), 47 deletions(-) diff --git a/boards/limifrog-v1/board.c b/boards/limifrog-v1/board.c index fda9fb19fd..51840ae8e7 100644 --- a/boards/limifrog-v1/board.c +++ b/boards/limifrog-v1/board.c @@ -19,40 +19,13 @@ */ #include "board.h" -#include "cpu.h" +#include "periph/gpio.h" -static void leds_init(void); void board_init(void) { /* initialize the boards LEDs */ - leds_init(); + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs - * - * 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 red LED is connected to pin PC3 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOC */ - RCC->AHBENR |= RCC_AHBENR_GPIOCEN; - /* set output speed to 50MHz */ - LED_RED_PORT->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR3; - /* set output type to push-pull */ - LED_RED_PORT->OTYPER &= ~(GPIO_OTYPER_OT_3); - /* configure pin as general output */ - LED_RED_PORT->MODER &= ~(GPIO_MODER_MODER3); - LED_RED_PORT->MODER |= GPIO_MODER_MODER3_0; - /* disable pull resistors */ - LED_RED_PORT->PUPDR &= ~(GPIO_PUPDR_PUPDR3); - /* turn all LEDs off */ - LED_RED_PORT->BRR = (1 << 3); -} diff --git a/boards/limifrog-v1/include/board.h b/boards/limifrog-v1/include/board.h index 5be17551d1..597e5a48bf 100644 --- a/boards/limifrog-v1/include/board.h +++ b/boards/limifrog-v1/include/board.h @@ -31,27 +31,17 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PORT (GPIOC) -#define LED_RED_PIN (3) -#define LED_RED_GPIO GPIO_PIN(PORT_C,3) -/** @} */ +#define LED0_PIN GPIO_PIN(PORT_C, 3) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_GREEN_ON -#define LED_GREEN_OFF -#define LED_GREEN_TOGGLE -#define LED_ORANGE_ON -#define LED_ORANGE_OFF -#define LED_ORANGE_TOGGLE -#define LED_RED_ON (LED_RED_PORT->BSRRL = (1 << LED_RED_PIN)) -#define LED_RED_OFF (LED_RED_PORT->BSRRH = (1 << LED_RED_PIN)) -#define LED_RED_TOGGLE (LED_RED_PORT->ODR ^= (1 << LED_RED_PIN)) +#define LED0_PORT (GPIOC) +#define LED0_MASK (1 << 3) + +#define LED0_ON (LED0_PORT->BSRRL = LED0_MASK) +#define LED0_OFF (LED0_PORT->BSRRH = LED0_MASK) +#define LED0_TOGGLE (LED0_PORT->ODR ^= LED0_MASK) /** @} */ /** From f5813fe4d378d011b080fc6f09f22399da6ff3e9 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:07 +0100 Subject: [PATCH 18/60] boards/mbed_lpc1768: unified LED defines --- boards/mbed_lpc1768/board.c | 4 +-- boards/mbed_lpc1768/include/board.h | 52 ++++++++++++----------------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/boards/mbed_lpc1768/board.c b/boards/mbed_lpc1768/board.c index fde36b5b02..2ae350105d 100644 --- a/boards/mbed_lpc1768/board.c +++ b/boards/mbed_lpc1768/board.c @@ -48,8 +48,8 @@ void board_init(void) static void leds_init(void) { /* configure LED pins as output */ - LED_PORT->FIODIR |= (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN); + LED_PORT->FIODIR |= (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK); /* clear all LEDs */ - LED_PORT->FIOCLR = (LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN); + LED_PORT->FIOCLR = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK); } diff --git a/boards/mbed_lpc1768/include/board.h b/boards/mbed_lpc1768/include/board.h index 30ca5fd0f3..e494181626 100644 --- a/boards/mbed_lpc1768/include/board.h +++ b/boards/mbed_lpc1768/include/board.h @@ -33,40 +33,32 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_PORT LPC_GPIO1 -#define LED1_PIN BIT18 -#define LED2_PIN BIT20 -#define LED3_PIN BIT21 -#define LED4_PIN BIT23 -/** @} */ +#define LED0_PIN GPIO_PIN(1, 18) +#define LED1_PIN GPIO_PIN(1, 20) +#define LED2_PIN GPIO_PIN(1, 21) +#define LED3_PIN GPIO_PIN(1, 23) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED1_ON (LED_PORT->FIOSET = LED1_PIN) -#define LED1_OFF (LED_PORT->FIOCLR = LED1_PIN) -#define LED1_TOGGLE (LED_PORT->FIOPIN ^= LED1_PIN) -#define LED2_ON (LED_PORT->FIOSET = LED2_PIN) -#define LED2_OFF (LED_PORT->FIOCLR = LED2_PIN) -#define LED2_TOGGLE (LED_PORT->FIOPIN ^= LED2_PIN) -#define LED3_ON (LED_PORT->FIOSET = LED3_PIN) -#define LED3_OFF (LED_PORT->FIOCLR = LED3_PIN) -#define LED3_TOGGLE (LED_PORT->FIOPIN ^= LED3_PIN) -#define LED4_ON (LED_PORT->FIOSET = LED4_PIN) -#define LED4_OFF (LED_PORT->FIOCLR = LED4_PIN) -#define LED4_TOGGLE (LED_PORT->FIOPIN ^= LED4_PIN) +#define LED_PORT (LPC_GPIO1) +#define LED0_MASK (BIT18) +#define LED1_MASK (BIT20) +#define LED2_MASK (BIT21) +#define LED3_MASK (BIT23) -/* for compatibility to other boards */ -#define LED_GREEN_ON LED1_ON -#define LED_GREEN_OFF LED1_OFF -#define LED_GREEN_TOGGLE LED1_TOGGLE -#define LED_RED_ON LED4_ON -#define LED_RED_OFF LED4_OFF -#define LED_RED_TOGGLE LED4_TOGGLE +#define LED0_ON (LED_PORT->FIOSET = LED0_MASK) +#define LED0_OFF (LED_PORT->FIOCLR = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->FIOPIN ^= LED0_MASK) +#define LED1_ON (LED_PORT->FIOSET = LED1_MASK) +#define LED1_OFF (LED_PORT->FIOCLR = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->FIOPIN ^= LED1_MASK) +#define LED2_ON (LED_PORT->FIOSET = LED2_MASK) +#define LED2_OFF (LED_PORT->FIOCLR = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->FIOPIN ^= LED2_MASK) +#define LED3_ON (LED_PORT->FIOSET = LED3_MASK) +#define LED3_OFF (LED_PORT->FIOCLR = LED3_MASK) +#define LED3_TOGGLE (LED_PORT->FIOPIN ^= LED3_MASK) /** @} */ /** From df7115ee3ca6ceba958b793429b40a3136c89c68 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:25 +0100 Subject: [PATCH 19/60] boards/yunjia-nrf51822: unified LED defines --- boards/yunjia-nrf51822/board.c | 3 --- boards/yunjia-nrf51822/include/board.h | 18 ------------------ 2 files changed, 21 deletions(-) diff --git a/boards/yunjia-nrf51822/board.c b/boards/yunjia-nrf51822/board.c index 896165599b..43c50241cb 100644 --- a/boards/yunjia-nrf51822/board.c +++ b/boards/yunjia-nrf51822/board.c @@ -23,9 +23,6 @@ void board_init(void) { - /* setup led(s) for debugging */ - NRF_GPIO->DIRSET = (LED_RED_MASK); - /* initialize the CPU */ cpu_init(); } diff --git a/boards/yunjia-nrf51822/include/board.h b/boards/yunjia-nrf51822/include/board.h index f297531ebe..4b5509d560 100644 --- a/boards/yunjia-nrf51822/include/board.h +++ b/boards/yunjia-nrf51822/include/board.h @@ -38,24 +38,6 @@ extern "C" { #define XTIMER_BACKOFF (40) /** @} */ -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_PIN (GPIO_PIN(0, 8)) -#define LED_RED_MASK (1 << 8) - -#define LED_RED_ON (NRF_GPIO->OUTSET = LED_RED_MASK) -#define LED_RED_OFF (NRF_GPIO->OUTCLR = LED_RED_MASK) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= LED_RED_MASK) -#define LED_GREEN_ON /* not available */ -#define LED_GREEN_OFF /* not available */ -#define LED_GREEN_TOGGLE /* not available */ -#define LED_BLUE_ON /* not available */ -#define LED_BLUE_OFF /* not available */ -#define LED_BLUE_TOGGLE /* not available */ -/* @} */ - /** * @brief Initialize board specific hardware, including clock, LEDs and std-IO */ From a5c3119c9b71170eba41027831c15bec65fe6866 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:03:33 +0100 Subject: [PATCH 20/60] boards/msb-430-common: unified LED defines --- boards/msb-430-common/board_config.c | 2 +- boards/msb-430-common/board_init.c | 2 -- boards/msb-430-common/include/board_common.h | 23 +++++++++----------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/boards/msb-430-common/board_config.c b/boards/msb-430-common/board_config.c index 960e0941c8..766b9dec3f 100644 --- a/boards/msb-430-common/board_config.c +++ b/boards/msb-430-common/board_config.c @@ -21,7 +21,7 @@ #include #include -#include "board-conf.h" +#include "board.h" #include "config.h" #include "flashrom.h" diff --git a/boards/msb-430-common/board_init.c b/boards/msb-430-common/board_init.c index b9aa31edcc..b79edf8dc4 100644 --- a/boards/msb-430-common/board_init.c +++ b/boards/msb-430-common/board_init.c @@ -199,8 +199,6 @@ void board_init(void) msp430_cpu_init(); msb_ports_init(); - LED_RED_ON; - msp430_set_cpu_speed(CLOCK_CORECLOCK); /* finally initialize STDIO over UART */ diff --git a/boards/msb-430-common/include/board_common.h b/boards/msb-430-common/include/board_common.h index b2a28221e2..24953643ae 100644 --- a/boards/msb-430-common/include/board_common.h +++ b/boards/msb-430-common/include/board_common.h @@ -22,6 +22,8 @@ #ifndef BOARD_COMMON_H_ #define BOARD_COMMON_H_ +#include "cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -43,24 +45,19 @@ extern "C" { /** @} */ /** - * @brief LED definitions + * @brief LED pin definitions and handlers * @{ */ -#define LEDS_PxDIR (P5DIR) -#define LEDS_PxOUT (P5OUT) -#define LEDS_CONF_RED (0x80) -#define LEDS_CONF_GREEN (0x00) -#define LEDS_CONF_YELLOW (0x00) +#define LED0_PIN GPIO_PIN(4, 7) -#define LED_RED_ON (LEDS_PxOUT &=~LEDS_CONF_RED) -#define LED_RED_OFF (LEDS_PxOUT |= LEDS_CONF_RED) -#define LED_RED_TOGGLE (LEDS_PxOUT ^= LEDS_CONF_RED) -#define LED_GREEN_ON /* not present */ -#define LED_GREEN_OFF /* not present */ -#define LED_GREEN_TOGGLE /* not present */ +#define LED_OUT_REG (P5OUT) +#define LED0_MASK (1 << 7) + +#define LED0_ON (LED_OUT_REG &= ~LED0_MASK) +#define LED0_OFF (LED_OUT_REG |= LED0_MASK) +#define LED0_TOGGLE (LED_OUT_REG ^= LED0_MASK) /** @} */ - #ifdef __cplusplus } #endif From 195b067790392fd1740c6e18f78a2964f6828baa Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 21/60] boards/msb-430: unified LED defines --- boards/msb-430/include/board.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/boards/msb-430/include/board.h b/boards/msb-430/include/board.h index c862e03fca..af5e8c7a16 100644 --- a/boards/msb-430/include/board.h +++ b/boards/msb-430/include/board.h @@ -56,7 +56,5 @@ extern "C" { } #endif -#include "board-conf.h" - /** @} */ #endif /* MSB_BOARD_H_ */ From a5c2a2875e9c7d9f0b32603755a26876a59eed05 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 22/60] boards/msb-430h: unified LED defines --- boards/msb-430h/include/board.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/boards/msb-430h/include/board.h b/boards/msb-430h/include/board.h index f346a240a9..f506e70a29 100644 --- a/boards/msb-430h/include/board.h +++ b/boards/msb-430h/include/board.h @@ -44,7 +44,5 @@ extern "C" { } #endif -#include "board-conf.h" - /** @} */ #endif /* MSB_BOARD_H_ */ From a2d78b465d7e99aa8b31598637fcbcc5d90f0b4e Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 23/60] boards/msba2: unified LED defines --- boards/msba2/board_init.c | 32 ++++---------------------------- boards/msba2/include/board.h | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 37 deletions(-) diff --git a/boards/msba2/board_init.c b/boards/msba2/board_init.c index 7cf4913a78..7d5d12eb30 100644 --- a/boards/msba2/board_init.c +++ b/boards/msba2/board_init.c @@ -27,28 +27,6 @@ #include "board.h" #include "cpu.h" -void loop_delay(void) -{ - volatile uint16_t i, j; - - for (i = 1; i < 30; i++) { - for (j = 1; j != 0; j++) { - asm volatile(" nop "); - } - } -} - -void bl_blink(void) -{ - LED_RED_ON; - LED_GREEN_ON; - - loop_delay(); - - LED_RED_OFF; - LED_GREEN_OFF; -} - void bl_init_ports(void) { gpio_init_ports(); @@ -58,13 +36,11 @@ void bl_init_ports(void) PINSEL0 &= ~(BIT5 + BIT7); /* LEDS */ - FIO3DIR |= LED_RED_PIN; - FIO3DIR |= LED_GREEN_PIN; - LED_RED_OFF; - LED_GREEN_OFF; + FIO3DIR |= LED0_MASK; + FIO3DIR |= LED1_MASK; - /* short blinking of both of the LEDs on startup */ - bl_blink(); + LED0_OFF; + LED0_OFF; } void init_clks1(void) diff --git a/boards/msba2/include/board.h b/boards/msba2/include/board.h index a054cea408..09b968936b 100644 --- a/boards/msba2/include/board.h +++ b/boards/msba2/include/board.h @@ -29,19 +29,22 @@ extern "C" { #endif /** - * @brief Board LED defines + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PIN (BIT25) -#define LED_GREEN_PIN (BIT26) +#define LED0_PIN GPIO_PIN(2, 25) +#define LED1_PIN GPIO_PIN(2, 26) -#define LED_GREEN_OFF (FIO3SET = LED_GREEN_PIN) -#define LED_GREEN_ON (FIO3CLR = LED_GREEN_PIN) -#define LED_GREEN_TOGGLE (FIO3PIN ^= LED_GREEN_PIN) +#define LED0_MASK (BIT25) +#define LED1_MASK (BIT26) -#define LED_RED_OFF (FIO3SET = LED_RED_PIN) -#define LED_RED_ON (FIO3CLR = LED_RED_PIN) -#define LED_RED_TOGGLE (FIO3PIN ^= LED_RED_PIN) +#define LED0_OFF (FIO3SET = LED0_MASK) +#define LED0_ON (FIO3CLR = LED0_MASK) +#define LED0_TOGGLE (FIO3PIN ^= LED0_MASK) + +#define LED1_OFF (FIO3SET = LED1_MASK) +#define LED1_ON (FIO3CLR = LED1_MASK) +#define LED1_TOGGLE (FIO3PIN ^= LED1_MASK) /** @} */ /** From c1aef11844f1a9a4623175a4aab3061b47fd244b Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 24/60] boards/msbiot: unified LED defines --- boards/msbiot/include/board.h | 39 ++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/boards/msbiot/include/board.h b/boards/msbiot/include/board.h index cd9e44894a..812a5bfdab 100644 --- a/boards/msbiot/include/board.h +++ b/boards/msbiot/include/board.h @@ -49,28 +49,29 @@ extern "C" { /** @} */ /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_PORT GPIOB -#define LED_RED_PIN (1 << 8) -#define LED_YELLOW_PIN (1 << 14) -#define LED_GREEN_PIN (1 << 15) -/** @} */ +#define LED0_PIN GPIO_PIN(1, 8) +#define LED1_PIN GPIO_PIN(1, 14) +#define LED2_PIN GPIO_PIN(1, 15) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (LED_PORT->BSRRH = LED_RED_PIN) -#define LED_RED_OFF (LED_PORT->BSRRL = LED_RED_PIN) -#define LED_RED_TOGGLE (LED_PORT->ODR ^= LED_RED_PIN) -#define LED_YELLOW_ON (LED_PORT->BSRRH = LED_YELLOW_PIN) -#define LED_YELLOW_OFF (LED_PORT->BSRRL = LED_YELLOW_PIN) -#define LED_YELLOW_TOGGLE (LED_PORT->ODR ^= LED_YELLOW_PIN) -#define LED_GREEN_ON (LED_PORT->BSRRH = LED_GREEN_PIN) -#define LED_GREEN_OFF (LED_PORT->BSRRL = LED_GREEN_PIN) -#define LED_GREEN_TOGGLE (LED_PORT->ODR ^= LED_GREEN_PIN) +#define LED_PORT GPIOB +#define LED0_MASK (1 << 8) +#define LED1_MASK (1 << 14) +#define LED2_MASK (1 << 15) + +#define LED0_ON (LED_PORT->BSRRH = LED0_MASK) +#define LED0_OFF (LED_PORT->BSRRL = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) + +#define LED1_ON (LED_PORT->BSRRH = LED1_MASK) +#define LED1_OFF (LED_PORT->BSRRL = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) + +#define LED2_ON (LED_PORT->BSRRH = LED2_MASK) +#define LED2_OFF (LED_PORT->BSRRL = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->ODR ^= LED2_MASK) /** @} */ /** From 07c303ce731359ca573effb4bcca7ebd6d1fa6fb Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 25/60] boards/mulle: unified LED defines --- boards/mulle/board.c | 37 +++++-------------------------- boards/mulle/include/board.h | 42 ++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 56 deletions(-) diff --git a/boards/mulle/board.c b/boards/mulle/board.c index 7529a46de5..06ebacee67 100644 --- a/boards/mulle/board.c +++ b/boards/mulle/board.c @@ -38,15 +38,6 @@ static nvram_spi_params_t nvram_spi_params = { .address_count = MULLE_NVRAM_SPI_ADDRESS_COUNT, }; -/** - * @brief Initialize the boards on-board LEDs - * - * The LEDs are initialized here in order to be able to use them in the early - * boot for diagnostics. - * - */ -static inline void leds_init(void); - /** @brief Initialize the GPIO pins controlling the power switches. */ static inline void power_pins_init(void); @@ -67,8 +58,11 @@ static int mulle_nvram_init(void); void board_init(void) { int status; - /* initialize the boards LEDs, this is done first for debugging purposes */ - leds_init(); + + /* initialize the boards LEDs */ + 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); /* Initialize power control pins */ power_pins_init(); @@ -85,8 +79,6 @@ void board_init(void) /* Turn on AVDD for reading voltages */ gpio_set(MULLE_POWER_AVDD); - LED_RED_ON; - /* Initialize RTC oscillator as early as possible since we are using it as a * base clock for the FLL. * It takes a while to stabilize the oscillator, therefore we do this as @@ -119,8 +111,6 @@ void board_init(void) /* initialize the CPU */ cpu_init(); - LED_YELLOW_ON; - /* NVRAM requires xtimer for timing */ xtimer_init(); @@ -130,23 +120,6 @@ void board_init(void) /* Increment boot counter */ increase_boot_count(); } - - LED_GREEN_ON; -} - -/** - * @brief Initialize the boards on-board LEDs - * - * The LEDs are initialized here in order to be able to use them in the early - * boot for diagnostics. - * - */ -static inline void leds_init(void) -{ - /* The pin configuration can be found in board.h and periph_conf.h */ - gpio_init(LED_RED_GPIO, GPIO_DIR_OUT, GPIO_NOPULL); - gpio_init(LED_YELLOW_GPIO, GPIO_DIR_OUT, GPIO_NOPULL); - gpio_init(LED_GREEN_GPIO, GPIO_DIR_OUT, GPIO_NOPULL); } static inline void power_pins_init(void) diff --git a/boards/mulle/include/board.h b/boards/mulle/include/board.h index f80a65919f..c62e310bc3 100644 --- a/boards/mulle/include/board.h +++ b/boards/mulle/include/board.h @@ -34,35 +34,29 @@ #define DISABLE_WDOG 1 /** - * @name LEDs configuration + * @brief LED pin definitions and handlers * @{ */ +#define LED_PORT PTC +#define LED0_BIT (15) +#define LED1_BIT (14) +#define LED2_BIT (13) -#define LED_RED_PORT PTC -#define LED_RED_PIN 15 -#define LED_RED_GPIO GPIO_PIN(PORT_C, LED_RED_PIN) -#define LED_YELLOW_PORT PTC -#define LED_YELLOW_PIN 14 -#define LED_YELLOW_GPIO GPIO_PIN(PORT_C, LED_YELLOW_PIN) -#define LED_GREEN_PORT PTC -#define LED_GREEN_PIN 13 -#define LED_GREEN_GPIO GPIO_PIN(PORT_C, LED_GREEN_PIN) +#define LED0_PIN GPIO_PIN(PORT_C, LED0_BIT) +#define LED1_PIN GPIO_PIN(PORT_C, LED1_BIT) +#define LED2_PIN GPIO_PIN(PORT_C, LED2_BIT) -/** @} */ +#define LED0_ON (BITBAND_REG32(LED_PORT->PSOR, LED0_BIT) = 1) +#define LED0_OFF (BITBAND_REG32(LED_PORT->PCOR, LED0_BIT) = 1) +#define LED0_TOGGLE (BITBAND_REG32(LED_PORT->PTOR, LED0_BIT) = 1) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (LED_RED_PORT->PSOR = (1 << LED_RED_PIN)) -#define LED_RED_OFF (LED_RED_PORT->PCOR = (1 << LED_RED_PIN)) -#define LED_RED_TOGGLE (LED_RED_PORT->PTOR = (1 << LED_RED_PIN)) -#define LED_YELLOW_ON (LED_YELLOW_PORT->PSOR = (1 << LED_YELLOW_PIN)) -#define LED_YELLOW_OFF (LED_YELLOW_PORT->PCOR = (1 << LED_YELLOW_PIN)) -#define LED_YELLOW_TOGGLE (LED_YELLOW_PORT->PTOR = (1 << LED_YELLOW_PIN)) -#define LED_GREEN_ON (LED_GREEN_PORT->PSOR = (1 << LED_GREEN_PIN)) -#define LED_GREEN_OFF (LED_GREEN_PORT->PCOR = (1 << LED_GREEN_PIN)) -#define LED_GREEN_TOGGLE (LED_GREEN_PORT->PTOR = (1 << LED_GREEN_PIN)) +#define LED1_ON (BITBAND_REG32(LED_PORT->PSOR, LED1_BIT) = 1) +#define LED1_OFF (BITBAND_REG32(LED_PORT->PCOR, LED1_BIT) = 1) +#define LED1_TOGGLE (BITBAND_REG32(LED_PORT->PTOR, LED1_BIT) = 1) + +#define LED2_ON (BITBAND_REG32(LED_PORT->PSOR, LED2_BIT) = 1) +#define LED2_OFF (BITBAND_REG32(LED_PORT->PCOR, LED2_BIT) = 1) +#define LED2_TOGGLE (BITBAND_REG32(LED_PORT->PTOR, LED2_BIT) = 1) /** @} */ #ifdef __cplusplus From e972431273695178bc0b20f8ed06aac68579cebd Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 26/60] boards/nrf51dongle: unified LED defines --- boards/nrf51dongle/board.c | 8 +++--- boards/nrf51dongle/include/board.h | 40 ++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/boards/nrf51dongle/board.c b/boards/nrf51dongle/board.c index a6660078be..3e20f2293f 100644 --- a/boards/nrf51dongle/board.c +++ b/boards/nrf51dongle/board.c @@ -18,14 +18,16 @@ * @} */ -#include "cpu.h" #include "board.h" +#include "periph/gpio.h" void board_init(void) { /* initialize the boards LEDs, set pins as output and turn LEDs off */ - NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK); - NRF_GPIO->OUTSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK); + 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); + /* initialize the CPU */ cpu_init(); } diff --git a/boards/nrf51dongle/include/board.h b/boards/nrf51dongle/include/board.h index c640ffa1aa..39223c8db0 100644 --- a/boards/nrf51dongle/include/board.h +++ b/boards/nrf51dongle/include/board.h @@ -40,30 +40,28 @@ extern "C" { /** @} */ /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PIN (GPIO_PIN(0, 21)) -#define LED_GREEN_PIN (GPIO_PIN(0, 22)) -#define LED_BLUE_PIN (GPIO_PIN(0, 23)) -#define LED_RED_MASK (1 << 21) -#define LED_GREEN_MASK (1 << 22) -#define LED_BLUE_MASK (1 << 23) -/** @} */ +#define LED0_PIN GPIO_PIN(0, 21) +#define LED1_PIN GPIO_PIN(0, 22) +#define LED2_PIN GPIO_PIN(0, 23) -/** - * @name Macros for controlling the on-board LEDs - * @{ - */ -#define LED_RED_ON (NRF_GPIO->OUTCLR = LED_RED_MASK) -#define LED_RED_OFF (NRF_GPIO->OUTSET = LED_RED_MASK) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= LED_RED_MASK) -#define LED_GREEN_ON (NRF_GPIO->OUTCLR = LED_GREEN_MASK) -#define LED_GREEN_OFF (NRF_GPIO->OUTSET = LED_GREEN_MASK) -#define LED_GREEN_TOGGLE (NRF_GPIO->OUT ^= LED_GREEN_MASK) -#define LED_BLUE_ON (NRF_GPIO->OUTCLR = LED_BLUE_MASK) -#define LED_BLUE_OFF (NRF_GPIO->OUTSET = LED_BLUE_MASK) -#define LED_BLUE_TOGGLE (NRF_GPIO->OUT ^= LED_BLUE_MASK) +#define LED0_MASK (1 << 21) +#define LED1_MASK (1 << 22) +#define LED2_MASK (1 << 23) + +#define LED0_ON (NRF_GPIO->OUTCLR = LED0_MASK) +#define LED0_OFF (NRF_GPIO->OUTSET = LED0_MASK) +#define LED0_TOGGLE (NRF_GPIO->OUT ^= LED0_MASK) + +#define LED1_ON (NRF_GPIO->OUTCLR = LED1_MASK) +#define LED1_OFF (NRF_GPIO->OUTSET = LED1_MASK) +#define LED1_TOGGLE (NRF_GPIO->OUT ^= LED1_MASK) + +#define LED2_ON (NRF_GPIO->OUTCLR = LED2_MASK) +#define LED2_OFF (NRF_GPIO->OUTSET = LED2_MASK) +#define LED2_TOGGLE (NRF_GPIO->OUT ^= LED2_MASK) /** @} */ /** From bedf98984e48e3126c9597bf01931a2a75154ef2 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 27/60] boards/nrf52dk: unified LED defines --- boards/nrf52dk/board.c | 5 +-- boards/nrf52dk/include/board.h | 46 +++++++++++++++------------- boards/nrf52dk/include/gpio_params.h | 8 ++--- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/boards/nrf52dk/board.c b/boards/nrf52dk/board.c index 8d3649c881..9d06a200ca 100644 --- a/boards/nrf52dk/board.c +++ b/boards/nrf52dk/board.c @@ -24,8 +24,9 @@ void board_init(void) { /* initialize the boards LEDs */ - NRF_P0->DIRSET = (LED1_MASK | LED2_MASK | LED3_MASK | LED4_MASK); - NRF_P0->OUTSET = (LED1_MASK | LED2_MASK | LED3_MASK | LED4_MASK); + NRF_P0->DIRSET = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK); + NRF_P0->OUTSET = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK); + NRF_P0->OUTSET = (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK); /* initialize the CPU */ cpu_init(); diff --git a/boards/nrf52dk/include/board.h b/boards/nrf52dk/include/board.h index 5e794b2ea2..48d3447d5d 100644 --- a/boards/nrf52dk/include/board.h +++ b/boards/nrf52dk/include/board.h @@ -31,29 +31,31 @@ extern "C" { * @brief LED pin configuration * @{ */ -#define LED1_PIN (GPIO_PIN(0, 17)) -#define LED2_PIN (GPIO_PIN(0, 18)) -#define LED3_PIN (GPIO_PIN(0, 19)) -#define LED4_PIN (GPIO_PIN(0, 20)) -#define LED1_MASK (1 << 17) -#define LED2_MASK (1 << 18) -#define LED3_MASK (1 << 19) -#define LED4_MASK (1 << 20) -/** @} */ +#define LED0_PIN GPIO_PIN(0, 17) +#define LED1_PIN GPIO_PIN(0, 18) +#define LED2_PIN GPIO_PIN(0, 19) +#define LED3_PIN GPIO_PIN(0, 20) -/** - * @brief RIOT LED macros for backwards compatibility - * @{ - */ -#define LED_RED_ON (NRF_P0->OUTSET = LED1_MASK) -#define LED_RED_OFF (NRF_P0->OUTCLR = LED1_MASK) -#define LED_RED_TOGGLE (NRF_P0->OUT ^= LED1_MASK) -#define LED_GREEN_ON (NRF_P0->OUTSET = LED2_MASK) -#define LED_GREEN_OFF (NRF_P0->OUTCLR = LED2_MASK) -#define LED_GREEN_TOGGLE (NRF_P0->OUT ^= LED2_MASK) -#define LED_ORANGE_ON (NRF_P0->OUTSET = LED3_MASK) -#define LED_ORANGE_OFF (NRF_P0->OUTCLR = LED3_MASK) -#define LED_ORANGE_TOGGLE (NRF_P0->OUT ^= LED3_MASK) +#define LED0_MASK (1 << 17) +#define LED1_MASK (1 << 18) +#define LED2_MASK (1 << 19) +#define LED3_MASK (1 << 20) + +#define LED0_ON (NRF_P0->OUTCLR = LED0_MASK) +#define LED0_OFF (NRF_P0->OUTSET = LED0_MASK) +#define LED0_TOGGLE (NRF_P0->OUT ^= LED0_MASK) + +#define LED1_ON (NRF_P0->OUTCLR = LED1_MASK) +#define LED1_OFF (NRF_P0->OUTSET = LED1_MASK) +#define LED1_TOGGLE (NRF_P0->OUT ^= LED1_MASK) + +#define LED2_ON (NRF_P0->OUTCLR = LED2_MASK) +#define LED2_OFF (NRF_P0->OUTSET = LED2_MASK) +#define LED2_TOGGLE (NRF_P0->OUT ^= LED2_MASK) + +#define LED3_ON (NRF_P0->OUTCLR = LED3_MASK) +#define LED3_OFF (NRF_P0->OUTSET = LED3_MASK) +#define LED3_TOGGLE (NRF_P0->OUT ^= LED3_MASK) /** @} */ /** diff --git a/boards/nrf52dk/include/gpio_params.h b/boards/nrf52dk/include/gpio_params.h index 81b82f5670..6045bd9f0f 100644 --- a/boards/nrf52dk/include/gpio_params.h +++ b/boards/nrf52dk/include/gpio_params.h @@ -34,25 +34,25 @@ static const saul_gpio_params_t saul_gpio_params[] = { { .name = "LED 1", - .pin = LED1_PIN, + .pin = LED0_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL }, { .name = "LED 2", - .pin = LED2_PIN, + .pin = LED1_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL }, { .name = "LED 3", - .pin = LED3_PIN, + .pin = LED2_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL }, { .name = "LED 4", - .pin = LED4_PIN, + .pin = LED3_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL }, From 355ba3e0460e12bb71c74e05a3886879685f1692 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 28/60] boards/nrf6310: unified LED defines --- boards/nrf6310/board.c | 5 +++-- boards/nrf6310/include/board.h | 40 ++++++++++++++++------------------ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/boards/nrf6310/board.c b/boards/nrf6310/board.c index 156c02f2fa..1f6725bba6 100644 --- a/boards/nrf6310/board.c +++ b/boards/nrf6310/board.c @@ -25,8 +25,9 @@ void board_init(void) { - /* setup led(s) for debugging */ - NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK); + /* initialize and turn off on-board LEDs */ + NRF_GPIO->DIRSET = (LED0_MASK | LED1_MASK | LED2_MASK); + NRF_GPIO->OUTSET = (LED0_MASK | LED1_MASK | LED2_MASK); /* initialize the CPU */ cpu_init(); diff --git a/boards/nrf6310/include/board.h b/boards/nrf6310/include/board.h index a6d2bc9ca0..bc5dad8964 100644 --- a/boards/nrf6310/include/board.h +++ b/boards/nrf6310/include/board.h @@ -30,30 +30,28 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PIN (GPIO_PIN(0, 8)) -#define LED_GREEN_PIN (GPIO_PIN(0, 9)) -#define LED_BLUE_PIN (GPIO_PIN(0, 10)) -#define LED_RED_MASK (1 << 8) -#define LED_GREEN_MASK (1 << 9) -#define LED_BLUE_MASK (1 << 10) -/** @} */ +#define LED0_PIN GPIO_PIN(0, 8) +#define LED1_PIN GPIO_PIN(0, 9) +#define LED2_PIN GPIO_PIN(0, 10) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (NRF_GPIO->OUTCLR = LED_RED_MASK) -#define LED_RED_OFF (NRF_GPIO->OUTSET = LED_RED_MASK) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= LED_RED_MASK) -#define LED_GREEN_ON (NRF_GPIO->OUTCLR = LED_GREEN_MASK) -#define LED_GREEN_OFF (NRF_GPIO->OUTSET = LED_GREEN_MASK) -#define LED_GREEN_TOGGLE (NRF_GPIO->OUT ^= LED_GREEN_MASK) -#define LED_BLUE_ON (NRF_GPIO->OUTCLR = LED_BLUE_MASK) -#define LED_BLUE_OFF (NRF_GPIO->OUTSET = LED_BLUE_MASK) -#define LED_BLUE_TOGGLE (NRF_GPIO->OUT ^= LED_BLUE_MASK) +#define LED0_MASK (1 << 8) +#define LED1_MASK (1 << 9) +#define LED2_MASK (1 << 10) + +#define LED0_ON (NRF_GPIO->OUTCLR = LED0_MASK) +#define LED0_OFF (NRF_GPIO->OUTSET = LED0_MASK) +#define LED0_TOGGLE (NRF_GPIO->OUT ^= LED0_MASK) + +#define LED1_ON (NRF_GPIO->OUTCLR = LED1_MASK) +#define LED1_OFF (NRF_GPIO->OUTSET = LED1_MASK) +#define LED1_TOGGLE (NRF_GPIO->OUT ^= LED1_MASK) + +#define LED2_ON (NRF_GPIO->OUTCLR = LED2_MASK) +#define LED2_OFF (NRF_GPIO->OUTSET = LED2_MASK) +#define LED2_TOGGLE (NRF_GPIO->OUT ^= LED2_MASK) /** @} */ /** From 74cea9a3ff7695097a3f5a07fff5b6eb07a11565 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 29/60] boards/nucleo-common: unified LED defines --- boards/nucleo-common/include/board_common.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/boards/nucleo-common/include/board_common.h b/boards/nucleo-common/include/board_common.h index 97f397e4ba..0aca63d094 100644 --- a/boards/nucleo-common/include/board_common.h +++ b/boards/nucleo-common/include/board_common.h @@ -34,12 +34,22 @@ extern "C" { */ #define LED0_PIN GPIO_PIN(PORT_A, 5) -#define LED_MASK GPIOA #define LED0_MASK (1 << 5) -#define LED0_ON (GPIOA->BRR = ~LED0_MASK) -#define LED0_OFF (GPIOA->OSRR = LED0_MASK) -#define LED0_TOGGLE (GPIOA->ODR ^= LED0_MASK) +#if defined(CPU_FAM_STM32F4) +#define LED_CREG BSRRH +#else +#define LED_CREG BRR +#endif +#if defined(CPU_FAM_STM32F3) || defined(CPU_FAM_STM32F4) || defined(CPU_FAM_STM32L1) +#define LED_SREG BSRRL +#else +#define LED_SREG BSRR +#endif + +#define LED0_ON (GPIOA->LED_SREG = LED0_MASK) +#define LED0_OFF (GPIOA->LED_CREG = LED0_MASK) +#define LED0_TOGGLE (GPIOA->ODR ^= LED0_MASK) /** @} */ /** From 000fae0e179133024e640641cd6f6b00f1ba6a38 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 30/60] boards/nucleo-f091: unified LED defines --- boards/nucleo-f091/board.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/boards/nucleo-f091/board.c b/boards/nucleo-f091/board.c index 74cb8797af..78fb5f7164 100644 --- a/boards/nucleo-f091/board.c +++ b/boards/nucleo-f091/board.c @@ -19,40 +19,13 @@ */ #include "board.h" -#include "cpu.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - /* initialize the boards LEDs */ - leds_init(); /* initialize the CPU */ cpu_init(); -} -/** - * @brief Initialize the boards on-board LEDs - * - * 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 green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOA */ - RCC->AHBENR |= RCC_AHBENR_GPIOAEN; - /* set output speed to 50MHz */ - LED_GREEN_PORT->OSPEEDR |= 0x00000c00; - /* set output type to push-pull */ - LED_GREEN_PORT->OTYPER &= ~(0x00000020); - /* configure pin as general output */ - LED_GREEN_PORT->MODER &= ~(0x00000c00); - LED_GREEN_PORT->MODER |= 0x00000400; - /* disable pull resistors */ - LED_GREEN_PORT->PUPDR &= ~(0x00000c00); - /* turn all LEDs off */ - LED_GREEN_PORT->BRR = 0x00c0; + /* initialize the boards LEDs */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From 816a48cb029019b3cd2e064817c84bc635a62f27 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 31/60] boards/nucleo-f103: unified LED defines --- boards/nucleo-f103/board.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/boards/nucleo-f103/board.c b/boards/nucleo-f103/board.c index 5385d5cd40..c798005189 100644 --- a/boards/nucleo-f103/board.c +++ b/boards/nucleo-f103/board.c @@ -19,34 +19,13 @@ */ #include "board.h" -#include "cpu.h" #include "periph/gpio.h" -static void leds_init(void); - void board_init(void) { /* initialize the CPU */ cpu_init(); /* initialize the boards LEDs */ - leds_init(); - - /* pin remapping: in order to use the MCU peripherals with the Arduino - * compatible connectors. Some peripherals need to be remapped here. */ - RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; - AFIO->MAPR |= AFIO_MAPR_I2C1_REMAP; -} - -/** - * @brief Initialize the boards on-board LEDs - * - * The green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; - GPIOA->CR[0] &= ~(0x0f << 20); - GPIOA->CR[0] |= (0x03 << 20); - GPIOA->BRR = (1 << 5); + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From b3d7cc8109481d26a86df8775d78883b825bbb02 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 32/60] boards/nucleo-f303: unified LED defines --- boards/nucleo-f303/board.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/boards/nucleo-f303/board.c b/boards/nucleo-f303/board.c index 4490c318b2..5c01d7852a 100755 --- a/boards/nucleo-f303/board.c +++ b/boards/nucleo-f303/board.c @@ -19,40 +19,13 @@ */ #include "board.h" -#include "cpu.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - /* initialize the boards LEDs */ - leds_init(); /* initialize the CPU */ cpu_init(); -} -/** - * @brief Initialize the boards on-board LEDs - * - * 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 green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOA */ - RCC->AHBENR |= RCC_AHBENR_GPIOAEN; - /* set output speed to 50MHz */ - LED_GREEN_PORT->OSPEEDR |= 0x00000c00; - /* set output type to push-pull */ - LED_GREEN_PORT->OTYPER &= ~(0x00000020); - /* configure pin as general output */ - LED_GREEN_PORT->MODER &= ~(0x00000c00); - LED_GREEN_PORT->MODER |= 0x00000400; - /* disable pull resistors */ - LED_GREEN_PORT->PUPDR &= ~(0x00000c00); - /* turn all LEDs off */ - LED_GREEN_PORT->BRR = 0x00c0; + /* initialize the boards LEDs */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From 3b41afa2fcc6f00af767679525666ebc88a7ebb2 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 33/60] boards/nucleo-f334: unified LED defines --- boards/nucleo-f334/board.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/boards/nucleo-f334/board.c b/boards/nucleo-f334/board.c index 1e587de505..650a762500 100644 --- a/boards/nucleo-f334/board.c +++ b/boards/nucleo-f334/board.c @@ -19,40 +19,13 @@ */ #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 LED initialization is hard-coded in this function. - * As the LED is soldered onto the board it is fixed to - * its CPU pins. - * - * The green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOE */ - RCC->AHBENR |= RCC_AHBENR_GPIOAEN; - /* set output speed to 50MHz */ - LED_GREEN_PORT->OSPEEDR |= 0x00000c00; - /* set output type to push-pull */ - LED_GREEN_PORT->OTYPER &= ~(0x00000020); - /* configure pins as general outputs */ - LED_GREEN_PORT->MODER &= ~(0x00000c00); - LED_GREEN_PORT->MODER |= 0x00000400; - /* disable pull resistors */ - LED_GREEN_PORT->PUPDR &= ~(0x00000c00); - /* turn all LEDs off */ - LED_GREEN_PORT->BRR = 0x00c0; + /* initialize the boards LEDs */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From c90c23468b380884af389d1b4c82b74a63cf89a2 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 34/60] boards/nucleo-f401: unified LED defines --- boards/nucleo-f401/board.c | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/boards/nucleo-f401/board.c b/boards/nucleo-f401/board.c index 7c9cbc21ae..d1ca7f4fbc 100644 --- a/boards/nucleo-f401/board.c +++ b/boards/nucleo-f401/board.c @@ -19,40 +19,13 @@ */ #include "board.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 LED - * - * 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 green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOA */ - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; - /* set output speed to 50MHz */ - LED_GREEN_PORT->OSPEEDR |= (0x3 << LED_GREEN_PIN * 2); - /* set output type to push-pull */ - LED_GREEN_PORT->OTYPER &= ~(1 << LED_GREEN_PIN); - /* configure pins as general outputs */ - LED_GREEN_PORT->MODER &= ~(0x3 << LED_GREEN_PIN * 2); - LED_GREEN_PORT->MODER |= (0x1 << LED_GREEN_PIN * 2); - /* disable pull resistors */ - LED_GREEN_PORT->PUPDR &= ~(0x3 << LED_GREEN_PIN * 2); - /* turn all LEDs off */ - LED_GREEN_PORT->BSRRL &= (1 << LED_GREEN_PIN); - + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From 058d1967c81597f036d49520a33ceba5c2dce31d Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 35/60] boards/nucleo-l1: unified LED defines --- boards/nucleo-l1/board.c | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/boards/nucleo-l1/board.c b/boards/nucleo-l1/board.c index f0cd52b14d..89f78ade69 100644 --- a/boards/nucleo-l1/board.c +++ b/boards/nucleo-l1/board.c @@ -19,9 +19,7 @@ */ #include "board.h" -#include "cpu.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { @@ -29,32 +27,5 @@ void board_init(void) cpu_init(); /* initialize the boards LEDs */ - leds_init(); -} - -/** - * @brief Initialize the boards on-board LEDs - * - * 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 green LED is connected to pin PA5 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOE */ - RCC->AHBENR |= RCC_AHBENR_GPIOAEN; - - /* set output speed to 50MHz */ - LED_GREEN_PORT->OSPEEDR |= 0x00000c00; - /* set output type to push-pull */ - LED_GREEN_PORT->OTYPER &= ~(0x00000020); - /* configure pins as general outputs */ - LED_GREEN_PORT->MODER &= ~(0x00000c00); - LED_GREEN_PORT->MODER |= 0x00000400; - /* disable pull resistors */ - LED_GREEN_PORT->PUPDR &= ~(0x00000c00); - - /* turn all LEDs off */ - LED_GREEN_PORT->BRR = 0x00c0; + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } From 15ab6141e2594fc1a5d0610e3eeecb21d7e9be08 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 36/60] boards/openmote-cc2538: unified LED defines --- boards/openmote-cc2538/board.c | 37 ++++------------------ boards/openmote-cc2538/include/board.h | 44 +++++++++++++------------- 2 files changed, 28 insertions(+), 53 deletions(-) diff --git a/boards/openmote-cc2538/board.c b/boards/openmote-cc2538/board.c index 3f881c22be..e036b4713c 100644 --- a/boards/openmote-cc2538/board.c +++ b/boards/openmote-cc2538/board.c @@ -19,41 +19,16 @@ */ #include "board.h" -#include "cpu.h" - -static inline void leds_init(void); +#include "periph/gpio.h" void board_init(void) { /* initialize the boards LEDs */ - leds_init(); + 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_init(LED3_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs (LD3 and LD4) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LED1: PC4 (red) - * - LED2: PC5 (orange) - * - LED3: PC6 (yellow) - * - LED4: PC7 (green) - */ -static inline void leds_init(void) -{ - /* set pins to be controlled by software */ - LED_PORT->AFSEL &= ~((1 << LED_RED_PIN) | (1 << LED_GREEN_PIN) | - (1 << LED_YELLOW_PIN) | (1 << LED_ORANGE_PIN)); - /* configure pins as output */ - LED_PORT->DIR |= ((1 << LED_RED_PIN) | (1 << LED_GREEN_PIN) | - (1 << LED_YELLOW_PIN) | (1 << LED_ORANGE_PIN)); - /* configure io-mux for used pins */ - IOC->PC_OVER[LED_RED_PIN] = IOC_OVERRIDE_OE; - IOC->PC_OVER[LED_GREEN_PIN] = IOC_OVERRIDE_OE; - IOC->PC_OVER[LED_YELLOW_PIN] = IOC_OVERRIDE_OE; - IOC->PC_OVER[LED_ORANGE_PIN] = IOC_OVERRIDE_OE; -} diff --git a/boards/openmote-cc2538/include/board.h b/boards/openmote-cc2538/include/board.h index 266e61c6d9..2336d4664e 100644 --- a/boards/openmote-cc2538/include/board.h +++ b/boards/openmote-cc2538/include/board.h @@ -29,35 +29,35 @@ #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ +#define LED0_PIN GPIO_PIN(2, 4) +#define LED1_PIN GPIO_PIN(2, 7) +#define LED2_PIN GPIO_PIN(2, 6) +#define LED3_PIN GPIO_PIN(2, 5) + #define LED_PORT GPIO_C -#define LED_RED_PIN (4) -#define LED_GREEN_PIN (7) -#define LED_YELLOW_PIN (6) -#define LED_ORANGE_PIN (5) -/** @} */ +#define LED0_MASK (1 << 4) +#define LED1_MASK (1 << 7) +#define LED2_MASK (1 << 6) +#define LED3_MASK (1 << 5) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (LED_PORT->DATA |= (1 << LED_RED_PIN)) -#define LED_RED_OFF (LED_PORT->DATA &= ~(1 << LED_RED_PIN)) -#define LED_RED_TOGGLE (LED_PORT->DATA ^= (1 << LED_RED_PIN)) +#define LED0_ON (LED_PORT->DATA |= LED0_MASK) +#define LED0_OFF (LED_PORT->DATA &= ~LED0_MASK) +#define LED0_TOGGLE (LED_PORT->DATA ^= LED0_MASK) -#define LED_GREEN_ON (LED_PORT->DATA |= (1 << LED_GREEN_PIN)) -#define LED_GREEN_OFF (LED_PORT->DATA &= ~(1 << LED_GREEN_PIN)) -#define LED_GREEN_TOGGLE (LED_PORT->DATA ^= (1 << LED_GREEN_PIN)) +#define LED1_ON (LED_PORT->DATA |= LED1_MASK) +#define LED1_OFF (LED_PORT->DATA &= ~LED1_MASK) +#define LED1_TOGGLE (LED_PORT->DATA ^= LED1_MASK) -#define LED_YELLOW_ON (LED_PORT->DATA |= (1 << LED_YELLOW_PIN)) -#define LED_YELLOW_OFF (LED_PORT->DATA &= ~(1 << LED_YELLOW_PIN)) -#define LED_YELLOW_TOGGLE (LED_PORT->DATA ^= (1 << LED_YELLOW_PIN)) +#define LED2_ON (LED_PORT->DATA |= LED2_MASK) +#define LED2_OFF (LED_PORT->DATA &= ~LED2_MASK) +#define LED2_TOGGLE (LED_PORT->DATA ^= LED2_MASK) -#define LED_ORANGE_ON (LED_PORT->DATA |= (1 << LED_ORANGE_PIN)) -#define LED_ORANGE_OFF (LED_PORT->DATA &= ~(1 << LED_ORANGE_PIN)) -#define LED_ORANGE_TOGGLE (LED_PORT->DATA ^= (1 << LED_ORANGE_PIN)) +#define LED3_ON (LED_PORT->DATA |= LED3_MASK) +#define LED3_OFF (LED_PORT->DATA &= ~LED3_MASK) +#define LED3_TOGGLE (LED_PORT->DATA ^= LED3_MASK) /** @} */ /** From c06cd235114756cc6bb1f4975c0535fe971aa31c Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 37/60] boards/pba-d-01-kw2x: unified LED defines --- boards/pba-d-01-kw2x/board.c | 33 ++++------------- boards/pba-d-01-kw2x/include/board.h | 55 +++++++++------------------- 2 files changed, 25 insertions(+), 63 deletions(-) diff --git a/boards/pba-d-01-kw2x/board.c b/boards/pba-d-01-kw2x/board.c index 31084fb597..a31e8d3c82 100644 --- a/boards/pba-d-01-kw2x/board.c +++ b/boards/pba-d-01-kw2x/board.c @@ -21,34 +21,15 @@ */ #include "board.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - leds_init(); + /* initialize the on-board LEDs */ + 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); + + /* initialize the CPU core */ cpu_init(); } - -/** - * @brief Initialize the boards on-board RGB-LED - * - */ -static void leds_init(void) -{ - /* enable clock */ - LED_B_PORT_CLKEN(); - LED_G_PORT_CLKEN(); - LED_R_PORT_CLKEN(); - /* configure pins as gpio */ - LED_B_PORT_BASE->PCR[LED_B_PIN] = PORT_PCR_MUX(1); - LED_G_PORT_BASE->PCR[LED_G_PIN] = PORT_PCR_MUX(1); - LED_R_PORT_BASE->PCR[LED_R_PIN] = PORT_PCR_MUX(1); - LED_B_GPIO_BASE->PDDR |= (1 << LED_B_PIN); - LED_G_GPIO_BASE->PDDR |= (1 << LED_G_PIN); - LED_R_GPIO_BASE->PDDR |= (1 << LED_R_PIN); - /* turn all LEDs off */ - LED_B_GPIO_BASE->PSOR |= (1 << LED_B_PIN); - LED_G_GPIO_BASE->PSOR |= (1 << LED_G_PIN); - LED_R_GPIO_BASE->PSOR |= (1 << LED_R_PIN); -} diff --git a/boards/pba-d-01-kw2x/include/board.h b/boards/pba-d-01-kw2x/include/board.h index 238232965b..7e08ea6531 100644 --- a/boards/pba-d-01-kw2x/include/board.h +++ b/boards/pba-d-01-kw2x/include/board.h @@ -31,47 +31,28 @@ extern "C" #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_R_PORT_CLKEN() (SIM->SCGC5 |= (SIM_SCGC5_PORTD_MASK)) /**< Clock Enable for PORTD*/ -#define LED_G_PORT_CLKEN() (SIM->SCGC5 |= (SIM_SCGC5_PORTD_MASK)) /**< Clock Enable for PORTD*/ -#define LED_B_PORT_CLKEN() (SIM->SCGC5 |= (SIM_SCGC5_PORTA_MASK)) /**< Clock Enable for PORTA*/ -#define LED_R_PORT_BASE PORTD /**< PORT base for the Red LED */ -#define LED_G_PORT_BASE PORTD /**< PORT base for the Green LED */ -#define LED_B_PORT_BASE PORTA /**< PORT base for the Blue LED */ -#define LED_R_GPIO_BASE GPIOD /**< GPIO base for Red LED */ -#define LED_G_GPIO_BASE GPIOD /**< GPIO base for Green LED */ -#define LED_B_GPIO_BASE GPIOA /**< GPIO base for Blue LED */ -#define LED_R_PIN 6 /**< Red LED connected to PINx*/ -#define LED_G_PIN 4 /**< Green LED connected to PINx*/ -#define LED_B_PIN 4 /**< Blue LED connected to PINx*/ -#define LED_R_GPIO GPIO_PIN(PORT_D, LED_R_PIN) /**< GPIO-Device for Red LED */ -#define LED_G_GPIO GPIO_PIN(PORT_D, LED_G_PIN) /**< GPIO-Device for Green LED */ -#define LED_B_GPIO GPIO_PIN(PORT_A, LED_B_PIN) /**< GPIO-Device for Blue LED */ -/** @} */ +#define LED2_PIN GPIO_PIN(PORT_D, 6) +#define LED1_PIN GPIO_PIN(PORT_D, 4) +#define LED0_PIN GPIO_PIN(PORT_A, 4) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_B_ON (LED_B_GPIO_BASE->PCOR = (1 << LED_B_PIN)) -#define LED_B_OFF (LED_B_GPIO_BASE->PSOR = (1 << LED_B_PIN)) -#define LED_B_TOGGLE (LED_B_GPIO_BASE->PTOR = (1 << LED_B_PIN)) -#define LED_G_ON (LED_G_GPIO_BASE->PCOR = (1 << LED_G_PIN)) -#define LED_G_OFF (LED_G_GPIO_BASE->PSOR = (1 << LED_G_PIN)) -#define LED_G_TOGGLE (LED_G_GPIO_BASE->PTOR = (1 << LED_G_PIN)) -#define LED_R_ON (LED_R_GPIO_BASE->PCOR = (1 << LED_R_PIN)) -#define LED_R_OFF (LED_R_GPIO_BASE->PSOR = (1 << LED_R_PIN)) -#define LED_R_TOGGLE (LED_R_GPIO_BASE->PTOR = (1 << LED_R_PIN)) +#define LED0_MASK (1 << 6) +#define LED1_MASK (1 << 4) +#define LED2_MASK (1 << 4) -/* for compatability to other boards */ -#define LED_GREEN_ON LED_G_ON -#define LED_GREEN_OFF LED_G_OFF -#define LED_GREEN_TOGGLE LED_G_TOGGLE -#define LED_RED_ON LED_R_ON -#define LED_RED_OFF LED_R_OFF -#define LED_RED_TOGGLE LED_R_TOGGLE +#define LED0_ON (GPIOD->PCOR = LED0_MASK) +#define LED0_OFF (GPIOD->PSOR = LED0_MASK) +#define LED0_TOGGLE (GPIOD->PTOR = LED0_MASK) + +#define LED1_ON (GPIOD->PCOR = LED1_MASK) +#define LED1_OFF (GPIOD->PSOR = LED1_MASK) +#define LED1_TOGGLE (GPIOD->PTOR = LED1_MASK) + +#define LED2_ON (GPIOA->PCOR = LED2_MASK) +#define LED2_OFF (GPIOA->PSOR = LED2_MASK) +#define LED2_TOGGLE (GPIOA->PTOR = LED2_MASK) /** @} */ /** From 7feb44a26e597146221ee00b25a96e258fadb208 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 38/60] boards/pca10000: unified LED defines --- boards/pca10000/board.c | 5 +++-- boards/pca10000/include/board.h | 40 ++++++++++++++++----------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/boards/pca10000/board.c b/boards/pca10000/board.c index be7c3e9602..289b26cde8 100644 --- a/boards/pca10000/board.c +++ b/boards/pca10000/board.c @@ -25,8 +25,9 @@ void board_init(void) { /* initialize the boards LEDs: set pins to output and turn LEDs off */ - NRF_GPIO->DIRSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK); - NRF_GPIO->OUTSET = (LED_RED_MASK | LED_GREEN_MASK | LED_BLUE_MASK); + NRF_GPIO->DIRSET = (LED0_MASK | LED1_MASK | LED2_MASK); + NRF_GPIO->OUTSET = (LED0_MASK | LED1_MASK | LED2_MASK); + /* trigger the CPU initialization code */ cpu_init(); } diff --git a/boards/pca10000/include/board.h b/boards/pca10000/include/board.h index 733c096fdf..67e31bbbd3 100644 --- a/boards/pca10000/include/board.h +++ b/boards/pca10000/include/board.h @@ -40,30 +40,28 @@ extern "C" { /** @} */ /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_RED_PIN (GPIO_PIN(0, 21)) -#define LED_GREEN_PIN (GPIO_PIN(0, 22)) -#define LED_BLUE_PIN (GPIO_PIN(0, 23)) -#define LED_RED_MASK (1 << 21) -#define LED_GREEN_MASK (1 << 22) -#define LED_BLUE_MASK (1 << 23) -/** @} */ +#define LED0_PIN GPIO_PIN(0, 21) +#define LED1_PIN GPIO_PIN(0, 22) +#define LED2_PIN GPIO_PIN(0, 23) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (NRF_GPIO->OUTCLR = LED_RED_MASK) -#define LED_RED_OFF (NRF_GPIO->OUTSET = LED_RED_MASK) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= LED_RED_MASK) -#define LED_GREEN_ON (NRF_GPIO->OUTCLR = LED_GREEN_MASK) -#define LED_GREEN_OFF (NRF_GPIO->OUTSET = LED_GREEN_MASK) -#define LED_GREEN_TOGGLE (NRF_GPIO->OUT ^= LED_GREEN_MASK) -#define LED_BLUE_ON (NRF_GPIO->OUTCLR = LED_BLUE_MASK) -#define LED_BLUE_OFF (NRF_GPIO->OUTSET = LED_BLUE_MASK) -#define LED_BLUE_TOGGLE (NRF_GPIO->OUT ^= LED_BLUE_MASK) +#define LED0_MASK (1 << 21) +#define LED1_MASK (1 << 22) +#define LED2_MASK (1 << 23) + +#define LED0_ON (NRF_GPIO->OUTCLR = LED0_MASK) +#define LED0_OFF (NRF_GPIO->OUTSET = LED0_MASK) +#define LED0_TOGGLE (NRF_GPIO->OUT ^= LED0_MASK) + +#define LED1_ON (NRF_GPIO->OUTCLR = LED1_MASK) +#define LED1_OFF (NRF_GPIO->OUTSET = LED1_MASK) +#define LED1_TOGGLE (NRF_GPIO->OUT ^= LED1_MASK) + +#define LED2_ON (NRF_GPIO->OUTCLR = LED2_MASK) +#define LED2_OFF (NRF_GPIO->OUTSET = LED2_MASK) +#define LED2_TOGGLE (NRF_GPIO->OUT ^= LED2_MASK) /** @} */ /** From e04a6266d73ab82b81e844a9b54760fae03e8b7c Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 39/60] boards/pca10005: unified LED defines --- boards/pca10005/board.c | 3 --- boards/pca10005/include/board.h | 18 ------------------ 2 files changed, 21 deletions(-) diff --git a/boards/pca10005/board.c b/boards/pca10005/board.c index 7ee2f74847..4954718106 100644 --- a/boards/pca10005/board.c +++ b/boards/pca10005/board.c @@ -25,9 +25,6 @@ void board_init(void) { - /* setup led(s) for debugging */ - NRF_GPIO->DIRSET = (LED_RED_MASK); - /* initialize the CPU */ cpu_init(); } diff --git a/boards/pca10005/include/board.h b/boards/pca10005/include/board.h index 3af4cc9ad9..a5ce739b6d 100644 --- a/boards/pca10005/include/board.h +++ b/boards/pca10005/include/board.h @@ -39,24 +39,6 @@ extern "C" { #define XTIMER_BACKOFF (40) /** @} */ -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_PIN (GPIO_PIN(0, 1)) -#define LED_RED_MASK (1 << 1) - -#define LED_RED_ON (NRF_GPIO->OUTSET = (1 << LED_RED_MASK)) -#define LED_RED_OFF (NRF_GPIO->OUTCLR = (1 << LED_RED_MASK)) -#define LED_RED_TOGGLE (NRF_GPIO->OUT ^= (1 << LED_RED_MASK)) -#define LED_GREEN_ON /* not available */ -#define LED_GREEN_OFF /* not available */ -#define LED_GREEN_TOGGLE /* not available */ -#define LED_BLUE_ON /* not available */ -#define LED_BLUE_OFF /* not available */ -#define LED_BLUE_TOGGLE /* not available */ -/* @} */ - /** * @brief Initialize board specific hardware, including clock, LEDs and std-IO */ From 907250d460a9fafcba27b4cd147a31c3c12f2a63 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 40/60] boards/pttu: unified LED defines --- boards/pttu/include/board.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/boards/pttu/include/board.h b/boards/pttu/include/board.h index 1ed77f386b..4a212c5b7e 100644 --- a/boards/pttu/include/board.h +++ b/boards/pttu/include/board.h @@ -50,18 +50,6 @@ void init_clks2(void); */ void bl_init_clks(void); -/** - * @name dummy-defines for LEDs - * @{ - */ -#define LED_GREEN_ON /* not available */ -#define LED_GREEN_OFF /* not available */ -#define LED_GREEN_TOGGLE /* not available */ -#define LED_RED_ON /* not available */ -#define LED_RED_OFF /* not available */ -#define LED_RED_TOGGLE /* not available */ -/** @} */ - #ifdef __cplusplus } #endif From 07b93bdbbffd8654f4b0e472f654b93f18e320f2 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 41/60] boards/qemu-i386: unified LED defines --- boards/qemu-i386/include/board.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/boards/qemu-i386/include/board.h b/boards/qemu-i386/include/board.h index d2cac19e32..390535faf7 100644 --- a/boards/qemu-i386/include/board.h +++ b/boards/qemu-i386/include/board.h @@ -28,10 +28,6 @@ extern "C" { #define UART_PORT (COM1_PORT) /* IO port to use for UART */ #define UART_IRQ (COM1_IRQ) /* IRQ line to use for UART */ -#define LED_RED_ON /* not available */ -#define LED_RED_OFF /* not available */ -#define LED_RED_TOGGLE /* not available */ - #ifdef __cplusplus } #endif From 9b478222c6c649a0d9ea1a36083e6b4c1b564828 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 42/60] boards/remote: unified LED defines --- boards/remote/board.c | 35 ++------------ boards/remote/include/board.h | 87 +++++++++-------------------------- 2 files changed, 24 insertions(+), 98 deletions(-) diff --git a/boards/remote/board.c b/boards/remote/board.c index b8101bb3e3..4627fcce7f 100644 --- a/boards/remote/board.c +++ b/boards/remote/board.c @@ -23,49 +23,20 @@ #include "board.h" #include "cpu.h" -static inline void leds_init(void); static inline void rf_switch_init(void); void board_init(void) { /* initialize the boards LEDs */ - leds_init(); + 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); /* initialize the CPU */ cpu_init(); /* initialize the 2.4GHz RF switch */ rf_switch_init(); } -/** - * @brief Initialize the boards on-board LEDs (LD3 and LD4) - * - * The LED initialization is hard-coded in this function. As the LED (RGB) are - * soldered onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LED1: PD2 (red) - * - LED2: PC3 (blue) - * - LED3: PD5 (green) - */ -static inline void leds_init(void) -{ - /* set pins to be controlled by software */ - LED_PORT_C->AFSEL &= ~(1 << LED_BLUE_PIN); - LED_PORT_D->AFSEL &= ~((1 << LED_RED_PIN) | (1 << LED_GREEN_PIN)); - - /* configure pins as output */ - LED_PORT_C->DIR |= (1 << LED_BLUE_PIN); - LED_PORT_D->DIR |= ((1 << LED_RED_PIN) | (1 << LED_GREEN_PIN)); - - /* configure io-mux for used pins */ - IOC->PC_OVER[LED_BLUE_PIN] = IOC_OVERRIDE_OE; - IOC->PD_OVER[LED_GREEN_PIN] = IOC_OVERRIDE_OE; - IOC->PD_OVER[LED_RED_PIN] = IOC_OVERRIDE_OE; - - /* Shoot rainbows */ - LED_RAINBOW(); -} - /** * @brief Initialize the 2.4GHz Radio Frequency SW-controlled Switch * diff --git a/boards/remote/include/board.h b/boards/remote/include/board.h index 6ee6d39af9..ce258db8fb 100644 --- a/boards/remote/include/board.h +++ b/boards/remote/include/board.h @@ -31,75 +31,30 @@ #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_PORT_C GPIO_C -#define LED_PORT_D GPIO_D -#define LED_RED_PIN (2) -#define LED_GREEN_PIN (5) -#define LED_BLUE_PIN (3) -/** @} */ -/** - * @name Macros for controlling the on-board LEDs - * @{ - */ -#define LED_RED_ON (LED_PORT_D->DATA &= ~(1 << LED_RED_PIN)) -#define LED_RED_OFF (LED_PORT_D->DATA |= (1 << LED_RED_PIN)) -#define LED_RED_TOGGLE (LED_PORT_D->DATA ^= (1 << LED_RED_PIN)) -#define LED_GREEN_ON (LED_PORT_D->DATA &= ~(1 << LED_GREEN_PIN)) -#define LED_GREEN_OFF (LED_PORT_D->DATA |= (1 << LED_GREEN_PIN)) -#define LED_GREEN_TOGGLE (LED_PORT_D->DATA ^= (1 << LED_GREEN_PIN)) -#define LED_BLUE_ON (LED_PORT_C->DATA &= ~(1 << LED_BLUE_PIN)) -#define LED_BLUE_OFF (LED_PORT_C->DATA |= (1 << LED_BLUE_PIN)) -#define LED_BLUE_TOGGLE (LED_PORT_C->DATA ^= (1 << LED_BLUE_PIN)) -#define LED_ALL_OFF LED_GREEN_OFF; \ - LED_RED_OFF; \ - LED_BLUE_OFF -/* Output is color white */ -#define LED_ALL_ON LED_BLUE_ON; \ - LED_RED_ON; \ - LED_GREEN_ON -#define LED_YELLOW_ON LED_BLUE_OFF; \ - LED_GREEN_ON; \ - LED_RED_ON -#define LED_YELLOW_OFF LED_GREEN_OFF; \ - LED_RED_OFF -#define LED_YELLOW_TOGGLE LED_GREEN_TOGGLE; \ - LED_RED_TOGGLE -#define LED_PURPLE_ON LED_GREEN_OFF; \ - LED_BLUE_ON; \ - LED_RED_ON -#define LED_PURPLE_OFF LED_BLUE_OFF; \ - LED_RED_OFF -#define LED_PURPLE_TOGGLE LED_BLUE_TOGGLE; \ - LED_RED_TOGGLE -/* Take LED_COLOR as argument, i.e LED_RED */ -#define LED_FADE(led) \ - volatile int i; \ - int k, j; \ - LED_FADE_EXPAND(led) -#define LED_FADE_EXPAND(led) \ - for(k = 0; k < 800; ++k) { \ - j = k > 400 ? 800 - k : k; \ - led##_ON; \ - for(i = 0; i < j; ++i) { \ - asm("nop"); \ - } \ - led##_OFF; \ - for(i = 0; i < 400 - j; ++i) { \ - asm("nop"); \ - } \ - } -#define LED_RAINBOW() \ - volatile int i; \ - int k,j; \ - LED_FADE_EXPAND(LED_YELLOW); \ - LED_FADE_EXPAND(LED_RED); \ - LED_FADE_EXPAND(LED_PURPLE); \ - LED_FADE_EXPAND(LED_BLUE); \ - LED_FADE_EXPAND(LED_GREEN); \ +#define LED0_PIN GPIO_PIN(3, 2) +#define LED1_PIN GPIO_PIN(3, 5) +#define LED2_PIN GPIO_PIN(2, 3) + +#define LED0_MASK (1 << 2) +#define LED1_MASK (1 << 5) +#define LED2_MASK (1 << 3) + +#define LED0_ON (GPIO_D->DATA &= ~LED0_MASK) +#define LED0_OFF (GPIO_D->DATA |= LED0_MASK) +#define LED0_TOGGLE (GPIO_D->DATA ^= LED0_MASK) + +#define LED1_ON (GPIO_D->DATA &= ~LED1_MASK) +#define LED1_OFF (GPIO_D->DATA |= LED1_MASK) +#define LED1_TOGGLE (GPIO_D->DATA ^= LED1_MASK) + +#define LED2_ON (GPIO_C->DATA &= ~LED2_MASK) +#define LED2_OFF (GPIO_C->DATA |= LED2_MASK) +#define LED2_TOGGLE (GPIO_C->DATA ^= LED2_MASK) /** @} */ + /** * @name Flash Customer Configuration Area (CCA) parameters * @{ From 8959d36d958bbb4e7f7b03c5ae361e4c369a25ca Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 43/60] boards/saml21-xpro: unified LED defines --- boards/saml21-xpro/include/board.h | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/boards/saml21-xpro/include/board.h b/boards/saml21-xpro/include/board.h index 2acc559ff6..739d40a98d 100644 --- a/boards/saml21-xpro/include/board.h +++ b/boards/saml21-xpro/include/board.h @@ -28,31 +28,17 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ +#define LED0_PIN GPIO_PIN(1, 10) + #define LED_PORT PORT->Group[1] -#define LED_PIN (10) -/** @} */ +#define LED0_MASK (1 << 10) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_ON (LED_PORT.OUTCLR.reg = 1< Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 44/60] boards/samr21-xpro: unified LED defines --- boards/samr21-xpro/board.c | 11 ++++----- boards/samr21-xpro/include/board.h | 29 ++++++------------------ boards/samr21-xpro/include/gpio_params.h | 2 +- 3 files changed, 12 insertions(+), 30 deletions(-) diff --git a/boards/samr21-xpro/board.c b/boards/samr21-xpro/board.c index 1be170768d..3a492c8d29 100644 --- a/boards/samr21-xpro/board.c +++ b/boards/samr21-xpro/board.c @@ -20,17 +20,14 @@ * @} */ -#include - #include "board.h" -#include "cpu.h" +#include "periph/gpio.h" void board_init(void) { + /* initialize the on-board LED */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + /* initialize the CPU */ cpu_init(); - /* initialize the boards LED at pin PA19 */ - LED_PORT.DIRSET.reg = (1 << LED_PIN); - LED_PORT.OUTSET.reg = (1 << LED_PIN); - LED_PORT.PINCFG[LED_PIN].bit.PULLEN = false; } diff --git a/boards/samr21-xpro/include/board.h b/boards/samr21-xpro/include/board.h index 1ad52c77cc..eb3c4a2afa 100644 --- a/boards/samr21-xpro/include/board.h +++ b/boards/samr21-xpro/include/board.h @@ -49,32 +49,17 @@ extern "C" { .reset_pin = GPIO_PIN(PB, 15)} /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ +#define LED0_PIN GPIO_PIN(0, 19) + #define LED_PORT PORT->Group[0] -#define LED_PIN (19) -#define LED_GPIO GPIO_PIN(0, 19) -/** @} */ +#define LED0_MASK (1 << 19) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_ON (LED_PORT.OUTCLR.reg = (1 << LED_PIN)) -#define LED_OFF (LED_PORT.OUTSET.reg = (1 << LED_PIN)) -#define LED_TOGGLE (LED_PORT.OUTTGL.reg = (1 << LED_PIN)) - -/* 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_ORANGE_ON /* not available */ -#define LED_ORANGE_OFF /* not available */ -#define LED_ORANGE_TOGGLE /* not available */ -#define LED_RED_ON LED_ON -#define LED_RED_OFF LED_OFF -#define LED_RED_TOGGLE LED_TOGGLE +#define LED0_ON (LED_PORT.OUTCLR.reg = LED0_MASK) +#define LED0_OFF (LED_PORT.OUTSET.reg = LED0_MASK) +#define LED0_TOGGLE (LED_PORT.OUTTGL.reg = LED0_MASK) /** @} */ /** diff --git a/boards/samr21-xpro/include/gpio_params.h b/boards/samr21-xpro/include/gpio_params.h index 2f805cb00b..8551e0d808 100644 --- a/boards/samr21-xpro/include/gpio_params.h +++ b/boards/samr21-xpro/include/gpio_params.h @@ -35,7 +35,7 @@ static const saul_gpio_params_t saul_gpio_params[] = { { .name = "LED(orange)", - .pin = LED_GPIO, + .pin = LED0_PIN, .dir = GPIO_DIR_OUT, .pull = GPIO_NOPULL, }, From a22b193190065f1e22b5d32d841217023c220fd1 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 45/60] boards/slwstk6220a: unified LED defines --- boards/slwstk6220a/include/board.h | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/boards/slwstk6220a/include/board.h b/boards/slwstk6220a/include/board.h index bb6578173c..33b2e7e937 100644 --- a/boards/slwstk6220a/include/board.h +++ b/boards/slwstk6220a/include/board.h @@ -58,34 +58,19 @@ extern "C" { /** @} */ /** - * @brief LED pin definitions + * @brief LED pin definitions * @{ */ -#define LED0_PIN GPIO_PIN(PF,6) -#define LED1_PIN GPIO_PIN(PF,7) -/** @} */ +#define LED0_PIN GPIO_PIN(PF, 6) +#define LED1_PIN GPIO_PIN(PF, 7) -/** - * @brief Macros for controlling the on-board LEDs. - * @{ - */ #define LED0_ON gpio_set(LED0_PIN) #define LED0_OFF gpio_clear(LED0_PIN) #define LED0_TOGGLE gpio_toggle(LED0_PIN) + #define LED1_ON gpio_set(LED1_PIN) #define LED1_OFF gpio_clear(LED1_PIN) #define LED1_TOGGLE gpio_toggle(LED1_PIN) - -/* for compatability to other boards */ -#define LED_GREEN_ON LED1_ON -#define LED_GREEN_OFF LED1_OFF -#define LED_GREEN_TOGGLE LED1_TOGGLE -#define LED_ORANGE_ON /* not available */ -#define LED_ORANGE_OFF /* not available */ -#define LED_ORANGE_TOGGLE /* not available */ -#define LED_RED_ON LED0_ON -#define LED_RED_OFF LED0_OFF -#define LED_RED_TOGGLE LED0_TOGGLE /** @} */ /** From 047050d032f0ca1b5343bf6547e48b91224a1ac0 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:26 +0100 Subject: [PATCH 46/60] boards/spark-core: unified LED defines --- boards/spark-core/board.c | 43 +++++++-------------------- boards/spark-core/include/board.h | 49 ++++++++++++++++--------------- 2 files changed, 37 insertions(+), 55 deletions(-) diff --git a/boards/spark-core/board.c b/boards/spark-core/board.c index 3ab63f2da7..b783065d43 100644 --- a/boards/spark-core/board.c +++ b/boards/spark-core/board.c @@ -20,16 +20,22 @@ */ #include "board.h" -#include "cpu.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { + /* initialize the boards LEDs */ + 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_init(LED3_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_set(LED0_PIN); + gpio_set(LED1_PIN); + gpio_set(LED2_PIN); + gpio_set(LED3_PIN); + /* initialize the CPU */ cpu_init(); - /* initialize the boards LEDs */ - leds_init(); /* disable systick interrupt, set by the spark bootloader */ SysTick->CTRL = 0; /* signal to spark bootloader: do not enable IWDG! set Stop Mode Flag! */ @@ -37,30 +43,3 @@ void board_init(void) /* configure the RIOT vector table location to internal flash + spark bootloader offset */ SCB->VTOR = LOCATION_VTABLE; } - -/** - * @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. - * - */ -static void leds_init(void) -{ - /* enable clock for port A */ - RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; - - /* reset pins */ - LED_PORT->CR[1] &= ~(0xf << (4*(LED_RED_PIN - 8)) | - 0xf << (4*(LED_GREEN_PIN - 8)) | - 0xf << (4*(LED_BLUE_PIN - 8)) | - 0xf << (4*(LED_WHITE_PIN - 8))); - - /* set pins to out */ - LED_PORT->CR[1] |= (0x3 << (4*(LED_RED_PIN - 8)) | - 0x3 << (4*(LED_GREEN_PIN - 8)) | - 0x3 << (4*(LED_BLUE_PIN - 8)) | - 0x3 << (4*(LED_WHITE_PIN - 8))); - - LED_PORT->BSRR = (1 << LED_RED_PIN) | (1 << LED_GREEN_PIN) | (1 << LED_BLUE_PIN) | (1 << LED_WHITE_PIN); -} diff --git a/boards/spark-core/include/board.h b/boards/spark-core/include/board.h index e42641b8bb..3e0895eecd 100644 --- a/boards/spark-core/include/board.h +++ b/boards/spark-core/include/board.h @@ -41,32 +41,35 @@ #define XTIMER_MASK (0xffff0000) /** - * @name LED pin definitions + * @brief Macros for controlling the on-board LEDs * @{ */ -#define LED_PORT (GPIOA) -#define LED_RED_PIN (9) -#define LED_GREEN_PIN (10) -#define LED_BLUE_PIN (8) -#define LED_WHITE_PIN (13) -/** @} */ +#define LED0_PIN GPIO_PIN(PORT_A, 9) +#define LED1_PIN GPIO_PIN(PORT_A, 10) +#define LED2_PIN GPIO_PIN(PORT_A, 8) +#define LED3_PIN GPIO_PIN(PORT_A, 13) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED_RED_ON (LED_PORT->BRR = (1<BSRR = (1<ODR ^= (1<BRR = (1<BSRR = (1<ODR ^= (1<BRR = (1<BSRR = (1<ODR ^= (1<BRR = (1<BSRR = (1<ODR ^= (1<BRR = LED0_MASK) +#define LED0_OFF (LED_PORT->BSRR = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) + +#define LED1_ON (LED_PORT->BRR = LED1_MASK) +#define LED1_OFF (LED_PORT->BSRR = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) + +#define LED2_ON (LED_PORT->BRR = LED2_MASK) +#define LED2_OFF (LED_PORT->BSRR = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->ODR ^= LED2_MASK) + +#define LED3_ON (LED_PORT->BRR = LED3_MASK) +#define LED3_OFF (LED_PORT->BSRR = LED3_MASK) +#define LED3_TOGGLE (LED_PORT->ODR ^= LED3_MASK) /** @} */ /** From 7b1208a935aac9bc9dff81f6f4e32ffc83a1c4cb Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 47/60] boards/stm32f0discovery: unified LED defines --- boards/stm32f0discovery/board.c | 37 ++----------------------- boards/stm32f0discovery/include/board.h | 35 +++++++++-------------- 2 files changed, 16 insertions(+), 56 deletions(-) diff --git a/boards/stm32f0discovery/board.c b/boards/stm32f0discovery/board.c index 0cf5c0c74c..ae47f3053b 100644 --- a/boards/stm32f0discovery/board.c +++ b/boards/stm32f0discovery/board.c @@ -19,45 +19,14 @@ */ #include "board.h" -#include "periph/uart.h" - - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { /* initialize the boards LEDs */ - leds_init(); + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED1_PIN, GPIO_DIR_OUT, GPIO_NOPULL); /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs (LD3 and LD4) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LD3: PC8 - * - LD4: PC9 - */ -void leds_init(void) -{ - /* enable clock for port GPIOC */ - RCC->AHBENR |= RCC_AHBENR_GPIOCEN; - - /* set output speed to 50MHz */ - LED_PORT->OSPEEDR |= 0x000f0000; - /* set output type to push-pull */ - LED_PORT->OTYPER &= ~(0x00000300); - /* configure pins as general outputs */ - LED_PORT->MODER &= ~(0x000f0000); - LED_PORT->MODER |= 0x00050000; - /* disable pull resistors */ - LED_PORT->PUPDR &= ~(0x000f0000); - - /* turn all LEDs off */ - LED_PORT->BRR = 0x0300; -} diff --git a/boards/stm32f0discovery/include/board.h b/boards/stm32f0discovery/include/board.h index 8f791c0edb..e677d90020 100644 --- a/boards/stm32f0discovery/include/board.h +++ b/boards/stm32f0discovery/include/board.h @@ -27,33 +27,24 @@ extern "C" { #endif -/** - * @name LED pin definitions - * @{ - */ -#define LED_PORT GPIOC -#define LD3_PIN (1 << 9) -#define LD4_PIN (1 << 8) -/** @} */ - /** * @name Macros for controlling the on-board LEDs. * @{ */ -#define LD3_ON (LED_PORT->BSRR = LD3_PIN) -#define LD3_OFF (LED_PORT->BSRR = (LD3_PIN << 16)) -#define LD3_TOGGLE (LED_PORT->ODR ^= LD3_PIN) -#define LD4_ON (LED_PORT->BSRR = LD4_PIN) -#define LD4_OFF (LED_PORT->BSRR = (LD4_PIN << 16)) -#define LD4_TOGGLE (LED_PORT->ODR ^= LD4_PIN) +#define LED0_PIN GPIO_PIN(PORT_C, 9) +#define LED1_PIN GPIO_PIN(PORT_C, 8) -/* for compatibility to other boards */ -#define LED_GREEN_ON LD3_ON -#define LED_GREEN_OFF LD3_OFF -#define LED_GREEN_TOGGLE LD3_TOGGLE -#define LED_RED_ON LD4_ON -#define LED_RED_OFF LD4_OFF -#define LED_RED_TOGGLE LD4_TOGGLE +#define LED_PORT GPIOC +#define LED0_MASK (1 << 9) +#define LED1_MASK (1 << 8) + +#define LED0_ON (LED_PORT->BSRR = LED0_MASK) +#define LED0_OFF (LED_PORT->BRR = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) + +#define LED1_ON (LED_PORT->BSRR = LED1_MASK) +#define LED1_OFF (LED_PORT->BRR = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) /** @} */ /** From d0d8ea33ab13e45f8b0af83f713b88a755034a9d Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 48/60] boards/stm32f3discovery: unified LED defines --- boards/stm32f3discovery/board.c | 47 +++--------- boards/stm32f3discovery/include/board.h | 96 +++++++++++++------------ 2 files changed, 59 insertions(+), 84 deletions(-) diff --git a/boards/stm32f3discovery/board.c b/boards/stm32f3discovery/board.c index 364c702cf6..eff388d18e 100644 --- a/boards/stm32f3discovery/board.c +++ b/boards/stm32f3discovery/board.c @@ -19,49 +19,20 @@ */ #include "board.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { /* initialize the boards LEDs */ - leds_init(); + 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_init(LED3_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED4_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED5_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED6_PIN, GPIO_DIR_OUT, GPIO_NOPULL); + gpio_init(LED7_PIN, GPIO_DIR_OUT, GPIO_NOPULL); /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs (LD3 to LD10) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LD3: PE9 - * - LD4: PE8 - * - LD5: PE10 - * - LD6: PE15 - * - LD7: PE11 - * - LD8: PE14 - * - LD9: PE12 - * - LD10: PE13 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOE */ - RCC->AHBENR |= RCC_AHBENR_GPIOEEN; - - /* set output speed to 50MHz */ - LED_PORT->OSPEEDR |= 0xffff0000; - /* set output type to push-pull */ - LED_PORT->OTYPER &= ~(0x0000ff00); - /* configure pins as general outputs */ - LED_PORT->MODER &= ~(0xffff0000); - LED_PORT->MODER |= 0x55550000; - /* disable pull resistors */ - LED_PORT->PUPDR &= ~(0xffff0000); - - /* turn all LEDs off */ - LED_PORT->BRR = 0xff00; -} diff --git a/boards/stm32f3discovery/include/board.h b/boards/stm32f3discovery/include/board.h index 73ddfba700..d54dcaf45d 100644 --- a/boards/stm32f3discovery/include/board.h +++ b/boards/stm32f3discovery/include/board.h @@ -27,56 +27,60 @@ extern "C" { #endif -/** - * @name LED pin definitions - * @{ - */ -#define LED_PORT GPIOE -#define LD3_PIN (1 << 9) -#define LD4_PIN (1 << 8) -#define LD5_PIN (1 << 10) -#define LD6_PIN (1 << 15) -#define LD7_PIN (1 << 11) -#define LD8_PIN (1 << 14) -#define LD9_PIN (1 << 12) -#define LD10_PIN (1 << 13) -/** @} */ - /** * @name Macros for controlling the on-board LEDs. * @{ */ -#define LD3_ON (LED_PORT->BSRRL = LD3_PIN) -#define LD3_OFF (LED_PORT->BSRRH = LD3_PIN) -#define LD3_TOGGLE (LED_PORT->ODR ^= LD3_PIN) -#define LD4_ON (LED_PORT->BSRRL = LD4_PIN) -#define LD4_OFF (LED_PORT->BSRRH = LD4_PIN) -#define LD4_TOGGLE (LED_PORT->ODR ^= LD4_PIN) -#define LD5_ON (LED_PORT->BSRRL = LD5_PIN) -#define LD5_OFF (LED_PORT->BSRRH = LD5_PIN) -#define LD5_TOGGLE (LED_PORT->ODR ^= LD5_PIN) -#define LD6_ON (LED_PORT->BSRRL = LD6_PIN) -#define LD6_OFF (LED_PORT->BSRRH = LD6_PIN) -#define LD6_TOGGLE (LED_PORT->ODR ^= LD6_PIN) -#define LD7_ON (LED_PORT->BSRRL = LD7_PIN) -#define LD7_OFF (LED_PORT->BSRRH = LD7_PIN) -#define LD7_TOGGLE (LED_PORT->ODR ^= LD7_PIN) -#define LD8_ON (LED_PORT->BSRRL = LD8_PIN) -#define LD8_OFF (LED_PORT->BSRRH = LD8_PIN) -#define LD8_TOGGLE (LED_PORT->ODR ^= LD8_PIN) -#define LD9_ON (LED_PORT->BSRRL = LD9_PIN) -#define LD9_OFF (LED_PORT->BSRRH = LD9_PIN) -#define LD9_TOGGLE (LED_PORT->ODR ^= LD9_PIN) -#define LD10_ON (LED_PORT->BSRRL = LD10_PIN) -#define LD10_OFF (LED_PORT->BSRRH = LD10_PIN) -#define LD10_TOGGLE (LED_PORT->ODR ^= LD10_PIN) -/* for compatability to other boards */ -#define LED_GREEN_ON LD4_ON -#define LED_GREEN_OFF LD4_OFF -#define LED_GREEN_TOGGLE LD4_TOGGLE -#define LED_RED_ON LD5_ON -#define LED_RED_OFF LD5_OFF -#define LED_RED_TOGGLE LD5_TOGGLE +#define LED0_PIN GPIO_PIN(PORT_E, 9) +#define LED1_PIN GPIO_PIN(PORT_E, 8) +#define LED2_PIN GPIO_PIN(PORT_E, 10) +#define LED3_PIN GPIO_PIN(PORT_E, 15) +#define LED4_PIN GPIO_PIN(PORT_E, 11) +#define LED5_PIN GPIO_PIN(PORT_E, 14) +#define LED6_PIN GPIO_PIN(PORT_E, 12) +#define LED7_PIN GPIO_PIN(PORT_E, 13) + +#define LED_PORT GPIOE +#define LED0_MASK (1 << 9) +#define LED1_MASK (1 << 8) +#define LED2_MASK (1 << 10) +#define LED3_MASK (1 << 15) +#define LED4_MASK (1 << 11) +#define LED5_MASK (1 << 14) +#define LED6_MASK (1 << 12) +#define LED7_MASK (1 << 13) + +#define LED0_ON (LED_PORT->BSRRL = LED0_MASK) +#define LED0_OFF (LED_PORT->BSRRH = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) + +#define LED1_ON (LED_PORT->BSRRL = LED1_MASK) +#define LED1_OFF (LED_PORT->BSRRH = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) + +#define LED2_ON (LED_PORT->BSRRL = LED2_MASK) +#define LED2_OFF (LED_PORT->BSRRH = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->ODR ^= LED2_MASK) + +#define LED3_ON (LED_PORT->BSRRL = LED3_MASK) +#define LED3_OFF (LED_PORT->BSRRH = LED3_MASK) +#define LED3_TOGGLE (LED_PORT->ODR ^= LED3_MASK) + +#define LED4_ON (LED_PORT->BSRRL = LED4_MASK) +#define LED4_OFF (LED_PORT->BSRRH = LED4_MASK) +#define LED4_TOGGLE (LED_PORT->ODR ^= LED4_MASK) + +#define LED5_ON (LED_PORT->BSRRL = LED5_MASK) +#define LED5_OFF (LED_PORT->BSRRH = LED5_MASK) +#define LED5_TOGGLE (LED_PORT->ODR ^= LED5_MASK) + +#define LED6_ON (LED_PORT->BSRRL = LED6_MASK) +#define LED6_OFF (LED_PORT->BSRRH = LED6_MASK) +#define LED6_TOGGLE (LED_PORT->ODR ^= LED6_MASK) + +#define LED7_ON (LED_PORT->BSRRL = LED7_MASK) +#define LED7_OFF (LED_PORT->BSRRH = LED7_MASK) +#define LED7_TOGGLE (LED_PORT->ODR ^= LED7_MASK) /** @} */ /** From cc29909e21fe575eee4eef6837cd218988c058f4 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 49/60] boards/stm32f4discovery: unified LED defines --- boards/stm32f4discovery/board.c | 41 +++------------------ boards/stm32f4discovery/include/board.h | 49 +++++++++++++------------ 2 files changed, 31 insertions(+), 59 deletions(-) diff --git a/boards/stm32f4discovery/board.c b/boards/stm32f4discovery/board.c index 84b1643ab2..5477cd1127 100644 --- a/boards/stm32f4discovery/board.c +++ b/boards/stm32f4discovery/board.c @@ -19,45 +19,16 @@ */ #include "board.h" - -static void leds_init(void); +#include "periph/gpio.h" void board_init(void) { - /* initialize the boards LEDs, this is done first for debugging purposes */ - leds_init(); + /* initialize the boards LEDs */ + 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_init(LED3_PIN, GPIO_DIR_OUT, GPIO_NOPULL); /* initialize the CPU */ cpu_init(); } - -/** - * @brief Initialize the boards on-board LEDs (LD3 and LD4) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LD3: PD13 - * - LD4: PD12 - * - LD5: PD14 - * - LD6: PD15 - */ -static void leds_init(void) -{ - /* enable clock for port GPIOD */ - RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; - - /* configure pins as general outputs */ - LED_PORT->MODER &= ~(0xff000000); - LED_PORT->MODER |= 0x55000000; - /* set output speed high-speed */ - LED_PORT->OSPEEDR |= 0xff000000; - /* set output type to push-pull */ - LED_PORT->OTYPER &= ~(0xf000); - /* disable pull resistors */ - LED_PORT->PUPDR &= ~(0xff000000); - - /* turn all LEDs off */ - LED_PORT->BSRRH = 0xf000; -} diff --git a/boards/stm32f4discovery/include/board.h b/boards/stm32f4discovery/include/board.h index a195651b12..9808380b72 100644 --- a/boards/stm32f4discovery/include/board.h +++ b/boards/stm32f4discovery/include/board.h @@ -42,37 +42,38 @@ extern "C" { * @name LED pin definitions * @{ */ -#define LED_PORT GPIOD -#define LD3_PIN (1 << 13) -#define LD4_PIN (1 << 12) -#define LD5_PIN (1 << 14) -#define LD6_PIN (1 << 15) /** @} */ /** * @name Macros for controlling the on-board LEDs. * @{ */ -#define LD3_ON (LED_PORT->BSRRL = LD3_PIN) -#define LD3_OFF (LED_PORT->BSRRH = LD3_PIN) -#define LD3_TOGGLE (LED_PORT->ODR ^= LD3_PIN) -#define LD4_ON (LED_PORT->BSRRL = LD4_PIN) -#define LD4_OFF (LED_PORT->BSRRH = LD4_PIN) -#define LD4_TOGGLE (LED_PORT->ODR ^= LD4_PIN) -#define LD5_ON (LED_PORT->BSRRL = LD5_PIN) -#define LD5_OFF (LED_PORT->BSRRH = LD5_PIN) -#define LD5_TOGGLE (LED_PORT->ODR ^= LD5_PIN) -#define LD6_ON (LED_PORT->BSRRL = LD6_PIN) -#define LD6_OFF (LED_PORT->BSRRH = LD6_PIN) -#define LD6_TOGGLE (LED_PORT->ODR ^= LD6_PIN) +#define LED0_PIN GPIO_PIN(PORT_D, 13) +#define LED1_PIN GPIO_PIN(PORT_D, 12) +#define LED2_PIN GPIO_PIN(PORT_D, 14) +#define LED3_PIN GPIO_PIN(PORT_D, 15) -/* for compatability to other boards */ -#define LED_GREEN_ON LD4_ON -#define LED_GREEN_OFF LD4_OFF -#define LED_GREEN_TOGGLE LD4_TOGGLE -#define LED_RED_ON LD5_ON -#define LED_RED_OFF LD5_OFF -#define LED_RED_TOGGLE LD5_TOGGLE +#define LED_PORT GPIOD +#define LED0_MASK (1 << 13) +#define LED1_MASK (1 << 12) +#define LED2_MASK (1 << 14) +#define LED3_MASK (1 << 15) + +#define LED0_ON (LED_PORT->BSRRL = LED0_MASK) +#define LED0_OFF (LED_PORT->BSRRH = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->ODR ^= LED0_MASK) + +#define LED1_ON (LED_PORT->BSRRL = LED1_MASK) +#define LED1_OFF (LED_PORT->BSRRH = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->ODR ^= LED1_MASK) + +#define LED2_ON (LED_PORT->BSRRL = LED2_MASK) +#define LED2_OFF (LED_PORT->BSRRH = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->ODR ^= LED2_MASK) + +#define LED3_ON (LED_PORT->BSRRL = LED3_MASK) +#define LED3_OFF (LED_PORT->BSRRH = LED3_MASK) +#define LED3_TOGGLE (LED_PORT->ODR ^= LED3_MASK) /** @} */ /** From 45d059cb24a5776c2aa426238f02b52495e0880d Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 50/60] boards/telosb: unified LED defines --- boards/telosb/include/board.h | 39 +++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/boards/telosb/include/board.h b/boards/telosb/include/board.h index 1a671db62d..f6101f925a 100644 --- a/boards/telosb/include/board.h +++ b/boards/telosb/include/board.h @@ -28,6 +28,8 @@ #ifndef TELOSB_BOARD_H_ #define TELOSB_BOARD_H_ +#include "cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -55,24 +57,31 @@ extern "C" { #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 -/* LEDs ports MSB430 */ -#define LEDS_PxDIR P5DIR -#define LEDS_PxOUT P5OUT -#define LEDS_CONF_RED 0x10 -#define LEDS_CONF_GREEN 0x20 -#define LEDS_CONF_BLUE 0x40 +/** + * @brief LED pin definitions and handlers + * @{ + */ +#define LED0_PIN GPIO_PIN(4, 0) +#define LED1_PIN GPIO_PIN(4, 1) +#define LED2_PIN GPIO_PIN(4, 2) -#define LED_RED_ON LEDS_PxOUT &=~LEDS_CONF_RED -#define LED_RED_OFF LEDS_PxOUT |= LEDS_CONF_RED -#define LED_RED_TOGGLE LEDS_PxOUT ^= LEDS_CONF_RED +#define LED_OUT_REG P5OUT +#define LED0_MASK (0x10) +#define LED1_MASK (0x20) +#define LED2_MASK (0x40) -#define LED_GREEN_ON LEDS_PxOUT &=~LEDS_CONF_GREEN -#define LED_GREEN_OFF LEDS_PxOUT |= LEDS_CONF_GREEN -#define LED_GREEN_TOGGLE LEDS_PxOUT ^= LEDS_CONF_GREEN +#define LED0_ON (LED_OUT_REG &=~LED0_MASK) +#define LED0_OFF (LED_OUT_REG |= LED0_MASK) +#define LED0_TOGGLE (LED_OUT_REG ^= LED0_MASK) -#define LED_BLUE_ON LEDS_PxOUT &=~LEDS_CONF_BLUE -#define LED_BLUE_OFF LEDS_PxOUT |= LEDS_CONF_BLUE -#define LED_BLUE_TOGGLE LEDS_PxOUT ^= LEDS_CONF_BLUE +#define LED1_ON (LED_OUT_REG &=~LED1_MASK) +#define LED1_OFF (LED_OUT_REG |= LED1_MASK) +#define LED1_TOGGLE (LED_OUT_REG ^= LED1_MASK) + +#define LED2_ON (LED_OUT_REG &=~LED2_MASK) +#define LED2_OFF (LED_OUT_REG |= LED2_MASK) +#define LED2_TOGGLE (LED_OUT_REG ^= LED2_MASK) +/** @} */ #ifdef __cplusplus } From beddceb8d4906f8ad3913332c5a28d98b6c417c0 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 51/60] boards/udoo: unified LED defines --- boards/udoo/board.c | 4 ++-- boards/udoo/include/board.h | 26 +++++++------------------- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/boards/udoo/board.c b/boards/udoo/board.c index 8a3a15aafa..87eb99b9bf 100644 --- a/boards/udoo/board.c +++ b/boards/udoo/board.c @@ -24,8 +24,8 @@ void board_init(void) { + /* initialize the on-board Amber "L" LED @ pin PB27 */ + gpio_init(LED0_PIN, GPIO_DIR_OUT, GPIO_NOPULL); /* initialize the CPU */ cpu_init(); - /* initialize the on-board Amber "L" LED @ pin PB27 */ - gpio_init(LED_PIN, GPIO_DIR_OUT, GPIO_NOPULL); } diff --git a/boards/udoo/include/board.h b/boards/udoo/include/board.h index 6c1fed79ce..c3aa1a88a6 100644 --- a/boards/udoo/include/board.h +++ b/boards/udoo/include/board.h @@ -29,29 +29,17 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ +#define LED0_PIN GPIO_PIN(PB, 27) + #define LED_PORT PIOB -#define LED_BIT PIO_PB27 -#define LED_PIN GPIO_PIN(PB, 27) -/** @} */ +#define LED0_MASK PIO_PB27 -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#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 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 */ +#define LED_ON (LED_PORT->PIO_SODR = LED0_MASK) +#define LED_OFF (LED_PORT->PIO_CODR = LED0_MASK) +#define LED_TOGGLE (LED_PORT->PIO_ODSR ^= LED0_MASK) /** @} */ /** From c5cfe70d1cc53ad8581a0d7883656e9554ed0094 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 52/60] boards/weio: unified LED defines --- boards/weio/board.c | 30 ++++-------------------- boards/weio/include/board.h | 46 ++++++++++++++++--------------------- 2 files changed, 25 insertions(+), 51 deletions(-) diff --git a/boards/weio/board.c b/boards/weio/board.c index 2436f5d69e..4af268615f 100644 --- a/boards/weio/board.c +++ b/boards/weio/board.c @@ -18,35 +18,15 @@ * @} */ +#include "cpu.h" #include "board.h" -static void leds_init(void); -extern void SystemInit(void); - void board_init(void) { + /* initialize and turn off the boards LEDs */ + LED_PORT->DIR[1] = (LED0_MASK | LED1_MASK | LED2_MASK); + LED_PORT->SET[1] = (LED0_MASK | LED1_MASK | LED2_MASK); + /* initialize the CPU */ cpu_init(); - /* initialize the boards LEDs */ - leds_init(); -} - -/** - * @brief Initialize the boards on-board LEDs (LED1 to LED4) - * - * The LED initialization is hard-coded in this function. As the LEDs are soldered - * onto the board they are fixed to their CPU pins. - * - * The LEDs are connected to the following pins: - * - LED1: P1.13 - * - LED2: P1.14 - * - LED3: P1.15 - */ -static void leds_init(void) -{ - /* configure LED pins as output */ - LED_PORT->DIR[1] = (LED1_PIN | LED2_PIN | LED3_PIN); - - /* clear all LEDs */ - LED_PORT->SET[1] = (LED1_PIN | LED2_PIN | LED3_PIN); } diff --git a/boards/weio/include/board.h b/boards/weio/include/board.h index 2fac005278..6dc51ac8b9 100644 --- a/boards/weio/include/board.h +++ b/boards/weio/include/board.h @@ -31,35 +31,29 @@ extern "C" { #endif /** - * @name LED pin definitions + * @brief LED pin definitions and handlers * @{ */ -#define LED_PORT LPC_GPIO -#define LED1_PIN BIT13 -#define LED2_PIN BIT14 -#define LED3_PIN BIT15 -/** @} */ +#define LED0_PIN GPIO_PIN(0, 13) +#define LED1_PIN GPIO_PIN(0, 14) +#define LED2_PIN GPIO_PIN(0, 15) -/** - * @name Macros for controlling the on-board LEDs. - * @{ - */ -#define LED1_ON (LED_PORT->CLR[1] = LED1_PIN) -#define LED1_OFF (LED_PORT->SET[1] = LED1_PIN) -#define LED1_TOGGLE (LED_PORT->NOT[1] = LED1_PIN) -#define LED2_ON (LED_PORT->CLR[1] = LED2_PIN) -#define LED2_OFF (LED_PORT->SET[1] = LED2_PIN) -#define LED2_TOGGLE (LED_PORT->NOT[1] = LED2_PIN) -#define LED3_ON (LED_PORT->CLR[1] = LED3_PIN) -#define LED3_OFF (LED_PORT->SET[1] = LED3_PIN) -#define LED3_TOGGLE (LED_PORT->NOT[1] = LED3_PIN) -/* for compatibility to other boards */ -#define LED_GREEN_ON LED2_ON -#define LED_GREEN_OFF LED2_OFF -#define LED_GREEN_TOGGLE LED2_TOGGLE -#define LED_RED_ON LED1_ON -#define LED_RED_OFF LED1_OFF -#define LED_RED_TOGGLE LED1_TOGGLE +#define LED_PORT LPC_GPIO +#define LED0_MASK BIT13 +#define LED1_MASK BIT14 +#define LED2_MASK BIT15 + +#define LED0_ON (LED_PORT->CLR[1] = LED0_MASK) +#define LED0_OFF (LED_PORT->SET[1] = LED0_MASK) +#define LED0_TOGGLE (LED_PORT->NOT[1] = LED0_MASK) + +#define LED1_ON (LED_PORT->CLR[1] = LED1_MASK) +#define LED1_OFF (LED_PORT->SET[1] = LED1_MASK) +#define LED1_TOGGLE (LED_PORT->NOT[1] = LED1_MASK) + +#define LED2_ON (LED_PORT->CLR[1] = LED2_MASK) +#define LED2_OFF (LED_PORT->SET[1] = LED2_MASK) +#define LED2_TOGGLE (LED_PORT->NOT[1] = LED2_MASK) /** @} */ /** From f8af2109360aedb88eb14f195fdefa4897be5694 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 53/60] boards/wsn430-common: unified LED defines --- boards/wsn430-common/board_config.c | 2 +- boards/wsn430-common/board_init.c | 2 -- boards/wsn430-common/include/board_common.h | 26 +++++++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/boards/wsn430-common/board_config.c b/boards/wsn430-common/board_config.c index 131e530a2c..dcc1255a8d 100644 --- a/boards/wsn430-common/board_config.c +++ b/boards/wsn430-common/board_config.c @@ -8,7 +8,7 @@ #include #include -#include "board-conf.h" +#include "board.h" #include "config.h" #include "flashrom.h" diff --git a/boards/wsn430-common/board_init.c b/boards/wsn430-common/board_init.c index 584ef0808b..5cdc28ee67 100644 --- a/boards/wsn430-common/board_init.c +++ b/boards/wsn430-common/board_init.c @@ -107,8 +107,6 @@ void board_init(void) msp430_cpu_init(); msb_ports_init(); - LED_RED_ON; - msp430_set_cpu_speed(MCLK_8MHZ_SCLK_8MHZ); /* initialize STDIO over UART */ diff --git a/boards/wsn430-common/include/board_common.h b/boards/wsn430-common/include/board_common.h index f8182013e9..56a0b6b5c6 100644 --- a/boards/wsn430-common/include/board_common.h +++ b/boards/wsn430-common/include/board_common.h @@ -44,6 +44,32 @@ extern "C" { #define XTIMER_BACKOFF (40) /** @} */ +/** + * @brief LED pin definitions and handlers + * @{ + */ +#define LED0_PIN GPIO_PIN(4, 4) +#define LED1_PIN GPIO_PIN(4, 5) +#define LED2_PIN GPIO_PIN(4, 6) + +#define LED_DIR_REG P5DIR +#define LED0_MASK (1 << 4) +#define LED1_MASK (1 << 5) +#define LED2_MASK (1 << 6) + +#define LED0_ON (LED_DIR_REG &=~LED0_MASK) +#define LED0_OFF (LED_DIR_REG |= LED0_MASK) +#define LED0_TOGGLE (LED_DIR_REG ^= LED0_MASK) + +#define LED1_ON (LED_DIR_REG &=~LED1_MASK) +#define LED1_OFF (LED_DIR_REG |= LED1_MASK) +#define LED1_TOGGLE (LED_DIR_REG ^= LED1_MASK) + +#define LED2_ON (LED_DIR_REG &=~LED2_MASK) +#define LED2_OFF (LED_DIR_REG |= LED2_MASK) +#define LED2_TOGGLE (LED_DIR_REG ^= LED2_MASK) +/** @} */ + #ifdef __cplusplus } #endif From 04f13572b7fb9943e52bbf572731193fb6cca255 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 54/60] boards/wsn430-v1_3b: unified LED defines --- boards/wsn430-v1_3b/include/board.h | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/boards/wsn430-v1_3b/include/board.h b/boards/wsn430-v1_3b/include/board.h index 53d654928f..e41ea87c0f 100644 --- a/boards/wsn430-v1_3b/include/board.h +++ b/boards/wsn430-v1_3b/include/board.h @@ -46,25 +46,6 @@ extern "C" { #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 -/* LEDs ports MSB430 */ -#define LEDS_PxDIR P5DIR -#define LEDS_PxOUT P5OUT -#define LEDS_CONF_RED 0x04 -#define LEDS_CONF_GREEN 0x05 -#define LEDS_CONF_BLUE 0x06 - -#define LED_RED_ON LEDS_PxOUT &=~LEDS_CONF_RED -#define LED_RED_OFF LEDS_PxOUT |= LEDS_CONF_RED -#define LED_RED_TOGGLE LEDS_PxOUT ^= LEDS_CONF_RED - -#define LED_GREEN_ON LEDS_PxOUT &=~LEDS_CONF_GREEN -#define LED_GREEN_OFF LEDS_PxOUT |= LEDS_CONF_GREEN -#define LED_GREEN_TOGGLE LEDS_PxOUT ^= LEDS_CONF_GREEN - -#define LED_BLUE_ON LEDS_PxOUT &=~LEDS_CONF_BLUE -#define LED_BLUE_OFF LEDS_PxOUT |= LEDS_CONF_BLUE -#define LED_BLUE_TOGGLE LEDS_PxOUT ^= LEDS_CONF_BLUE - #ifdef __cplusplus } #endif From 43a65e890e3d0627a212ca22caca6b2b012bee81 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 55/60] boards/wsn430-v1_4: unified LED defines --- boards/wsn430-v1_4/include/board.h | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/boards/wsn430-v1_4/include/board.h b/boards/wsn430-v1_4/include/board.h index ba4128da50..162703aade 100644 --- a/boards/wsn430-v1_4/include/board.h +++ b/boards/wsn430-v1_4/include/board.h @@ -46,25 +46,6 @@ extern "C" { #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 -/* LEDs ports MSB430 */ -#define LEDS_PxDIR P5DIR -#define LEDS_PxOUT P5OUT -#define LEDS_CONF_RED 0x04 -#define LEDS_CONF_GREEN 0x05 -#define LEDS_CONF_BLUE 0x06 - -#define LED_RED_ON LEDS_PxOUT &=~LEDS_CONF_RED -#define LED_RED_OFF LEDS_PxOUT |= LEDS_CONF_RED -#define LED_RED_TOGGLE LEDS_PxOUT ^= LEDS_CONF_RED - -#define LED_GREEN_ON LEDS_PxOUT &=~LEDS_CONF_GREEN -#define LED_GREEN_OFF LEDS_PxOUT |= LEDS_CONF_GREEN -#define LED_GREEN_TOGGLE LEDS_PxOUT ^= LEDS_CONF_GREEN - -#define LED_BLUE_ON LEDS_PxOUT &=~LEDS_CONF_BLUE -#define LED_BLUE_OFF LEDS_PxOUT |= LEDS_CONF_BLUE -#define LED_BLUE_TOGGLE LEDS_PxOUT ^= LEDS_CONF_BLUE - #ifdef __cplusplus } #endif From 899fb27fa4676c1219d4a8c00cba28b94d75f11d Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Fri, 11 Mar 2016 18:04:27 +0100 Subject: [PATCH 56/60] boards/z1: unified LED defines --- boards/z1/include/board.h | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/boards/z1/include/board.h b/boards/z1/include/board.h index 87dbb0a488..198f16b781 100644 --- a/boards/z1/include/board.h +++ b/boards/z1/include/board.h @@ -31,6 +31,8 @@ #include +#include "cpu.h" + #ifdef __cplusplus extern "C" { #endif @@ -68,24 +70,31 @@ extern "C" { #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 -/* LEDs ports */ -#define LEDS_PxDIR P5DIR -#define LEDS_PxOUT P5OUT -#define LEDS_CONF_RED 0x10 -#define LEDS_CONF_BLUE 0x20 -#define LEDS_CONF_GREEN 0x40 +/** + * @brief LED pin definitions and handlers + * @{ + */ +#define LED0_PIN GPIO_PIN(4, 0) +#define LED1_PIN GPIO_PIN(4, 1) +#define LED2_PIN GPIO_PIN(4, 2) -#define LED_RED_ON LEDS_PxOUT &=~LEDS_CONF_RED -#define LED_RED_OFF LEDS_PxOUT |= LEDS_CONF_RED -#define LED_RED_TOGGLE LEDS_PxOUT ^= LEDS_CONF_RED +#define LED_OUT_REG P5OUT +#define LED0_MASK (0x10) +#define LED1_MASK (0x20) +#define LED2_MASK (0x40) -#define LED_GREEN_ON LEDS_PxOUT &=~LEDS_CONF_GREEN -#define LED_GREEN_OFF LEDS_PxOUT |= LEDS_CONF_GREEN -#define LED_GREEN_TOGGLE LEDS_PxOUT ^= LEDS_CONF_GREEN +#define LED0_ON (LED_OUT_REG &=~LED0_MASK) +#define LED0_OFF (LED_OUT_REG |= LED0_MASK) +#define LED0_TOGGLE (LED_OUT_REG ^= LED0_MASK) -#define LED_BLUE_ON LEDS_PxOUT &=~LEDS_CONF_BLUE -#define LED_BLUE_OFF LEDS_PxOUT |= LEDS_CONF_BLUE -#define LED_BLUE_TOGGLE LEDS_PxOUT ^= LEDS_CONF_BLUE +#define LED1_ON (LED_OUT_REG &=~LED1_MASK) +#define LED1_OFF (LED_OUT_REG |= LED1_MASK) +#define LED1_TOGGLE (LED_OUT_REG ^= LED1_MASK) + +#define LED2_ON (LED_OUT_REG &=~LED2_MASK) +#define LED2_OFF (LED_OUT_REG |= LED2_MASK) +#define LED2_TOGGLE (LED_OUT_REG ^= LED2_MASK) +/** @} */ /* User-button port */ From 4dd57aafb771adf80deba7b20032521a1d3695bb Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Tue, 15 Mar 2016 16:23:52 +0100 Subject: [PATCH 57/60] tests/periph_spi: removed LED_xx calls --- tests/periph_spi/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/periph_spi/main.c b/tests/periph_spi/main.c index 772d6fbddb..e6e038b8d9 100644 --- a/tests/periph_spi/main.c +++ b/tests/periph_spi/main.c @@ -131,11 +131,9 @@ void slave_on_cs(void *arg) { (void)arg; - LED_RED_ON; spi_transmission_begin(spi_dev, 'F'); state = 0; rw = INIT; - LED_RED_OFF; } char slave_on_data(char data) From 53b42424ffb5a865aeb9e155d1ab3ce1bf5a81fd Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Tue, 15 Mar 2016 16:24:06 +0100 Subject: [PATCH 58/60] drivers/lm75a: removed LED_xx_yy calls --- drivers/lm75a/lm75a-temp-sensor.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/lm75a/lm75a-temp-sensor.c b/drivers/lm75a/lm75a-temp-sensor.c index 015e39e8f7..0c82e6337f 100644 --- a/drivers/lm75a/lm75a-temp-sensor.c +++ b/drivers/lm75a/lm75a-temp-sensor.c @@ -299,17 +299,13 @@ void lm75A_start_sensor_sampling(void (*handler)(void)) * Normal main() thread activity. */ while (true) { - //Toggle the green LED; - LED_RED_TOGGLE; printf("amb_temp = %3.3f\n", lm75A_get_ambient_temperature()); if (my_alarm && (handler != NULL)) { - LED_GREEN_ON; handler(); my_alarm = false; } xtimer_usleep(100000); - LED_RED_TOGGLE; xtimer_usleep(100000); } } From 363b883d510def85da90deb684386f3021334222 Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Tue, 15 Mar 2016 17:11:47 +0100 Subject: [PATCH 59/60] boards: fixed doxygen in msp430 and x86 board.h --- boards/chronos/include/board.h | 4 +++- boards/msb-430/include/board.h | 12 ++++++++++-- boards/msb-430h/include/board.h | 12 ++++++++++-- boards/qemu-i386/include/board.h | 5 +++++ boards/samr21-xpro/include/board.h | 4 +++- boards/telosb/include/board.h | 14 ++++++++++---- boards/wsn430-v1_3b/include/board.h | 12 ++++++++++-- boards/wsn430-v1_4/include/board.h | 12 ++++++++++-- boards/z1/include/board.h | 17 +++++++++++++++-- 9 files changed, 76 insertions(+), 16 deletions(-) diff --git a/boards/chronos/include/board.h b/boards/chronos/include/board.h index 4499de4ab0..319eb4f817 100644 --- a/boards/chronos/include/board.h +++ b/boards/chronos/include/board.h @@ -27,7 +27,9 @@ extern "C" { #endif -/* for correct inclusion of */ +/** + * @brief Define the CPU model for the + */ #ifndef __CC430F6137__ #define __CC430F6137__ #endif diff --git a/boards/msb-430/include/board.h b/boards/msb-430/include/board.h index af5e8c7a16..6e6f351e1e 100644 --- a/boards/msb-430/include/board.h +++ b/boards/msb-430/include/board.h @@ -40,17 +40,25 @@ extern "C" { #endif -/* for correct inclusion of */ +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F1612__ #define __MSP430F1612__ #endif -/* MSB430 core */ +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 2457600uL #define F_CPU MSP430_INITIAL_CPU_SPEED #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 1 #define MSP430_HAS_EXTERNAL_CRYSTAL 0 +/** @} */ #ifdef __cplusplus } diff --git a/boards/msb-430h/include/board.h b/boards/msb-430h/include/board.h index f506e70a29..d2c42c4dd9 100644 --- a/boards/msb-430h/include/board.h +++ b/boards/msb-430h/include/board.h @@ -28,17 +28,25 @@ extern "C" { #endif -/* for correct inclusion of */ +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F1612__ #define __MSP430F1612__ #endif -//MSB430 core +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 7372800uL #define F_CPU MSP430_INITIAL_CPU_SPEED #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 1 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 +/** @} */ #ifdef __cplusplus } diff --git a/boards/qemu-i386/include/board.h b/boards/qemu-i386/include/board.h index 390535faf7..78764a33ac 100644 --- a/boards/qemu-i386/include/board.h +++ b/boards/qemu-i386/include/board.h @@ -25,8 +25,13 @@ extern "C" { #endif +/** + * @brief Serial port configuration + * @{ + */ #define UART_PORT (COM1_PORT) /* IO port to use for UART */ #define UART_IRQ (COM1_IRQ) /* IRQ line to use for UART */ +/** @} */ #ifdef __cplusplus } diff --git a/boards/samr21-xpro/include/board.h b/boards/samr21-xpro/include/board.h index eb3c4a2afa..7dc19412da 100644 --- a/boards/samr21-xpro/include/board.h +++ b/boards/samr21-xpro/include/board.h @@ -31,10 +31,12 @@ extern "C" { #endif /** - * Assign the hardware timer + * @brief xtimer configuration + * @{ */ #define XTIMER TIMER_1 #define XTIMER_CHAN (0) +/** @} */ /** * @name AT86RF233 configuration diff --git a/boards/telosb/include/board.h b/boards/telosb/include/board.h index f6101f925a..a02c6d6505 100644 --- a/boards/telosb/include/board.h +++ b/boards/telosb/include/board.h @@ -34,7 +34,9 @@ extern "C" { #endif -/* for correct inclusion of */ +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F1611__ #define __MSP430F1611__ #endif @@ -50,12 +52,18 @@ extern "C" { #define XTIMER_BACKOFF (40) /** @} */ -/* TelosB core */ +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 2457600uL #define F_CPU MSP430_INITIAL_CPU_SPEED #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 +/** @} */ /** * @brief LED pin definitions and handlers @@ -87,7 +95,5 @@ extern "C" { } #endif -#include - /** @} */ #endif /* TELOSB_BOARD_H_ */ diff --git a/boards/wsn430-v1_3b/include/board.h b/boards/wsn430-v1_3b/include/board.h index e41ea87c0f..49478dadd2 100644 --- a/boards/wsn430-v1_3b/include/board.h +++ b/boards/wsn430-v1_3b/include/board.h @@ -34,17 +34,25 @@ extern "C" { #endif -// for correct inclusion of +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F1611__ #define __MSP430F1611__ #endif -//MSB430 core +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 800000uL #define F_CPU MSP430_INITIAL_CPU_SPEED #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 +/** @} */ #ifdef __cplusplus } diff --git a/boards/wsn430-v1_4/include/board.h b/boards/wsn430-v1_4/include/board.h index 162703aade..537c62ea73 100644 --- a/boards/wsn430-v1_4/include/board.h +++ b/boards/wsn430-v1_4/include/board.h @@ -34,17 +34,25 @@ extern "C" { #endif -/* for correct inclusion of */ +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F1611__ #define __MSP430F1611__ #endif -/* MSB430 core */ +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 800000uL #define F_CPU MSP430_INITIAL_CPU_SPEED #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 +/** @} */ #ifdef __cplusplus } diff --git a/boards/z1/include/board.h b/boards/z1/include/board.h index 198f16b781..431931cd91 100644 --- a/boards/z1/include/board.h +++ b/boards/z1/include/board.h @@ -37,6 +37,9 @@ extern "C" { #endif +/** + * @brief Define the CPU model for the + */ #ifndef __MSP430F2617__ #define __MSP430F2617__ #endif @@ -61,7 +64,12 @@ extern "C" { #define UART_STDIO_RX_BUFSIZE (64U) /** @} */ -/* MSP430 core */ +/** + * @brief CPU core configuration + * + * @todo Move this to the periph_conf.h + * @{ + */ #define MSP430_INITIAL_CPU_SPEED 8000000uL #ifndef F_CPU #define F_CPU MSP430_INITIAL_CPU_SPEED @@ -69,6 +77,7 @@ extern "C" { #define F_RC_OSCILLATOR 32768 #define MSP430_HAS_DCOR 0 #define MSP430_HAS_EXTERNAL_CRYSTAL 1 +/** @} */ /** * @brief LED pin definitions and handlers @@ -97,12 +106,16 @@ extern "C" { /** @} */ -/* User-button port */ +/** + * @brief User button configuration + * @{ + */ #define USER_BTN_PxIN P2IN #define USER_BTN_MASK 0x20 #define USER_BTN_PRESSED ((USER_BTN_PxIN & USER_BTN_MASK) == 0) #define USER_BTN_RELEASED ((USER_BTN_PxIN & USER_BTN_MASK) != 0) +/** @} */ #ifdef __cplusplus } From dfefabbef04b5e91c9544ae49192162d72e3bc1a Mon Sep 17 00:00:00 2001 From: Hauke Petersen Date: Tue, 15 Mar 2016 18:37:15 +0100 Subject: [PATCH 60/60] boards/qemu-i386: added missing periph_conf.h --- boards/qemu-i386/include/periph_conf.h | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 boards/qemu-i386/include/periph_conf.h diff --git a/boards/qemu-i386/include/periph_conf.h b/boards/qemu-i386/include/periph_conf.h new file mode 100644 index 0000000000..598322a695 --- /dev/null +++ b/boards/qemu-i386/include/periph_conf.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2016 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @ingroup boards_qemu-i386 + * @{ + * + * @file + * @brief Peripheral configuration for the qemu-i386 + * + * @author Hauke Petersen + */ + +#ifndef PERIPH_CONF_H +#define PERIPH_CONF_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* nothing to define here, yet */ + +#ifdef __cplusplus +} +#endif + +#endif /* PERIPH_CONF_H */ +/** @} */