Skip to content

Commit 4e41949

Browse files
ladyadadeanm1278
authored andcommitted
add support for A6 (D8) and A7 (D9)
1 parent 64ea2e8 commit 4e41949

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

cores/arduino/wiring_analog.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,17 @@ uint32_t analogRead(uint32_t pin)
129129
{
130130
uint32_t valueRead = 0;
131131

132+
<<<<<<< HEAD
132133
if (pin < A0) {
133134
pin += A0;
135+
=======
136+
if ( ulPin <= 5 ) // turn '0' -> 'A0'
137+
{
138+
ulPin += A0 ;
139+
>>>>>>> add support for A6 (D8) and A7 (D9)
134140
}
141+
if (ulPin == 6) ulPin = PIN_A6;
142+
if (ulPin == 7) ulPin = PIN_A7;
135143

136144
pinPeripheral(pin, PIO_ANALOG);
137145

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_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), No_ADC_Channel, PWM0_CH7, TCC0_CH7, EXTERNAL_INT_5 }, // TCC0/WO[7]
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_ALT), No_ADC_Channel, PWM0_CH3, TCC0_CH3, EXTERNAL_INT_3 }, // TCC0/WO[3]

variants/arduino_zero/variant.h

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ extern "C"
5454

5555
// Number of pins defined in PinDescription array
5656
#define PINS_COUNT (26u)
57-
#define NUM_DIGITAL_PINS (20u)
58-
#define NUM_ANALOG_INPUTS (6u)
57+
#define NUM_DIGITAL_PINS (14u)
58+
#define NUM_ANALOG_INPUTS (8u)
5959
#define NUM_ANALOG_OUTPUTS (1u)
6060
#define analogInputToDigitalPin(p) ((p < 6u) ? (p) + 14u : -1)
6161

@@ -94,14 +94,18 @@ extern "C"
9494
#define PIN_A3 (17ul)
9595
#define PIN_A4 (18ul)
9696
#define PIN_A5 (19ul)
97+
#define PIN_A6 (8ul)
98+
#define PIN_A7 (9ul)
9799
#define PIN_DAC0 (14ul)
98100

99-
static const uint8_t A0 = PIN_A0;
100-
static const uint8_t A1 = PIN_A1;
101-
static const uint8_t A2 = PIN_A2;
102-
static const uint8_t A3 = PIN_A3;
103-
static const uint8_t A4 = PIN_A4;
104-
static const uint8_t A5 = PIN_A5;
101+
static const uint8_t A0 = PIN_A0 ;
102+
static const uint8_t A1 = PIN_A1 ;
103+
static const uint8_t A2 = PIN_A2 ;
104+
static const uint8_t A3 = PIN_A3 ;
105+
static const uint8_t A4 = PIN_A4 ;
106+
static const uint8_t A5 = PIN_A5 ;
107+
static const uint8_t A6 = PIN_A6 ;
108+
static const uint8_t A7 = PIN_A7 ;
105109
static const uint8_t DAC0 = PIN_DAC0;
106110
#define ADC_RESOLUTION 12
107111

0 commit comments

Comments
 (0)