8 namespace waveshare_epaper {
12 public spi::SPIDevice<spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_LOW,
13 spi::CLOCK_PHASE_LEADING, spi::DATA_RATE_2MHZ> {
22 void data(uint8_t value);
107 void set_full_update_every(uint32_t full_update_every);
110 void write_lut_(
const uint8_t *lut, uint8_t size);
118 uint32_t full_update_every_{30};
119 uint32_t at_update_{0};
185 static const uint8_t CMD_DTM1_DATA_START_TRANS = 0x10;
186 static const uint8_t CMD_DTM2_DATA_START_TRANS2 = 0x13;
187 static const uint8_t CMD_DISPLAY_REFRESH = 0x12;
188 static const uint8_t CMD_AUTO_SEQ = 0x17;
189 static const uint8_t DATA_AUTO_PON_DSR_POF_DSLP = 0xA7;
190 static const uint8_t CMD_PSR_PANEL_SETTING = 0x00;
191 static const uint8_t CMD_UNDOCUMENTED_0x4D = 0x4D;
192 static const uint8_t CMD_UNDOCUMENTED_0xAA = 0xaa;
193 static const uint8_t CMD_UNDOCUMENTED_0xE9 = 0xe9;
194 static const uint8_t CMD_UNDOCUMENTED_0xB6 = 0xb6;
195 static const uint8_t CMD_UNDOCUMENTED_0xF3 = 0xf3;
196 static const uint8_t CMD_TRES_RESOLUTION_SETTING = 0x61;
197 static const uint8_t CMD_TCON_TCONSETTING = 0x60;
198 static const uint8_t CMD_CDI_VCOM_DATA_INTERVAL = 0x50;
199 static const uint8_t CMD_POF_POWER_OFF = 0x02;
200 static const uint8_t CMD_DSLP_DEEP_SLEEP = 0x07;
201 static const uint8_t DATA_DSLP_DEEP_SLEEP = 0xA5;
202 static const uint8_t CMD_PWS_POWER_SAVING = 0xe3;
203 static const uint8_t CMD_PON_POWER_ON = 0x04;
204 static const uint8_t CMD_PTL_PARTIAL_WINDOW = 0x90;
206 uint8_t *lastbuff_ =
nullptr;
209 void write_init_list_(
const uint8_t *list);
554 void set_full_update_every(uint32_t full_update_every);
563 uint32_t full_update_every_{30};
564 uint32_t at_update_{0};
virtual void digital_write(bool value)=0
virtual uint32_t idle_timeout_()
void deep_sleep() override
void deep_sleep() override
void set_dc_pin(GPIOPin *dc_pin)
void deep_sleep() override
void deep_sleep() override
void deep_sleep() override
void deep_sleep() override
void draw_absolute_pixel_internal(int x, int y, Color color) override
virtual void initialize()=0
virtual int get_width_internal()=0
This class simplifies creating components that periodically check a state.
virtual void dump_config()
void fill(Color color) override
void command(uint8_t value)
void set_reset_duration(uint32_t reset_duration)
void deep_sleep() override
WaveshareEPaperTypeBModel
void init_internal_(uint32_t buffer_length)
virtual void deep_sleep()=0
virtual int get_width_controller()
void deep_sleep() override
The SPIDevice is what components using the SPI will create.
void set_busy_pin(GPIOPin *busy)
void set_reset_pin(GPIOPin *reset)
WaveshareEPaperTypeAModel model_
void on_safe_shutdown() override
WaveshareEPaperTypeAModel
void deep_sleep() override
void deep_sleep() override
void deep_sleep() override
void deep_sleep() override
virtual int get_height_internal()=0
display::DisplayType get_display_type() override
Implementation of SPI Controller mode.
void deep_sleep() override
float get_setup_priority() const override
void deep_sleep() override
void deep_sleep() override
uint32_t get_buffer_length_()
void IRAM_ATTR HOT delay(uint32_t ms)