Skip to content

Commit 1c57cf0

Browse files
committed
Merge branch 'master' into esp32-s3-support
2 parents f262907 + 2884215 commit 1c57cf0

File tree

165 files changed

+1896
-601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+1896
-601
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ set(includedirs
174174
libraries/EEPROM/src
175175
libraries/ESP32/src
176176
libraries/ESPmDNS/src
177+
libraries/Ethernet/src
177178
libraries/FFat/src
178179
libraries/FS/src
179180
libraries/HTTPClient/src

boards.txt

+219-1
Original file line numberDiff line numberDiff line change
@@ -4194,6 +4194,199 @@ d32_pro.menu.DebugLevel.verbose.build.code_debug=5
41944194

41954195
##############################################################
41964196

4197+
lolin_c3_mini.name=LOLIN C3 Mini
4198+
lolin_c3_mini.vid.0=0x303a
4199+
lolin_c3_mini.pid.0=0x1001
4200+
4201+
lolin_c3_mini.upload.tool=esptool_py
4202+
lolin_c3_mini.upload.maximum_size=1310720
4203+
lolin_c3_mini.upload.maximum_data_size=327680
4204+
lolin_c3_mini.upload.flags=
4205+
lolin_c3_mini.upload.extra_flags=
4206+
lolin_c3_mini.upload.use_1200bps_touch=false
4207+
lolin_c3_mini.upload.wait_for_upload_port=false
4208+
4209+
lolin_c3_mini.serial.disableDTR=true
4210+
lolin_c3_mini.serial.disableRTS=true
4211+
4212+
lolin_c3_mini.build.tarch=riscv32
4213+
lolin_c3_mini.build.target=esp
4214+
lolin_c3_mini.build.mcu=esp32c3
4215+
lolin_c3_mini.build.core=esp32
4216+
lolin_c3_mini.build.variant=lolin_c3_mini
4217+
lolin_c3_mini.build.board=LOLIN_C3_MINI
4218+
lolin_c3_mini.build.bootloader_addr=0x0
4219+
4220+
lolin_c3_mini.build.cdc_on_boot=1
4221+
lolin_c3_mini.build.f_cpu=160000000L
4222+
lolin_c3_mini.build.flash_size=4MB
4223+
lolin_c3_mini.build.flash_freq=80m
4224+
lolin_c3_mini.build.flash_mode=dio
4225+
lolin_c3_mini.build.boot=qio
4226+
lolin_c3_mini.build.partitions=default
4227+
lolin_c3_mini.build.defines=
4228+
4229+
lolin_c3_mini.menu.CDCOnBoot.default=Enabled
4230+
lolin_c3_mini.menu.CDCOnBoot.default.build.cdc_on_boot=1
4231+
lolin_c3_mini.menu.CDCOnBoot.dis_cdc=Disabled
4232+
lolin_c3_mini.menu.CDCOnBoot.dis_cdc.build.cdc_on_boot=0
4233+
4234+
lolin_c3_mini.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
4235+
lolin_c3_mini.menu.PartitionScheme.default.build.partitions=default
4236+
lolin_c3_mini.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
4237+
lolin_c3_mini.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
4238+
lolin_c3_mini.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
4239+
lolin_c3_mini.menu.PartitionScheme.no_ota.build.partitions=no_ota
4240+
lolin_c3_mini.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
4241+
lolin_c3_mini.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
4242+
lolin_c3_mini.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
4243+
lolin_c3_mini.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
4244+
lolin_c3_mini.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
4245+
lolin_c3_mini.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
4246+
lolin_c3_mini.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
4247+
lolin_c3_mini.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
4248+
lolin_c3_mini.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
4249+
lolin_c3_mini.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
4250+
lolin_c3_mini.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
4251+
lolin_c3_mini.menu.PartitionScheme.huge_app.build.partitions=huge_app
4252+
lolin_c3_mini.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
4253+
4254+
4255+
lolin_c3_mini.menu.CPUFreq.160=160MHz (WiFi)
4256+
lolin_c3_mini.menu.CPUFreq.160.build.f_cpu=160000000L
4257+
lolin_c3_mini.menu.CPUFreq.80=80MHz (WiFi)
4258+
lolin_c3_mini.menu.CPUFreq.80.build.f_cpu=80000000L
4259+
lolin_c3_mini.menu.CPUFreq.40=40MHz
4260+
lolin_c3_mini.menu.CPUFreq.40.build.f_cpu=40000000L
4261+
lolin_c3_mini.menu.CPUFreq.20=20MHz
4262+
lolin_c3_mini.menu.CPUFreq.20.build.f_cpu=20000000L
4263+
lolin_c3_mini.menu.CPUFreq.10=10MHz
4264+
lolin_c3_mini.menu.CPUFreq.10.build.f_cpu=10000000L
4265+
4266+
4267+
4268+
lolin_c3_mini.menu.FlashFreq.80=80MHz
4269+
lolin_c3_mini.menu.FlashFreq.80.build.flash_freq=80m
4270+
lolin_c3_mini.menu.FlashFreq.40=40MHz
4271+
lolin_c3_mini.menu.FlashFreq.40.build.flash_freq=40m
4272+
4273+
lolin_c3_mini.menu.UploadSpeed.921600=921600
4274+
lolin_c3_mini.menu.UploadSpeed.921600.upload.speed=921600
4275+
lolin_c3_mini.menu.UploadSpeed.115200=115200
4276+
lolin_c3_mini.menu.UploadSpeed.115200.upload.speed=115200
4277+
lolin_c3_mini.menu.UploadSpeed.256000.windows=256000
4278+
lolin_c3_mini.menu.UploadSpeed.256000.upload.speed=256000
4279+
lolin_c3_mini.menu.UploadSpeed.230400.windows.upload.speed=256000
4280+
lolin_c3_mini.menu.UploadSpeed.230400=230400
4281+
lolin_c3_mini.menu.UploadSpeed.230400.upload.speed=230400
4282+
lolin_c3_mini.menu.UploadSpeed.460800.linux=460800
4283+
lolin_c3_mini.menu.UploadSpeed.460800.macosx=460800
4284+
lolin_c3_mini.menu.UploadSpeed.460800.upload.speed=460800
4285+
lolin_c3_mini.menu.UploadSpeed.512000.windows=512000
4286+
lolin_c3_mini.menu.UploadSpeed.512000.upload.speed=512000
4287+
4288+
lolin_c3_mini.menu.DebugLevel.none=None
4289+
lolin_c3_mini.menu.DebugLevel.none.build.code_debug=0
4290+
lolin_c3_mini.menu.DebugLevel.error=Error
4291+
lolin_c3_mini.menu.DebugLevel.error.build.code_debug=1
4292+
lolin_c3_mini.menu.DebugLevel.warn=Warn
4293+
lolin_c3_mini.menu.DebugLevel.warn.build.code_debug=2
4294+
lolin_c3_mini.menu.DebugLevel.info=Info
4295+
lolin_c3_mini.menu.DebugLevel.info.build.code_debug=3
4296+
lolin_c3_mini.menu.DebugLevel.debug=Debug
4297+
lolin_c3_mini.menu.DebugLevel.debug.build.code_debug=4
4298+
lolin_c3_mini.menu.DebugLevel.verbose=Verbose
4299+
lolin_c3_mini.menu.DebugLevel.verbose.build.code_debug=5
4300+
4301+
##############################################################
4302+
4303+
lolin_s2_mini.name=LOLIN S2 Mini
4304+
lolin_s2_mini.vid.0=0x303a
4305+
lolin_s2_mini.pid.0=0x80C2
4306+
4307+
lolin_s2_mini.upload.tool=esptool_py
4308+
lolin_s2_mini.upload.maximum_size=1310720
4309+
lolin_s2_mini.upload.maximum_data_size=327680
4310+
lolin_s2_mini.upload.flags=
4311+
lolin_s2_mini.upload.extra_flags=
4312+
lolin_s2_mini.upload.use_1200bps_touch=true
4313+
lolin_s2_mini.upload.wait_for_upload_port=true
4314+
lolin_s2_mini.upload.speed=921600
4315+
4316+
lolin_s2_mini.serial.disableDTR=false
4317+
lolin_s2_mini.serial.disableRTS=false
4318+
4319+
lolin_s2_mini.build.tarch=xtensa
4320+
lolin_s2_mini.build.bootloader_addr=0x1000
4321+
lolin_s2_mini.build.target=esp32s2
4322+
lolin_s2_mini.build.mcu=esp32s2
4323+
lolin_s2_mini.build.core=esp32
4324+
lolin_s2_mini.build.variant=lolin_s2_mini
4325+
lolin_s2_mini.build.board=LOLIN_S2_MINI
4326+
4327+
lolin_s2_mini.build.cdc_on_boot=1
4328+
lolin_s2_mini.build.msc_on_boot=1
4329+
lolin_s2_mini.build.dfu_on_boot=1
4330+
lolin_s2_mini.build.f_cpu=240000000L
4331+
lolin_s2_mini.build.flash_size=4MB
4332+
lolin_s2_mini.build.flash_freq=80m
4333+
lolin_s2_mini.build.flash_mode=dio
4334+
lolin_s2_mini.build.boot=qio
4335+
lolin_s2_mini.build.partitions=default
4336+
lolin_s2_mini.build.defines=
4337+
4338+
lolin_s2_mini.build.defines=-DBOARD_HAS_PSRAM
4339+
4340+
lolin_s2_mini.menu.CDCOnBoot.default=Enabled
4341+
lolin_s2_mini.menu.CDCOnBoot.default.build.cdc_on_boot=1
4342+
lolin_s2_mini.menu.CDCOnBoot.dis_cdc=Disabled
4343+
lolin_s2_mini.menu.CDCOnBoot.dis_cdc.build.cdc_on_boot=0
4344+
4345+
lolin_s2_mini.menu.MSCOnBoot.default=Disabled
4346+
lolin_s2_mini.menu.MSCOnBoot.default.build.msc_on_boot=0
4347+
lolin_s2_mini.menu.MSCOnBoot.msc=Enabled
4348+
lolin_s2_mini.menu.MSCOnBoot.msc.build.msc_on_boot=1
4349+
4350+
lolin_s2_mini.menu.DFUOnBoot.default=Disabled
4351+
lolin_s2_mini.menu.DFUOnBoot.default.build.dfu_on_boot=0
4352+
lolin_s2_mini.menu.DFUOnBoot.dfu=Enabled
4353+
lolin_s2_mini.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
4354+
4355+
lolin_s2_mini.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
4356+
lolin_s2_mini.menu.PartitionScheme.default.build.partitions=default
4357+
lolin_s2_mini.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
4358+
lolin_s2_mini.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
4359+
lolin_s2_mini.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
4360+
lolin_s2_mini.menu.PartitionScheme.no_ota.build.partitions=no_ota
4361+
lolin_s2_mini.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
4362+
lolin_s2_mini.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
4363+
lolin_s2_mini.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
4364+
lolin_s2_mini.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
4365+
lolin_s2_mini.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
4366+
lolin_s2_mini.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
4367+
lolin_s2_mini.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
4368+
lolin_s2_mini.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
4369+
lolin_s2_mini.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
4370+
lolin_s2_mini.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
4371+
lolin_s2_mini.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
4372+
lolin_s2_mini.menu.PartitionScheme.huge_app.build.partitions=huge_app
4373+
lolin_s2_mini.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
4374+
4375+
lolin_s2_mini.menu.DebugLevel.none=None
4376+
lolin_s2_mini.menu.DebugLevel.none.build.code_debug=0
4377+
lolin_s2_mini.menu.DebugLevel.error=Error
4378+
lolin_s2_mini.menu.DebugLevel.error.build.code_debug=1
4379+
lolin_s2_mini.menu.DebugLevel.warn=Warn
4380+
lolin_s2_mini.menu.DebugLevel.warn.build.code_debug=2
4381+
lolin_s2_mini.menu.DebugLevel.info=Info
4382+
lolin_s2_mini.menu.DebugLevel.info.build.code_debug=3
4383+
lolin_s2_mini.menu.DebugLevel.debug=Debug
4384+
lolin_s2_mini.menu.DebugLevel.debug.build.code_debug=4
4385+
lolin_s2_mini.menu.DebugLevel.verbose=Verbose
4386+
lolin_s2_mini.menu.DebugLevel.verbose.build.code_debug=5
4387+
4388+
##############################################################
4389+
41974390
lolin32.name=WEMOS LOLIN32
41984391

41994392
lolin32.upload.tool=esptool_py
@@ -9351,6 +9544,31 @@ esp32cam.menu.FlashMode.dout=DOUT
93519544
esp32cam.menu.FlashMode.dout.build.flash_mode=dout
93529545
esp32cam.menu.FlashMode.dout.build.boot=dout
93539546

9547+
esp32cam.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
9548+
esp32cam.menu.PartitionScheme.huge_app.build.partitions=huge_app
9549+
esp32cam.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
9550+
esp32cam.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
9551+
esp32cam.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
9552+
esp32cam.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
9553+
esp32cam.menu.PartitionScheme.default=Regular 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
9554+
esp32cam.menu.PartitionScheme.default.build.partitions=default
9555+
esp32cam.menu.PartitionScheme.defaultffat=Regular 4MB with ffat (1.2MB APP/1.5MB FATFS)
9556+
esp32cam.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
9557+
esp32cam.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
9558+
esp32cam.menu.PartitionScheme.minimal.build.partitions=minimal
9559+
esp32cam.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
9560+
esp32cam.menu.PartitionScheme.no_ota.build.partitions=no_ota
9561+
esp32cam.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
9562+
esp32cam.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
9563+
esp32cam.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
9564+
esp32cam.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
9565+
esp32cam.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
9566+
esp32cam.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
9567+
esp32cam.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
9568+
esp32cam.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
9569+
esp32cam.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
9570+
esp32cam.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
9571+
93549572
esp32cam.menu.FlashFreq.80=80MHz
93559573
esp32cam.menu.FlashFreq.80.build.flash_freq=80m
93569574
esp32cam.menu.FlashFreq.40=40MHz
@@ -12426,4 +12644,4 @@ watchy.menu.DebugLevel.debug.build.code_debug=4
1242612644
watchy.menu.DebugLevel.verbose=Verbose
1242712645
watchy.menu.DebugLevel.verbose.build.code_debug=5
1242812646

12429-
##############################################################
12647+
##############################################################

cores/esp32/HardwareSerial.cpp

+37-19
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include "pins_arduino.h"
77
#include "HardwareSerial.h"
88
#include "soc/soc_caps.h"
9+
#include "driver/uart.h"
910

1011
#ifndef SOC_RX0
1112
#if CONFIG_IDF_TARGET_ESP32
@@ -110,7 +111,6 @@ void serialEventRun(void)
110111
}
111112
#endif
112113

