mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
ffcd646217
C preprocessor defines in non-function form are assumed by C2Rust to be constant if they are an expression and not a statement; the LED_PORT was the only place in the code where that was wrong, and led to compiler errors due to the value not being constant. Altering the internal macro to use function form sidesteps that issue. The generally preferred alternative of using a `const` is unavailable in this case because the dereferencing operator is already part of the vendor header file cpu/stellaris_common/include/vendor/cortex-m4-def.h. The changed macro is documented as required by doccheck. The doccheck rule that grandfathered in the LED_PORT macro as allowed undocumented is not removed because it is also used in other board.h files.
86 lines
2.0 KiB
C
86 lines
2.0 KiB
C
/*
|
|
* Copyright (C) 2015 Rakendra Thapa <rakendrathapa@gmail.com>
|
|
*
|
|
* 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_ek-lm4f120xl
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief Board specific definitions for the Stellaris Launchpad LM4F120 board
|
|
*
|
|
* @author Rakendra Thapa <rakendrathapa@gmail.com>
|
|
*/
|
|
|
|
#ifndef BOARD_H
|
|
#define BOARD_H
|
|
|
|
#include "cpu.h"
|
|
#include "periph/uart.h"
|
|
#include "periph/timer.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @name Button pin definitions
|
|
* @{
|
|
*/
|
|
#define BTN0_PIN GPIO_PIN(5, 4)
|
|
#define BTN1_PIN GPIO_PIN(5, 0)
|
|
|
|
#define BTN0_MODE GPIO_IN_PU
|
|
#define BTN1_MODE GPIO_IN_PU
|
|
/** @} */
|
|
|
|
/**
|
|
* @name LED pin definitions and handlers
|
|
* @{
|
|
*/
|
|
#define LED0_PIN GPIO_PIN(5, 1)
|
|
#define LED1_PIN GPIO_PIN(5, 2)
|
|
#define LED2_PIN GPIO_PIN(5, 3)
|
|
|
|
/**
|
|
* @brief Port used for `LED0_ON` and similar implementations
|
|
* @internal
|
|
* */
|
|
#define LED_PORT() (GPIO_PORTF_DATA_R)
|
|
#define LED0_MASK (1 << 7)
|
|
#define LED1_MASK (1 << 2)
|
|
#define LED2_MASK (1 << 1)
|
|
|
|
#define LED0_ON (LED_PORT() |= LED0_MASK)
|
|
#define LED0_OFF (LED_PORT() &= ~LED0_MASK)
|
|
#define LED0_TOGGLE (LED_PORT() ^= LED0_MASK)
|
|
|
|
#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)
|
|
/** @} */
|
|
|
|
/**
|
|
* @name ztimer configuration
|
|
* @{
|
|
*/
|
|
#define CONFIG_ZTIMER_USEC_TYPE ZTIMER_TYPE_PERIPH_TIMER
|
|
#define CONFIG_ZTIMER_USEC_DEV TIMER_DEV(0)
|
|
#define CONFIG_ZTIMER_USEC_MIN (8)
|
|
/** @} */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* BOARD_H */
|
|
/** @} */
|