/
board.h
198 lines (182 loc) · 7.13 KB
/
board.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
/**
* @file boards/arduino_due/board.h
*
* @section License
* Copyright (C) 2014-2016, Erik Moqvist
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* This file is part of the Simba project.
*/
#ifndef __BOARD_H__
#define __BOARD_H__
#define pin_d0_dev pin_device[SAM_PA+8]
#define pin_d1_dev pin_device[SAM_PA+9]
#define pin_d2_dev pin_device[SAM_PB+25]
#define pin_d3_dev pin_device[SAM_PC+28]
#define pin_d4_dev pin_device[SAM_PC+26]
#define pin_d5_dev pin_device[SAM_PC+25]
#define pin_d6_dev pin_device[SAM_PC+24]
#define pin_d7_dev pin_device[SAM_PC+23]
#define pin_d8_dev pin_device[SAM_PC+22]
#define pin_d9_dev pin_device[SAM_PC+21]
#define pin_d10_dev pin_device[SAM_PA+28]
#define pin_d11_dev pin_device[SAM_PD+7]
#define pin_d12_dev pin_device[SAM_PD+8]
#define pin_d13_dev pin_device[SAM_PB+27]
#define pin_d14_dev pin_device[SAM_PD+4]
#define pin_d15_dev pin_device[SAM_PD+5]
#define pin_d16_dev pin_device[SAM_PA+13]
#define pin_d17_dev pin_device[SAM_PA+12]
#define pin_d18_dev pin_device[SAM_PA+11]
#define pin_d19_dev pin_device[SAM_PA+10]
#define pin_d20_dev pin_device[SAM_PB+12]
#define pin_d21_dev pin_device[SAM_PB+13]
#define pin_d22_dev pin_device[SAM_PB+26]
#define pin_d23_dev pin_device[SAM_PA+14]
#define pin_d24_dev pin_device[SAM_PA+15]
#define pin_d25_dev pin_device[SAM_PD+0]
#define pin_d26_dev pin_device[SAM_PD+1]
#define pin_d27_dev pin_device[SAM_PD+2]
#define pin_d28_dev pin_device[SAM_PD+3]
#define pin_d29_dev pin_device[SAM_PD+6]
#define pin_d30_dev pin_device[SAM_PD+9]
#define pin_d31_dev pin_device[SAM_PA+7]
#define pin_d32_dev pin_device[SAM_PD+10]
#define pin_d33_dev pin_device[SAM_PC+1]
#define pin_d34_dev pin_device[SAM_PC+2]
#define pin_d35_dev pin_device[SAM_PC+3]
#define pin_d36_dev pin_device[SAM_PC+4]
#define pin_d37_dev pin_device[SAM_PC+5]
#define pin_d38_dev pin_device[SAM_PC+6]
#define pin_d39_dev pin_device[SAM_PC+7]
#define pin_d40_dev pin_device[SAM_PC+8]
#define pin_d41_dev pin_device[SAM_PC+9]
#define pin_d42_dev pin_device[SAM_PA+19]
#define pin_d43_dev pin_device[SAM_PA+20]
#define pin_d44_dev pin_device[SAM_PC+19]
#define pin_d45_dev pin_device[SAM_PC+18]
#define pin_d46_dev pin_device[SAM_PC+17]
#define pin_d47_dev pin_device[SAM_PC+16]
#define pin_d48_dev pin_device[SAM_PC+15]
#define pin_d49_dev pin_device[SAM_PC+14]
#define pin_d50_dev pin_device[SAM_PC+13]
#define pin_d51_dev pin_device[SAM_PC+12]
#define pin_d52_dev pin_device[SAM_PB+21]
#define pin_d53_dev pin_device[SAM_PB+14]
#define pin_a0_dev pin_device[SAM_PA+16]
#define pin_a1_dev pin_device[SAM_PA+24]
#define pin_a2_dev pin_device[SAM_PA+23]
#define pin_a3_dev pin_device[SAM_PA+22]
#define pin_a4_dev pin_device[SAM_PA+6]
#define pin_a5_dev pin_device[SAM_PA+4]
#define pin_a6_dev pin_device[SAM_PA+3]
#define pin_a7_dev pin_device[SAM_PA+2]
#define pin_a8_dev pin_device[SAM_PB+17]
#define pin_a9_dev pin_device[SAM_PB+18]
#define pin_a10_dev pin_device[SAM_PB+19]
#define pin_a11_dev pin_device[SAM_PB+20]
#define pin_led_dev pin_d13_dev
#define pin_dac0_dev pin_device[SAM_PB+15]
#define pin_dac1_dev pin_device[SAM_PB+16]
/* Interrupts. */
#define exti_d0_dev exti_device[SAM_PA+8]
#define exti_d1_dev exti_device[SAM_PA+9]
#define exti_d2_dev exti_device[SAM_PB+25]
#define exti_d3_dev exti_device[SAM_PC+28]
#define exti_d4_dev exti_device[SAM_PC+26]
#define exti_d5_dev exti_device[SAM_PC+25]
#define exti_d6_dev exti_device[SAM_PC+24]
#define exti_d7_dev exti_device[SAM_PC+23]
#define exti_d8_dev exti_device[SAM_PC+22]
#define exti_d9_dev exti_device[SAM_PC+21]
#define exti_d10_dev exti_device[SAM_PA+28]
#define exti_d11_dev exti_device[SAM_PD+7]
#define exti_d12_dev exti_device[SAM_PD+8]
#define exti_d13_dev exti_device[SAM_PB+27]
#define exti_d14_dev exti_device[SAM_PD+4]
#define exti_d15_dev exti_device[SAM_PD+5]
#define exti_d16_dev exti_device[SAM_PA+13]
#define exti_d17_dev exti_device[SAM_PA+12]
#define exti_d18_dev exti_device[SAM_PA+11]
#define exti_d19_dev exti_device[SAM_PA+10]
#define exti_d20_dev exti_device[SAM_PB+12]
#define exti_d21_dev exti_device[SAM_PB+13]
#define exti_d22_dev exti_device[SAM_PB+26]
#define exti_d23_dev exti_device[SAM_PA+14]
#define exti_d24_dev exti_device[SAM_PA+15]
#define exti_d25_dev exti_device[SAM_PD+0]
#define exti_d26_dev exti_device[SAM_PD+1]
#define exti_d27_dev exti_device[SAM_PD+2]
#define exti_d28_dev exti_device[SAM_PD+3]
#define exti_d29_dev exti_device[SAM_PD+6]
#define exti_d30_dev exti_device[SAM_PD+9]
#define exti_d31_dev exti_device[SAM_PA+7]
#define exti_d32_dev exti_device[SAM_PD+10]
#define exti_d33_dev exti_device[SAM_PC+1]
#define exti_d34_dev exti_device[SAM_PC+2]
#define exti_d35_dev exti_device[SAM_PC+3]
#define exti_d36_dev exti_device[SAM_PC+4]
#define exti_d37_dev exti_device[SAM_PC+5]
#define exti_d38_dev exti_device[SAM_PC+6]
#define exti_d39_dev exti_device[SAM_PC+7]
#define exti_d40_dev exti_device[SAM_PC+8]
#define exti_d41_dev exti_device[SAM_PC+9]
#define exti_d42_dev exti_device[SAM_PA+19]
#define exti_d43_dev exti_device[SAM_PA+20]
#define exti_d44_dev exti_device[SAM_PC+19]
#define exti_d45_dev exti_device[SAM_PC+18]
#define exti_d46_dev exti_device[SAM_PC+17]
#define exti_d47_dev exti_device[SAM_PC+16]
#define exti_d48_dev exti_device[SAM_PC+15]
#define exti_d49_dev exti_device[SAM_PC+14]
#define exti_d50_dev exti_device[SAM_PC+13]
#define exti_d51_dev exti_device[SAM_PC+12]
#define exti_d52_dev exti_device[SAM_PB+21]
#define exti_d53_dev exti_device[SAM_PB+14]
#define exti_a0_dev exti_device[SAM_PA+16]
#define exti_a1_dev exti_device[SAM_PA+24]
#define exti_a2_dev exti_device[SAM_PA+23]
#define exti_a3_dev exti_device[SAM_PA+22]
#define exti_a4_dev exti_device[SAM_PA+6]
#define exti_a5_dev exti_device[SAM_PA+4]
#define exti_a6_dev exti_device[SAM_PA+3]
#define exti_a7_dev exti_device[SAM_PA+2]
#define exti_a8_dev exti_device[SAM_PB+17]
#define exti_a9_dev exti_device[SAM_PB+18]
#define exti_a10_dev exti_device[SAM_PB+19]
#define exti_a11_dev exti_device[SAM_PB+20]
#define exti_led_dev exti_d13_dev
#define exti_dac0_dev exti_device[SAM_PB+15]
#define exti_dac1_dev exti_device[SAM_PB+16]
/* PWM d4 and d13 cannot be used since the timer is used for the system tick. */
#define pwm_d2_dev pwm_device[0]
#define pwm_d3_dev pwm_device[1]
#define pwm_d5_dev pwm_device[2]
#define pwm_d6_dev pwm_device[3]
#define pwm_d7_dev pwm_device[4]
#define pwm_d8_dev pwm_device[5]
#define pwm_d9_dev pwm_device[6]
#define pwm_d10_dev pwm_device[7]
#define pwm_d11_dev pwm_device[8]
#define pwm_d12_dev pwm_device[9]
#define adc_0_dev adc_device[0]
#define dac_0_dev dac_device[0]
#define flash_0_dev flash_device[0]
/**
* Convert given pin string to the pin number.
*
* @param[in] str_p Pin as a string.
*
* @return Pin number of negative error code.
*/
int board_pin_string_to_device_index(const char *str_p);
#endif