21
21
#define __ADVANCED_ADC_H__
22
22
23
23
#include " AdvancedAnalog.h"
24
- #if __has_include("pure_analog_pins.h")
25
- #include " pure_analog_pins.h"
26
- #endif
27
24
28
25
struct adc_descr_t ;
29
26
@@ -44,25 +41,14 @@ class AdvancedADC {
44
41
adc_descr_t *descr;
45
42
PinName adc_pins[AN_MAX_ADC_CHANNELS];
46
43
47
- template <typename P>
48
- static inline PinName _toPinName (P p) {
49
- return analogPinToPinName (p);
50
- }
51
- #if __has_include("pure_analog_pins.h")
52
- static inline PinName _toPinName (PureAnalogPin p) {
53
- extern AnalogPinDescription g_pureAAnalogPinDescription[];
54
- return g_pureAAnalogPinDescription[p.get ()].name ;
55
- }
56
- #endif
57
-
58
44
public:
59
- template <typename P0, typename ... P >
60
- AdvancedADC (P0 p0, P ... pins ): n_channels(0 ), descr(nullptr ) {
61
- static_assert (sizeof ...(pins ) < AN_MAX_ADC_CHANNELS,
45
+ template <typename ... T >
46
+ AdvancedADC (pin_size_t p0, T ... args ): n_channels(0 ), descr(nullptr ) {
47
+ static_assert (sizeof ...(args ) < AN_MAX_ADC_CHANNELS,
62
48
" A maximum of 16 channels can be sampled successively." );
63
49
64
- for (PinName pin : { _toPinName (p0), _toPinName (pins) ... }) {
65
- adc_pins[n_channels++] = pin ;
50
+ for (auto p : {p0, args ...}) {
51
+ adc_pins[n_channels++] = analogPinToPinName (p) ;
66
52
}
67
53
}
68
54
AdvancedADC (): n_channels(0 ), descr(nullptr ) {
@@ -86,21 +72,6 @@ class AdvancedADC {
86
72
n_channels = n_pins;
87
73
return begin (resolution, sample_rate, n_samples, n_buffers, start, sample_time);
88
74
}
89
- #if __has_include("pure_analog_pins.h")
90
- int begin (uint32_t resolution, uint32_t sample_rate, size_t n_samples,
91
- size_t n_buffers, size_t n_pins, PureAnalogPin *pins, bool start=true ,
92
- adc_sample_time_t sample_time=AN_ADC_SAMPLETIME_8_5) {
93
- if (n_pins > AN_MAX_ADC_CHANNELS) {
94
- n_pins = AN_MAX_ADC_CHANNELS;
95
- }
96
- for (size_t i = 0 ; i < n_pins; ++i) {
97
- adc_pins[i] = _toPinName (pins[i]);
98
- }
99
-
100
- n_channels = n_pins;
101
- return begin (resolution, sample_rate, n_samples, n_buffers, start, sample_time);
102
- }
103
- #endif
104
75
int start (uint32_t sample_rate);
105
76
int stop ();
106
77
void clear ();
0 commit comments