File tree Expand file tree Collapse file tree 4 files changed +15
-10
lines changed Expand file tree Collapse file tree 4 files changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -84,6 +84,7 @@ typedef struct _AnalogPinDescription AnalogPinDescription;
8484extern PinDescription g_APinDescription[];
8585extern AnalogPinDescription g_AAnalogPinDescription[];
8686extern AnalogPinDescription g_AAnalogOutPinDescription[];
87+ extern AnalogPinDescription g_pureAAnalogPinDescription[];
8788
8889#ifdef ANALOG_CONFIG
8990#include " hal/analogin_api.h"
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ extern PinName digitalPinToPinName(pin_size_t P);
2020// ----
2121#define PINS_COUNT (PINCOUNT_fn())
2222#define NUM_DIGITAL_PINS (103u)
23- #define NUM_ANALOG_INPUTS (14u)
23+ #define NUM_ANALOG_INPUTS (10u) // these are analog pins that can also be used as digital
2424#define NUM_ANALOG_OUTPUTS (2u)
2525
2626// LEDs
Original file line number Diff line number Diff line change 22#include " AnalogIn.h"
33#include " pinDefinitions.h"
44
5- PureAnalogPin A8 (8 );
6- PureAnalogPin A9 (9 );
7- PureAnalogPin A10 (10 );
8- PureAnalogPin A11 (11 );
5+ PureAnalogPin A8 (0 );
6+ PureAnalogPin A9 (1 );
7+ PureAnalogPin A10 (2 );
8+ PureAnalogPin A11 (3 );
9+
910
1011int getAnalogReadResolution ();
1112
1213int analogRead (PureAnalogPin pin) {
13- mbed::AnalogIn* adc = g_AAnalogPinDescription [pin.get ()].adc ;
14- auto name = g_AAnalogPinDescription [pin.get ()].name ;
14+ mbed::AnalogIn* adc = g_pureAAnalogPinDescription [pin.get ()].adc ;
15+ auto name = g_pureAAnalogPinDescription [pin.get ()].name ;
1516 if (adc == NULL ) {
1617 adc = new mbed::AnalogIn (name);
17- g_AAnalogPinDescription [pin.get ()].adc = adc;
18+ g_pureAAnalogPinDescription [pin.get ()].adc = adc;
1819 }
1920 return (adc->read_u16 () >> (16 - getAnalogReadResolution ()));
2021}
Original file line number Diff line number Diff line change @@ -12,12 +12,15 @@ AnalogPinDescription g_AAnalogPinDescription[] = {
1212 { PC_2, NULL }, // A5 ADC1_INP12
1313 { PC_0, NULL }, // A6 ADC1_INP10
1414 { PA_0, NULL }, // A7 ADC1_INP16
15+ { PA_4, NULL }, // A12 DAC1_OUT1
16+ { PA_5, NULL }, // A13 DAC1_OUT2
17+ };
18+
19+ AnalogPinDescription g_pureAAnalogPinDescription[] = {
1520 { PC_2C, NULL }, // A8 ADC3_INP0
1621 { PC_3C, NULL }, // A9 ADC3_INP1
1722 { PA_1C, NULL }, // A10 ADC2_INP1
1823 { PA_0C, NULL }, // A11 ADC2_INP0
19- { PA_4, NULL }, // A12 DAC1_OUT1
20- { PA_5, NULL }, // A13 DAC1_OUT2
2124};
2225
2326AnalogPinDescription g_AAnalogOutPinDescription[] = {
You can’t perform that action at this time.
0 commit comments