#ifndef LCDDISPLAY_HPP #define LCDDISPLAY_HPP #include #include #include #include class LCDDisplay { private: uint8_t _lcd; char writebuf[168]; // 4x40 chars + 2x4 setcursor commands void writeStr(std::string str); // do not use void writeLines(std::array lines); // do not use public: LCDDisplay(std::string dev, uint32_t baud = 0010002); // from termios-baud.h, B115200 ~LCDDisplay(); // custom char array char cc[8] = {'\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'}; void clear(); void setContrast(uint8_t contrast); void setBacklight(bool enabled); void setBacklight(uint8_t brightness); void setCursor(uint8_t row, uint8_t col); void setCustomChar(uint8_t index, std::array cchar); void writeBuf(uint8_t row, uint8_t col, std::string str); void clearBuf(); void flushBuf(); char bar(uint8_t char_id, double value); }; #endif