board.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 HAW Hamburg
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
18 #include "cpu.h"
19 #include "board_common.h"
20 #include "periph/gpio.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
30 #define LED0_PIN GPIO_PIN(PA, 21)
31 
32 #define LED0_PORT PORT->Group[PA]
33 #define LED0_MASK (1 << 21)
34 
35 #define LED0_OFF (LED0_PORT.OUTCLR.reg = LED0_MASK)
36 #define LED0_ON (LED0_PORT.OUTSET.reg = LED0_MASK)
37 #define LED0_TOGGLE (LED0_PORT.OUTTGL.reg = LED0_MASK)
38 
39 #define LED1_PIN GPIO_PIN(PA, 12)
40 
41 #define LED1_PORT PORT->Group[PA]
42 #define LED1_MASK (1 << 12)
43 
44 #define LED1_OFF (LED1_PORT.OUTSET.reg = LED1_MASK)
45 #define LED1_ON (LED1_PORT.OUTCLR.reg = LED1_MASK)
46 #define LED1_TOGGLE (LED1_PORT.OUTTGL.reg = LED1_MASK)
47 
48 #define LED_RED_PIN LED1_PIN
49 #define LED_RED_OFF LED1_OFF
50 #define LED_RED_ON LED1_ON
51 #define LED_RED_TOGGLE LED1_TOGGLE
52 
53 #define LED2_PIN GPIO_PIN(PB, 15)
54 
55 #define LED2_PORT PORT->Group[PB]
56 #define LED2_MASK (1 << 15)
57 
58 #define LED2_OFF (LED2_PORT.OUTSET.reg = LED2_MASK)
59 #define LED2_ON (LED2_PORT.OUTCLR.reg = LED2_MASK)
60 #define LED2_TOGGLE (LED2_PORT.OUTTGL.reg = LED2_MASK)
61 
62 #define LED_GREEN_PIN LED2_PIN
63 #define LED_GREEN_OFF LED2_OFF
64 #define LED_GREEN_ON LED2_ON
65 #define LED_GREEN_TOGGLE LED2_TOGGLE
66 
67 #define LED3_PIN GPIO_PIN(PA, 13)
68 
69 #define LED3_PORT PORT->Group[PA]
70 #define LED3_MASK (1 << 13)
71 
72 #define LED3_OFF (LED3_PORT.OUTSET.reg = LED3_MASK)
73 #define LED3_ON (LED3_PORT.OUTCLR.reg = LED3_MASK)
74 #define LED3_TOGGLE (LED3_PORT.OUTTGL.reg = LED3_MASK)
75 
76 #define LED_BLUE_PIN LED3_PIN
77 #define LED_BLUE_OFF LED3_OFF
78 #define LED_BLUE_ON LED3_ON
79 #define LED_BLUE_TOGGLE LED3_TOGGLE
86 #define GPS_TIMEPULSE_PIN GPIO_PIN(PA, 7)
87 #define GPS_TIMEPULSE_MODE GPIO_IN
94 #define GPS_ENABLE_PIN GPIO_PIN(PA, 28)
95 
96 #define GPS_ENABLE_PORT PORT->Group[PA]
97 #define GPS_ENABLE_MASK (1 << 28)
98 
99 #define GPS_ENABLE_ON (GPS_ENABLE_PORT.OUTSET.reg = GPS_ENABLE_MASK)
100 #define GPS_ENABLE_OFF (GPS_ENABLE_PORT.OUTCLR.reg = GPS_ENABLE_MASK)
107 #define NB_IOT_ENABLE_PIN GPIO_PIN(PA, 27)
108 
109 #define NB_IOT_ENABLE_PORT PORT->Group[PA]
110 #define NB_IOT_ENABLE_MASK (1 << 27)
111 
112 #define NB_IOT_ENABLE (NB_IOT_ENABLE_PORT.OUTSET.reg = NB_IOT_ENABLE_MASK)
113 #define NB_IOT_DISABLE (NB_IOT_ENABLE_PORT.OUTCLR.reg = NB_IOT_ENABLE_MASK)
114 
115 #define NB_IOT_RESET_PIN GPIO_PIN(PB, 14)
116 
117 #define NB_IOT_RESET_PORT PORT->Group[PB]
118 #define NB_IOT_RESET_MASK (1 << 14)
119 
120 #define NB_IOT_RESET_ON (NB_IOT_RESET_PORT.OUTSET.reg = NB_IOT_RESET_MASK)
121 #define NB_IOT_RESET_OFF (NB_IOT_RESET_PORT.OUTCLR.reg = NB_IOT_RESET_MASK)
122 
123 #define NB_IOT_RESET_PIN GPIO_PIN(PB, 14)
124 
125 #define NB_IOT_RESET_PORT PORT->Group[PB]
126 #define NB_IOT_RESET_MASK (1 << 14)
127 
128 #define NB_IOT_RESET_ON (NB_IOT_RESET_PORT.OUTSET.reg = NB_IOT_RESET_MASK)
129 #define NB_IOT_RESET_OFF (NB_IOT_RESET_PORT.OUTCLR.reg = NB_IOT_RESET_MASK)
130 
131 #define NB_IOT_TX_EN_PIN GPIO_PIN(PB, 13)
132 
133 #define NB_IOT_TX_EN_PORT PORT->Group[PB]
134 #define NB_IOT_TX_EN_MASK (1 << 13)
135 
136 #define NB_IOT_TX_EN_ON (NB_IOT_TX_EN_PORT.OUTSET.reg = NB_IOT_TX_EN_MASK)
137 #define NB_IOT_TX_EN_OFF (NB_IOT_TX_EN_PORT.OUTCLR.reg = NB_IOT_TX_EN_MASK)
138 
139 #define NB_IOT_TOGGLE_PIN GPIO_PIN(PB, 17)
140 
141 #define NB_IOT_TOGGLE_PORT PORT->Group[PB]
142 #define NB_IOT_TOGGLE_MASK (1 << 17)
143 
144 #define NB_IOT_TOGGLE_ON (NB_IOT_TOGGLE_PORT.OUTSET.reg = NB_IOT_TOGGLE_MASK)
145 #define NB_IOT_TOGGLE_OFF (NB_IOT_TOGGLE_PORT.OUTCLR.reg = NB_IOT_TOGGLE_MASK)
148 #ifdef __cplusplus
149 }
150 #endif
151 
Low-level GPIO peripheral driver interface definitions.