Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
board.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2021 Gerson Fernando Budke
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
18
#include "cpu.h"
19
#include "
macros/units.h
"
20
21
#ifdef __cplusplus
22
extern
"C"
{
23
#endif
24
28
#define CLOCK_CORECLOCK MHZ(32)
29
33
#define STDIO_UART_DEV UART_DEV(2)
34
48
#ifndef STDIO_UART_BAUDRATE
49
#define STDIO_UART_BAUDRATE (115200U)
50
#endif
57
#define LED_PORT PORTE
58
59
#define LED0_PIN GPIO_PIN(PORT_E, 0)
60
#define LED0_MODE GPIO_OUT
61
#define LED0_MASK (PIN0_bm)
62
#define LED0_ON (LED_PORT.OUTCLR = LED0_MASK)
63
#define LED0_OFF (LED_PORT.OUTSET = LED0_MASK)
64
#define LED0_TOGGLE (LED_PORT.OUTTGL = LED0_MASK)
65
66
#define LED1_PIN GPIO_PIN(PORT_E, 1)
67
#define LED1_MODE GPIO_OUT
68
#define LED1_MASK (PIN1_bm)
69
#define LED1_ON (LED_PORT.OUTCLR = LED1_MASK)
70
#define LED1_OFF (LED_PORT.OUTSET = LED1_MASK)
71
#define LED1_TOGGLE (LED_PORT.OUTTGL = LED1_MASK)
72
73
#define LED2_PIN GPIO_PIN(PORT_E, 2)
74
#define LED2_MODE GPIO_OUT
75
#define LED2_MASK (PIN2_bm)
76
#define LED2_ON (LED_PORT.OUTCLR = LED2_MASK)
77
#define LED2_OFF (LED_PORT.OUTSET = LED2_MASK)
78
#define LED2_TOGGLE (LED_PORT.OUTTGL = LED2_MASK)
79
80
#define LED3_PIN GPIO_PIN(PORT_E, 3)
81
#define LED3_MODE GPIO_OUT
82
#define LED3_MASK (PIN3_bm)
83
#define LED3_ON (LED_PORT.OUTCLR = LED3_MASK)
84
#define LED3_OFF (LED_PORT.OUTSET = LED3_MASK)
85
#define LED3_TOGGLE (LED_PORT.OUTTGL = LED3_MASK)
86
87
#define LED4_PIN GPIO_PIN(PORT_E, 4)
88
#define LED4_MODE GPIO_OUT
89
#define LED4_MASK (PIN4_bm)
90
#define LED4_ON (LED_PORT.OUTCLR = LED4_MASK)
91
#define LED4_OFF (LED_PORT.OUTSET = LED4_MASK)
92
#define LED4_TOGGLE (LED_PORT.OUTTGL = LED4_MASK)
93
94
#define LED5_PIN GPIO_PIN(PORT_E, 5)
95
#define LED5_MODE GPIO_OUT
96
#define LED5_MASK (PIN5_bm)
97
#define LED5_ON (LED_PORT.OUTCLR = LED5_MASK)
98
#define LED5_OFF (LED_PORT.OUTSET = LED5_MASK)
99
#define LED5_TOGGLE (LED_PORT.OUTTGL = LED5_MASK)
100
101
#define LED6_PIN GPIO_PIN(PORT_E, 6)
102
#define LED6_MODE GPIO_OUT
103
#define LED6_MASK (PIN6_bm)
104
#define LED6_ON (LED_PORT.OUTCLR = LED6_MASK)
105
#define LED6_OFF (LED_PORT.OUTSET = LED6_MASK)
106
#define LED6_TOGGLE (LED_PORT.OUTTGL = LED6_MASK)
107
108
#define LED7_PIN GPIO_PIN(PORT_E, 7)
109
#define LED7_MODE GPIO_OUT
110
#define LED7_MASK (PIN7_bm)
111
#define LED7_ON (LED_PORT.OUTCLR = LED7_MASK)
112
#define LED7_OFF (LED_PORT.OUTSET = LED7_MASK)
113
#define LED7_TOGGLE (LED_PORT.OUTTGL = LED7_MASK)
114
115
#define LED_PORT_MASK (LED0_MASK | LED1_MASK | LED2_MASK | LED3_MASK | \
116
LED4_MASK | LED5_MASK | LED6_MASK | LED7_MASK)
123
#define BTN0_PIN GPIO_PIN(PORT_D, 0)
124
#define BTN0_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
125
#define BTN0_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
126
127
#define BTN1_PIN GPIO_PIN(PORT_D, 1)
128
#define BTN1_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
129
#define BTN1_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
130
131
#define BTN2_PIN GPIO_PIN(PORT_D, 2)
132
#define BTN2_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
133
#define BTN2_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
134
135
#define BTN3_PIN GPIO_PIN(PORT_D, 3)
136
#define BTN3_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
137
#define BTN3_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
138
139
#define BTN4_PIN GPIO_PIN(PORT_D, 4)
140
#define BTN4_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
141
#define BTN4_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
142
143
#define BTN5_PIN GPIO_PIN(PORT_D, 5)
144
#define BTN5_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
145
#define BTN5_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
146
147
#define BTN6_PIN GPIO_PIN(PORT_R, 0)
148
#define BTN6_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
149
#define BTN6_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
150
151
#define BTN7_PIN GPIO_PIN(PORT_R, 1)
152
#define BTN7_MODE (GPIO_IN | GPIO_OPC_PU | GPIO_SLEW_RATE)
153
#define BTN7_INT_FLANK (GPIO_ISC_FALLING | GPIO_LVL_LOW)
170
#define XTIMER_DEV TIMER_DEV(0)
171
#define XTIMER_CHAN (0)
172
#define XTIMER_WIDTH (16)
173
#define XTIMER_HZ KHZ(500)
174
#define XTIMER_BACKOFF (150)
177
#ifdef __cplusplus
178
}
179
#endif
180
units.h
Unit helper macros.
Generated on Thu Jul 24 2025 16:03:56 by
1.9.1