board.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 ML!PA Consulting GmbH
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 
9 #pragma once
10 
21 #include "arduino_iomap.h"
22 #include "cpu.h"
23 #include "periph/gpio.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
34 #define LED0_PIN GPIO_PIN(PA, 16)
35 #define LED1_PIN GPIO_PIN(PA, 27)
36 #define LED2_PIN GPIO_PIN(PB, 6)
38 #define LED0_PORT PORT->Group[PA]
39 #define LED0_MASK (1U << 16)
40 #define LED1_PORT PORT->Group[PA]
41 #define LED1_MASK (1U << 27)
42 #define LED2_PORT PORT->Group[PB]
43 #define LED2_MASK (1U << 6)
45 #define LED0_ON (LED0_PORT.OUTSET.reg = LED0_MASK)
46 #define LED0_OFF (LED0_PORT.OUTCLR.reg = LED0_MASK)
47 #define LED0_TOGGLE (LED0_PORT.OUTTGL.reg = LED0_MASK)
49 #define LED1_ON (LED1_PORT.OUTCLR.reg = LED1_MASK)
50 #define LED1_OFF (LED1_PORT.OUTSET.reg = LED1_MASK)
51 #define LED1_TOGGLE (LED1_PORT.OUTTGL.reg = LED1_MASK)
53 #define LED2_ON (LED2_PORT.OUTCLR.reg = LED2_MASK)
54 #define LED2_OFF (LED2_PORT.OUTSET.reg = LED2_MASK)
55 #define LED2_TOGGLE (LED2_PORT.OUTTGL.reg = LED2_MASK)
57 #ifndef WS281X_PARAM_PIN
58 #define WS281X_PARAM_PIN GPIO_PIN(PB, 22)
59 #endif
60 #ifndef WS281X_PARAM_NUMOF
61 #define WS281X_PARAM_NUMOF (1U)
62 #endif
69 #define MTD_0 mtd_dev_get(0)
72 #ifdef __cplusplus
73 }
74 #endif
75 
Low-level GPIO peripheral driver interface definitions.
Mapping from MCU pins to Arduino pins.