From 9a2bbd7a57a7dd4a6eaa27b85576c20a85d7ca09 Mon Sep 17 00:00:00 2001 From: Phat Nguyen Date: Wed, 15 May 2024 14:02:49 +0700 Subject: [PATCH] fix: Purple color --- src/AgStateMachine.cpp | 204 +++++++++++++++++++++-------------------- 1 file changed, 105 insertions(+), 99 deletions(-) diff --git a/src/AgStateMachine.cpp b/src/AgStateMachine.cpp index d9b565d..ca7547c 100644 --- a/src/AgStateMachine.cpp +++ b/src/AgStateMachine.cpp @@ -7,6 +7,12 @@ #define SENSOR_CO2_CALIB_COUNTDOWN_MAX 5 /** sec */ +#define RGB_COLOR_R 255, 0, 0 /** Red */ +#define RGB_COLOR_G 0, 255, 0 /** Green */ +#define RGB_COLOR_Y 255, 255, 0 /** Yellow */ +#define RGB_COLOR_O 255, 165, 0 /** Organge */ +#define RGB_COLOR_P 160, 32, 240 /** Purple */ + /** * @brief Animation LED bar with color * @@ -65,67 +71,67 @@ void StateMachine::co2handleLeds(void) { int co2Value = value.CO2; if (co2Value <= 600) { /** G; 1 */ - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 1); } else if (co2Value <= 800) { /** GG; 2 */ - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 2); } else if (co2Value <= 1000) { /** YYY; 3 */ - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 3); } else if (co2Value <= 1250) { /** OOOO; 4 */ - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 4); } else if (co2Value <= 1500) { /** OOOOO; 5 */ - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 165, 0, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_O, ag->ledBar.getNumberOfLeds() - 5); } else if (co2Value <= 1750) { /** RRRRRR; 6 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); } else if (co2Value <= 2000) { /** RRRRRRR; 7 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 7); } else if (co2Value <= 3000) { /** PPPPPPPP; 8 */ - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 7); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 8); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 8); } else { /** > 3000 */ /* PRPRPRPRP; 9 */ - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 7); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 8); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 9); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 8); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 9); } } @@ -137,78 +143,78 @@ void StateMachine::pm25handleLeds(void) { int pm25Value = value.pm25_1; if (pm25Value <= 5) { /** G; 1 */ - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 1); } else if (pm25Value <= 10) { /** GG; 2 */ - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(0, 255, 0, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_G, ag->ledBar.getNumberOfLeds() - 2); } else if (pm25Value <= 20) { /** YYY; 3 */ - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 3); } else if (pm25Value <= 35) { /** YYYY; 4 */ - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 4); } else if (pm25Value <= 45) { /** YYYYY; 5 */ - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 255, 0, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_Y, ag->ledBar.getNumberOfLeds() - 5); } else if (pm25Value <= 55) { /** RRRRRR; 6 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); } else if (pm25Value <= 65) { /** RRRRRRR; 7 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 7); } else if (pm25Value <= 150) { /** RRRRRRRR; 8 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 7); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 8); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 8); } else if (pm25Value <= 250) { /** RRRRRRRRR; 9 */ - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 7); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 8); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 9); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 8); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 9); } else { /** > 250 */ /* PRPRPRPRP; 9 */ - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 1); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 2); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 3); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 4); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 5); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 6); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 7); - ag->ledBar.setColor(255, 0, 0, ag->ledBar.getNumberOfLeds() - 8); - ag->ledBar.setColor(153, 153, 0, ag->ledBar.getNumberOfLeds() - 9); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 1); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 2); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 3); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 4); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 5); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 6); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 7); + ag->ledBar.setColor(RGB_COLOR_R, ag->ledBar.getNumberOfLeds() - 8); + ag->ledBar.setColor(RGB_COLOR_P, ag->ledBar.getNumberOfLeds() - 9); } }