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 
21 #include "cpu.h"
22 #include "periph_conf.h"
23 #include "periph_cpu.h"
24 #include "periph/gpio.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
34 #define LED0_PIN GPIO_PIN(PA, 27)
35 
36 #define LED_PORT PORT->Group[PA]
37 #define LED0_MASK (1 << 27)
38 
39 #define LED0_ON (LED_PORT.OUTSET.reg = LED0_MASK)
40 #define LED0_OFF (LED_PORT.OUTCLR.reg = LED0_MASK)
41 #define LED0_TOGGLE (LED_PORT.OUTTGL.reg = LED0_MASK)
42 
43 #define LED1_PIN GPIO_PIN(PA, 28)
44 #define LED1_MASK (1 << 28)
45 
46 #define LED1_ON (LED_PORT.OUTSET.reg = LED1_MASK)
47 #define LED1_OFF (LED_PORT.OUTCLR.reg = LED1_MASK)
48 #define LED1_TOGGLE (LED_PORT.OUTTGL.reg = LED1_MASK)
55 #define BTN0_PIN GPIO_PIN(PA, 20)
56 #define BTN0_MODE GPIO_IN_PU
66 #define XBEE1_EN_PORT PORT->Group[PB]
67 #define XBEE1_EN_MASK (1 << 3)
68 #define XBEE1_EN_MODE GPIO_OUT
69 #define XBEE1_EN_PIN GPIO_PIN(PB, 3)
70 
71 #define XBEE1_ENABLE (XBEE1_EN_PORT.OUTCLR.reg = XBEE1_EN_MASK)
72 #define XBEE1_DISABLE (XBEE1_EN_PORT.OUTSET.reg = XBEE1_EN_MASK)
73 
74 #define XBEE1_CS_PIN GPIO_PIN(PA, 18)
75 
76 #define XBEE1_INT_PIN GPIO_PIN(PA, 21)
86 #define XBEE2_EN_PORT PORT->Group[PB]
87 #define XBEE2_EN_MASK (1 << 10)
88 #define XBEE2_EN_PIN GPIO_PIN(PB, 10)
89 #define XBEE2_EN_MODE GPIO_OUT
90 
91 #define XBEE2_ENABLE (XBEE2_EN_PORT.OUTCLR.reg = XBEE2_EN_MASK)
92 #define XBEE2_DISABLE (XBEE2_EN_PORT.OUTSET.reg = XBEE2_EN_MASK)
93 
94 #define XBEE2_CS_PIN GPIO_PIN(PA, 14)
95 
96 #define XBEE2_INT_PIN GPIO_PIN(PA, 15)
106 #define I2C_EN_PORT PORT->Group[PB]
107 #define I2C_EN_MASK (1 << 11)
108 #define I2C_EN_PIN GPIO_PIN(PB, 11)
109 #define I2C_EN_MODE GPIO_OUT
110 
111 #define I2C_ENABLE (I2C_EN_PORT.OUTSET.reg = I2C_EN_MASK)
112 #define I2C_DISABLE (I2C_EN_PORT.OUTCLR.reg = I2C_EN_MASK)
124 #define SX127X_PARAM_SPI (SPI_DEV(0))
125 
126 #define SX127X_PARAM_SPI_NSS XBEE1_CS_PIN /* D23 */
127 
128 #define SX127X_PARAM_RESET GPIO_UNDEF
129 
130 #define SX127X_PARAM_DIO0 XBEE1_INT_PIN /* D24 */
131 
132 #define SX127X_PARAM_DIO1 GPIO_UNDEF
133 
134 #define SX127X_PARAM_DIO2 GPIO_UNDEF
135 
136 #define SX127X_PARAM_DIO3 GPIO_UNDEF
137 
138 #define SX127X_PARAM_PASELECT (SX127X_PA_BOOST)
144 #define WAIT_FOR_SPI_RESET (3000000UL)
145 
149 #define HDC1000_PARAM_ADDR (0x40)
150 
154 #define TSL2561_PARAM_ADDR TSL2561_ADDR_LOW
155 
159 #define BMX280_PARAM_I2C_ADDR (0x76)
160 
161 #if defined(MODULE_MTD_SDCARD) || defined(DOXYGEN)
166 #define MTD_0 mtd_dev_get(0)
168 #endif /* MODULE_MTD_SDCARD || DOXYGEN */
169 
170 #ifdef __cplusplus
171 }
172 #endif
173 
Peripheral MCU configuration for the Zigduino board.
Low-level GPIO peripheral driver interface definitions.