@@ -51,8 +51,8 @@ static const uint8_t MOSI = PIN_SPI_MOSI;
5151static const uint8_t MISO = PIN_SPI_MISO ;
5252static const uint8_t SCK = PIN_SPI_SCK ;
5353
54- #define PIN_WIRE_SDA (20 )
55- #define PIN_WIRE_SCL (21 )
54+ #define PIN_WIRE_SDA (22 )
55+ #define PIN_WIRE_SCL (23 )
5656
5757static const uint8_t SDA = PIN_WIRE_SDA ;
5858static const uint8_t SCL = PIN_WIRE_SCL ;
@@ -89,14 +89,14 @@ static const uint8_t SCL = PIN_WIRE_SCL;
8989
9090#define LED_BUILTIN (13)
9191
92- #define PIN_A0 (0 ) // AIN3
93- #define PIN_A1 (1 ) // AIN2
94- #define PIN_A2 (2 ) // AIN1
95- #define PIN_A3 (3 ) // AIN0
96- #define PIN_A4 (4 ) // PF2 / AIN12
97- #define PIN_A5 (5 ) // PF3 / AIN13
98- #define PIN_A6 (6 ) // AIN5
99- #define PIN_A7 (7 ) // AIN4
92+ #define PIN_A0 (14 ) // AIN3
93+ #define PIN_A1 (15 ) // AIN2
94+ #define PIN_A2 (16 ) // AIN1
95+ #define PIN_A3 (17 ) // AIN0
96+ #define PIN_A4 (18 ) // PF2 / AIN12
97+ #define PIN_A5 (19 ) // PF3 / AIN13
98+ #define PIN_A6 (20 ) // AIN5
99+ #define PIN_A7 (21 ) // AIN4
100100
101101static const uint8_t A0 = PIN_A0 ;
102102static const uint8_t A1 = PIN_A1 ;
@@ -157,33 +157,16 @@ const uint8_t PROGMEM digital_pin_to_port[] = {
157157 PE , // 11 PE0
158158 PE , // 12 PE1
159159 PE , // 13 PE2
160- PD , // 14 PD0/AI0
161- PD , // 15 PD1AI1
162- PD , // 16 PD2/AI2
163- PD , // 17 PD3/AI3
164- PD , // 18 PD4/AI4
165- PD , // 19 PD5/AI5
166- PA , // 20 PA2/TWI_SDA
167- PA , // 21 PA3/TWI_SCL
168- PC , // 22 PC3
169- PA , // 23 PA5/NINA TX
170- PA , // 24 PA4/NINA RX
171- PD , // 25 PD6/LED_BUILTIN
172- PB , // 26 PB5/USART3_Rx
173- PB , // 27 PB4/USART3_Tx
174- PA , // 28 PA6/NINA GPIO0
175- PA , // 29 PA7/NINA RST
176- PB , // 30 PB3/IMU CS
177- PC , // 31 PC7/IMU INT
178- PC , // 32 PC0/MOSI
179- PC , // 33 PC1/MISO
180- PC , // 34 PC2/SCK
181- PF , // 35 PF2/NINA CS
182- PF , // 36 PF3/NINA ACK
183- PF , // 37 PF0 TOSC 1
184- PF , // 38 PF1 TOSC 2
185- PD , // 39 PD7 VREF
186- PF // 40 PF6 RESET
160+ PD , // 14 PD3/AI3
161+ PD , // 15 PD2/AI2
162+ PD , // 16 PD1/AI1
163+ PD , // 17 PD0/AI0
164+ PF , // 18 PF2/AI12
165+ PF , // 19 PF3/AI13
166+ PD , // 20 PD5/AI5
167+ PD , // 21 PD4/AI4
168+ PA , // 22 PA2/TWI_SDA
169+ PA , // 23 PA3/TWI_SCL
187170};
188171
189172/* Use this for accessing PINnCTRL register */
@@ -202,33 +185,16 @@ const uint8_t PROGMEM digital_pin_to_bit_position[] = {
202185 PIN0_bp , // 11 PE0
203186 PIN1_bp , // 12 PE1
204187 PIN2_bp , // 13 PE2
205- PIN0_bp , // 14 PD0/AI0
206- PIN1_bp , // 15 PD1AI1
207- PIN2_bp , // 16 PD2/AI2
208- PIN3_bp , // 17 PD3/AI3
209- PIN4_bp , // 18 PD4/AI4
210- PIN5_bp , // 19 PD5/AI5
211- PIN2_bp , // 20 PA2/TWI_SDA
212- PIN3_bp , // 21 PA3/TWI_SCL
213- PIN3_bp , // 22 PC3
214- PIN5_bp , // 23 PA5/NINA TX
215- PIN4_bp , // 24 PA4/NINA RX
216- PIN6_bp , // 25 PD6/LED_BUILTIN
217- PIN5_bp , // 26 PB5/USART3_Rx
218- PIN4_bp , // 27 PB4/USART3_Tx
219- PIN6_bp , // 28 PA6/NINA GPIO0
220- PIN7_bp , // 29 PA7/NINA RST
221- PIN3_bp , // 30 PB3/IMU CS
222- PIN7_bp , // 31 PC7/IMU INT
223- PIN0_bp , // 32 PC0/MOSI
224- PIN1_bp , // 33 PC1/MISO
225- PIN2_bp , // 34 PC2/SCK
226- PIN2_bp , // 35 PF2/NINA CS
227- PIN3_bp , // 36 PF3/NINA ACK
228- PIN0_bp , // 37 PF0 TOSC 1
229- PIN1_bp , // 38 PF1 TOSC 2
230- PIN7_bp , // 39 PD7 VREF
231- PIN6_bp // 40 PF6 RESET
188+ PIN3_bp , // 14 PD3/AI3
189+ PIN2_bp , // 15 PD2/AI2
190+ PIN1_bp , // 16 PD1/AI1
191+ PIN0_bp , // 17 PD0/AI0
192+ PIN2_bp , // 18 PF2/AI12
193+ PIN3_bp , // 19 PF3/AI13
194+ PIN5_bp , // 20 PD5/AI5
195+ PIN4_bp , // 21 PD4/AI4
196+ PIN2_bp , // 22 PA2/TWI_SDA
197+ PIN3_bp , // 23 PA3/TWI_SCL
232198};
233199
234200/* Use this for accessing PINnCTRL register */
@@ -247,33 +213,16 @@ const uint8_t PROGMEM digital_pin_to_bit_mask[] = {
247213 PIN0_bm , // 11 PE0
248214 PIN1_bm , // 12 PE1
249215 PIN2_bm , // 13 PE2
250- PIN0_bm , // 14 PD0/AI0
251- PIN1_bm , // 15 PD1AI1
252- PIN2_bm , // 16 PD2/AI2
253- PIN3_bm , // 17 PD3/AI3
254- PIN4_bm , // 18 PD4/AI4
255- PIN5_bm , // 19 PD5/AI5
256- PIN2_bm , // 20 PA2/TWI_SDA
257- PIN3_bm , // 21 PA3/TWI_SCL
258- PIN3_bm , // 22 PC3
259- PIN5_bm , // 23 PA5/NINA TX
260- PIN4_bm , // 24 PA4/NINA RX
261- PIN6_bm , // 25 PD6/LED_BUILTIN
262- PIN5_bm , // 26 PB5/USART3_Rx
263- PIN4_bm , // 27 PB4/USART3_Tx
264- PIN6_bm , // 28 PA6/NINA GPIO0
265- PIN7_bm , // 29 PA7/NINA RST
266- PIN3_bm , // 30 PB3/IMU CS
267- PIN7_bm , // 31 PC7/IMU INT
268- PIN0_bm , // 32 PC0/MOSI
269- PIN1_bm , // 33 PC1/MISO
270- PIN2_bm , // 34 PC2/SCK
271- PIN2_bm , // 35 PF2/NINA CS
272- PIN3_bm , // 36 PF3/NINA ACK
273- PIN0_bm , // 37 PF0 TOSC 1
274- PIN1_bm , // 38 PF1 TOSC 2
275- PIN7_bm , // 39 PD7 VREF
276- PIN6_bm // 40 PF6 RESET
216+ PIN3_bm , // 14 PD3/AI3
217+ PIN2_bm , // 15 PD2/AI2
218+ PIN1_bm , // 16 PD1/AI1
219+ PIN0_bm , // 17 PD0/AI0
220+ PIN2_bm , // 18 PF2/AI12
221+ PIN3_bm , // 19 PF3/AI13
222+ PIN5_bm , // 20 PD5/AI5
223+ PIN4_bm , // 21 PD4/AI4
224+ PIN2_bm , // 22 PA2/TWI_SDA
225+ PIN3_bm , // 23 PA3/TWI_SCL
277226};
278227
279228const uint8_t PROGMEM digital_pin_to_timer [] = {
@@ -291,33 +240,16 @@ const uint8_t PROGMEM digital_pin_to_timer[] = {
291240 NOT_ON_TIMER , // 11 PE0
292241 NOT_ON_TIMER , // 12 PE1
293242 NOT_ON_TIMER , // 13 PE2
294- NOT_ON_TIMER , // 14 PD0/AI0
295- NOT_ON_TIMER , // 15 PD1AI1
296- NOT_ON_TIMER , // 16 PD2/AI2
297- NOT_ON_TIMER , // 17 PD3/AI3
298- NOT_ON_TIMER , // 18 PD4/AI4
299- NOT_ON_TIMER , // 19 PD5/AI5
300- NOT_ON_TIMER , // 20 PA2/TWI_SDA
301- NOT_ON_TIMER , // 21 PA3/TWI_SCL
302- NOT_ON_TIMER , // 22 PC3
303- NOT_ON_TIMER , // 23 PA5/NINA TX
304- NOT_ON_TIMER , // 24 PA4/NINA RX
305- NOT_ON_TIMER , // 25 PD6/LED_BUILTIN
306- NOT_ON_TIMER , // 26 PB5/USART3_Rx
307- NOT_ON_TIMER , // 27 PB4/USART3_Tx
308- NOT_ON_TIMER , // 28 PA6/NINA GPIO0
309- NOT_ON_TIMER , // 29 PA7/NINA RST
310- NOT_ON_TIMER , // 30 PB3/IMU CS
311- NOT_ON_TIMER , // 31 PC7/IMU INT
312- NOT_ON_TIMER , // 32 PC0/MOSI
313- NOT_ON_TIMER , // 33 PC1/MISO
314- NOT_ON_TIMER , // 34 PC2/SCK
315- NOT_ON_TIMER , // 35 PF2/NINA CS
316- NOT_ON_TIMER , // 36 PF3/NINA ACK
317- NOT_ON_TIMER , // 37 PF0 TOSC 1
318- NOT_ON_TIMER , // 38 PF1 TOSC 2
319- NOT_ON_TIMER , // 39 PD7 VREF
320- NOT_ON_TIMER // 40 PF6 RESET
243+ NOT_ON_TIMER , // 14 PD3/AI3
244+ NOT_ON_TIMER , // 15 PD2/AI2
245+ NOT_ON_TIMER , // 16 PD1/AI1
246+ NOT_ON_TIMER , // 17 PD0/AI0
247+ NOT_ON_TIMER , // 18 PF2/AI12
248+ NOT_ON_TIMER , // 19 PF3/AI13
249+ NOT_ON_TIMER , // 20 PD5/AI5
250+ NOT_ON_TIMER , // 21 PD4/AI4
251+ NOT_ON_TIMER , // 22 PA2/TWI_SDA
252+ NOT_ON_TIMER , // 23 PA3/TWI_SCL
321253};
322254
323255const uint8_t PROGMEM analog_pin_to_channel [] = {
@@ -334,7 +266,7 @@ const uint8_t PROGMEM analog_pin_to_channel[] = {
334266#endif
335267
336268extern const uint8_t analog_pin_to_channel [];
337- #define digitalPinToAnalogInput (p ) ((p < NUM_ANALOG_INPUTS ) ? pgm_read_byte(analog_pin_to_channel + p) : NOT_A_PIN )
269+ #define digitalPinToAnalogInput (p ) ((p < ANALOG_INPUT_OFFSET ) ? pgm_read_byte(analog_pin_to_channel + p) : pgm_read_byte(analog_pin_to_channel + p - ANALOG_INPUT_OFFSET) )
338270
339271// These serial port names are intended to allow libraries and architecture-neutral
340272// sketches to automatically default to the correct port name for a particular type
0 commit comments