mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-15 01:23:49 +01:00
boards/ek-lm4f120x: Change internal LED macro for C2Rust compatibility
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.
This commit is contained in:
parent
0e7636a463
commit
ffcd646217
@ -46,22 +46,26 @@ extern "C" {
|
||||
#define LED1_PIN GPIO_PIN(5, 2)
|
||||
#define LED2_PIN GPIO_PIN(5, 3)
|
||||
|
||||
#define LED_PORT (GPIO_PORTF_DATA_R)
|
||||
/**
|
||||
* @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 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 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)
|
||||
#define LED2_ON (LED_PORT() |= LED2_MASK)
|
||||
#define LED2_OFF (LED_PORT() &= ~LED2_MASK)
|
||||
#define LED2_TOGGLE (LED_PORT() ^= LED2_MASK)
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user