mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-01 03:15:42 +00:00

* Tests to identify display model * (InkHUD) SSD1682 controller IC Has a few quirks, gets its own base class * (InkHUD) E0213A367 Display For Heltec Wireless Paper V1.1.1, V1.2 For Heltec VM-E213 V1.1 * (InkHUD) Select display model at boot * (BaseUI) Wrapper to combine multiple GxEPD2 drivers Workaround for issue of GxEPD2_BW objects not having a shared base class. Allows us to select a driver at runtime. https://github.com/meshtastic/firmware/issues/6851#issuecomment-2905353447 * (BaseUI) Select E-Ink model at boot * (InkHUD) SSD1682 deep sleep * (InkHUD) No deep sleep for SSD1682 * (InkHUD) Fully no-op deep sleep for SSD1682
31 lines
750 B
C++
31 lines
750 B
C++
/*
|
|
|
|
E-Ink base class for displays based on SSD1682
|
|
|
|
SSD1682 has a few quirks. We're implementing them here in a new base class,
|
|
to avoid re-implementing them every time we need to add a new SSD1682-based display.
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef MESHTASTIC_INCLUDE_NICHE_GRAPHICS
|
|
|
|
#include "configuration.h"
|
|
|
|
#include "./SSD16XX.h"
|
|
|
|
namespace NicheGraphics::Drivers
|
|
{
|
|
|
|
class SSD1682 : public SSD16XX
|
|
{
|
|
public:
|
|
SSD1682(uint16_t width, uint16_t height, EInk::UpdateTypes supported, uint8_t bufferOffsetX = 0);
|
|
virtual void configFullscreen(); // Select memory region on controller IC
|
|
virtual void deepSleep() {} // Not usable (image memory not retained)
|
|
};
|
|
|
|
} // namespace NicheGraphics::Drivers
|
|
|
|
#endif // MESHTASTIC_INCLUDE_NICHE_GRAPHICS
|