Loading...
Searching...
No Matches
arduino_board_pwm.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2023 Otto-von-Guericke-Universität Magdeburg
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
24
25#include "arduino_iomap.h"
26#include "periph/pwm.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#ifdef DOXYGEN
36#define ARDUINO_PWM_FREQU /* implementation defined */
37#else
38# ifndef ARDUINO_PWM_FREQU
39# define ARDUINO_PWM_FREQU (490U)
40# endif
41#endif
42
59static const arduino_pwm_t arduino_pwm_list[] = {
60#ifdef ARDUINO_PIN_0_PWM_DEV
61 { .dev = ARDUINO_PIN_0_PWM_DEV, .chan = ARDUINO_PIN_0_PWM_CHAN, .pin = 0 },
62#endif
63#ifdef ARDUINO_PIN_1_PWM_DEV
64 { .dev = ARDUINO_PIN_1_PWM_DEV, .chan = ARDUINO_PIN_1_PWM_CHAN, .pin = 1 },
65#endif
66#ifdef ARDUINO_PIN_2_PWM_DEV
67 { .dev = ARDUINO_PIN_2_PWM_DEV, .chan = ARDUINO_PIN_2_PWM_CHAN, .pin = 2 },
68#endif
69#ifdef ARDUINO_PIN_3_PWM_DEV
70 { .dev = ARDUINO_PIN_3_PWM_DEV, .chan = ARDUINO_PIN_3_PWM_CHAN, .pin = 3 },
71#endif
72#ifdef ARDUINO_PIN_4_PWM_DEV
73 { .dev = ARDUINO_PIN_4_PWM_DEV, .chan = ARDUINO_PIN_4_PWM_CHAN, .pin = 4 },
74#endif
75#ifdef ARDUINO_PIN_5_PWM_DEV
76 { .dev = ARDUINO_PIN_5_PWM_DEV, .chan = ARDUINO_PIN_5_PWM_CHAN, .pin = 5 },
77#endif
78#ifdef ARDUINO_PIN_6_PWM_DEV
79 { .dev = ARDUINO_PIN_6_PWM_DEV, .chan = ARDUINO_PIN_6_PWM_CHAN, .pin = 6 },
80#endif
81#ifdef ARDUINO_PIN_7_PWM_DEV
82 { .dev = ARDUINO_PIN_7_PWM_DEV, .chan = ARDUINO_PIN_7_PWM_CHAN, .pin = 7 },
83#endif
84#ifdef ARDUINO_PIN_8_PWM_DEV
85 { .dev = ARDUINO_PIN_8_PWM_DEV, .chan = ARDUINO_PIN_8_PWM_CHAN, .pin = 8 },
86#endif
87#ifdef ARDUINO_PIN_9_PWM_DEV
88 { .dev = ARDUINO_PIN_9_PWM_DEV, .chan = ARDUINO_PIN_9_PWM_CHAN, .pin = 9 },
89#endif
90#ifdef ARDUINO_PIN_10_PWM_DEV
91 { .dev = ARDUINO_PIN_10_PWM_DEV, .chan = ARDUINO_PIN_10_PWM_CHAN, .pin = 10 },
92#endif
93#ifdef ARDUINO_PIN_11_PWM_DEV
94 { .dev = ARDUINO_PIN_11_PWM_DEV, .chan = ARDUINO_PIN_11_PWM_CHAN, .pin = 11 },
95#endif
96#ifdef ARDUINO_PIN_12_PWM_DEV
97 { .dev = ARDUINO_PIN_12_PWM_DEV, .chan = ARDUINO_PIN_12_PWM_CHAN, .pin = 12 },
98#endif
99#ifdef ARDUINO_PIN_13_PWM_DEV
100 { .dev = ARDUINO_PIN_13_PWM_DEV, .chan = ARDUINO_PIN_13_PWM_CHAN, .pin = 13 },
101#endif
102#ifdef ARDUINO_PIN_14_PWM_DEV
103 { .dev = ARDUINO_PIN_14_PWM_DEV, .chan = ARDUINO_PIN_14_PWM_CHAN, .pin = 14 },
104#endif
105#ifdef ARDUINO_PIN_15_PWM_DEV
106 { .dev = ARDUINO_PIN_15_PWM_DEV, .chan = ARDUINO_PIN_15_PWM_CHAN, .pin = 15 },
107#endif
108#ifdef ARDUINO_PIN_16_PWM_DEV
109 { .dev = ARDUINO_PIN_16_PWM_DEV, .chan = ARDUINO_PIN_16_PWM_CHAN, .pin = 16 },
110#endif
111#ifdef ARDUINO_PIN_17_PWM_DEV
112 { .dev = ARDUINO_PIN_17_PWM_DEV, .chan = ARDUINO_PIN_17_PWM_CHAN, .pin = 17 },
113#endif
114#ifdef ARDUINO_PIN_18_PWM_DEV
115 { .dev = ARDUINO_PIN_18_PWM_DEV, .chan = ARDUINO_PIN_18_PWM_CHAN, .pin = 18 },
116#endif
117#ifdef ARDUINO_PIN_19_PWM_DEV
118 { .dev = ARDUINO_PIN_19_PWM_DEV, .chan = ARDUINO_PIN_19_PWM_CHAN, .pin = 19 },
119#endif
120#ifdef ARDUINO_PIN_20_PWM_DEV
121 { .dev = ARDUINO_PIN_20_PWM_DEV, .chan = ARDUINO_PIN_20_PWM_CHAN, .pin = 20 },
122#endif
123#ifdef ARDUINO_PIN_21_PWM_DEV
124 { .dev = ARDUINO_PIN_21_PWM_DEV, .chan = ARDUINO_PIN_21_PWM_CHAN, .pin = 21 },
125#endif
126#ifdef ARDUINO_PIN_22_PWM_DEV
127 { .dev = ARDUINO_PIN_22_PWM_DEV, .chan = ARDUINO_PIN_22_PWM_CHAN, .pin = 22 },
128#endif
129#ifdef ARDUINO_PIN_23_PWM_DEV
130 { .dev = ARDUINO_PIN_23_PWM_DEV, .chan = ARDUINO_PIN_23_PWM_CHAN, .pin = 23 },
131#endif
132#ifdef ARDUINO_PIN_24_PWM_DEV
133 { .dev = ARDUINO_PIN_24_PWM_DEV, .chan = ARDUINO_PIN_24_PWM_CHAN, .pin = 24 },
134#endif
135#ifdef ARDUINO_PIN_25_PWM_DEV
136 { .dev = ARDUINO_PIN_25_PWM_DEV, .chan = ARDUINO_PIN_25_PWM_CHAN, .pin = 25 },
137#endif
138#ifdef ARDUINO_PIN_26_PWM_DEV
139 { .dev = ARDUINO_PIN_26_PWM_DEV, .chan = ARDUINO_PIN_26_PWM_CHAN, .pin = 26 },
140#endif
141#ifdef ARDUINO_PIN_27_PWM_DEV
142 { .dev = ARDUINO_PIN_27_PWM_DEV, .chan = ARDUINO_PIN_27_PWM_CHAN, .pin = 27 },
143#endif
144#ifdef ARDUINO_PIN_28_PWM_DEV
145 { .dev = ARDUINO_PIN_28_PWM_DEV, .chan = ARDUINO_PIN_28_PWM_CHAN, .pin = 28 },
146#endif
147#ifdef ARDUINO_PIN_29_PWM_DEV
148 { .dev = ARDUINO_PIN_29_PWM_DEV, .chan = ARDUINO_PIN_29_PWM_CHAN, .pin = 29 },
149#endif
150#ifdef ARDUINO_PIN_30_PWM_DEV
151 { .dev = ARDUINO_PIN_30_PWM_DEV, .chan = ARDUINO_PIN_30_PWM_CHAN, .pin = 30 },
152#endif
153#ifdef ARDUINO_PIN_31_PWM_DEV
154 { .dev = ARDUINO_PIN_31_PWM_DEV, .chan = ARDUINO_PIN_31_PWM_CHAN, .pin = 31 },
155#endif
156};
157
158#ifdef __cplusplus
159}
160#endif
161
static const arduino_pwm_t arduino_pwm_list[]
List of PWM GPIO mappings.
#define ARDUINO_PIN_6_PWM_DEV
PWM device for Arduino pin 6.
#define ARDUINO_PIN_5_PWM_CHAN
PWM channel for Arduino pin 5.
#define ARDUINO_PIN_6_PWM_CHAN
PWM channel for Arduino pin 6.
#define ARDUINO_PIN_5_PWM_DEV
PWM device for Arduino pin 5.
#define ARDUINO_PIN_10_PWM_CHAN
PWM channel for Arduino pin 10.
#define ARDUINO_PIN_10_PWM_DEV
PWM device for Arduino pin 10.
#define ARDUINO_PIN_11_PWM_CHAN
PWM channel for Arduino pin 11.
#define ARDUINO_PIN_11_PWM_DEV
PWM device for Arduino pin 11.
Low-level PWM peripheral driver interface definitions.