From 7353ea2e5dcde7ca04cf61ecc635e7fb0bae9db1 Mon Sep 17 00:00:00 2001 From: Yukti Date: Sun, 22 Mar 2026 05:16:35 +0530 Subject: [PATCH 1/2] Fixed DFPlayer init issue --- Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino b/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino index 8bbfb5a5..408b0803 100644 --- a/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino +++ b/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino @@ -52,7 +52,7 @@ Revision History: |v0.4.4.1 | 2026-3-18 | Yukti | Added automatic Wifi Testing inside OTA test | |v0.4.5.0 | 2026-3-17 | Yukti | Add T_MUTE_BTN test (key F): tests S601 mute | | | | | push button GPIO and LED_Status toggle. | -| | | | Uses OneButton for press-duration handling: | +| | | | Uses OneButton for press-duration handling: | | | | | too-short ignored, too-long warns operator. | | | | | active-LOW, external pull-up R603, hardware | | | | | RC debounce C602 on PCB. internalPullup=false. | @@ -724,7 +724,7 @@ static bool initDFPlayer() { dfSerial.begin(9600, SERIAL_8N1, DF_RXD2, DF_TXD2); delay(300); - if (!dfPlayer.begin(dfSerial, true, true)) { + if (!dfPlayer.begin(dfSerial, false, true)) { Serial.println(F("DFPlayer not detected (begin failed).")); dfState = DF_FAIL; return false; From 210639442412d9109101636dabd64bf7ccfeccd3 Mon Sep 17 00:00:00 2001 From: Yukti Date: Mon, 23 Mar 2026 22:34:47 +0530 Subject: [PATCH 2/2] re-enable DFPlayer ACK mode after begin() to prevent intermittent false FAILs on slow SD cards --- .../factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino b/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino index 408b0803..c75acbf4 100644 --- a/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino +++ b/Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino @@ -1,13 +1,13 @@ #define DEVICE_UNDER_TEST "SN: LB0008" //A Serial Number #define PROG_NAME "FactoryTest_wMenu" -#define FIRMWARE_VERSION "v0.4.5.0" +#define FIRMWARE_VERSION "v0.4.5.1" /* ------------------------------------------------------------------------------ File: FactoryTest_wMenu.ino Project: Krake / GPAD v2 – Factory Test Firmware Document Type: Source Code (Factory Test) Document ID: KRAKE-FT-ESP32-FT01 -Version: v0.4.5.0 +Version: v0.4.5.1 Date: 2026-03-17 Author(s): Nagham Kheir, Public Invention Status: Draft @@ -57,6 +57,7 @@ Revision History: | | | | active-LOW, external pull-up R603, hardware | | | | | RC debounce C602 on PCB. internalPullup=false. | | | | | Requires: OneButton lib from Library Manager. | +|v0.4.5.1 | 2026-3-23 | Yukti | Fixed DFPlayer ACK handling | ----------------------------------------------------------------------------------------| Overview: - Repeatable factory test sequence for ESP32-WROOM-32D Krake/GPAD v2 boards. @@ -731,6 +732,7 @@ static bool initDFPlayer() { } dfPlayer.setTimeOut(1000); + dfPlayer.enableACK(); // ← restore ACK for the rest of the session dfPlayer.outputDevice(DFPLAYER_DEVICE_SD); delay(1200);