diff --git a/README.md b/README.md index e35ba88..e8363d1 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,8 @@ We use a MAX98357A I2S 3W DAC Class D Amplifier Module GND -> GND ``` +For sound output, we use the ESP32-audio2I2S library. Important note: Last release without PSRAM is V 3.2.1. You get OOM errors if using a later library without PSRAM. + ### SD Card Reader SD Card Reader Adapter Modul diff --git a/lib/ESP32-audioI2S b/lib/ESP32-audioI2S index 8ba3208..ee6a7cc 160000 --- a/lib/ESP32-audioI2S +++ b/lib/ESP32-audioI2S @@ -1 +1 @@ -Subproject commit 8ba32081845b36042bad806e38393ddd5882797b +Subproject commit ee6a7cc2b89eb90e43c958ccb3674dd37d88bf2c diff --git a/platformio.ini b/platformio.ini index 3b9527d..964a593 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,14 +9,14 @@ ; https://docs.platformio.org/page/projectconf.html [env:d1_mini32] -platform = platformio/espressif32@6.11.0 +platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip board = wemos_d1_mini32 framework = arduino lib_deps = - me-no-dev/AsyncTCP@^3.3.2 - me-no-dev/ESP Async WebServer@^1.2.3 - alanswx/ESPAsyncWiFiManager@^0.31 - miguelbalboa/MFRC522@^1.4.10 + ESP32Async/AsyncTCP@3.3.8 + ESP32Async/ESPAsyncWebServer@3.7.9 + alanswx/ESPAsyncWiFiManager@0.31 + miguelbalboa/MFRC522@^1.4.12 bblanchon/ArduinoJson@^6.21.3 monitor_speed = 115200 board_build.partitions = huge_app.csv diff --git a/src/main.cpp b/src/main.cpp index bd1bc0a..b36ecee 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -823,7 +823,7 @@ void id_song_action(AsyncWebServerRequest *request) int params = request->params(); for (int i = 0; i < params; i++) { - AsyncWebParameter *p = request->getParam(i); + const AsyncWebParameter *p = request->getParam(i); if (p->name() == "id") { playSongById(atoi(p->value().c_str())); @@ -840,7 +840,7 @@ void progress_action(AsyncWebServerRequest *request) int params = request->params(); for (int i = 0; i < params; i++) { - AsyncWebParameter *p = request->getParam(i); + const AsyncWebParameter *p = request->getParam(i); if (p->name() == "value") { audio.setAudioPlayPosition(atoi(p->value().c_str())); @@ -856,7 +856,7 @@ void volume_action(AsyncWebServerRequest *request) int params = request->params(); for (int i = 0; i < params; i++) { - AsyncWebParameter *p = request->getParam(i); + const AsyncWebParameter *p = request->getParam(i); if (p->name() == "value") { audio.setVolume(atoi(p->value().c_str())); @@ -1001,7 +1001,8 @@ void loop() void loop2(void *parameter) { - Serial.println("loop2 started"); + bool loggingDone = false; + for (;;) { @@ -1017,7 +1018,13 @@ void loop2(void *parameter) { asyncTogglePlayPause = true; } + if (!loggingDone) { + Serial.println("loop2 started"); + loggingDone = true; + } + vTaskDelay(1); } + } boolean buttonPressed(const uint8_t pin)