Ver código fonte

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

Kajetan Rzepecki 5 anos atrás
pai
commit
7c8ee0cd5b
1 arquivos alterados com 15 adições e 4 exclusões
  1. 15
    4
      Marlin/src/HAL/HAL_ESP32/HAL.cpp

+ 15
- 4
Marlin/src/HAL/HAL_ESP32/HAL.cpp Ver arquivo

@@ -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);

Carregando…
Cancelar
Salvar