Loading...
Searching...
No Matches
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
20
21#include "cpu.h"
22#include "periph_conf.h"
23#include "periph_cpu.h"
24#include "periph/gpio.h"
25
26#ifdef __cplusplus
27extern "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)
50
55#define BTN0_PIN GPIO_PIN(PA, 20)
56#define BTN0_MODE GPIO_IN_PU
58
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)
78
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)
98
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)
114
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)
140
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
Configuration of CPU peripherals for SenseBox MCU with SAMD21.
Low-level GPIO peripheral driver interface definitions.