#pragma once #include #include enum LcdChar : uint8_t { CHAR_LEFT = 0, CHAR_RIGHT = 1, CHAR_LEFT_BLINK = 2, CHAR_RIGHT_BLINK = 3 }; class Display { public: void begin(int cols, int rows); void updateSpeed(int kmh); void updateRPM(int rpm); void updateGear(char gearChar); void updateDirection(bool leftOn, bool rightOn); private: rgb_lcd _lcd; byte _leftChar[8] = { 0x00, 0x04, 0x08, 0x1F, 0x1F, 0x08, 0x04, 0x00 }; byte _leftCharBlink[8] = { 0x1F, 0x1B, 0x17, 0x00, 0x00, 0x17, 0x1B, 0x1F }; byte _rightChar[8] = { 0x00, 0x04, 0x02, 0x1F, 0x1F, 0x02, 0x04, 0x00 }; byte _rightCharBlink[8] = { 0x1F, 0x1B, 0x1D, 0x00, 0x00, 0x1D, 0x1B, 0x1F }; };