train_controller/lib/matrix_orbital/AdafruitVfdDisplay.hpp
2025-01-27 08:29:11 -05:00

36 lines
1 KiB
C++

/**
*
* Implementation of LcdMenu::CharacterDisplayInterface
* For the Adafruit Character LCD Serial backpack. Which per their docs
* has a similar interface to the "Matrix Orbital Specification"
* @see https://learn.adafruit.com/usb-plus-serial-backpack/command-reference
*/
#ifndef __ADAFRUITVFDDISPINTERFACE_H__
#define __ADAFRUITVFDDISPINTERFACE_H__
#include <display/CharacterDisplayInterface.h>
class AdafruitVfdDisplay : public CharacterDisplayInterface {
public:
AdafruitVfdDisplay(UART& lcdUart);
// interface implementations
void createChar(uint8_t id, uint8_t* c) override;
void drawBlinker() override;
void clearBlinker() override;
void begin() override;
void clear() override;
void show() override;
void hide() override;
void draw(uint8_t byte) override;
void draw(const char* text) override;
void setCursor(uint8_t col, uint8_t row) override;
void setBacklight(bool enabled) override;
private:
UART m_lcdUart;
};
#endif /* __ADAFRUITVFDDISPINTERFACE_H__ */