Skip to content

Commit 42fadb6

Browse files
committed
added 12th ADC channel for Leonardo. cleaned up and corrected comments for pin functions.
1 parent c8f495b commit 42fadb6

File tree

1 file changed

+22
-72
lines changed

1 file changed

+22
-72
lines changed

hardware/arduino/variants/leonardo/pins_arduino.h

Lines changed: 22 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ const static uint8_t A7 = 21;
5656
const static uint8_t A8 = 22;
5757
const static uint8_t A9 = 23;
5858
const static uint8_t A10 = 24;
59+
const static uint8_t A11 = 25;
5960

6061
// __AVR_ATmega32U4__ has an unusual mapping of pins to channels
6162
extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
@@ -67,41 +68,6 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
6768
// for the analog output (software PWM). Analog input
6869
// pins are a separate set.
6970

70-
// ATMEL ATMEGA8 & 168 / ARDUINO
71-
//
72-
// +-\/-+
73-
// PC6 1| |28 PC5 (AI 5)
74-
// (D 0) PD0 2| |27 PC4 (AI 4)
75-
// (D 1) PD1 3| |26 PC3 (AI 3)
76-
// (D 2) PD2 4| |25 PC2 (AI 2)
77-
// PWM+ (D 3) PD3 5| |24 PC1 (AI 1)
78-
// (D 4) PD4 6| |23 PC0 (AI 0)
79-
// VCC 7| |22 GND
80-
// GND 8| |21 AREF
81-
// PB6 9| |20 AVCC
82-
// PB7 10| |19 PB5 (D 13)
83-
// PWM+ (D 5) PD5 11| |18 PB4 (D 12)
84-
// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM
85-
// (D 7) PD7 13| |16 PB2 (D 10) PWM
86-
// (D 8) PB0 14| |15 PB1 (D 9) PWM
87-
// +----+
88-
//
89-
// (PWM+ indicates the additional PWM pins on the ATmega168.)
90-
91-
// ATMEL ATMEGA1280 / ARDUINO
92-
//
93-
// 0-7 PE0-PE7 works
94-
// 8-13 PB0-PB5 works
95-
// 14-21 PA0-PA7 works
96-
// 22-29 PH0-PH7 works
97-
// 30-35 PG5-PG0 works
98-
// 36-43 PC7-PC0 works
99-
// 44-51 PJ7-PJ0 works
100-
// 52-59 PL7-PL0 works
101-
// 60-67 PD7-PD0 works
102-
// A0-A7 PF0-PF7
103-
// A8-A15 PK0-PK7
104-
10571
// ATMEL ATMEGA32U4 / ARDUINO LEONARDO
10672
//
10773
// D0 PD2 RXD1/INT2
@@ -110,14 +76,14 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
11076
// D3# PD0 PWM8/SCL OC0B/SCL/INT0
11177
// D4 A6 PD4 ADC8
11278
// D5# PC6 ??? OC3A/#OC4A
113-
// D6# A7 PD7 FastPWM #OC4D/ADC10
114-
// D7 PE6 INT6/AIN0
79+
// D6# A8 PD7 FastPWM #OC4D/ADC10
80+
// D7 Ain0 PE6 INT6/AIN0
11581
//
116-
// D8 PB4 ADC11/PCINT4
117-
// D9# A8 PB5 PWM16 OC1A/#OC4B/ADC13/PCINT5
118-
// D10# A9 PB6 PWM16 OC1B/0c4B/ADC12/PCINT6
82+
// D8 A9 PB4 ADC11/PCINT4
83+
// D9# A10 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
84+
// D10# A11 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
11985
// D11# PB7 PWM8/16 0C0A/OC1C/#RTS/PCINT7
120-
// D12 A10 PD6 T1/#OC4D/ADC9
86+
// D12 A7 PD6 T1/#OC4D/ADC9
12187
// D13# PC7 PWM10 CLK0/OC4A
12288
//
12389
// A0 PF7 ADC7
@@ -138,7 +104,6 @@ extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];
138104
// RXLED PB0
139105
// HWB PE2 HWB
140106

141-
142107
// these arrays map port names (e.g. port B) to the
143108
// appropriate addresses for various functions (e.g. reading
144109
// and writing)
@@ -242,35 +207,20 @@ const uint8_t PROGMEM digital_pin_to_timer_PGM[18] = {
242207
NOT_ON_TIMER,
243208
};
244209

245-
const uint8_t PROGMEM analog_pin_to_channel_PGM[11] = {
246-
/*
247-
A0 PF7 ADC7
248-
A1 PF6 ADC6
249-
A2 PF5 ADC5
250-
A3 PF4 ADC4
251-
A4 PF1 ADC1
252-
A5 PF0 ADC0
253-
D4 A6 PD4 ADC8
254-
D6 A7 PD7 FastPWM #OC4D/ADC10
255-
D9 A8 PB5 PWM16 OC1A/#OC4B/ADC13/PCINT5
256-
D10 A9 PB6 PWM16 OC1B/0c4B/ADC12/PCINT6
257-
D12 A10 PD6 T1/#OC4D/ADC9
258-
*/
259-
260-
7,
261-
6,
262-
5,
263-
4,
264-
1,
265-
0,
266-
8,
267-
10,
268-
269-
13,
270-
12,
271-
9
210+
const uint8_t PROGMEM analog_pin_to_channel_PGM[12] = {
211+
7, // A0 PF7 ADC7
212+
6, // A1 PF6 ADC6
213+
5, // A2 PF5 ADC5
214+
4, // A3 PF4 ADC4
215+
1, // A4 PF1 ADC1
216+
0, // A5 PF0 ADC0
217+
8, // D4 A6 PD4 ADC8
218+
9, // D12 A7 PD6 T1/#OC4D/ADC9
219+
10, // D6# A8 PD7 FastPWM #OC4D/ADC10
220+
11, // D8 A9 PB4 ADC11/PCINT4
221+
12, // D9# A10 PB5 PWM16 OC1A/#OC4B/ADC12/PCINT5
222+
13 // D10# A11 PB6 PWM16 OC1B/0c4B/ADC13/PCINT6
272223
};
273224

274-
#endif
275-
276-
#endif
225+
#endif /* ARDUINO_MAIN */
226+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)