epd-spi/include/epd_panel_gdew042t2_lut.h

185 lines
7.2 KiB
C

#ifndef EPD_GDEW042T2_LUT_H
#define EPD_GDEW042T2_LUT_H
#include <stdint.h>
/**
* @brief Note for LUTs:
* LUTs are stored in arrays at the following order:
* VCOM WW BW WB BB WW(??),
* VCOM LUT has 44 bytes, while others has 42 bytes.
*
*/
typedef struct {
uint8_t VCOM[44];
uint8_t WW[42];
uint8_t BW[42];
uint8_t WB[42];
uint8_t BB[42];
} gdew042t2_lut_t;
// LUT waveforms
static gdew042t2_lut_t gdew042t2_lut[3] = {
{
// Grayscale
.VCOM =
{
0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, //
0x60, 0x14, 0x14, 0x00, 0x00, 0x01, //
0x00, 0x14, 0x00, 0x00, 0x00, 0x01, //
0x00, 0x13, 0x0A, 0x01, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WW =
{
0x40, 0x0A, 0x00, 0x00, 0x00, 0x01, //
0x90, 0x14, 0x14, 0x00, 0x00, 0x01, //
0x10, 0x14, 0x0A, 0x00, 0x00, 0x01, //
0xA0, 0x13, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BW =
{
0x40, 0x0A, 0x00, 0x00, 0x00, 0x01, //
0x90, 0x14, 0x14, 0x00, 0x00, 0x01, //
0x00, 0x14, 0x0A, 0x00, 0x00, 0x01, //
0x99, 0x0C, 0x01, 0x03, 0x04, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WB =
{
0x40, 0x0A, 0x00, 0x00, 0x00, 0x01, //
0x90, 0x14, 0x14, 0x00, 0x00, 0x01, //
0x00, 0x14, 0x0A, 0x00, 0x00, 0x01, //
0x99, 0x0B, 0x04, 0x04, 0x01, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BB =
{
0x80, 0x0A, 0x00, 0x00, 0x00, 0x01, //
0x90, 0x14, 0x14, 0x00, 0x00, 0x01, //
0x20, 0x14, 0x0A, 0x00, 0x00, 0x01, //
0x50, 0x13, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
},
{
// BW
.VCOM =
{
0x00, 0x17, 0x00, 0x00, 0x00, 0x02, //
0x00, 0x17, 0x17, 0x00, 0x00, 0x02, //
0x00, 0x0A, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x0E, 0x0E, 0x00, 0x00, 0x02, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WW =
{
0x40, 0x17, 0x00, 0x00, 0x00, 0x02, //
0x90, 0x17, 0x17, 0x00, 0x00, 0x02, //
0x40, 0x0A, 0x01, 0x00, 0x00, 0x01, //
0xA0, 0x0E, 0x0E, 0x00, 0x00, 0x02, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BW =
{
0x40, 0x17, 0x00, 0x00, 0x00, 0x02, //
0x90, 0x17, 0x17, 0x00, 0x00, 0x02, //
0x40, 0x0A, 0x01, 0x00, 0x00, 0x01, //
0xA0, 0x0E, 0x0E, 0x00, 0x00, 0x02, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WB =
{
0x80, 0x17, 0x00, 0x00, 0x00, 0x02, //
0x90, 0x17, 0x17, 0x00, 0x00, 0x02, //
0x80, 0x0A, 0x01, 0x00, 0x00, 0x01, //
0x50, 0x0E, 0x0E, 0x00, 0x00, 0x02, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BB =
{
0x80, 0x17, 0x00, 0x00, 0x00, 0x02, //
0x90, 0x17, 0x17, 0x00, 0x00, 0x02, //
0x80, 0x0A, 0x01, 0x00, 0x00, 0x01, //
0x50, 0x0E, 0x0E, 0x00, 0x00, 0x02, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
},
{
// BW Partial
.VCOM =
{
0x00, 0x19, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WW =
{
0x00, 0x19, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BW =
{
0x80, 0x19, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.WB =
{
0x40, 0x19, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
.BB =
{
0x00, 0x19, 0x01, 0x00, 0x00, 0x01, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
},
},
};
#endif