Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 69b9c8e

Browse files
committed
Updated digital pin and port mapping constants in pins_arduino.h for Leonardo.
Changed digital_pin_to_port_PGM[] and digital_pin_to_bit_mask_PGM[] to reflect changes to constants for SPI and analog pins
1 parent c8d1220 commit 69b9c8e

File tree

1 file changed

+64
-38
lines changed

1 file changed

+64
-38
lines changed

variants/leonardo/pins_arduino.h

+64-38
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
9494
// A4 D22 PF1 ADC1
9595
// A5 D23 PF0 ADC0
9696
//
97-
// New pins D14..D17 to map SPI port to digitial pins
97+
// New pins D14..D17 to map SPI port to digital pins
9898
//
9999
// MISO D14 PB3 MISO,PCINT3
100100
// SCK D15 PB1 SCK,PCINT1
@@ -138,52 +138,78 @@ const uint16_t PROGMEM port_to_input_PGM[] = {
138138
(uint16_t) &PINF,
139139
};
140140

141-
const uint8_t PROGMEM digital_pin_to_port_PGM[18] = {
142-
PD, /* 0 */
143-
PD,
144-
PD,
145-
PD,
146-
PD,
147-
PC, /* 5 */
148-
PD, /* 6 */
149-
PE, /* 7 */
141+
const uint8_t PROGMEM digital_pin_to_port_PGM[30] = {
142+
PD, // D0 - PD2
143+
PD, // D1 - PD3
144+
PD, // D2 - PD1
145+
PD, // D3 - PD0
146+
PD, // D4 - PD4
147+
PC, // D5 - PC6
148+
PD, // D6 - PD7
149+
PE, // D7 - PE6
150150

151-
PB, /* 8 */
152-
PB,
153-
PB,
154-
PB,
151+
PB, // D8 - PB4
152+
PB, // D9 - PB5
153+
PB, // D10 - PB6
154+
PB, // D11 - PB7
155+
PD, // D12 - PD6
156+
PC, // D13 - PC7
155157

156-
PD, /* 12 */
157-
PC, /* 13 */
158+
PB, // D14 - MISO - PB3
159+
PB, // D15 - SCK - PB1
160+
PB, // D16 - MOSI - PB2
161+
PB, // D17 - SS - PB0
158162

159-
PB, /* 14 */
160-
PB, /* 15 */
161-
PB, /* 16 */
162-
PB, /* 17 */
163+
PF, // D18 - A0 - PF7
164+
PF, // D19 - A1 - PF6
165+
PF, // D20 - A2 - PF5
166+
PF, // D21 - A3 - PF4
167+
PF, // D22 - A4 - PF1
168+
PF, // D23 - A5 - PF0
169+
170+
PD, // D24 / D4 - A6 - PD4
171+
PD, // D25 / D6 - A7 - PD7
172+
PB, // D26 / D8 - A8 - PB4
173+
PB, // D27 / D9 - A9 - PB5
174+
PB, // D28 / D10 - A10 - PB6
175+
PD, // D29 / D12 - A11 - PD6
163176
};
164177

165178
const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[18] = {
166-
_BV(2), /* 0, port D */
167-
_BV(3),
168-
_BV(1),
169-
_BV(0),
170-
_BV(4),
171-
_BV(6), /* 5, port C */
172-
_BV(7), /* 6, port D */
173-
_BV(6), /* 7, port E */
179+
_BV(2), // D0 - PD2
180+
_BV(3), // D1 - PD3
181+
_BV(1), // D2 - PD1
182+
_BV(0), // D3 - PD0
183+
_BV(4), // D4 - PD4
184+
_BV(6), // D5 - PC6
185+
_BV(7), // D6 - PD7
186+
_BV(6), // D7 - PE6
187+
188+
_BV(4), // D8 - PB4
189+
_BV(5), // D9 - PB5
190+
_BV(6), // D10 - PB6
191+
_BV(7), // D11 - PB7
192+
_BV(6), // D12 - PD6
193+
_BV(7), // D13 - PC7
174194

175-
_BV(4), /* 8, port B */
176-
_BV(5),
177-
_BV(6),
178-
_BV(7),
195+
_BV(3), // D14 - MISO - PB3
196+
_BV(1), // D15 - SCK - PB1
197+
_BV(2), // D16 - MOSI - PB2
198+
_BV(0), // D17 - SS - PB0
179199

180-
_BV(6), /* 12 port D */
181-
_BV(7),
200+
_BV(7), // D18 - A0 - PF7
201+
_BV(6), // D19 - A1 - PF6
202+
_BV(5), // D20 - A2 - PF5
203+
_BV(4), // D21 - A3 - PF4
204+
_BV(1), // D22 - A4 - PF1
205+
_BV(0), // D23 - A5 - PF0
182206

183-
_BV(0), /* 14, port B */
184-
_BV(1),
185-
_BV(2),
186-
_BV(3),
207+
_BV(4), // D24 / D4 - A6 - PD4
208+
_BV(7), // D25 / D6 - A7 - PD7
209+
_BV(4), // D26 / D8 - A8 - PB4
210+
_BV(5), // D27 / D9 - A9 - PB5
211+
_BV(6), // D28 / D10 - A10 - PB6
212+
_BV(6), // D29 / D12 - A11 - PD6
187213
};
188214

189215
const uint8_t PROGMEM digital_pin_to_timer_PGM[18] = {

0 commit comments

Comments
 (0)