From bbd3cf73a6ff0daa161630fd4b11759cedbebf50 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 10 Jul 2020 21:12:50 -0600 Subject: [PATCH 01/11] Add configuration of differential 0 pins. Work in progress... --- cores/arduino/ard_sup/analog/ap3_analog.cpp | 32 ++++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/cores/arduino/ard_sup/analog/ap3_analog.cpp b/cores/arduino/ard_sup/analog/ap3_analog.cpp index 636116ca..338bfd93 100644 --- a/cores/arduino/ard_sup/analog/ap3_analog.cpp +++ b/cores/arduino/ard_sup/analog/ap3_analog.cpp @@ -335,21 +335,39 @@ ap3_err_t ap3_adc_setup() } //Set function of pin to analog input -//TODO Support differential pairs 0/1 ap3_err_t ap3_set_pin_to_analog(uint8_t pinNumber) { ap3_err_t retval = AP3_ERR; - uint8_t funcsel = 0; am_hal_gpio_pincfg_t pincfg = AP3_PINCFG_INPUT; - retval = ap3_analog_pad_funcsel(ap3_gpio_pin2pad(pinNumber), &funcsel); - if (retval != AP3_OK) + //Handle special pads: differential pairs + if (pinNumber == AP3_ADC_DIFF0_PAD) + { + pincfg.uFuncSel = AM_HAL_PIN_12_ADCD0NSE9; + pinMode(12, pincfg, &retval); + + pincfg.uFuncSel = AM_HAL_PIN_13_ADCD0PSE8; + pinMode(13, pincfg, &retval); + + retval = AP3_OK; + } + else if (pinNumber == AP3_ADC_DIFF1_PAD) + { + } + else { - return retval; + //Normal analog channels + retval = ap3_analog_pad_funcsel(ap3_gpio_pin2pad(pinNumber), &funcsel); + + if (retval != AP3_OK) + { + return retval; + } + pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination + pinMode(pinNumber, pincfg, &retval); } - pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination - pinMode(pinNumber, pincfg, &retval); + return retval; } From 93dd11dc5c1b50e92e51401b7b358b13f949fc67 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Mon, 13 Jul 2020 14:58:09 -0600 Subject: [PATCH 02/11] Move pin config --- cores/arduino/ard_sup/analog/ap3_analog.cpp | 44 +++++++++------------ 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/cores/arduino/ard_sup/analog/ap3_analog.cpp b/cores/arduino/ard_sup/analog/ap3_analog.cpp index 338bfd93..0270d19e 100644 --- a/cores/arduino/ard_sup/analog/ap3_analog.cpp +++ b/cores/arduino/ard_sup/analog/ap3_analog.cpp @@ -159,7 +159,19 @@ uint16_t analogRead(uint8_t pinNumber) { if (ap3_analog_configure_map[indi].isAnalog == false) { - if (ap3_set_pin_to_analog(pinNumber) != AP3_OK) + if (padNumber == AP3_ADC_DIFF0_PAD) + { + Serial.println("Config diff 0"); + retval = ap3_set_pin_to_analog(12); + retval = ap3_set_pin_to_analog(13); + if (retval != AP3_OK) + { + //Serial.println("Error - set pin to analog"); + return 0; //Error + } + } + + else if (ap3_set_pin_to_analog(pinNumber) != AP3_OK) { //Serial.println("Error - set pin to analog"); return 0; //Error @@ -341,37 +353,19 @@ ap3_err_t ap3_set_pin_to_analog(uint8_t pinNumber) uint8_t funcsel = 0; am_hal_gpio_pincfg_t pincfg = AP3_PINCFG_INPUT; - //Handle special pads: differential pairs - if (pinNumber == AP3_ADC_DIFF0_PAD) - { - pincfg.uFuncSel = AM_HAL_PIN_12_ADCD0NSE9; - pinMode(12, pincfg, &retval); - - pincfg.uFuncSel = AM_HAL_PIN_13_ADCD0PSE8; - pinMode(13, pincfg, &retval); + retval = ap3_analog_pad_funcsel(ap3_gpio_pin2pad(pinNumber), &funcsel); - retval = AP3_OK; - } - else if (pinNumber == AP3_ADC_DIFF1_PAD) + if (retval != AP3_OK) { + return retval; } - else - { - //Normal analog channels - retval = ap3_analog_pad_funcsel(ap3_gpio_pin2pad(pinNumber), &funcsel); - - if (retval != AP3_OK) - { - return retval; - } - pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination - pinMode(pinNumber, pincfg, &retval); - } + pincfg.uFuncSel = funcsel; // set the proper function select option for this instance/pin/type combination + pinMode(pinNumber, pincfg, &retval); return retval; } -//Given pin number, assign ADC function +//Given pad number, get ADC function ap3_err_t ap3_analog_pad_funcsel(ap3_gpio_pad_t padNumber, uint8_t *funcsel) { ap3_err_t retval = AP3_ERR; From 906ceac131cfc568fa64482afc44c1fe87497754 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:18:28 -0600 Subject: [PATCH 03/11] The differential channels need to start as false and go true once configured. --- cores/arduino/ard_sup/analog/ap3_analog_structures.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cores/arduino/ard_sup/analog/ap3_analog_structures.c b/cores/arduino/ard_sup/analog/ap3_analog_structures.c index bb15a211..dbdf4a8d 100644 --- a/cores/arduino/ard_sup/analog/ap3_analog_structures.c +++ b/cores/arduino/ard_sup/analog/ap3_analog_structures.c @@ -50,8 +50,8 @@ ap3_analog_configure_map_elem_t ap3_analog_configure_map[AP3_ANALOG_CHANNELS] = {.pad = 33, .isAnalog = false}, {.pad = 34, .isAnalog = false}, {.pad = 35, .isAnalog = false}, - {.pad = AP3_ADC_DIFF0_PAD, .isAnalog = true}, - {.pad = AP3_ADC_DIFF1_PAD, .isAnalog = true}, + {.pad = AP3_ADC_DIFF0_PAD, .isAnalog = false}, + {.pad = AP3_ADC_DIFF1_PAD, .isAnalog = false}, {.pad = AP3_ADC_TEMP_PAD, .isAnalog = true}, {.pad = AP3_ADC_DIV3_PAD, .isAnalog = true}, {.pad = AP3_ADC_VSS_PAD, .isAnalog = true}, From d2d95f9dc09e4af5be775ed6b23f90ef38437c2a Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:19:46 -0600 Subject: [PATCH 04/11] VSC white space --- cores/arduino/ard_sup/ap3_gpio.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/cores/arduino/ard_sup/ap3_gpio.h b/cores/arduino/ard_sup/ap3_gpio.h index 7f1601bb..99d5203e 100644 --- a/cores/arduino/ard_sup/ap3_gpio.h +++ b/cores/arduino/ard_sup/ap3_gpio.h @@ -35,20 +35,20 @@ extern const am_hal_gpio_pincfg_t g_AM_HAL_GPIO_OPEN_DRAIN_WITH_READ_12; extern const am_hal_gpio_pincfg_t g_AM_HAL_GPIO_INPUT_PULLDOWN; // macros pointing to internal apollo3 GPIO pincfg structures -#define AP3_PINCFG_INPUT (g_AM_HAL_GPIO_INPUT) -#define AP3_PINCFG_OUTPUT (g_AM_HAL_GPIO_OUTPUT_WITH_READ_12) -#define AP3_PINCFG_INPUT_PULLUP (g_AM_HAL_GPIO_INPUT_PULLUP) -#define AP3_PINCFG_INPUT_PULLDOWN (g_AM_HAL_GPIO_INPUT_PULLDOWN) -#define AP3_PINCFG_OPEN_DRAIN (g_AM_HAL_GPIO_OPEN_DRAIN_WITH_READ_12) -#define AP3_PINCFG_TRISTATE (g_AM_HAL_GPIO_TRISTATE) +#define AP3_PINCFG_INPUT (g_AM_HAL_GPIO_INPUT) +#define AP3_PINCFG_OUTPUT (g_AM_HAL_GPIO_OUTPUT_WITH_READ_12) +#define AP3_PINCFG_INPUT_PULLUP (g_AM_HAL_GPIO_INPUT_PULLUP) +#define AP3_PINCFG_INPUT_PULLDOWN (g_AM_HAL_GPIO_INPUT_PULLDOWN) +#define AP3_PINCFG_OPEN_DRAIN (g_AM_HAL_GPIO_OPEN_DRAIN_WITH_READ_12) +#define AP3_PINCFG_TRISTATE (g_AM_HAL_GPIO_TRISTATE) // constants for Arduino pin modes -#define INPUT (0x00) -#define OUTPUT (0x01) -#define INPUT_PULLUP (0x02) -#define INPUT_PULLDOWN (0x03) -#define OPEN_DRAIN (0x04) -#define TRISTATE (0x05) +#define INPUT (0x00) +#define OUTPUT (0x01) +#define INPUT_PULLUP (0x02) +#define INPUT_PULLDOWN (0x03) +#define OPEN_DRAIN (0x04) +#define TRISTATE (0x05) #define AP3_GPIO_MAX_PADS (50) #define AP3_GPIO_IS_VALID(pad) ((pad >= 0) && (pad < AP3_GPIO_MAX_PADS)) From 14d8cdfed3bf1a608e18855dba1889ca606878e6 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:19:57 -0600 Subject: [PATCH 05/11] Add pad2pin --- cores/arduino/ard_sup/ap3_gpio.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cores/arduino/ard_sup/ap3_gpio.h b/cores/arduino/ard_sup/ap3_gpio.h index 99d5203e..ec01a5bb 100644 --- a/cores/arduino/ard_sup/ap3_gpio.h +++ b/cores/arduino/ard_sup/ap3_gpio.h @@ -54,6 +54,7 @@ extern const am_hal_gpio_pincfg_t g_AM_HAL_GPIO_INPUT_PULLDOWN; #define AP3_GPIO_IS_VALID(pad) ((pad >= 0) && (pad < AP3_GPIO_MAX_PADS)) extern ap3_gpio_pad_t ap3_gpio_pin2pad(ap3_gpio_pin_t pin); +extern ap3_gpio_pin_t ap3_gpio_pad2pin(ap3_gpio_pad_t pad); #define AP3_GPIO_PAD_UNUSED (255) #define AP3_GPIO_DEFAULT_PINCFG AP3_GPIO_PINCFG_NULL From 4c51148c9d363eecb8045372206c9400859ecc12 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:28:49 -0600 Subject: [PATCH 06/11] Add diff pads 14/15 --- cores/arduino/ard_sup/analog/ap3_analog_structures.c | 2 ++ cores/arduino/ard_sup/ap3_analog_types.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cores/arduino/ard_sup/analog/ap3_analog_structures.c b/cores/arduino/ard_sup/analog/ap3_analog_structures.c index dbdf4a8d..1a871690 100644 --- a/cores/arduino/ard_sup/analog/ap3_analog_structures.c +++ b/cores/arduino/ard_sup/analog/ap3_analog_structures.c @@ -28,6 +28,8 @@ const ap3_analog_pad_map_elem_t ap3_analog_map[AP3_ANALOG_PADS] = { {.pad = 11, .funcsel = AM_HAL_PIN_11_ADCSE2}, {.pad = 12, .funcsel = AM_HAL_PIN_12_ADCD0NSE9}, {.pad = 13, .funcsel = AM_HAL_PIN_13_ADCD0PSE8}, + {.pad = 14, .funcsel = AM_HAL_PIN_14_ADCD1P}, + {.pad = 15, .funcsel = AM_HAL_PIN_15_ADCD1N}, {.pad = 16, .funcsel = AM_HAL_PIN_16_ADCSE0}, {.pad = 29, .funcsel = AM_HAL_PIN_29_ADCSE1}, {.pad = 31, .funcsel = AM_HAL_PIN_31_ADCSE3}, diff --git a/cores/arduino/ard_sup/ap3_analog_types.h b/cores/arduino/ard_sup/ap3_analog_types.h index b08e690e..56c37d66 100644 --- a/cores/arduino/ard_sup/ap3_analog_types.h +++ b/cores/arduino/ard_sup/ap3_analog_types.h @@ -23,7 +23,7 @@ SOFTWARE. #ifndef _AP3_ANALOG_TYPES_H_ #define _AP3_ANALOG_TYPES_H_ -#define AP3_ANALOG_PADS 10 +#define AP3_ANALOG_PADS 12 #define AP3_ANALOG_CHANNELS 15 enum EXTRA_ADC_PADS From 3629bdef26b72509b9582c5de5f78513a4c6add8 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:30:07 -0600 Subject: [PATCH 07/11] Add pad2pin lookup It was easier to provide the constant pads for differential ADC than trying to modify ap3_set_pin_to_analog() to use a pad #. --- cores/arduino/ard_sup/gpio/ap3_gpio.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cores/arduino/ard_sup/gpio/ap3_gpio.cpp b/cores/arduino/ard_sup/gpio/ap3_gpio.cpp index 1ce8b078..ab349991 100644 --- a/cores/arduino/ard_sup/gpio/ap3_gpio.cpp +++ b/cores/arduino/ard_sup/gpio/ap3_gpio.cpp @@ -41,6 +41,16 @@ ap3_gpio_pad_t ap3_gpio_pin2pad(ap3_gpio_pin_t pin) return ap3_variant_pinmap[pin]; } +ap3_gpio_pin_t ap3_gpio_pad2pin(ap3_gpio_pad_t pad) +{ + for (int x = 0; x < AP3_VARIANT_NUM_PINS; x++) + { + if (ap3_variant_pinmap[x] == pad) + return (x); + } + return (AP3_GPIO_PAD_UNUSED); +} + typedef void (*voidFuncPtr)(void); typedef void (*voidFuncPtrArg)(void *); typedef struct From fbfdb254e1c1dfc9faae34eb35294ecb232c7b82 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 16:30:39 -0600 Subject: [PATCH 08/11] Setup the differential pads once if user selects a diff 0/1 channel --- cores/arduino/ard_sup/analog/ap3_analog.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/cores/arduino/ard_sup/analog/ap3_analog.cpp b/cores/arduino/ard_sup/analog/ap3_analog.cpp index 0270d19e..c06b04e4 100644 --- a/cores/arduino/ard_sup/analog/ap3_analog.cpp +++ b/cores/arduino/ard_sup/analog/ap3_analog.cpp @@ -161,16 +161,24 @@ uint16_t analogRead(uint8_t pinNumber) { if (padNumber == AP3_ADC_DIFF0_PAD) { - Serial.println("Config diff 0"); - retval = ap3_set_pin_to_analog(12); - retval = ap3_set_pin_to_analog(13); + ap3_err_t retval = AP3_ERR; + retval = ap3_set_pin_to_analog(ap3_gpio_pad2pin(12)); + retval = ap3_set_pin_to_analog(ap3_gpio_pad2pin(13)); + if (retval != AP3_OK) + { + return 0; //Error + } + } + else if (padNumber == AP3_ADC_DIFF1_PAD) + { + ap3_err_t retval = AP3_ERR; + retval = ap3_set_pin_to_analog(ap3_gpio_pad2pin(14)); + retval = ap3_set_pin_to_analog(ap3_gpio_pad2pin(15)); if (retval != AP3_OK) { - //Serial.println("Error - set pin to analog"); return 0; //Error } } - else if (ap3_set_pin_to_analog(pinNumber) != AP3_OK) { //Serial.println("Error - set pin to analog"); From 063c5a4ec715042a25fc32770530570a44a6683e Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 20:13:34 -0600 Subject: [PATCH 09/11] Add example --- .../Differential_ADC/Differential_ADC.ino | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino diff --git a/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino b/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino new file mode 100644 index 00000000..4d7c32e4 --- /dev/null +++ b/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino @@ -0,0 +1,53 @@ +/* + Using the differential ADC + By: Nathan Seidle + SparkFun Electronics + Date: July 17th, 2020 + License: This code is public domain. Based on deepsleep.c from Ambiq SDK v2.2.0. + + There are two differential ADC ports on the Artemis. These are located + on pads 12/13 (DIFF0N/DIFF0P) and 14/15 (DIFF1P/DIFF10). + + A differential ADC port measures -1.0V to 1.0V with + 0 = -1.0V, 8192 = 0V, and 16383 = 1.0V when the ADC is in 14-bit mode. + + SparkFun labored with love to create this code. Feel like supporting open source hardware? + Buy a board from SparkFun! https://www.sparkfun.com/products/15376 +*/ + +#define ANALOG_RESOLUTION 14 //Artemis has 14 bit ADC but can range from 8 to 14 bit + +int maxADCValue = pow(2, ANALOG_RESOLUTION); + +void setup() +{ + Serial.begin(115200); + Serial.println("Differential analog conversion example"); + + pinMode(LED_BUILTIN, OUTPUT); + + analogReadResolution(ANALOG_RESOLUTION); //Default is 10 bit. Increase to 14 bit. +} + +void loop() +{ + int myAnalog0 = analogRead(ADIFF0); //Pads 12/13. Pins 9/10 on RedBoard Artemis. + //int myAnalog0 = analogRead(ADIFF1); //Pads 14/15 + float myVoltage0 = mapfloat(myAnalog0, 0, maxADCValue, -1.0, 1.0); + Serial.print("Diff0 voltage: "); + Serial.print(myVoltage0, 3); + Serial.println(); + + digitalWrite(LED_BUILTIN, HIGH); + delay(25); + digitalWrite(LED_BUILTIN, LOW); + delay(25); +} + +float mapfloat(float x, float in_min, float in_max, float out_min, float out_max) +{ + if (x > in_max) + x = in_max; + + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} \ No newline at end of file From 33476cc8fec6e2c6f52f8f024b43e2b82e2ce191 Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Fri, 17 Jul 2020 20:13:51 -0600 Subject: [PATCH 10/11] Add variant for RedBoard --- variants/redboard_artemis/config/variant.cpp | 2 ++ variants/redboard_artemis/config/variant.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/variants/redboard_artemis/config/variant.cpp b/variants/redboard_artemis/config/variant.cpp index e7d22c6c..0892ef02 100644 --- a/variants/redboard_artemis/config/variant.cpp +++ b/variants/redboard_artemis/config/variant.cpp @@ -76,3 +76,5 @@ const ap3_gpio_pin_t ap3_analog_A6 = 2; const ap3_gpio_pin_t ap3_analog_A8 = 8; const ap3_gpio_pin_t ap3_analog_A9 = 9; const ap3_gpio_pin_t ap3_analog_A10 = 10; +const ap3_gpio_pin_t ap3_analog_DIFF0 = AP3_ADC_DIFF0_PAD; +const ap3_gpio_pin_t ap3_analog_DIFF1 = AP3_ADC_DIFF1_PAD; diff --git a/variants/redboard_artemis/config/variant.h b/variants/redboard_artemis/config/variant.h index 5f62ad53..5c2e278c 100644 --- a/variants/redboard_artemis/config/variant.h +++ b/variants/redboard_artemis/config/variant.h @@ -72,6 +72,8 @@ extern Uart Serial1; #define A8 ap3_analog_A8 #define A9 ap3_analog_A9 #define A10 ap3_analog_A10 +#define ADIFF0 ap3_analog_DIFF0 +#define ADIFF1 ap3_analog_DIFF1 // Promise the existence of analog pin names extern const ap3_gpio_pin_t ap3_analog_A0; @@ -85,6 +87,8 @@ extern const ap3_gpio_pin_t ap3_analog_A6; extern const ap3_gpio_pin_t ap3_analog_A8; extern const ap3_gpio_pin_t ap3_analog_A9; extern const ap3_gpio_pin_t ap3_analog_A10; +extern const ap3_gpio_pin_t ap3_analog_DIFF0; +extern const ap3_gpio_pin_t ap3_analog_DIFF1; #define LED_BUILTIN 13 From 23c839148de76d5377a50c6509b7010daac9a3bd Mon Sep 17 00:00:00 2001 From: Nathan Seidle Date: Thu, 13 Aug 2020 11:00:43 -0600 Subject: [PATCH 11/11] Adding variants for other boards. --- .../examples/Advanced/Differential_ADC/Differential_ADC.ino | 5 +++++ variants/artemis_thing_plus/config/variant.cpp | 1 + variants/artemis_thing_plus/config/variant.h | 2 ++ variants/redboard_artemis_atp/config/variant.cpp | 2 ++ variants/redboard_artemis_atp/config/variant.h | 4 ++++ variants/redboard_artemis_nano/config/variant.cpp | 1 + variants/redboard_artemis_nano/config/variant.h | 2 ++ 7 files changed, 17 insertions(+) diff --git a/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino b/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino index 4d7c32e4..2946f11f 100644 --- a/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino +++ b/libraries/Examples/examples/Advanced/Differential_ADC/Differential_ADC.ino @@ -11,6 +11,11 @@ A differential ADC port measures -1.0V to 1.0V with 0 = -1.0V, 8192 = 0V, and 16383 = 1.0V when the ADC is in 14-bit mode. + Using a trimpot, attach DIFF- to GND and DIFF+ to the center pin of the trimpot. + Connect the outer pins of the trimpot to 3.3V and GND. + Twisting the trimpot you should see the voltage change from 0 to 1.0V. + Switching DIFF-/+ you should see -1.0V to 0V. + SparkFun labored with love to create this code. Feel like supporting open source hardware? Buy a board from SparkFun! https://www.sparkfun.com/products/15376 */ diff --git a/variants/artemis_thing_plus/config/variant.cpp b/variants/artemis_thing_plus/config/variant.cpp index aba19adf..8f1f40c1 100644 --- a/variants/artemis_thing_plus/config/variant.cpp +++ b/variants/artemis_thing_plus/config/variant.cpp @@ -70,3 +70,4 @@ const ap3_gpio_pin_t ap3_analog_A4 = 23; const ap3_gpio_pin_t ap3_analog_A5 = 24; const ap3_gpio_pin_t ap3_analog_A6 = 3; const ap3_gpio_pin_t ap3_analog_A7 = 9; +const ap3_gpio_pin_t ap3_analog_DIFF0 = AP3_ADC_DIFF0_PAD; diff --git a/variants/artemis_thing_plus/config/variant.h b/variants/artemis_thing_plus/config/variant.h index 1d170d90..44cf137f 100644 --- a/variants/artemis_thing_plus/config/variant.h +++ b/variants/artemis_thing_plus/config/variant.h @@ -57,6 +57,7 @@ extern Uart Serial1; #define A5 ap3_analog_A5 #define A6 ap3_analog_A6 #define A7 ap3_analog_A7 +#define ADIFF0 ap3_analog_DIFF0 // Promise the existence of analog pin names extern const ap3_gpio_pin_t ap3_analog_A0; @@ -67,6 +68,7 @@ extern const ap3_gpio_pin_t ap3_analog_A4; extern const ap3_gpio_pin_t ap3_analog_A5; extern const ap3_gpio_pin_t ap3_analog_A6; extern const ap3_gpio_pin_t ap3_analog_A7; +extern const ap3_gpio_pin_t ap3_analog_DIFF0; #define LED_BUILTIN 18 diff --git a/variants/redboard_artemis_atp/config/variant.cpp b/variants/redboard_artemis_atp/config/variant.cpp index a7a3d0c9..885939d4 100644 --- a/variants/redboard_artemis_atp/config/variant.cpp +++ b/variants/redboard_artemis_atp/config/variant.cpp @@ -92,3 +92,5 @@ extern const ap3_gpio_pin_t ap3_analog_A12 = 12; extern const ap3_gpio_pin_t ap3_analog_A32 = 32; extern const ap3_gpio_pin_t ap3_analog_A33 = 33; extern const ap3_gpio_pin_t ap3_analog_A35 = 35; +extern const ap3_gpio_pin_t ap3_analog_DIFF0 = AP3_ADC_DIFF0_PAD; +extern const ap3_gpio_pin_t ap3_analog_DIFF1 = AP3_ADC_DIFF1_PAD; diff --git a/variants/redboard_artemis_atp/config/variant.h b/variants/redboard_artemis_atp/config/variant.h index fd08ff6d..9babc53c 100644 --- a/variants/redboard_artemis_atp/config/variant.h +++ b/variants/redboard_artemis_atp/config/variant.h @@ -58,6 +58,8 @@ extern Uart Serial1; #define A32 ap3_analog_A32 #define A33 ap3_analog_A33 #define A35 ap3_analog_A35 +#define ADIFF0 ap3_analog_DIFF0 +#define ADIFF1 ap3_analog_DIFF1 // Promise the existence of analog pin names extern const ap3_gpio_pin_t ap3_analog_A29; @@ -70,6 +72,8 @@ extern const ap3_gpio_pin_t ap3_analog_A12; extern const ap3_gpio_pin_t ap3_analog_A32; extern const ap3_gpio_pin_t ap3_analog_A33; extern const ap3_gpio_pin_t ap3_analog_A35; +extern const ap3_gpio_pin_t ap3_analog_DIFF0; +extern const ap3_gpio_pin_t ap3_analog_DIFF1; #define LED_BUILTIN 5 diff --git a/variants/redboard_artemis_nano/config/variant.cpp b/variants/redboard_artemis_nano/config/variant.cpp index 188e2470..e18f7730 100644 --- a/variants/redboard_artemis_nano/config/variant.cpp +++ b/variants/redboard_artemis_nano/config/variant.cpp @@ -65,3 +65,4 @@ const ap3_gpio_pin_t ap3_analog_A5 = 5; const ap3_gpio_pin_t ap3_analog_A14 = 14; const ap3_gpio_pin_t ap3_analog_A15 = 15; const ap3_gpio_pin_t ap3_analog_A16 = 16; +const ap3_gpio_pin_t ap3_analog_DIFF0 = AP3_ADC_DIFF0_PAD; diff --git a/variants/redboard_artemis_nano/config/variant.h b/variants/redboard_artemis_nano/config/variant.h index 37f10bec..1212dbf0 100644 --- a/variants/redboard_artemis_nano/config/variant.h +++ b/variants/redboard_artemis_nano/config/variant.h @@ -56,6 +56,7 @@ extern Uart Serial1; #define A14 ap3_analog_A14 #define A15 ap3_analog_A15 #define A16 ap3_analog_A16 +#define ADIFF0 ap3_analog_DIFF0 // Promise the existence of analog pin names extern const ap3_gpio_pin_t ap3_analog_A0; @@ -66,6 +67,7 @@ extern const ap3_gpio_pin_t ap3_analog_A5; extern const ap3_gpio_pin_t ap3_analog_A14; extern const ap3_gpio_pin_t ap3_analog_A15; extern const ap3_gpio_pin_t ap3_analog_A16; +extern const ap3_gpio_pin_t ap3_analog_DIFF0; #define LED_BUILTIN 19