22static constexpr uint8_t GLUT_SIZE = 9;
23static constexpr uint8_t GLUT_COUNT = 8;
25static constexpr uint8_t LUT2[16] = {0xAA, 0xA9, 0xA6, 0xA5, 0x9A, 0x99, 0x96, 0x95,
26 0x6A, 0x69, 0x66, 0x65, 0x5A, 0x59, 0x56, 0x55};
27static constexpr uint8_t LUTW[16] = {0xFF, 0xFE, 0xFB, 0xFA, 0xEF, 0xEE, 0xEB, 0xEA,
28 0xBF, 0xBE, 0xBB, 0xBA, 0xAF, 0xAE, 0xAB, 0xAA};
29static constexpr uint8_t LUTB[16] = {0xFF, 0xFD, 0xF7, 0xF5, 0xDF, 0xDD, 0xD7, 0xD5,
30 0x7F, 0x7D, 0x77, 0x75, 0x5F, 0x5D, 0x57, 0x55};
32static constexpr uint8_t PIXEL_MASK_LUT[8] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80};
33static constexpr uint8_t PIXEL_MASK_GLUT[2] = {0x0F, 0xF0};
44 void set_waveform(
const std::array<uint8_t, GLUT_COUNT * GLUT_SIZE> &waveform,
bool is_custom) {
45 static_assert(
sizeof(this->
waveform_) ==
sizeof(uint8_t) * GLUT_COUNT * GLUT_SIZE,
46 "waveform_ buffer size must match input waveform array size");
47 memmove(this->
waveform_, waveform.data(),
sizeof(this->waveform_));
90 void setup()
override;
virtual uint8_t get_pin() const =0
This Class provides the methods to read/write bytes from/to an i2c device.
size_t get_buffer_length_()
InternalGPIOPin * cl_pin_
void set_mirror_x(bool mirror_x)
void set_model(InkplateModel model)
void fill(Color color) override
InternalGPIOPin * display_data_0_pin_
uint32_t partial_updates_
void clean_fast_(uint8_t c, uint8_t rep)
void set_spv_pin(GPIOPin *spv)
void hscan_start_(uint32_t d)
void set_display_data_3_pin(InternalGPIOPin *data)
void set_gpio0_enable_pin(GPIOPin *gpio0_enable)
void set_display_data_6_pin(InternalGPIOPin *data)
InternalGPIOPin * display_data_7_pin_
void set_wakeup_pin(GPIOPin *wakeup)
InternalGPIOPin * le_pin_
InternalGPIOPin * display_data_4_pin_
bool get_partial_updating()
GPIOPin * gpio0_enable_pin_
display::DisplayType get_display_type() override
InternalGPIOPin * display_data_1_pin_
uint8_t get_temperature()
void set_ckv_pin(GPIOPin *ckv)
void set_display_data_0_pin(InternalGPIOPin *data)
void set_cl_pin(InternalGPIOPin *cl)
void draw_absolute_pixel_internal(int x, int y, Color color) override
void set_display_data_5_pin(InternalGPIOPin *data)
uint8_t get_panel_state()
void set_display_data_4_pin(InternalGPIOPin *data)
void set_sph_pin(GPIOPin *sph)
uint32_t full_update_every_
uint8_t waveform_[GLUT_COUNT][GLUT_SIZE]
void set_display_data_1_pin(InternalGPIOPin *data)
void dump_config() override
int get_width_internal() override
InternalGPIOPin * display_data_6_pin_
void set_vcom_pin(GPIOPin *vcom)
void set_le_pin(InternalGPIOPin *le)
void set_display_data_7_pin(InternalGPIOPin *data)
void set_oe_pin(GPIOPin *oe)
void set_waveform(const std::array< uint8_t, GLUT_COUNT *GLUT_SIZE > &waveform, bool is_custom)
bool read_power_status_()
void set_full_update_every(uint32_t full_update_every)
InternalGPIOPin * display_data_3_pin_
InternalGPIOPin * display_data_5_pin_
InternalGPIOPin * display_data_2_pin_
void set_gmod_pin(GPIOPin *gmod)
void set_display_data_2_pin(InternalGPIOPin *data)
int get_height_internal() override
float get_setup_priority() const override
void set_partial_updating(bool partial_updating)
void set_powerup_pin(GPIOPin *powerup)
uint8_t * partial_buffer_2_
void set_mirror_y(bool mirror_y)
void initialize_()
Allocate buffers.
uint8_t * partial_buffer_
void set_greyscale(bool greyscale)
Providing packet encoding functions for exchanging data with a remote host.