Files
linuxSmartie/include/LCDDisplay.hpp
2025-09-18 23:58:47 +02:00

38 lines
1019 B
C++

#ifndef LCDDISPLAY_HPP
#define LCDDISPLAY_HPP
#include <array>
#include <cstdint>
#include <sstream>
#include <string>
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<std::string, 4> 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<uint8_t, 8> 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