|
libepaper 2.0.0
A C++23 library for controlling Waveshare e-paper displays on Raspberry Pi, featuring transparent sleep/wake management and a fluent builder API.
|
#include "epaper/core/device.hpp"#include "epaper/drivers/capabilities.hpp"#include "epaper/drivers/driver.hpp"#include "epaper/drivers/driver_concepts.hpp"#include <array>#include <cstddef>#include <cstdint>#include <expected>#include <optional>#include <span>#include <utility>
Go to the source code of this file.
Classes | |
| struct | epaper::PowerConfig |
| Power configuration settings for EPD27. More... | |
| struct | epaper::BoosterConfig |
| Booster soft start configuration. More... | |
| struct | epaper::EPD27PinConfig |
| Pin configuration for standard Raspberry Pi HATs. More... | |
| class | epaper::EPD27 |
| 2.7 inch e-paper display driver (176x264 pixels). More... | |
| struct | epaper::driver_traits< EPD27 > |
Namespaces | |
| namespace | epaper |
| namespace | epaper::Timing |
| Timing constants for EPD27 operations (in milliseconds). | |
| namespace | epaper::PowerOptimization |
| Power optimization register settings. | |
| namespace | epaper::PanelConfig |
| Panel configuration constants. | |
| namespace | epaper::Resolution |
| Resolution setting constants. | |
| namespace | epaper::Grayscale |
| Bit manipulation constants for grayscale processing. | |
| namespace | epaper::DisplayOps |
| Display operation constants. | |
Enumerations | |
| enum class | epaper::Command : std::uint8_t { epaper::BOOSTER_SOFT_START = 0x06 , epaper::DATA_START_TRANSMISSION_1 = 0x10 , epaper::DISPLAY_REFRESH = 0x12 , epaper::DATA_START_TRANSMISSION_2 = 0x13 , epaper::PARTIAL_DISPLAY_REFRESH = 0x16 , epaper::LUT_VCOM = 0x20 , epaper::LUT_WW = 0x21 , epaper::LUT_BW = 0x22 , epaper::LUT_WB = 0x23 , epaper::LUT_BB = 0x24 , epaper::LUT_WW2 = 0x25 , epaper::PLL_CONTROL = 0x30 , epaper::VCOM_DATA_INTERVAL = 0x50 , epaper::RESOLUTION_SETTING = 0x61 , epaper::GET_STATUS = 0x71 , epaper::VCM_DC_SETTING = 0x82 , epaper::POWER_OPTIMIZATION = 0xF8 , epaper::PANEL_SETTING = 0x00 , epaper::POWER_SETTING = 0x01 , epaper::POWER_OFF = 0x02 , epaper::POWER_ON = 0x04 , epaper::DEEP_SLEEP = 0x07 } |
| E-paper display command codes for EPD27. More... | |
Variables | |
| constexpr std::uint32_t | epaper::Timing::BUSY_WAIT_DELAY_MS = 200 |
| Delay after busy wait. | |
| constexpr std::uint32_t | epaper::Timing::DISPLAY_REFRESH_DELAY_MS = 200 |
| Delay after display refresh. | |
| constexpr std::uint32_t | epaper::Timing::RESET_DELAY_MS = 200 |
| Reset signal delay. | |
| constexpr std::uint32_t | epaper::Timing::RESET_PULSE_MS = 2 |
| Reset pulse duration. | |
| constexpr std::uint32_t | epaper::Timing::BUSY_POLL_DELAY_MS = 10 |
| Polling delay when checking busy status. | |
| constexpr PowerConfig | epaper::POWER_CONFIG_BW |
| Power configuration for black/white mode. | |
| constexpr PowerConfig | epaper::POWER_CONFIG_GRAYSCALE |
| Power configuration for grayscale mode. | |
| constexpr BoosterConfig | epaper::BOOSTER_CONFIG = {.phase1 = 0x07, .phase2 = 0x07, .phase3 = 0x17} |
| Standard booster soft start configuration. | |
| constexpr std::uint8_t | epaper::PowerOptimization::REG1 = 0x60 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL1 = 0xA5 |
| constexpr std::uint8_t | epaper::PowerOptimization::REG2 = 0x89 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL2 = 0xA5 |
| constexpr std::uint8_t | epaper::PowerOptimization::REG3 = 0x90 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL3 = 0x00 |
| constexpr std::uint8_t | epaper::PowerOptimization::REG4 = 0x93 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL4 = 0x2A |
| constexpr std::uint8_t | epaper::PowerOptimization::REG5 = 0xA0 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL5 = 0xA5 |
| constexpr std::uint8_t | epaper::PowerOptimization::REG6 = 0xA1 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL6 = 0x00 |
| constexpr std::uint8_t | epaper::PowerOptimization::REG7 = 0x73 |
| constexpr std::uint8_t | epaper::PowerOptimization::VAL7 = 0x41 |
| constexpr std::uint8_t | epaper::PanelConfig::PANEL_SETTING_BW = 0xAF |
| Panel setting for black/white mode. | |
| constexpr std::uint8_t | epaper::PanelConfig::PANEL_SETTING_GRAYSCALE = 0xBF |
| Panel setting for grayscale mode. | |
| constexpr std::uint8_t | epaper::PanelConfig::PLL_SETTING_BW = 0x3A |
| PLL 100Hz for black/white mode. | |
| constexpr std::uint8_t | epaper::PanelConfig::PLL_SETTING_GRAYSCALE = 0x90 |
| PLL 100Hz for grayscale mode. | |
| constexpr std::uint8_t | epaper::PanelConfig::VCM_DC_SETTING_VALUE = 0x12 |
| VCM DC setting value. | |
| constexpr std::uint8_t | epaper::Resolution::WIDTH_HIGH = 0x00 |
| Width high byte (176 >> 8) | |
| constexpr std::uint8_t | epaper::Resolution::WIDTH_LOW = 0xB0 |
| Width low byte (176 & 0xFF) | |
| constexpr std::uint8_t | epaper::Resolution::HEIGHT_HIGH = 0x01 |
| Height high byte (264 >> 8) | |
| constexpr std::uint8_t | epaper::Resolution::HEIGHT_LOW = 0x08 |
| Height low byte (264 & 0xFF) | |
| constexpr std::uint8_t | epaper::Grayscale::BLACK_MASK = 0x00 |
| Bit pattern for black pixel. | |
| constexpr std::uint8_t | epaper::Grayscale::BIT_SHIFT = 2 |
| Bit shift for 2-bit pixels. | |
| constexpr std::uint8_t | epaper::Grayscale::GRAY1_MASK = 0x80 |
| Bit pattern for gray level 1. | |
| constexpr std::uint8_t | epaper::Grayscale::GRAY2_MASK = 0x40 |
| Bit pattern for gray level 2. | |
| constexpr std::uint8_t | epaper::Grayscale::PIXEL_MASK = 0xC0 |
| Mask for extracting 2-bit pixel. | |
| constexpr std::size_t | epaper::Grayscale::TOTAL_PIXELS = 5808 |
| Total pixels / 8 for grayscale (176*264/8) | |
| constexpr std::uint8_t | epaper::Grayscale::WHITE_MASK = 0xC0 |
| Bit pattern for white pixel. | |
| constexpr std::uint8_t | epaper::DisplayOps::BUSY_STATUS_MASK = 0x01 |
| Mask for busy status bit. | |
| constexpr std::uint8_t | epaper::DisplayOps::CLEAR_FILL_VALUE = 0xFF |
| Fill value for clearing (white) | |
| constexpr std::uint8_t | epaper::DisplayOps::PARTIAL_REFRESH_DISABLE = 0x00 |
| Disable partial refresh. | |
| constexpr std::uint8_t | epaper::DisplayOps::SLEEP_VCOM_DATA_INTERVAL = 0xF7 |
| VCOM interval for sleep mode. | |
| constexpr std::uint8_t | epaper::DisplayOps::DEEP_SLEEP_MAGIC = 0xA5 |
| Magic value for deep sleep. | |
| constexpr std::uint8_t | epaper::DisplayOps::VCOM_DATA_INTERVAL_GRAYSCALE = 0x97 |
| VCOM interval for grayscale. | |