|
@@ -133,12 +133,16 @@ int freeMemory() {
|
133
|
133
|
// --------------------------------------------------------------------------
|
134
|
134
|
// ADC
|
135
|
135
|
// --------------------------------------------------------------------------
|
136
|
|
-#define ADC1_CHANNEL(pin) ADC1_GPIO##pin_CHANNEL
|
|
136
|
+#define ADC1_CHANNEL(pin) ADC1_GPIO ## pin ## _CHANNEL
|
137
|
137
|
|
138
|
138
|
adc1_channel_t get_channel(int pin) {
|
139
|
139
|
switch (pin) {
|
140
|
|
- case 36: return ADC1_GPIO36_CHANNEL;
|
141
|
|
- case 39: return ADC1_GPIO39_CHANNEL;
|
|
140
|
+ case 39: return ADC1_CHANNEL(39);
|
|
141
|
+ case 36: return ADC1_CHANNEL(36);
|
|
142
|
+ case 35: return ADC1_CHANNEL(35);
|
|
143
|
+ case 34: return ADC1_CHANNEL(34);
|
|
144
|
+ case 33: return ADC1_CHANNEL(33);
|
|
145
|
+ case 32: return ADC1_CHANNEL(32);
|
142
|
146
|
}
|
143
|
147
|
|
144
|
148
|
return ADC1_CHANNEL_MAX;
|
|
@@ -147,8 +151,15 @@ adc1_channel_t get_channel(int pin) {
|
147
|
151
|
void HAL_adc_init() {
|
148
|
152
|
// Configure ADC
|
149
|
153
|
adc1_config_width(ADC_WIDTH_12Bit);
|
150
|
|
- adc1_config_channel_atten(get_channel(36), ADC_ATTEN_11db);
|
151
|
154
|
adc1_config_channel_atten(get_channel(39), ADC_ATTEN_11db);
|
|
155
|
+ adc1_config_channel_atten(get_channel(36), ADC_ATTEN_11db);
|
|
156
|
+ adc1_config_channel_atten(get_channel(35), ADC_ATTEN_11db);
|
|
157
|
+ adc1_config_channel_atten(get_channel(34), ADC_ATTEN_11db);
|
|
158
|
+ adc1_config_channel_atten(get_channel(33), ADC_ATTEN_11db);
|
|
159
|
+ adc1_config_channel_atten(get_channel(32), ADC_ATTEN_11db);
|
|
160
|
+
|
|
161
|
+ // Note that adc2 is shared with the WiFi module, which has higher priority, so the conversion may fail.
|
|
162
|
+ // That's why we're not setting it up here.
|
152
|
163
|
|
153
|
164
|
// Calculate ADC characteristics i.e. gain and offset factors
|
154
|
165
|
esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, V_REF, &characteristics);
|