Skip to content

Commit e715bf3

Browse files
committed
add support for A6 (D8) and A7 (D9)
1 parent 85d6c73 commit e715bf3

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

cores/arduino/wiring_analog.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,12 @@ uint32_t analogRead( uint32_t ulPin )
140140
{
141141
uint32_t valueRead = 0;
142142

143-
if ( ulPin < A0 )
143+
if ( ulPin <= 5 ) // turn '0' -> 'A0'
144144
{
145145
ulPin += A0 ;
146146
}
147+
if (ulPin == 6) ulPin = PIN_A6;
148+
if (ulPin == 7) ulPin = PIN_A7;
147149

148150
pinPeripheral(ulPin, g_APinDescription[ulPin].ulPinType);
149151

variants/arduino_zero/variant.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ const PinDescription g_APinDescription[]=
127127
{ PORTA, 21, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 },
128128

129129
// Digital High
130-
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // TCC1/WO[0]
131-
{ PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_7 }, // TCC1/WO[1]
130+
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER|PIN_ATTR_ANALOG), ADC_Channel6, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // TCC1/WO[0]
131+
{ PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER|PIN_ATTR_ANALOG), ADC_Channel7, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_7 }, // TCC1/WO[1]
132132
{ PORTA, 18, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH0, TC3_CH0, EXTERNAL_INT_2 }, // TC3/WO[0]
133133
{ PORTA, 16, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_0 }, // TCC2/WO[0]
134134
{ PORTA, 19, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH3, TCC0_CH3, EXTERNAL_INT_3 }, // TCC0/WO[3]

variants/arduino_zero/variant.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ extern "C"
5252
// Number of pins defined in PinDescription array
5353
#define PINS_COUNT (26u)
5454
#define NUM_DIGITAL_PINS (14u)
55-
#define NUM_ANALOG_INPUTS (6u)
55+
#define NUM_ANALOG_INPUTS (8u)
5656
#define NUM_ANALOG_OUTPUTS (1u)
5757

5858
#define digitalPinToPort(P) ( &(PORT->Group[g_APinDescription[P].ulPort]) )
@@ -93,13 +93,17 @@ extern "C"
9393
#define PIN_A3 (17ul)
9494
#define PIN_A4 (18ul)
9595
#define PIN_A5 (19ul)
96+
#define PIN_A6 (8ul)
97+
#define PIN_A7 (9ul)
9698

9799
static const uint8_t A0 = PIN_A0 ;
98100
static const uint8_t A1 = PIN_A1 ;
99101
static const uint8_t A2 = PIN_A2 ;
100102
static const uint8_t A3 = PIN_A3 ;
101103
static const uint8_t A4 = PIN_A4 ;
102104
static const uint8_t A5 = PIN_A5 ;
105+
static const uint8_t A6 = PIN_A6 ;
106+
static const uint8_t A7 = PIN_A7 ;
103107
#define ADC_RESOLUTION 12
104108

105109
// Other pins

0 commit comments

Comments
 (0)