diff --git a/matrix/screenSensors/displayAll4_v2 b/matrix/screenSensors/displayAll4_v2 index 46e6144..7d8c46a 100644 Binary files a/matrix/screenSensors/displayAll4_v2 and b/matrix/screenSensors/displayAll4_v2 differ diff --git a/matrix/screenSensors/displayAll4_v2.cc b/matrix/screenSensors/displayAll4_v2.cc index 5cfef54..7a822e4 100644 --- a/matrix/screenSensors/displayAll4_v2.cc +++ b/matrix/screenSensors/displayAll4_v2.cc @@ -262,32 +262,36 @@ void update_screen_values(Canvas *canvas, SensorData& prevData, float pm10, floa prevData.pm10_str = str_pm10; } - // Determine PM10 status + // Determine PM10 status (axe x pour centrer le texte = 32 - (nb_lettre*7/2)) std::string pm10_status; - rgb_matrix::Color pm10_color; - if (pm10 < 15) { - pm10_status = "BON"; - pm10_color = myGREEN; - } else if (pm10 >= 15 && pm10 < 30) { - pm10_status = "MOYEN"; - pm10_color = myYELLOW; - } else if (pm10 >= 30 && pm10 < 75) { - pm10_status = "DEGRADE"; - pm10_color = myORANGE; - } else { - pm10_status = "MAUVAIS"; - pm10_color = myRED; - } - - // Update PM10 status if changed - std::cout << " Updating PM10 status to " << pm10_status << std::endl; + // on clear l'espace texte BON, MOYEN for (int i = 0; i < 60; i++) { for (int j = y2 + 4; j < y3 + 1; j++) { canvas->SetPixel(x + i, j, 0, 0, 0); } } + + rgb_matrix::Color pm10_color; + if (pm10 < 15) { + pm10_status = "BON"; + pm10_color = myGREEN; + x = 20; + } else if (pm10 >= 15 && pm10 < 30) { + pm10_status = "MOYEN"; + pm10_color = myYELLOW; + x = 15; + } else if (pm10 >= 30 && pm10 < 75) { + pm10_status = "DEGRADE"; + pm10_color = myORANGE; + x=8; + } else { + pm10_status = "MAUVAIS"; + pm10_color = myRED; + x=8; + } + // Draw new status rgb_matrix::DrawText(canvas, font1, x, y3, pm10_color, &bg_color, pm10_status.c_str(), letter_spacing); @@ -320,30 +324,33 @@ void update_screen_values(Canvas *canvas, SensorData& prevData, float pm10, floa // Determine PM2.5 status std::string pm25_status; - rgb_matrix::Color pm25_color; - if (pm25 < 10) { - pm25_status = "BON"; - pm25_color = myGREEN; - } else if (pm25 >= 10 && pm25 < 20) { - pm25_status = "MOYEN"; - pm25_color = myYELLOW; - } else if (pm25 >= 20 && pm25 < 50) { - pm25_status = "DEGRADE"; - pm25_color = myORANGE; - } else { - pm25_status = "MAUVAIS"; - pm25_color = myRED; - } - - // Update PM2.5 status - std::cout << " Updating PM2.5 status to " << pm25_status << std::endl; - // Clear previous status area + // Clear previous status area for (int i = 0; i < 60; i++) { for (int j = y2 + 2; j < y3 + 1; j++) { canvas->SetPixel(x + i, j, 0, 0, 0); } } + + rgb_matrix::Color pm25_color; + if (pm25 < 10) { + pm25_status = "BON"; + pm25_color = myGREEN; + x += 20; + } else if (pm25 >= 10 && pm25 < 20) { + pm25_status = "MOYEN"; + pm25_color = myYELLOW; + x += 20; + } else if (pm25 >= 20 && pm25 < 50) { + pm25_status = "DEGRADE"; + pm25_color = myORANGE; + x += 8; + } else { + pm25_status = "MAUVAIS"; + pm25_color = myRED; + x += 8; + } + // Draw new status rgb_matrix::DrawText(canvas, font1, x, y3, pm25_color, &bg_color, pm25_status.c_str(), letter_spacing); @@ -378,30 +385,33 @@ void update_screen_values(Canvas *canvas, SensorData& prevData, float pm10, floa // Determine PM1 status std::string pm1_status; - rgb_matrix::Color pm1_color; - if (pm1 < 10) { - pm1_status = "BON"; - pm1_color = myGREEN; - } else if (pm1 >= 10 && pm1 < 20) { - pm1_status = "MOYEN"; - pm1_color = myYELLOW; - } else if (pm1 >= 20 && pm1 < 50) { - pm1_status = "DEGRADE"; - pm1_color = myORANGE; - } else { - pm1_status = "MAUVAIS"; - pm1_color = myRED; - } - - // Update - std::cout << " Updating PM1 status to " << pm1_status << std::endl; + // Clear previous status area for (int i = 0; i < 60; i++) { for (int j = y2 + 3; j < y3 + 1; j++) { - canvas->SetPixel(x + i, j, 255, 0, 0); + canvas->SetPixel(x + i, j, 0, 0, 0); } } + + rgb_matrix::Color pm1_color; + if (pm1 < 10) { + pm1_status = "BON"; + pm1_color = myGREEN; + x = 20; + } else if (pm1 >= 10 && pm1 < 20) { + pm1_status = "MOYEN"; + pm1_color = myYELLOW; + x = 15; + } else if (pm1 >= 20 && pm1 < 50) { + pm1_status = "DEGRADE"; + pm1_color = myORANGE; + x = 8; + } else { + pm1_status = "MAUVAIS"; + pm1_color = myRED; + x = 8; + } // Draw new status rgb_matrix::DrawText(canvas, font1, x, y3, pm1_color, &bg_color, pm1_status.c_str(), letter_spacing); @@ -432,31 +442,36 @@ void update_screen_values(Canvas *canvas, SensorData& prevData, float pm10, floa // Determine CO2 status std::string co2_status; - rgb_matrix::Color co2_color; - if (co2 < 800) { - co2_status = "BON"; - co2_color = myGREEN; - } else if (co2 >= 800 && co2 < 1500) { - co2_status = "AERER SVP"; - co2_color = myORANGE; - } else { - co2_status = "AERER VITE"; - co2_color = myRED; - } - - // Update CO2 status - std::cout << " Updating CO2 status to " << co2_status << std::endl; + + + // Clear previous status area for (int i = 0; i < 60; i++) { for (int j = y2 + 4; j < y3 + 1; j++) { canvas->SetPixel(x + i, j, 0, 0, 0); } } + + // Update CO2 status + rgb_matrix::Color co2_color; + if (co2 < 800) { + co2_status = "BON"; + co2_color = myGREEN; + x += 20; + } else if (co2 >= 800 && co2 < 1500) { + co2_status = "AERER SVP"; + co2_color = myORANGE; + x += 5; + } else { + co2_status = "AERER VITE"; + co2_color = myRED; + x += 0; + } + // Draw new status rgb_matrix::DrawText(canvas, font1, x, y3, co2_color, &bg_color, co2_status.c_str(), letter_spacing); - }