arduino_iomap.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 Gunar Schorcht
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
18 #include "periph/gpio.h"
19 #include "periph/adc.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
29 #define ARDUINO_PIN_0 GPIO44
30 #define ARDUINO_PIN_1 GPIO43
32 #define ARDUINO_PIN_2 GPIO5
33 #define ARDUINO_PIN_3 GPIO6
34 #define ARDUINO_PIN_4 GPIO7
35 #define ARDUINO_PIN_5 GPIO8
36 #define ARDUINO_PIN_6 GPIO9
37 #define ARDUINO_PIN_7 GPIO10
38 #define ARDUINO_PIN_8 GPIO17
39 #define ARDUINO_PIN_9 GPIO18
41 #define ARDUINO_PIN_10 GPIO21
42 #define ARDUINO_PIN_11 GPIO38
43 #define ARDUINO_PIN_12 GPIO47
44 #define ARDUINO_PIN_13 GPIO48
46 #define ARDUINO_PIN_14 GPIO46
47 #define ARDUINO_PIN_15 GPIO0
48 #define ARDUINO_PIN_16 GPIO45
50 #define ARDUINO_PIN_17 GPIO1
51 #define ARDUINO_PIN_18 GPIO2
52 #define ARDUINO_PIN_19 GPIO3
53 #define ARDUINO_PIN_20 GPIO4
54 #define ARDUINO_PIN_21 GPIO11
55 #define ARDUINO_PIN_22 GPIO12
56 #define ARDUINO_PIN_23 GPIO13
57 #define ARDUINO_PIN_24 GPIO14
59 #define ARDUINO_PIN_LAST 24
66 #define ARDUINO_PIN_A0 ARDUINO_PIN_17
67 #define ARDUINO_PIN_A1 ARDUINO_PIN_18
68 #define ARDUINO_PIN_A2 ARDUINO_PIN_19
69 #define ARDUINO_PIN_A3 ARDUINO_PIN_20
70 #if !MODULE_PERIPH_I2C
71 # define ARDUINO_PIN_A4 ARDUINO_PIN_21
72 # define ARDUINO_PIN_A5 ARDUINO_PIN_22
73 # define ARDUINO_PIN_A6 ARDUINO_PIN_23
74 # define ARDUINO_PIN_A7 ARDUINO_PIN_24
75 #endif
82 #define ARDUINO_A0 ADC_LINE(0)
83 #define ARDUINO_A1 ADC_LINE(1)
84 #define ARDUINO_A2 ADC_LINE(2)
85 #define ARDUINO_A3 ADC_LINE(3)
86 #if !MODULE_PERIPH_I2C
87 # define ARDUINO_A4 ADC_LINE(4)
88 # define ARDUINO_A5 ADC_LINE(5)
89 # define ARDUINO_A6 ADC_LINE(6)
90 # define ARDUINO_A7 ADC_LINE(7)
91 #endif
92 
93 #if !MODULE_PERIPH_I2C
94 # define ARDUINO_ANALOG_PIN_LAST 7
95 #else
96 # define ARDUINO_ANALOG_PIN_LAST 3
97 #endif
104 #define ARDUINO_PIN_2_PWM_DEV PWM_DEV(0)
105 #define ARDUINO_PIN_2_PWM_CHAN 0
106 #define ARDUINO_PIN_3_PWM_DEV PWM_DEV(0)
107 #define ARDUINO_PIN_3_PWM_CHAN 1
108 #define ARDUINO_PIN_4_PWM_DEV PWM_DEV(0)
109 #define ARDUINO_PIN_4_PWM_CHAN 2
110 #define ARDUINO_PIN_5_PWM_DEV PWM_DEV(0)
111 #define ARDUINO_PIN_5_PWM_CHAN 3
112 #define ARDUINO_PIN_6_PWM_DEV PWM_DEV(0)
113 #define ARDUINO_PIN_6_PWM_CHAN 4
114 #define ARDUINO_PIN_7_PWM_DEV PWM_DEV(0)
115 #define ARDUINO_PIN_7_PWM_CHAN 5
116 #define ARDUINO_PIN_8_PWM_DEV PWM_DEV(0)
117 #define ARDUINO_PIN_8_PWM_CHAN 6
118 #define ARDUINO_PIN_9_PWM_DEV PWM_DEV(0)
119 #define ARDUINO_PIN_9_PWM_CHAN 7
120 #define ARDUINO_PIN_14_PWM_DEV PWM_DEV(1)
121 #define ARDUINO_PIN_14_PWM_CHAN 0
122 #define ARDUINO_PIN_15_PWM_DEV PWM_DEV(1)
123 #define ARDUINO_PIN_15_PWM_CHAN 1
124 #define ARDUINO_PIN_16_PWM_DEV PWM_DEV(1)
125 #define ARDUINO_PIN_16_PWM_CHAN 2
128 #ifdef __cplusplus
129 }
130 #endif
131 
Low-level ADC peripheral driver interface definitions.
Low-level GPIO peripheral driver interface definitions.