From 6130ef410c25a2ca9df80f87d363c0f137fab392 Mon Sep 17 00:00:00 2001 From: Keyur Hariya Date: Fri, 2 Feb 2018 10:58:50 -0600 Subject: [PATCH] Enable ADC scaling and enable internal channels Increases input range by 2x(now, 0-2.4v) --- targets/TARGET_Maxim/TARGET_MAX32625/PeripheralPins.c | 4 ++++ .../TARGET_MAX32625/TARGET_MAX32625MBED/PinNames.h | 2 +- .../TARGET_MAX32625/TARGET_MAX32625NEXPAQ/PinNames.h | 2 +- targets/TARGET_Maxim/TARGET_MAX32625/analogin_api.c | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/targets/TARGET_Maxim/TARGET_MAX32625/PeripheralPins.c b/targets/TARGET_Maxim/TARGET_MAX32625/PeripheralPins.c index 488150ecf1..06003960e2 100644 --- a/targets/TARGET_Maxim/TARGET_MAX32625/PeripheralPins.c +++ b/targets/TARGET_Maxim/TARGET_MAX32625/PeripheralPins.c @@ -163,6 +163,10 @@ const PinMap PinMap_ADC[] = { { AIN_3, ADC, ADC_CH_3 }, { AIN_4, ADC, ADC_CH_0_DIV_5 }, { AIN_5, ADC, ADC_CH_1_DIV_5 }, + { AIN_6, ADC, ADC_CH_VDDB_DIV_4 }, + { AIN_7, ADC, ADC_CH_VDD18 }, + { AIN_8, ADC, ADC_CH_VDD12 }, + { AIN_9, ADC, ADC_CH_VRTC_DIV_2 }, { NC, NC, 0 } }; diff --git a/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625MBED/PinNames.h b/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625MBED/PinNames.h index be72f7ca08..6d3debf7b7 100644 --- a/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625MBED/PinNames.h +++ b/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625MBED/PinNames.h @@ -60,7 +60,7 @@ typedef enum { P4_0 = (4 << PORT_SHIFT), P4_1, P4_2, P4_3, P4_4, P4_5, P4_6, P4_7, // Analog input pins - AIN_0 = (0xA << PORT_SHIFT), AIN_1, AIN_2, AIN_3, AIN_4, AIN_5, + AIN_0 = (0xA << PORT_SHIFT), AIN_1, AIN_2, AIN_3, AIN_4, AIN_5, AIN_6, AIN_7, AIN_8, AIN_9, LED_GREEN = P3_1, LED_RED = P3_0, diff --git a/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625NEXPAQ/PinNames.h b/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625NEXPAQ/PinNames.h index a42da3330f..57e8e35d0b 100644 --- a/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625NEXPAQ/PinNames.h +++ b/targets/TARGET_Maxim/TARGET_MAX32625/TARGET_MAX32625NEXPAQ/PinNames.h @@ -60,7 +60,7 @@ typedef enum { P4_0 = (4 << PORT_SHIFT), P4_1, P4_2, P4_3, P4_4, P4_5, P4_6, P4_7, // Analog input pins - AIN_0 = (0xA << PORT_SHIFT), AIN_1, AIN_2, AIN_3, AIN_4, AIN_5, + AIN_0 = (0xA << PORT_SHIFT), AIN_1, AIN_2, AIN_3, AIN_4, AIN_5, AIN_6, AIN_7, AIN_8, AIN_9, // LEDs LED1 = P2_4, diff --git a/targets/TARGET_Maxim/TARGET_MAX32625/analogin_api.c b/targets/TARGET_Maxim/TARGET_MAX32625/analogin_api.c index 2f6d348d65..560d535314 100644 --- a/targets/TARGET_Maxim/TARGET_MAX32625/analogin_api.c +++ b/targets/TARGET_Maxim/TARGET_MAX32625/analogin_api.c @@ -65,7 +65,7 @@ float analogin_read(analogin_t *obj) float result; // Start conversion with no input scaling and no input buffer bypass - ADC_StartConvert(obj->channel, 0, 0); + ADC_StartConvert(obj->channel, 1, 0); if (ADC_GetData(&tmp) == E_OVERFLOW) { result = FLOAT_FULL_SCALE; @@ -83,7 +83,7 @@ uint16_t analogin_read_u16(analogin_t *obj) uint16_t result; // Start conversion with no input scaling and no input buffer bypass - ADC_StartConvert(obj->channel, 0, 0); + ADC_StartConvert(obj->channel, 1, 0); if (ADC_GetData(&tmp) == E_OVERFLOW) { result = INT_FULL_SCALE;