113-
114114
HardwareSerial::HardwareSerial(int uart_nr) : _uart_nr(uart_nr), _uart(NULL), _rxBufferSize(256) {}
115115

116116
void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, int8_t txPin, bool invert, unsigned long timeout_ms, uint8_t rxfifo_full_thrhd)
@@ -119,28 +119,39 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
119119
log_e("Serial number is invalid, please use numers from 0 to %u", SOC_UART_NUM - 1);
120120
return;
121121
}
122+
123+
// First Time or after end() --> set default Pins
124+
if (!uartIsDriverInstalled(_uart)) {
125+
switch (_uart_nr) {
126+
case UART_NUM_0:
127+
rxPin = rxPin < 0 ? SOC_RX0 : rxPin;
128+
txPin = txPin < 0 ? SOC_TX0 : txPin;
129+
break;
130+
#if SOC_UART_NUM > 1 // may save some flash bytes...
131+
case UART_NUM_1:
132+
rxPin = rxPin < 0 ? RX1 : rxPin;
133+
txPin = txPin < 0 ? TX1 : txPin;
134+
break;
135+
#endif
136+
#if SOC_UART_NUM > 2 // may save some flash bytes...
137+
case UART_NUM_2:
138+
rxPin = rxPin < 0 ? RX2 : rxPin;
139+
txPin = txPin < 0 ? TX2 : txPin;
140+
break;
141+
#endif
142+
default:
143+
log_e("Bad UART Number");
144+
return;
145+
}
146+
}
147+
122148
if(_uart) {
123149
// in this case it is a begin() over a previous begin() - maybe to change baud rate
124150
// thus do not disable debug output
125151
end(false);
126152
}
127-
if(_uart_nr == 0 && rxPin < 0 && txPin < 0) {
128-
rxPin = SOC_RX0;
129-
txPin = SOC_TX0;
130-
}
131-
#if SOC_UART_NUM > 1
132-
if(_uart_nr == 1 && rxPin < 0 && txPin < 0) {
133-
rxPin = RX1;
134-
txPin = TX1;
135-
}
136-
#endif
137-
#if SOC_UART_NUM > 2
138-
if(_uart_nr == 2 && rxPin < 0 && txPin < 0) {
139-
rxPin = RX2;
140-
txPin = TX2;
141-
}
142-
#endif
143153

