Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
Loading...
Searching...
No Matches
stm32_leds.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2022 Otto-von-Guericke-Universität Magdeburg
3
*
4
* This file is subject to the terms and conditions of the GNU Lesser
5
* General Public License v2.1. See the file LICENSE in the top level
6
* directory for more details.
7
*/
8
23
#ifndef STM32_LEDS_H
24
#define STM32_LEDS_H
25
26
/* Using gpio_ll_arch for GPIO access. On STM32, accessing the GPIO output
27
* buffer via GPIO LL even works when the GPIO LL feature/module is not in
28
* use */
29
#include "
periph/gpio_ll.h
"
30
#include "
kernel_defines.h
"
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
40
#if defined(LED0_PORT_NUM) && defined (LED0_PIN_NUM)
41
# define LED0_PIN GPIO_PIN(LED0_PORT_NUM, LED0_PIN_NUM)
42
# define LED0_MASK (1 << LED0_PIN_NUM)
43
# if IS_ACTIVE(LED0_IS_INVERTED)
44
# define LED0_ON gpio_ll_clear(LED0_PORT, LED0_MASK)
45
# define LED0_OFF gpio_ll_set(LED0_PORT, LED0_MASK)
46
# else
47
# define LED0_ON gpio_ll_set(LED0_PORT, LED0_MASK)
48
# define LED0_OFF gpio_ll_clear(LED0_PORT, LED0_MASK)
49
# endif
50
# define LED0_TOGGLE gpio_ll_toggle(LED0_PORT, LED0_MASK)
51
#endif
52
53
#if defined(LED1_PORT_NUM) && defined (LED1_PIN_NUM)
54
# define LED1_PIN GPIO_PIN(LED1_PORT_NUM, LED1_PIN_NUM)
55
# define LED1_MASK (1 << LED1_PIN_NUM)
56
# if IS_ACTIVE(LED1_IS_INVERTED)
57
# define LED1_ON gpio_ll_clear(LED1_PORT, LED1_MASK)
58
# define LED1_OFF gpio_ll_set(LED1_PORT, LED1_MASK)
59
# else
60
# define LED1_ON gpio_ll_set(LED1_PORT, LED1_MASK)
61
# define LED1_OFF gpio_ll_clear(LED1_PORT, LED1_MASK)
62
# endif
63
# define LED1_TOGGLE gpio_ll_toggle(LED1_PORT, LED1_MASK)
64
#endif
65
66
#if defined(LED2_PORT_NUM) && defined (LED2_PIN_NUM)
67
# define LED2_PIN GPIO_PIN(LED2_PORT_NUM, LED2_PIN_NUM)
68
# define LED2_MASK (1 << LED2_PIN_NUM)
69
# if IS_ACTIVE(LED2_IS_INVERTED)
70
# define LED2_ON gpio_ll_clear(LED2_PORT, LED2_MASK)
71
# define LED2_OFF gpio_ll_set(LED2_PORT, LED2_MASK)
72
# else
73
# define LED2_ON gpio_ll_set(LED2_PORT, LED2_MASK)
74
# define LED2_OFF gpio_ll_clear(LED2_PORT, LED2_MASK)
75
# endif
76
# define LED2_TOGGLE gpio_ll_toggle(LED2_PORT, LED2_MASK)
77
#endif
78
79
#if defined(LED3_PORT_NUM) && defined (LED3_PIN_NUM)
80
# define LED3_PIN GPIO_PIN(LED3_PORT_NUM, LED3_PIN_NUM)
81
# define LED3_MASK (1 << LED3_PIN_NUM)
82
# if IS_ACTIVE(LED3_IS_INVERTED)
83
# define LED3_ON gpio_ll_clear(LED3_PORT, LED3_MASK)
84
# define LED3_OFF gpio_ll_set(LED3_PORT, LED3_MASK)
85
# else
86
# define LED3_ON gpio_ll_set(LED3_PORT, LED3_MASK)
87
# define LED3_OFF gpio_ll_clear(LED3_PORT, LED3_MASK)
88
# endif
89
# define LED3_TOGGLE gpio_ll_toggle(LED3_PORT, LED3_MASK)
90
#endif
91
92
#if defined(LED4_PORT_NUM) && defined (LED4_PIN_NUM)
93
# define LED4_PIN GPIO_PIN(LED4_PORT_NUM, LED4_PIN_NUM)
94
# define LED4_MASK (1 << LED4_PIN_NUM)
95
# if IS_ACTIVE(LED4_IS_INVERTED)
96
# define LED4_ON gpio_ll_clear(LED4_PORT, LED4_MASK)
97
# define LED4_OFF gpio_ll_set(LED4_PORT, LED4_MASK)
98
# else
99
# define LED4_ON gpio_ll_set(LED4_PORT, LED4_MASK)
100
# define LED4_OFF gpio_ll_clear(LED4_PORT, LED4_MASK)
101
# endif
102
# define LED4_TOGGLE gpio_ll_toggle(LED4_PORT, LED4_MASK)
103
#endif
104
105
#if defined(LED5_PORT_NUM) && defined (LED5_PIN_NUM)
106
# define LED5_PIN GPIO_PIN(LED5_PORT_NUM, LED5_PIN_NUM)
107
# define LED5_MASK (1 << LED5_PIN_NUM)
108
# if IS_ACTIVE(LED5_IS_INVERTED)
109
# define LED5_ON gpio_ll_clear(LED5_PORT, LED5_MASK)
110
# define LED5_OFF gpio_ll_set(LED5_PORT, LED5_MASK)
111
# else
112
# define LED5_ON gpio_ll_set(LED5_PORT, LED5_MASK)
113
# define LED5_OFF gpio_ll_clear(LED5_PORT, LED5_MASK)
114
# endif
115
# define LED5_TOGGLE gpio_ll_toggle(LED5_PORT, LED5_MASK)
116
#endif
117
118
#if defined(LED6_PORT_NUM) && defined (LED6_PIN_NUM)
119
# define LED6_PIN GPIO_PIN(LED6_PORT_NUM, LED6_PIN_NUM)
120
# define LED6_MASK (1 << LED6_PIN_NUM)
121
# if IS_ACTIVE(LED6_IS_INVERTED)
122
# define LED6_ON gpio_ll_clear(LED6_PORT, LED6_MASK)
123
# define LED6_OFF gpio_ll_set(LED6_PORT, LED6_MASK)
124
# else
125
# define LED6_ON gpio_ll_set(LED6_PORT, LED6_MASK)
126
# define LED6_OFF gpio_ll_clear(LED6_PORT, LED6_MASK)
127
# endif
128
# define LED6_TOGGLE gpio_ll_toggle(LED6_PORT, LED6_MASK)
129
#endif
130
131
#if defined(LED7_PORT_NUM) && defined (LED7_PIN_NUM)
132
# define LED7_PIN GPIO_PIN(LED7_PORT_NUM, LED7_PIN_NUM)
133
# define LED7_MASK (1 << LED7_PIN_NUM)
134
# if IS_ACTIVE(LED7_IS_INVERTED)
135
# define LED7_ON gpio_ll_clear(LED7_PORT, LED7_MASK)
136
# define LED7_OFF gpio_ll_set(LED7_PORT, LED7_MASK)
137
# else
138
# define LED7_ON gpio_ll_set(LED7_PORT, LED7_MASK)
139
# define LED7_OFF gpio_ll_clear(LED7_PORT, LED7_MASK)
140
# endif
141
# define LED7_TOGGLE gpio_ll_toggle(LED7_PORT, LED7_MASK)
142
#endif
143
146
#ifdef __cplusplus
147
}
148
#endif
149
150
#endif
/* STM32_LEDS_H */
gpio_ll.h
Peripheral GPIO Low-Level API.
kernel_defines.h
Common macros and compiler attributes/pragmas configuration.
Generated on Mon Nov 18 2024 11:51:38 by
1.9.8