From 3d3348c727acfdffecfe41a4ed2bffa3ffd8ed71 Mon Sep 17 00:00:00 2001 From: Mark Benson Date: Thu, 16 Oct 2025 19:34:18 +0000 Subject: [PATCH 1/2] firmware: only allow demo mode when no tests are selected (currentTest == 0) --- software/firmware/tester_runtime/src/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/software/firmware/tester_runtime/src/main.c b/software/firmware/tester_runtime/src/main.c index 539adb9..c3a26f0 100644 --- a/software/firmware/tester_runtime/src/main.c +++ b/software/firmware/tester_runtime/src/main.c @@ -49,8 +49,10 @@ static void startupSequence(void) { // Check for button combos to start tests, demo mode, or PoV easter egg if (!testActive && buttons[3].pressed) { test_cases_start(currentTest); - } else if (!testActive && buttons[0].pressed && buttons[2].pressed) { - while(1) { + } else if (!testActive && currentTest == 0 && buttons[0].pressed && buttons[2].pressed) { + // Only allow demo mode when no test is selected/run (currentTest == 0) + // This prevents entering an un-exitable demo mode when the device is idle with no tests executed. + while (1) { demoMode(); } } else if (allTestsPassed() && buttons[1].pressed && buttons[2].pressed) { From e2d0c9decc665ed9accf01fa09c63e6b88041074 Mon Sep 17 00:00:00 2001 From: Mark Benson Date: Thu, 16 Oct 2025 19:37:14 +0000 Subject: [PATCH 2/2] Fix comment --- software/firmware/tester_runtime/src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/software/firmware/tester_runtime/src/main.c b/software/firmware/tester_runtime/src/main.c index c3a26f0..24355af 100644 --- a/software/firmware/tester_runtime/src/main.c +++ b/software/firmware/tester_runtime/src/main.c @@ -51,7 +51,7 @@ static void startupSequence(void) { test_cases_start(currentTest); } else if (!testActive && currentTest == 0 && buttons[0].pressed && buttons[2].pressed) { // Only allow demo mode when no test is selected/run (currentTest == 0) - // This prevents entering an un-exitable demo mode when the device is idle with no tests executed. + // This prevents entering an un-exitable demo mode when the device is idle but tests already executed. while (1) { demoMode(); }