File tree 4 files changed +15
-10
lines changed
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;
84
84
extern PinDescription g_APinDescription[];
85
85
extern AnalogPinDescription g_AAnalogPinDescription[];
86
86
extern AnalogPinDescription g_AAnalogOutPinDescription[];
87
+ extern AnalogPinDescription g_pureAAnalogPinDescription[];
87
88
88
89
#ifdef ANALOG_CONFIG
89
90
#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);
20
20
// ----
21
21
#define PINS_COUNT (PINCOUNT_fn())
22
22
#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
24
24
#define NUM_ANALOG_OUTPUTS (2u)
25
25
26
26
// LEDs
Original file line number Diff line number Diff line change 2
2
#include " AnalogIn.h"
3
3
#include " pinDefinitions.h"
4
4
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
+
9
10
10
11
int getAnalogReadResolution ();
11
12
12
13
int 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 ;
15
16
if (adc == NULL ) {
16
17
adc = new mbed::AnalogIn (name);
17
- g_AAnalogPinDescription [pin.get ()].adc = adc;
18
+ g_pureAAnalogPinDescription [pin.get ()].adc = adc;
18
19
}
19
20
return (adc->read_u16 () >> (16 - getAnalogReadResolution ()));
20
21
}
Original file line number Diff line number Diff line change @@ -12,12 +12,15 @@ AnalogPinDescription g_AAnalogPinDescription[] = {
12
12
{ PC_2, NULL }, // A5 ADC1_INP12
13
13
{ PC_0, NULL }, // A6 ADC1_INP10
14
14
{ 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[] = {
15
20
{ PC_2C, NULL }, // A8 ADC3_INP0
16
21
{ PC_3C, NULL }, // A9 ADC3_INP1
17
22
{ PA_1C, NULL }, // A10 ADC2_INP1
18
23
{ PA_0C, NULL }, // A11 ADC2_INP0
19
- { PA_4, NULL }, // A12 DAC1_OUT1
20
- { PA_5, NULL }, // A13 DAC1_OUT2
21
24
};
22
25
23
26
AnalogPinDescription g_AAnalogOutPinDescription[] = {
You can’t perform that action at this time.
0 commit comments