Skip to content

Commit 747b6d0

Browse files
authored
[FEATURE] Basic implementation of Arduino's I2S library (#5304)
Basic version of Arduino's I2S library. We currently support only 16bps + 16000 Hz sampling frequency. Other bitrates and sample rates will print warning and continue to operate, however the resulting audio quality may be poor. There will be further effort to fix these issues.
1 parent b70fedc commit 747b6d0

File tree

28 files changed

+2928
-10
lines changed

28 files changed

+2928
-10
lines changed
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Push components to https://components.espressif.com
2+
on:
3+
push:
4+
tags:
5+
- v*
6+
jobs:
7+
upload_components:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v2
11+
with:
12+
submodules: "recursive"
13+
14+
- name: Upload components to the component registry
15+
uses: espressif/github-actions/upload_components@master
16+
with:
17+
name: arduino-esp32
18+
namespace: espressif
19+
api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}

CMakeLists.txt

+4-1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ set(LIBRARY_SRCS
8686
libraries/HTTPClient/src/HTTPClient.cpp
8787
libraries/HTTPUpdate/src/HTTPUpdate.cpp
8888
libraries/LittleFS/src/LittleFS.cpp
89+
libraries/I2S/src/I2S.cpp
8990
libraries/NetBIOS/src/NetBIOS.cpp
9091
libraries/Preferences/src/Preferences.cpp
9192
libraries/RainMaker/src/RMaker.cpp
@@ -162,7 +163,6 @@ set(BLE_SRCS
162163
libraries/BLE/src/GeneralUtils.cpp
163164
)
164165

165-
166166
set(includedirs
167167
variants/${IDF_TARGET}/
168168
cores/esp32/
@@ -179,6 +179,7 @@ set(includedirs
179179
libraries/HTTPClient/src
180180
libraries/HTTPUpdate/src
181181
libraries/LittleFS/src
182+
libraries/I2S/src
182183
libraries/NetBIOS/src
183184
libraries/Preferences/src
184185
libraries/RainMaker/src
@@ -234,6 +235,8 @@ function(maybe_add_component component_name)
234235
endif()
235236
endfunction()
236237

238+
maybe_add_component(esp-dsp)
239+
237240
if(IDF_TARGET MATCHES "esp32" AND CONFIG_ESP_RMAKER_TASK_STACK)
238241
maybe_add_component(esp_rainmaker)
239242
maybe_add_component(qrcode)

boards.txt

+278
Original file line numberDiff line numberDiff line change
@@ -5943,6 +5943,284 @@ adafruit_qtpy_esp32s2.menu.DebugLevel.debug.build.code_debug=4
59435943
adafruit_qtpy_esp32s2.menu.DebugLevel.verbose=Verbose
59445944
adafruit_qtpy_esp32s2.menu.DebugLevel.verbose.build.code_debug=5
59455945

5946+
##############################################################
5947+
5948+
adafruit_qtpy_esp32c3.name=Adafruit QT Py ESP32-C3
5949+
adafruit_qtpy_esp32c3.vid.0=0x303a
5950+
adafruit_qtpy_esp32c3.pid.0=0x1001
5951+
5952+
adafruit_qtpy_esp32c3.upload.tool=esptool_py
5953+
adafruit_qtpy_esp32c3.upload.maximum_size=1310720
5954+
adafruit_qtpy_esp32c3.upload.maximum_data_size=327680
5955+
adafruit_qtpy_esp32c3.upload.flags=
5956+
adafruit_qtpy_esp32c3.upload.extra_flags=
5957+
adafruit_qtpy_esp32c3.upload.use_1200bps_touch=false
5958+
adafruit_qtpy_esp32c3.upload.wait_for_upload_port=false
5959+
5960+
adafruit_qtpy_esp32c3.serial.disableDTR=false
5961+
adafruit_qtpy_esp32c3.serial.disableRTS=false
5962+
5963+
adafruit_qtpy_esp32c3.build.tarch=riscv32
5964+
adafruit_qtpy_esp32c3.build.target=esp
5965+
adafruit_qtpy_esp32c3.build.mcu=esp32c3
5966+
adafruit_qtpy_esp32c3.build.core=esp32
5967+
adafruit_qtpy_esp32c3.build.variant=adafruit_qtpy_esp32c3
5968+
adafruit_qtpy_esp32c3.build.board=ADAFRUIT_QTPY_ESP32C3
5969+
adafruit_qtpy_esp32c3.build.bootloader_addr=0x0
5970+
5971+
adafruit_qtpy_esp32c3.build.cdc_on_boot=0
5972+
adafruit_qtpy_esp32c3.build.f_cpu=160000000L
5973+
adafruit_qtpy_esp32c3.build.flash_size=4MB
5974+
adafruit_qtpy_esp32c3.build.flash_freq=80m
5975+
adafruit_qtpy_esp32c3.build.flash_mode=dout
5976+
adafruit_qtpy_esp32c3.build.boot=dout
5977+
adafruit_qtpy_esp32c3.build.partitions=default
5978+
adafruit_qtpy_esp32c3.build.defines=
5979+
5980+
adafruit_qtpy_esp32c3.menu.CDCOnBoot.cdc=Enabled
5981+
adafruit_qtpy_esp32c3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
5982+
adafruit_qtpy_esp32c3.menu.CDCOnBoot.default=Disabled
5983+
adafruit_qtpy_esp32c3.menu.CDCOnBoot.default.build.cdc_on_boot=0
5984+
5985+
adafruit_qtpy_esp32c3.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
5986+
adafruit_qtpy_esp32c3.menu.PartitionScheme.default.build.partitions=default
5987+
adafruit_qtpy_esp32c3.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
5988+
adafruit_qtpy_esp32c3.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
5989+
adafruit_qtpy_esp32c3.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
5990+
adafruit_qtpy_esp32c3.menu.PartitionScheme.minimal.build.partitions=minimal
5991+
adafruit_qtpy_esp32c3.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
5992+
adafruit_qtpy_esp32c3.menu.PartitionScheme.no_ota.build.partitions=no_ota
5993+
adafruit_qtpy_esp32c3.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
5994+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
5995+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
5996+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
5997+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
5998+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
5999+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
6000+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
6001+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
6002+
adafruit_qtpy_esp32c3.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
6003+
adafruit_qtpy_esp32c3.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
6004+
adafruit_qtpy_esp32c3.menu.PartitionScheme.huge_app.build.partitions=huge_app
6005+
adafruit_qtpy_esp32c3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
6006+
adafruit_qtpy_esp32c3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
6007+
adafruit_qtpy_esp32c3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
6008+
adafruit_qtpy_esp32c3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
6009+
6010+
adafruit_qtpy_esp32c3.menu.CPUFreq.160=160MHz (WiFi)
6011+
adafruit_qtpy_esp32c3.menu.CPUFreq.160.build.f_cpu=160000000L
6012+
adafruit_qtpy_esp32c3.menu.CPUFreq.80=80MHz (WiFi)
6013+
adafruit_qtpy_esp32c3.menu.CPUFreq.80.build.f_cpu=80000000L
6014+
adafruit_qtpy_esp32c3.menu.CPUFreq.40=40MHz
6015+
adafruit_qtpy_esp32c3.menu.CPUFreq.40.build.f_cpu=40000000L
6016+
adafruit_qtpy_esp32c3.menu.CPUFreq.20=20MHz
6017+
adafruit_qtpy_esp32c3.menu.CPUFreq.20.build.f_cpu=20000000L
6018+
adafruit_qtpy_esp32c3.menu.CPUFreq.10=10MHz
6019+
adafruit_qtpy_esp32c3.menu.CPUFreq.10.build.f_cpu=10000000L
6020+
6021+
adafruit_qtpy_esp32c3.menu.FlashMode.dout=DOUT
6022+
adafruit_qtpy_esp32c3.menu.FlashMode.dout.build.flash_mode=dout
6023+
adafruit_qtpy_esp32c3.menu.FlashMode.dout.build.boot=dout
6024+
adafruit_qtpy_esp32c3.menu.FlashMode.qio=QIO
6025+
adafruit_qtpy_esp32c3.menu.FlashMode.qio.build.flash_mode=dio
6026+
adafruit_qtpy_esp32c3.menu.FlashMode.qio.build.boot=qio
6027+
adafruit_qtpy_esp32c3.menu.FlashMode.dio=DIO
6028+
adafruit_qtpy_esp32c3.menu.FlashMode.dio.build.flash_mode=dio
6029+
adafruit_qtpy_esp32c3.menu.FlashMode.dio.build.boot=dio
6030+
adafruit_qtpy_esp32c3.menu.FlashMode.qout=QOUT
6031+
adafruit_qtpy_esp32c3.menu.FlashMode.qout.build.flash_mode=dout
6032+
adafruit_qtpy_esp32c3.menu.FlashMode.qout.build.boot=qout
6033+
6034+
adafruit_qtpy_esp32c3.menu.FlashFreq.80=80MHz
6035+
adafruit_qtpy_esp32c3.menu.FlashFreq.80.build.flash_freq=80m
6036+
adafruit_qtpy_esp32c3.menu.FlashFreq.40=40MHz
6037+
adafruit_qtpy_esp32c3.menu.FlashFreq.40.build.flash_freq=40m
6038+
6039+
adafruit_qtpy_esp32c3.menu.FlashSize.4M=4MB (32Mb)
6040+
adafruit_qtpy_esp32c3.menu.FlashSize.4M.build.flash_size=4MB
6041+
adafruit_qtpy_esp32c3.menu.FlashSize.2M=2MB (16Mb)
6042+
adafruit_qtpy_esp32c3.menu.FlashSize.2M.build.flash_size=2MB
6043+
adafruit_qtpy_esp32c3.menu.FlashSize.2M.build.partitions=minimal
6044+
6045+
adafruit_qtpy_esp32c3.menu.UploadSpeed.115200=115200
6046+
adafruit_qtpy_esp32c3.menu.UploadSpeed.115200.upload.speed=115200
6047+
adafruit_qtpy_esp32c3.menu.UploadSpeed.921600=921600
6048+
adafruit_qtpy_esp32c3.menu.UploadSpeed.921600.upload.speed=921600
6049+
adafruit_qtpy_esp32c3.menu.UploadSpeed.921600=921600
6050+
adafruit_qtpy_esp32c3.menu.UploadSpeed.921600.upload.speed=921600
6051+
adafruit_qtpy_esp32c3.menu.UploadSpeed.115200=115200
6052+
adafruit_qtpy_esp32c3.menu.UploadSpeed.115200.upload.speed=115200
6053+
adafruit_qtpy_esp32c3.menu.UploadSpeed.256000.windows=256000
6054+
adafruit_qtpy_esp32c3.menu.UploadSpeed.256000.upload.speed=256000
6055+
adafruit_qtpy_esp32c3.menu.UploadSpeed.230400.windows.upload.speed=256000
6056+
adafruit_qtpy_esp32c3.menu.UploadSpeed.230400=230400
6057+
adafruit_qtpy_esp32c3.menu.UploadSpeed.230400.upload.speed=230400
6058+
adafruit_qtpy_esp32c3.menu.UploadSpeed.460800.linux=460800
6059+
adafruit_qtpy_esp32c3.menu.UploadSpeed.460800.macosx=460800
6060+
adafruit_qtpy_esp32c3.menu.UploadSpeed.460800.upload.speed=460800
6061+
adafruit_qtpy_esp32c3.menu.UploadSpeed.512000.windows=512000
6062+
adafruit_qtpy_esp32c3.menu.UploadSpeed.512000.upload.speed=512000
6063+
6064+
adafruit_qtpy_esp32c3.menu.DebugLevel.none=None
6065+
adafruit_qtpy_esp32c3.menu.DebugLevel.none.build.code_debug=0
6066+
adafruit_qtpy_esp32c3.menu.DebugLevel.error=Error
6067+
adafruit_qtpy_esp32c3.menu.DebugLevel.error.build.code_debug=1
6068+
adafruit_qtpy_esp32c3.menu.DebugLevel.warn=Warn
6069+
adafruit_qtpy_esp32c3.menu.DebugLevel.warn.build.code_debug=2
6070+
adafruit_qtpy_esp32c3.menu.DebugLevel.info=Info
6071+
adafruit_qtpy_esp32c3.menu.DebugLevel.info.build.code_debug=3
6072+
adafruit_qtpy_esp32c3.menu.DebugLevel.debug=Debug
6073+
adafruit_qtpy_esp32c3.menu.DebugLevel.debug.build.code_debug=4
6074+
adafruit_qtpy_esp32c3.menu.DebugLevel.verbose=Verbose
6075+
adafruit_qtpy_esp32c3.menu.DebugLevel.verbose.build.code_debug=5
6076+
6077+
6078+
adafruit_qtpy_esp32_pico.name=Adafruit QT Py ESP32 Pico
6079+
6080+
adafruit_qtpy_esp32_pico.upload.tool=esptool_py
6081+
adafruit_qtpy_esp32_pico.upload.maximum_size=1310720
6082+
adafruit_qtpy_esp32_pico.upload.maximum_data_size=327680
6083+
adafruit_qtpy_esp32_pico.upload.flags=
6084+
adafruit_qtpy_esp32_pico.upload.extra_flags=
6085+
6086+
adafruit_qtpy_esp32_pico.serial.disableDTR=true
6087+
adafruit_qtpy_esp32_pico.serial.disableRTS=true
6088+
6089+
adafruit_qtpy_esp32_pico.build.tarch=xtensa
6090+
adafruit_qtpy_esp32_pico.build.bootloader_addr=0x1000
6091+
adafruit_qtpy_esp32_pico.build.target=esp32
6092+
adafruit_qtpy_esp32_pico.build.mcu=esp32
6093+
adafruit_qtpy_esp32_pico.build.core=esp32
6094+
adafruit_qtpy_esp32_pico.build.variant=adafruit_qtpy_esp32
6095+
adafruit_qtpy_esp32_pico.build.board=ADAFRUIT_QTPY_ESP32_PICO
6096+
6097+
adafruit_qtpy_esp32_pico.build.f_cpu=240000000L
6098+
adafruit_qtpy_esp32_pico.build.flash_size=8MB
6099+
adafruit_qtpy_esp32_pico.build.flash_freq=80m
6100+
adafruit_qtpy_esp32_pico.build.flash_mode=dio
6101+
adafruit_qtpy_esp32_pico.build.boot=dio
6102+
adafruit_qtpy_esp32_pico.build.partitions=default
6103+
adafruit_qtpy_esp32_pico.build.defines=
6104+
6105+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.default=Default
6106+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.default.build.partitions=default
6107+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.no_ota=No OTA (Large APP)
6108+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.no_ota.build.partitions=no_ota
6109+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
6110+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
6111+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
6112+
adafruit_qtpy_esp32_pico.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
6113+
6114+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.921600=921600
6115+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.921600.upload.speed=921600
6116+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.115200=115200
6117+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.115200.upload.speed=115200
6118+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.256000.windows=256000
6119+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.256000.upload.speed=256000
6120+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.230400.windows.upload.speed=256000
6121+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.230400=230400
6122+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.230400.upload.speed=230400
6123+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.460800.linux=460800
6124+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.460800.macosx=460800
6125+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.460800.upload.speed=460800
6126+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.512000.windows=512000
6127+
adafruit_qtpy_esp32_pico.menu.UploadSpeed.512000.upload.speed=512000
6128+
6129+
adafruit_qtpy_esp32_pico.menu.PSRAM.enabled=Enabled
6130+
adafruit_qtpy_esp32_pico.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
6131+
adafruit_qtpy_esp32_pico.menu.PSRAM.enabled.build.extra_libs=
6132+
adafruit_qtpy_esp32_pico.menu.PSRAM.disabled=Disabled
6133+
adafruit_qtpy_esp32_pico.menu.PSRAM.disabled.build.defines=
6134+
adafruit_qtpy_esp32_pico.menu.PSRAM.disabled.build.extra_libs=
6135+
6136+
adafruit_qtpy_esp32_pico.menu.DebugLevel.none=None
6137+
adafruit_qtpy_esp32_pico.menu.DebugLevel.none.build.code_debug=0
6138+
adafruit_qtpy_esp32_pico.menu.DebugLevel.error=Error
6139+
adafruit_qtpy_esp32_pico.menu.DebugLevel.error.build.code_debug=1
6140+
adafruit_qtpy_esp32_pico.menu.DebugLevel.warn=Warn
6141+
adafruit_qtpy_esp32_pico.menu.DebugLevel.warn.build.code_debug=2
6142+
adafruit_qtpy_esp32_pico.menu.DebugLevel.info=Info
6143+
adafruit_qtpy_esp32_pico.menu.DebugLevel.info.build.code_debug=3
6144+
adafruit_qtpy_esp32_pico.menu.DebugLevel.debug=Debug
6145+
adafruit_qtpy_esp32_pico.menu.DebugLevel.debug.build.code_debug=4
6146+
adafruit_qtpy_esp32_pico.menu.DebugLevel.verbose=Verbose
6147+
adafruit_qtpy_esp32_pico.menu.DebugLevel.verbose.build.code_debug=5
6148+
6149+
6150+
6151+
adafruit_feather_esp32_v2.name=Adafruit Feather ESP32 V2
6152+
6153+
adafruit_feather_esp32_v2.upload.tool=esptool_py
6154+
adafruit_feather_esp32_v2.upload.maximum_size=1310720
6155+
adafruit_feather_esp32_v2.upload.maximum_data_size=327680
6156+
adafruit_feather_esp32_v2.upload.flags=
6157+
adafruit_feather_esp32_v2.upload.extra_flags=
6158+
6159+
adafruit_feather_esp32_v2.serial.disableDTR=true
6160+
adafruit_feather_esp32_v2.serial.disableRTS=true
6161+
6162+
adafruit_feather_esp32_v2.build.tarch=xtensa
6163+
adafruit_feather_esp32_v2.build.bootloader_addr=0x1000
6164+
adafruit_feather_esp32_v2.build.target=esp32
6165+
adafruit_feather_esp32_v2.build.mcu=esp32
6166+
adafruit_feather_esp32_v2.build.core=esp32
6167+
adafruit_feather_esp32_v2.build.variant=adafruit_feather_esp32_v2
6168+
adafruit_feather_esp32_v2.build.board=ADAFRUIT_FEATHER_ESP32_V2
6169+
6170+
adafruit_feather_esp32_v2.build.f_cpu=240000000L
6171+
adafruit_feather_esp32_v2.build.flash_size=8MB
6172+
adafruit_feather_esp32_v2.build.flash_freq=80m
6173+
adafruit_feather_esp32_v2.build.flash_mode=dio
6174+
adafruit_feather_esp32_v2.build.boot=dio
6175+
adafruit_feather_esp32_v2.build.partitions=default
6176+
adafruit_feather_esp32_v2.build.defines=
6177+
6178+
adafruit_feather_esp32_v2.menu.PartitionScheme.default=Default
6179+
adafruit_feather_esp32_v2.menu.PartitionScheme.default.build.partitions=default
6180+
adafruit_feather_esp32_v2.menu.PartitionScheme.no_ota=No OTA (Large APP)
6181+
adafruit_feather_esp32_v2.menu.PartitionScheme.no_ota.build.partitions=no_ota
6182+
adafruit_feather_esp32_v2.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
6183+
adafruit_feather_esp32_v2.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
6184+
adafruit_feather_esp32_v2.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
6185+
adafruit_feather_esp32_v2.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
6186+
6187+
adafruit_feather_esp32_v2.menu.UploadSpeed.921600=921600
6188+
adafruit_feather_esp32_v2.menu.UploadSpeed.921600.upload.speed=921600
6189+
adafruit_feather_esp32_v2.menu.UploadSpeed.115200=115200
6190+
adafruit_feather_esp32_v2.menu.UploadSpeed.115200.upload.speed=115200
6191+
adafruit_feather_esp32_v2.menu.UploadSpeed.256000.windows=256000
6192+
adafruit_feather_esp32_v2.menu.UploadSpeed.256000.upload.speed=256000
6193+
adafruit_feather_esp32_v2.menu.UploadSpeed.230400.windows.upload.speed=256000
6194+
adafruit_feather_esp32_v2.menu.UploadSpeed.230400=230400
6195+
adafruit_feather_esp32_v2.menu.UploadSpeed.230400.upload.speed=230400
6196+
adafruit_feather_esp32_v2.menu.UploadSpeed.460800.linux=460800
6197+
adafruit_feather_esp32_v2.menu.UploadSpeed.460800.macosx=460800
6198+
adafruit_feather_esp32_v2.menu.UploadSpeed.460800.upload.speed=460800
6199+
adafruit_feather_esp32_v2.menu.UploadSpeed.512000.windows=512000
6200+
adafruit_feather_esp32_v2.menu.UploadSpeed.512000.upload.speed=512000
6201+
6202+
adafruit_feather_esp32_v2.menu.PSRAM.enabled=Enabled
6203+
adafruit_feather_esp32_v2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
6204+
adafruit_feather_esp32_v2.menu.PSRAM.enabled.build.extra_libs=
6205+
adafruit_feather_esp32_v2.menu.PSRAM.disabled=Disabled
6206+
adafruit_feather_esp32_v2.menu.PSRAM.disabled.build.defines=
6207+
adafruit_feather_esp32_v2.menu.PSRAM.disabled.build.extra_libs=
6208+
6209+
adafruit_feather_esp32_v2.menu.DebugLevel.none=None
6210+
adafruit_feather_esp32_v2.menu.DebugLevel.none.build.code_debug=0
6211+
adafruit_feather_esp32_v2.menu.DebugLevel.error=Error
6212+
adafruit_feather_esp32_v2.menu.DebugLevel.error.build.code_debug=1
6213+
adafruit_feather_esp32_v2.menu.DebugLevel.warn=Warn
6214+
adafruit_feather_esp32_v2.menu.DebugLevel.warn.build.code_debug=2
6215+
adafruit_feather_esp32_v2.menu.DebugLevel.info=Info
6216+
adafruit_feather_esp32_v2.menu.DebugLevel.info.build.code_debug=3
6217+
adafruit_feather_esp32_v2.menu.DebugLevel.debug=Debug
6218+
adafruit_feather_esp32_v2.menu.DebugLevel.debug.build.code_debug=4
6219+
adafruit_feather_esp32_v2.menu.DebugLevel.verbose=Verbose
6220+
adafruit_feather_esp32_v2.menu.DebugLevel.verbose.build.code_debug=5
6221+
6222+
6223+
59466224
##############################################################
59476225

59486226
nodemcu-32s.name=NodeMCU-32S

cores/esp32/WString.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -774,9 +774,10 @@ void String::replace(const String& find, const String& replace) {
774774
}
775775
if(size == len())
776776
return;
777-
if(size > capacity() && !changeBuffer(size))
777+
if(size > capacity() && !changeBuffer(size)) {
778778
log_w("String.Replace() Insufficient space to replace string");
779779
return;
780+
}
780781
int index = len() - 1;
781782
while(index >= 0 && (index = lastIndexOf(find, index)) >= 0) {
782783
readFrom = wbuffer() + index + find.len();

0 commit comments

Comments
 (0)