185 lines
7.2 KiB
C
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 |