Browse Source

Enable more ADC1 channels (pins 32-39) (#13742)

Kajetan Rzepecki 6 years ago
parent
commit
7c8ee0cd5b
1 changed files with 15 additions and 4 deletions
  1. 15
    4
      Marlin/src/HAL/HAL_ESP32/HAL.cpp

+ 15
- 4
Marlin/src/HAL/HAL_ESP32/HAL.cpp View File

133
 // --------------------------------------------------------------------------
133
 // --------------------------------------------------------------------------
134
 // ADC
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
 adc1_channel_t get_channel(int pin) {
138
 adc1_channel_t get_channel(int pin) {
139
   switch (pin) {
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
   return ADC1_CHANNEL_MAX;
148
   return ADC1_CHANNEL_MAX;
147
 void HAL_adc_init() {
151
 void HAL_adc_init() {
148
   // Configure ADC
152
   // Configure ADC
149
   adc1_config_width(ADC_WIDTH_12Bit);
153
   adc1_config_width(ADC_WIDTH_12Bit);
150
-  adc1_config_channel_atten(get_channel(36), ADC_ATTEN_11db);
151
   adc1_config_channel_atten(get_channel(39), ADC_ATTEN_11db);
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
   // Calculate ADC characteristics i.e. gain and offset factors
164
   // Calculate ADC characteristics i.e. gain and offset factors
154
   esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, V_REF, &characteristics);
165
   esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, V_REF, &characteristics);

Loading…
Cancel
Save