since it is a time trial, it must cancel the previous time and put the new one. Then it must delete the line 0,8 and the line 0,24 substituting it with the new times
I solved by putting
matrix.fillRect (0, 24, matrix.width (), matrix.height (), matrix.Color333 (0, 0, 0));
I don't know if there is any other solution
#define CLK 11
#define OE 9
#define LAT 10
#define A A0
#define B A1
#define C A2
#define D A3
#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include <RGBmatrixPanel.h>
#include <Adafruit_GFX.h> // Core graphics library
#include <Fonts/FreeSerif9pt7b.h>
RGBmatrixPanel matrix(A, B, C, D, CLK, LAT, OE, false, 64);
void setup()
{
Serial.begin(9600);
matrix.begin();
matrix.fillScreen(matrix.Color333(0, 0, 0));
matrix.setTextSize(1);
w = "A";
}
void loop()
{
if (Serial.available() > 0)
{
String b;
b = Serial.readStringUntil('[');
{ String s;
s = Serial.readStringUntil(']');
matrix.println();
matrix.setTextSize(1);
matrix.setTextWrap(false);
if ( s == "FP050" ){
if(w == "A"){ matrix.fillScreen(matrix.Color333(0, 0, 0)); }
String x;
x = Serial.readStringUntil('[');
{ String y;
y = Serial.readStringUntil(']');
if(y.substring(0, 4) == "CF01") {
matrix.setCursor(1, 0);
matrix.setTextColor(matrix.Color333(7,7,7));
matrix.println("Max");
matrix.fillRect(0, 8, matrix.width(), matrix.height()-25, matrix.Color333(0, 0, 0));
matrix.setCursor(0, 8);
matrix.setTextColor(matrix.Color333(7,0,0));
matrix.println(y.substring(17));
w = "B";
}
if(y.substring(0, 4) == "CF05") {
matrix.setCursor(1, 16);
matrix.setTextColor(matrix.Color333(7,7,7));
matrix.println("Lux");
matrix.fillRect(0, 24, matrix.width(), matrix.height(), matrix.Color333(0, 0, 0));
matrix.setCursor(0, 24);
matrix.setTextColor(matrix.Color333(7,0,0));
matrix.println(y.substring(17));
w = "B";
}
}
}