#define FailHomeStartLED 10 // First LED for the Home fail counter
#define FailGuestsStartLED 20 // First LED for the Guests fail counter
#define FailLEDsPerDot 2 // Number of LEDs in a fail dot
#define FailDotCount 5 // Number of fails/dots for Home or Guests
#define FailHomeLeftToRight true // Home: true = from left to right, false = from right to left
#define FailGuestsLeftToRight true // Guests: true = from left to right, false = from right to left
#define SegmentA 8
#define SegmentB 16
#define SegmentC 48
#define SegmentD 40
#define SegmentE 32
#define SegmentF 0
#define SegmentG 24
#define SegmentB 56
#define SegmentHSize 8
#define SegmentVSize 8
#define TotalSegmentSize (3*SegmentHSize)+(4*SegmentVSize)
#define TimeSeparatorSize 4 // 2 dots, each 2 LEDS
// 100/10/1 score thuis, 100/10/1 score gast, fouten thuis, periode, fouten gast, 10/1 minuten, colom, 10/1 seconden.
#define StartLEDScoreHome100 0
#define StartLEDScoreHome10 StartLEDScoreHome100 + (2*SegmentVSize)
#define StartLEDScoreHome1 StartLEDScoreHome10 + TotalSegmentSize
#define StartLEDScoreGuests100 StartLEDScoreHome1 + TotalSegmentSize
#define StartLEDScoreGuests10 StartLEDScoreGuests100 + (2*SegmentVSize)
#define StartLEDScoreGuests1 StartLEDScoreGuests10 + TotalSegmentSize
#define FailHomeStartLED StartLEDScoreGuests1 + TotalSegmentSize
#define StartLEDPeriod FailHomeStartLED + (FailDotCount*FailLEDsPerDot)
#define FailGuestsStartLED StartLEDPeriod + TotalSegmentSize
#define StartLEDMinutes10 FailGuestsStartLED + (FailDotCount*FailLEDsPerDot)
#define StartLEDMinutes1 StartLEDMinutes10 + TotalSegmentSize
#define StartLEDSecondsSeparator StartLEDMinutes1 + TotalSegmentSize
#define StartLEDSeconds10 StartLEDSecondsSeparator + TimeSeparatorSize
#define StartLEDSeconds1 StartLEDSeconds10 + TotalSegmentSize
// verify values through serial monitor:
void setup() {
// ....
Serial.begin(9600);
Serial.println("Calculated LED positions:");
Serial.print("SegmentHSize = "); Serial.println(SegmentHSize);
Serial.print("SegmentVSize = "); Serial.println(SegmentVSize);
Serial.print("TotalSegmentSize = "); Serial.println(TotalSegmentSize);
Serial.print("StartLEDScoreHome100 = "); Serial.println(StartLEDScoreHome100);
Serial.print("StartLEDScoreHome10 = "); Serial.println(StartLEDScoreHome10);
Serial.print("StartLEDScoreHome1 = "); Serial.println(StartLEDScoreHome1);
Serial.print("StartLEDScoreGuests100 = "); Serial.println(StartLEDScoreGuests100);
Serial.print("StartLEDScoreGuests10 = "); Serial.println(StartLEDScoreGuests10);
Serial.print("StartLEDScoreGuests1 = "); Serial.println(StartLEDScoreGuests1);
Serial.print("FailHomeStartLED = "); Serial.println(FailHomeStartLED);
Serial.print("StartLEDPeriod = "); Serial.println(StartLEDPeriod);
Serial.print("FailGuestsStartLED = "); Serial.println(FailGuestsStartLED);
Serial.print("StartLEDMinutes10 = "); Serial.println(StartLEDMinutes10);
Serial.print("StartLEDMinutes1 = "); Serial.println(StartLEDMinutes1);
Serial.print("StartLEDSecondsSeparator = "); Serial.println(StartLEDSecondsSeparator);
Serial.print("StartLEDSeconds10 = "); Serial.println(StartLEDSeconds10);
Serial.print("StartLEDSeconds1 = "); Serial.println(StartLEDSeconds1);
// ....
}
void loop() {}