154+
// IDF UART driver keeps Pin setting on restarting. Negative Pin number will keep it unmodified.
144155
_uart = uartBegin(_uart_nr, baud ? baud : 9600, config, rxPin, txPin, _rxBufferSize, invert, rxfifo_full_thrhd);
145156
if (!baud) {
146157
// using baud rate as zero, forces it to try to detect the current baud rate in place
@@ -276,9 +287,16 @@ void HardwareSerial::setRxInvert(bool invert)
276287
uartSetRxInvert(_uart, invert);
277288
}
278289

279-
void HardwareSerial::setPins(uint8_t rxPin, uint8_t txPin)
290+
// negative Pin value will keep it unmodified
291+
void HardwareSerial::setPins(int8_t rxPin, int8_t txPin, int8_t ctsPin, int8_t rtsPin)
292+
{
293+
uartSetPins(_uart, rxPin, txPin, ctsPin, rtsPin);
294+
}
295+
296+
// Enables or disables Hardware Flow Control using RTS and/or CTS pins (must use setAllPins() before)
297+
void HardwareSerial::setHwFlowCtrlMode(uint8_t mode, uint8_t threshold)
280298
{
281-
uartSetPins(_uart, rxPin, txPin);
299+
uartSetHwFlowCtrlMode(_uart, mode, threshold);
282300
}
283301

