Skip to content

Commit 17ea2b5

Browse files
committed
Fixes compile error on esp32:esp32:3.x
1 parent 8d41229 commit 17ea2b5

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

src/m5_unit_component/adapter_gpio.cpp

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,27 @@
1111
#include "adapter_gpio.hpp"
1212
#include <driver/gpio.h>
1313
#include <driver/adc.h>
14+
1415
#if defined(SOC_DAC_SUPPORTED) && SOC_DAC_SUPPORTED
16+
#pragma message "DAC supported"
17+
18+
#if __has_include(<driver/dac_common.h>)
1519
#include <driver/dac_common.h>
20+
#define USING_RMT_CHANNNE_T
21+
#endif
22+
23+
#endif
24+
25+
#if !defined(USING_RMT_CHANNNE_T) && defined(ARDUINO)
26+
#include <esp32-hal-dac.h>
1627
#endif
28+
29+
#if SOC_ADC_SUPPORTED
30+
#pragma message "ADC supported"
31+
#else
32+
#pragma message "ADC Not supported"
33+
#endif
34+
1735
#include <esp_timer.h>
1836

1937
namespace {
@@ -244,10 +262,10 @@ constexpr int8_t gpio_to_adc_table[] = {
244262
int8_t gpio_to_adc_channel(const int8_t pin)
245263
{
246264
if (pin < 0 || pin >= m5::stl::size(gpio_to_adc_table)) {
247-
return static_cast<adc_channel_t>(-1);
265+
return -1;
248266
}
249267
auto v = gpio_to_adc_table[pin];
250-
return static_cast<adc_channel_t>(v < 10 ? v : v - 10);
268+
return (v < 10) ? v : v - 10;
251269
}
252270

253271
#if 0
@@ -318,17 +336,19 @@ m5::hal::error::error_t AdapterGPIOBase::GPIOImpl::read_digital(const gpio_num_t
318336

319337
m5::hal::error::error_t AdapterGPIOBase::GPIOImpl::write_analog(const gpio_num_t pin, const uint16_t value)
320338
{
321-
#if defined(SOC_DAC_SUPPORTED) && SOC_DAC_SUPPORTED
322339
if (pin != 25 && pin != 26) {
323340
// DAC output can 25 or 26
324341
return m5::hal::error::error_t::INVALID_ARGUMENT;
325342
}
343+
#if defined(USING_RMT_CHANNNE_T)
326344
dac_channel_t ch = (pin == 25) ? DAC_CHANNEL_1 : DAC_CHANNEL_2;
327345
dac_output_enable(ch);
328346
dac_output_voltage(ch, static_cast<uint8_t>(value & 0xFF)); // 0〜255
329347
return m5::hal::error::error_t::OK;
330348
#else
331-
return m5::hal::error::error_t::NOT_IMPLEMENTED;
349+
analogWrite(pin, value & 0xFF);
350+
;
351+
// return m5::hal::error::error_t::NOT_IMPLEMENTED;
332352
#endif
333353
}
334354

0 commit comments

Comments
 (0)