Simplify reset logic

This commit is contained in:
C0d3v 2026-01-19 20:41:52 +01:00
parent 462485dfa6
commit c2b5331bbd

View File

@ -127,6 +127,7 @@ NormalizedRGB updateLeft()
uint32_t sum = inputR + inputG + inputB; uint32_t sum = inputR + inputG + inputB;
NormalizedRGB leftRGB; NormalizedRGB leftRGB;
strip.begin();
if (sum > 0) if (sum > 0)
{ {
leftRGB.r = (uint32_t)inputR * MAX_SUM / sum; leftRGB.r = (uint32_t)inputR * MAX_SUM / sum;
@ -138,6 +139,7 @@ NormalizedRGB updateLeft()
{ {
strip.setPixelColor(2, strip.Color(0, 0, 0, 0)); strip.setPixelColor(2, strip.Color(0, 0, 0, 0));
} }
strip.show();
return leftRGB; return leftRGB;
} }
@ -149,7 +151,7 @@ NormalizedRGB updateMiddle()
uint32_t sum = inputR + inputG + inputB; uint32_t sum = inputR + inputG + inputB;
NormalizedRGB middleRGB; NormalizedRGB middleRGB;
strip.begin();
if (sum > 0) if (sum > 0)
{ {
middleRGB.r = (uint32_t)inputR * MAX_SUM / sum; middleRGB.r = (uint32_t)inputR * MAX_SUM / sum;
@ -161,6 +163,7 @@ NormalizedRGB updateMiddle()
{ {
strip.setPixelColor(1, strip.Color(0, 0, 0, 0)); strip.setPixelColor(1, strip.Color(0, 0, 0, 0));
} }
strip.show();
return middleRGB; return middleRGB;
} }
@ -172,7 +175,7 @@ NormalizedRGB updateRight()
uint32_t sum = inputR + inputG + inputB; uint32_t sum = inputR + inputG + inputB;
NormalizedRGB rightRGB; NormalizedRGB rightRGB;
strip.begin();
if (sum > 0) if (sum > 0)
{ {
rightRGB.r = (uint32_t)inputR * MAX_SUM / sum; rightRGB.r = (uint32_t)inputR * MAX_SUM / sum;
@ -184,7 +187,7 @@ NormalizedRGB updateRight()
{ {
strip.setPixelColor(0, strip.Color(0, 0, 0, 0)); strip.setPixelColor(0, strip.Color(0, 0, 0, 0));
} }
strip.show();
return rightRGB; return rightRGB;
} }
@ -218,40 +221,30 @@ void generateTargetGameBoard(bool easy)
slavePotiValues[i] = 0; slavePotiValues[i] = 0;
} }
digitalWrite(COMPLETED_PIN, LOW); digitalWrite(COMPLETED_PIN, LOW);
strip.begin();
strip.clear();
GameBoard board; GameBoard board;
if (easy) if (easy)
{ {
// left
board.left = generateRandomNormalizedRGB(pot3, 2, 3); 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.middle = generateRandomNormalizedRGB(pot4, 3, 4); 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); board.right = generateRandomNormalizedRGB(pot5, 4, 5);
finishedRight = false;
strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left
} }
else else
{ {
// left
board.left = generateRandomNormalizedRGB(pot3, 0, 3); board.left = generateRandomNormalizedRGB(pot3, 0, 3);
board.middle = generateRandomNormalizedRGB(pot4, 0, 4);
board.right = generateRandomNormalizedRGB(pot5, 1, 5);
}
strip.begin();
strip.clear();
finishedLeft = false; finishedLeft = false;
strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left strip.setPixelColor(3, strip.Color(board.left.r, board.left.g, board.left.b, 0)); // left
// middle
board.middle = generateRandomNormalizedRGB(pot4, 0, 4);
finishedMiddle = false; finishedMiddle = false;
strip.setPixelColor(4, strip.Color(board.middle.r, board.middle.g, board.middle.b, 0)); // middle 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; finishedRight = false;
strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // left strip.setPixelColor(5, strip.Color(board.right.r, board.right.g, board.right.b, 0)); // right
//------------------
}
finishedBoard = board; finishedBoard = board;
strip.show(); strip.show();
} }
@ -334,7 +327,6 @@ void loop()
generateTargetGameBoard(millis() - resetTimer > 150); generateTargetGameBoard(millis() - resetTimer > 150);
} }
strip.begin();
readExternalPotiValues(); readExternalPotiValues();
if (!finishedLeft) if (!finishedLeft)
@ -371,5 +363,4 @@ void loop()
{ {
digitalWrite(COMPLETED_PIN, HIGH); digitalWrite(COMPLETED_PIN, HIGH);
} }
strip.show();
} }