284302
size_t HardwareSerial::setRxBufferSize(size_t new_size) {

cores/esp32/HardwareSerial.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,13 @@ class HardwareSerial: public Stream
107107
void setDebugOutput(bool);
108108

109109
void setRxInvert(bool);
110-
void setPins(uint8_t rxPin, uint8_t txPin);
110+
111+
// Negative Pin Number will keep it unmodified, thus this function can set individual pins
112+
// SetPins shall be called after Serial begin()
113+
void setPins(int8_t rxPin, int8_t txPin, int8_t ctsPin = -1, int8_t rtsPin = -1);
114+
// Enables or disables Hardware Flow Control using RTS and/or CTS pins (must use setAllPins() before)
115+
void setHwFlowCtrlMode(uint8_t mode = HW_FLOWCTRL_CTS_RTS, uint8_t threshold = 64); // 64 is half FIFO Length
116+
111117
size_t setRxBufferSize(size_t new_size);
112118

113119
protected:

cores/esp32/esp32-hal-adc.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "soc/rtc_io_reg.h"
2828
#include "esp32/rom/ets_sys.h"
2929
#include "esp_intr_alloc.h"
30+
#include "soc/dac_channel.h"
3031
#define DEFAULT_VREF 1100
3132
static esp_adc_cal_characteristics_t *__analogCharacteristics[2] = {NULL, NULL};
3233
static uint16_t __analogVRef = 0;
@@ -35,6 +36,7 @@ static uint8_t __analogVRefPin = 0;
3536
#include "esp32s2/rom/ets_sys.h"
3637
#include "soc/sens_reg.h"
3738
#include "soc/rtc_io_reg.h"
39+
#include "soc/dac_channel.h"
3840
#elif CONFIG_IDF_TARGET_ESP32S3
3941
#include "esp32s3/rom/ets_sys.h"
4042
#include "soc/sens_reg.h"
@@ -145,10 +147,10 @@ bool __adcAttachPin(uint8_t pin){
145147
}
146148
#endif
147149
}
148-
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2
149-
else if(pin == 25){
150+
#if SOC_DAC_SUPPORTED
151+
else if(pin == DAC_CHANNEL_1_GPIO_NUM){
150152
CLEAR_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);//stop dac1
151-
} else if(pin == 26){
153+
} else if(pin == DAC_CHANNEL_2_GPIO_NUM){
152154
CLEAR_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE);//stop dac2
153155
}
154156
#endif

0 commit comments

Comments
 (0)