From c2b5331bbdd966bd87ef3d5d46a95389867e0dc4 Mon Sep 17 00:00:00 2001 From: C0d3v Date: Mon, 19 Jan 2026 20:41:52 +0100 Subject: [PATCH] Simplify reset logic --- terminal/puzzle_colorFade/core/src/main.cpp | 51 +++++++++------------ 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/terminal/puzzle_colorFade/core/src/main.cpp b/terminal/puzzle_colorFade/core/src/main.cpp index b2f47c6..a8894ab 100644 --- a/terminal/puzzle_colorFade/core/src/main.cpp +++ b/terminal/puzzle_colorFade/core/src/main.cpp @@ -127,6 +127,7 @@ NormalizedRGB updateLeft() uint32_t sum = inputR + inputG + inputB; NormalizedRGB leftRGB; + strip.begin(); if (sum > 0) { leftRGB.r = (uint32_t)inputR * MAX_SUM / sum; @@ -138,6 +139,7 @@ NormalizedRGB updateLeft() { strip.setPixelColor(2, strip.Color(0, 0, 0, 0)); } + strip.show(); return leftRGB; } @@ -149,7 +151,7 @@ NormalizedRGB updateMiddle() uint32_t sum = inputR + inputG + inputB; NormalizedRGB middleRGB; - + strip.begin(); if (sum > 0) { middleRGB.r = (uint32_t)inputR * MAX_SUM / sum; @@ -161,6 +163,7 @@ NormalizedRGB updateMiddle() { strip.setPixelColor(1, strip.Color(0, 0, 0, 0)); } + strip.show(); return middleRGB; } @@ -172,7 +175,7 @@ NormalizedRGB updateRight() uint32_t sum = inputR + inputG + inputB; NormalizedRGB rightRGB; - + strip.begin(); if (sum > 0) { rightRGB.r = (uint32_t)inputR * MAX_SUM / sum; @@ -184,7 +187,7 @@ NormalizedRGB updateRight() { strip.setPixelColor(0, strip.Color(0, 0, 0, 0)); } - + strip.show(); return rightRGB; } @@ -218,40 +221,30 @@ void generateTargetGameBoard(bool easy) slavePotiValues[i] = 0; } digitalWrite(COMPLETED_PIN, LOW); - strip.begin(); - strip.clear(); GameBoard board; if (easy) { - // left - board.left = generateRandomNormalizedRGB(pot3, 2, 3); - finishedLeft = false; - strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left - // middle + board.left = generateRandomNormalizedRGB(pot3, 2, 3); board.middle = generateRandomNormalizedRGB(pot4, 3, 4); - finishedMiddle = false; - strip.setPixelColor(4, strip.Color(board.middle.r, board.middle.g, board.middle.b, 0)); // middle - // right - board.right = generateRandomNormalizedRGB(pot5, 4, 5); - finishedRight = false; - strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left + board.right = generateRandomNormalizedRGB(pot5, 4, 5); } else { - // left - board.left = generateRandomNormalizedRGB(pot3, 0, 3); - finishedLeft = false; - strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left - // middle + board.left = generateRandomNormalizedRGB(pot3, 0, 3); board.middle = generateRandomNormalizedRGB(pot4, 0, 4); - finishedMiddle = false; - strip.setPixelColor(4, strip.Color(board.middle.r, board.middle.g, board.middle.b, 0)); // middle - // right - board.right = generateRandomNormalizedRGB(pot5, 1, 5); - finishedRight = false; - strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left - //------------------ + board.right = generateRandomNormalizedRGB(pot5, 1, 5); } + strip.begin(); + strip.clear(); + finishedLeft = false; + strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left + + finishedMiddle = false; + strip.setPixelColor(4, strip.Color(board.middle.r, board.middle.g, board.middle.b, 0)); // middle + + finishedRight = false; + strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // right + finishedBoard = board; strip.show(); } @@ -334,7 +327,6 @@ void loop() generateTargetGameBoard(millis() - resetTimer > 150); } - strip.begin(); readExternalPotiValues(); if (!finishedLeft) @@ -371,5 +363,4 @@ void loop() { digitalWrite(COMPLETED_PIN, HIGH); } - strip.show(); }