From 2b71432aa12d670a001722d128fa01be00e6205f Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Mon, 4 Apr 2016 14:48:25 -0400 Subject: [PATCH 1/2] Port analogInputToDigitalPin macro --- variants/arduino_zero/variant.h | 1 + variants/mkr1000/variant.h | 1 + 2 files changed, 2 insertions(+) diff --git a/variants/arduino_zero/variant.h b/variants/arduino_zero/variant.h index d961b495e..eb38fcd4e 100644 --- a/variants/arduino_zero/variant.h +++ b/variants/arduino_zero/variant.h @@ -57,6 +57,7 @@ extern "C" #define NUM_DIGITAL_PINS (14u) #define NUM_ANALOG_INPUTS (6u) #define NUM_ANALOG_OUTPUTS (1u) +#define analogInputToDigitalPin(p) ((p < NUM_ANALOG_INPUTS) ? (p) + NUM_DIGITAL_PINS : -1) #define digitalPinToPort(P) ( &(PORT->Group[g_APinDescription[P].ulPort]) ) #define digitalPinToBitMask(P) ( 1 << g_APinDescription[P].ulPin ) diff --git a/variants/mkr1000/variant.h b/variants/mkr1000/variant.h index 0f306bf39..673337331 100644 --- a/variants/mkr1000/variant.h +++ b/variants/mkr1000/variant.h @@ -40,6 +40,7 @@ #define NUM_DIGITAL_PINS (15u) #define NUM_ANALOG_INPUTS (7u) #define NUM_ANALOG_OUTPUTS (1u) +#define analogInputToDigitalPin(p) ((p < NUM_ANALOG_INPUTS) ? (p) + NUM_DIGITAL_PINS : -1) // Low-level pin register query macros // ----------------------------------- From 3c58ee87dc3e70dc0de60d02707cbd8823680b26 Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Tue, 5 Apr 2016 11:57:38 -0400 Subject: [PATCH 2/2] Correct NUM_DIGITAL_PINS to include analog pins --- variants/arduino_zero/variant.h | 4 ++-- variants/mkr1000/variant.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/variants/arduino_zero/variant.h b/variants/arduino_zero/variant.h index eb38fcd4e..1a1d47565 100644 --- a/variants/arduino_zero/variant.h +++ b/variants/arduino_zero/variant.h @@ -54,10 +54,10 @@ extern "C" // Number of pins defined in PinDescription array #define PINS_COUNT (26u) -#define NUM_DIGITAL_PINS (14u) +#define NUM_DIGITAL_PINS (20u) #define NUM_ANALOG_INPUTS (6u) #define NUM_ANALOG_OUTPUTS (1u) -#define analogInputToDigitalPin(p) ((p < NUM_ANALOG_INPUTS) ? (p) + NUM_DIGITAL_PINS : -1) +#define analogInputToDigitalPin(p) ((p < 6u) ? (p) + 14u : -1) #define digitalPinToPort(P) ( &(PORT->Group[g_APinDescription[P].ulPort]) ) #define digitalPinToBitMask(P) ( 1 << g_APinDescription[P].ulPin ) diff --git a/variants/mkr1000/variant.h b/variants/mkr1000/variant.h index 673337331..8a576f266 100644 --- a/variants/mkr1000/variant.h +++ b/variants/mkr1000/variant.h @@ -37,10 +37,10 @@ // Number of pins defined in PinDescription array #define PINS_COUNT (26u) -#define NUM_DIGITAL_PINS (15u) +#define NUM_DIGITAL_PINS (22u) #define NUM_ANALOG_INPUTS (7u) #define NUM_ANALOG_OUTPUTS (1u) -#define analogInputToDigitalPin(p) ((p < NUM_ANALOG_INPUTS) ? (p) + NUM_DIGITAL_PINS : -1) +#define analogInputToDigitalPin(p) ((p < 7u) ? (p) + 15u : -1) // Low-level pin register query macros // -----------------------------------