Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions Firmware/factoryTest/FactoryTest_wMenu/FactoryTest_wMenu.ino
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

after commenting out:
// dfPlayer.enableACK(); // ← restore ACK for the rest of the session

Image

The code introduced a compiling error, but when commenting out the dfp enabling code line, the code compiles and the Mac address is reported successfully after the [P] command.

Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#define DEVICE_UNDER_TEST "SN: LB0008" //A Serial Number
#define PROG_NAME "FactoryTest_wMenu"
#define FIRMWARE_VERSION "v0.4.5.1"
#define FIRMWARE_VERSION "v0.4.5.2"
/*
------------------------------------------------------------------------------
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.1
Version: v0.4.5.2
Date: 2026-03-17
Author(s): Nagham Kheir, Public Invention
Status: Draft
Expand Down Expand Up @@ -58,6 +58,7 @@ Revision History:
| | | | 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 |
|v0.4.5.2 | 2026-3-24 | Yukti | Added MAC address display to splash screen |
----------------------------------------------------------------------------------------|
Overview:
- Repeatable factory test sequence for ESP32-WROOM-32D Krake/GPAD v2 boards.
Expand Down Expand Up @@ -377,7 +378,6 @@ static void printBanner() {
}

void splashserial(void) {
//Serial splash
Serial.println(F("===================== Serial Splash ===================="));
Serial.println(PROG_NAME);
Serial.print(VERSION);
Expand All @@ -386,6 +386,8 @@ void splashserial(void) {
Serial.print(F("Compiled at: "));
Serial.println(F(__DATE__ " " __TIME__)); //compile date that is used for a unique identifier
Serial.println(LICENSE);
Serial.print(F("MAC (STA): "));
Serial.println(WiFi.macAddress());
Serial.println(F("======================================================="));
}

Expand Down Expand Up @@ -1373,12 +1375,11 @@ void setup() {

//Mount LittleFS at boot so ElegantOTA can use it immediately
g_littleFsMounted = LittleFS.begin(true);
if (!g_littleFsMounted) {
Serial.println(F("WARNING: LittleFS mount failed at boot."));
} else {
Serial.println(F("LittleFS mounted OK."));
}
Serial.println(g_littleFsMounted ? F("[boot] LittleFS... OK") : F("[boot] WARNING: LittleFS mount failed."));

WiFi.mode(WIFI_STA);
delay(100);
Serial.println(F("[boot] WiFi init... OK"));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Gate WiFi init success log on actual init result

The new boot status line always prints "[boot] WiFi init... OK" even if WiFi.mode(WIFI_STA) fails, which can mask real radio/init failures during factory bring-up and make later MAC/Wi-Fi test failures harder to diagnose. In this setup path, the success message should be conditioned on the WiFi.mode(...) return value (or equivalent error check) so the log reflects the true boot state.

Useful? React with 👍 / 👎.

WiFi.mode(WIFI_OFF);
delay(50);

Expand Down