第一次更新
This commit is contained in:
HalfSweet
2022-02-02 02:51:33 +08:00
parent 2cbb7138b7
commit 8b9799d64d
17 changed files with 4216 additions and 5 deletions

4
.gitignore vendored
View File

@@ -1,5 +1 @@
# Object file
*.o
# Ada Library Information
*.ali

View File

@@ -1,2 +1,2 @@
# EPaperDrive
一个
一个简单好用性能强大的Arduino墨水屏驱动库支持目前市面上较常见的多种墨水屏。

BIN
data/font10 Normal file

Binary file not shown.

BIN
data/font12 Normal file

Binary file not shown.

BIN
data/font32 Normal file

Binary file not shown.

BIN
data/font60 Normal file

Binary file not shown.

BIN
data/font70 Normal file

Binary file not shown.

BIN
data/weathericon Normal file

Binary file not shown.

BIN
data/weathericon32 Normal file

Binary file not shown.

BIN
data/weathericon50 Normal file

Binary file not shown.

BIN
data/weathericon80 Normal file

Binary file not shown.

View File

@@ -0,0 +1,89 @@
/**
* @file HelloWorld.ino
* @author HalfSweet (Email:HalfSweet@HalfSweet.cn or QQ:2522182733)
* @brief 该文件为墨水屏驱动显示Hello World的示例程序此文件仅仅作为最简单的点亮屏幕具体的函数用法请参阅文档
* @version 0.1
* @date 2022-01-30
*
* @copyright Copyright (c) 2022
*
*/
#include <Arduino.h>
#include <EPaperDrive.h>
//包含你需要使用的文件系统,例如:
#include <LittleFS.h>
#define BAUD_SPEED 74880 //串口调试的波特率,可自行修改
#define CS 15
#define RST 2
#define DC 0
#define BUSY 4
#define CLK 14
#define DIN 13
EPaperDrive EPD(0, CS, RST, DC, BUSY, CLK, DIN); //驱动库的实例化此处为使用软件SPI
const uint8_t city_icon[24] = {
/* 0X01,0X01,0X0C,0X00,0X0C,0X00, */
0X00,
0X00,
0X1C,
0X00,
0X77,
0X00,
0X41,
0X80,
0X9C,
0X60,
0XA2,
0X30,
0XA2,
0X30,
0X9C,
0XC0,
0X41,
0X80,
0X77,
0X00,
0X1C,
0X00,
0X00,
0X00,
};
void setup()
{
Serial.begin(BAUD_SPEED);
EPD.SetFS(&LittleFS); //设置存放字体的文件系统,传入的为该文件系统的操作指针,可自行修改
EPD.EPD_Set_Model(HINKE0266A15A0); //设置屏幕类型,具体型号可以参考文档
EPD.EPD_init_Full(); //全刷初始化,使用全刷波形
EPD.clearbuffer(); //清空缓存(全白)
EPD.fontscale = 2; //字体缩放系数(支持1和2,对图片也有效用完记得重新改成1)
EPD.SetFont(FONT12); //选择字体,具体支持的字体见文档
EPD.DrawUTF(0, 0, "Hello World"); //绘制字符串
EPD.DrawUTF(26, 0, "我喜欢墨水屏"); //绘制字符串
EPD.fontscale = 1; //字体缩放系数改回1
EPD.DrawXbm_P(60, 0, 12, 12, (uint8_t *)city_icon); //绘制图片
Serial.printf("缓存图像绘制完毕,准备全刷 \n");
EPD.EPD_Dis_Full((uint8_t *)EPD.EPDbuffer, 1); //将缓存中的图像传给屏幕控制芯片全刷屏幕
EPD.deepsleep(); //让屏幕进入休眠模式
Serial.println("全刷完毕");
delay(5000);
EPD.EPD_init_Part(); //局刷的初始化
EPD.clearbuffer();
EPD.fontscale = 2;
EPD.SetFont(FONT12);
EPD.DrawUTF(0, 0, "现在是局刷");
Serial.printf("开始局刷 \n");
EPD.EPD_Dis_Part(0, 23, 0, 199, (uint8_t *)EPD.EPDbuffer, 1); //将缓存中的图像传给屏幕控制芯片局新屏幕
Serial.printf("局刷结束 \n");
EPD.deepsleep();
}
void loop()
{
delay(1); //防止看门狗咬
}

58
keywords.txt Normal file
View File

@@ -0,0 +1,58 @@
###########################################
# Syntax Coloring Map For EPaperDrive-library
###########################################
###########################################
# Datatypes (KEYWORD1)
###########################################
EPaperDrive KEYWORD1
###########################################
# Methods and Functions (KEYWORD2)
###########################################
deepsleep KEYWORD2
SetFS KEYWORD2
SetHardSPI KEYWORD2
EPD_Set_Model KEYWORD2
EPD_init_Full KEYWORD2
EPD_init_Part KEYWORD2
EPD_Dis_Full KEYWORD2
EPD_Dis_Part KEYWORD2
EPD_Transfer_Full_BW KEYWORD2
EPD_Transfer_Full_RED KEYWORD2
EPD_Transfer_Part KEYWORD2
SetFont KEYWORD2
DrawUTF KEYWORD2
DrawUnicodeChar KEYWORD2
DrawUnicodeStr KEYWORD2
clearbuffer KEYWORD2
DrawYline KEYWORD2
DrawXline KEYWORD2
DrawLine KEYWORD2
Inverse KEYWORD2
DrawWeatherChart KEYWORD2
DrawCircle KEYWORD2
DrawBox KEYWORD2
DrawEmptyBox KEYWORD2
DrawChart KEYWORD2
DrawCircleChart KEYWORD2
drawXbm KEYWORD2
DrawXbm_P KEYWORD2
DrawXbm_p_gray KEYWORD2
DrawXbm_spiff_gray KEYWORD2
EPD_Set_Contrast KEYWORD2
EPD_Update KEYWORD2
EPD_Update_Part KEYWORD2
ReadBusy KEYWORD2
ReadBusy_long KEYWORD2
EPD_WriteCMD KEYWORD2
EPD_WriteData KEYWORD2
EPD_Write KEYWORD2
fontscale KEYWORD3
EPDbuffer KEYWORD3
FONT KEYWORD3
epd_type KEYWORD3

9
library.properties Normal file
View File

@@ -0,0 +1,9 @@
name=EPaperDrive
version=1.0.0
author=HalfSweet,HalfSweet@HalfSweet.cn
maintainer=HalfSweet,HalfSweet@HalfSweet.cn
sentence=一个优秀的串口墨水屏驱动库
paragraph=支持目前市面上绝大多数的墨水屏以及驱动芯片
category=Display
url=https://github.com/HalfSweetStudio/EPaperDrive
architectures=*

2618
src/EPaperDrive.cpp Normal file

File diff suppressed because it is too large Load Diff

489
src/EPaperDrive.h Normal file
View File

@@ -0,0 +1,489 @@
#pragma once
//#include "spline.h"
#include <Arduino.h>
#include <SPI.h>
#include "FS.h"
#include "WAVEFORM_SETTING_LUT.h"
extern uint8_t UNICODEbuffer[200];
extern String fontname;
#define EPD_CS_0 digitalWrite(_CS, LOW)
#define EPD_CS_1 digitalWrite(_CS, HIGH)
#define isEPD_CS digitalRead(_CS)
#define EPD_RST_0 digitalWrite(_RST, LOW)
#define EPD_RST_1 digitalWrite(_RST, HIGH)
#define isEPD_RST digitalRead(_RST)
#define EPD_DC_0 digitalWrite(_DC, LOW)
#define EPD_DC_1 digitalWrite(_DC, HIGH)
#define READ_EPD_BUSY digitalRead(_BUSY)
#define EPD_CLK_0 digitalWrite(_CLK, LOW)
#define EPD_CLK_1 digitalWrite(_CLK, HIGH)
#define EPD_DIN_0 digitalWrite(_DIN, LOW)
#define EPD_DIN_1 digitalWrite(_DIN, HIGH)
enum FONT
{
FONT16 = 0,
FONT32 = 1,
FONT10 = 2,
FONT12 = 3,
FONT70 = 5,
FONT12_NUM = 6,
FONT24 = 7,
FONT8 = 8,
DIGI_NUM_100 = 9,
ICON32 = 13,
ICON80 = 12,
ICON50 = 14,
};
enum epd_type
{
WX29 = 0, // SSD1608
WF29 = 1,
OPM42 = 2, // SSD1619
WF58 = 3,
WF29BZ03 = 4,
C154 = 5,
DKE42_3COLOR = 6, // SSD1619
DKE29_3COLOR = 7, // SSD1680
WF42 = 8,
WF32 = 9,
WFT0290CZ10 = 10, // UC8151C
GDEY042Z98 = 11, // SSD1683
HINKE0266A15A0 = 12, // SSD1675
};
/*
* 典型使用流程
* 1.EPD_init_Full/EPD_init_Part初始化
* 2.clearbuffer清除缓存图像
* 3.SetFont设置字体
* 4.fontscale=1设置字体缩放
* 5.DrawUTF 绘制文字。图像等
* 6.EPD_DisFull/EPD_Dis_Part更新屏幕图像
* 7.deepsleep睡眠
*
* 屏幕有圆点的角为00x方向为垂直方向y方向为水平方向
*/
class EPaperDrive
{
public:
/**
* @brief 构造函数初始化软硬SPI及引脚定义
*
* @param SPIMode 选择是硬件SPI还是软件SPI0为软件1为硬件不采用硬件CS
* @param CS CS脚
* @param RST RST脚
* @param DC DC脚
* @param BUSY BUSY脚
* @param CLK 时钟线如果是硬件SPI可以不填
* @param DIN 数据线如果是硬件SPI可以不填
*/
EPaperDrive(bool SPIMode, uint8_t CS, uint8_t RST, uint8_t DC, uint8_t BUSY, uint8_t CLK = 127, uint8_t DIN = 127);
/**
* @brief 构析函数,暂无作用
*
*/
~EPaperDrive();
/**
* @brief 让墨水屏进入睡眠模式,节省功耗
*
*/
void deepsleep(void);
uint8_t fontscale; ///> 字体缩放仅支持12
uint8_t frame; //用于4灰度屏fram=0,在2bit中的第一个bit中存储图像frame=1在第二bit种存储图像
uint8_t EPDbuffer[400 * 300 / 8]; ///>屏幕图像
epd_type EPD_Type;
/**
* @brief 设置采用什么文件系统
*
* @param userFS 应当传入的文件系统的指针
*/
void SetFS(FS *userFS);
/**
* @brief 设置采用硬件spi的通道用户请先初始化SPI之后再传入对应SPI的指针
*
* @param spi 应当传入的SPI的指针
*/
void SetHardSPI(SPIClass *spi);
/**
* @brief 设置墨水屏的型号
*
* @param model 墨水屏的型号目前支持的在epd_type这个枚举里面
*/
void EPD_Set_Model(uint8_t model);
/**
* @brief 墨水屏全刷的初始化
*
*/
void EPD_init_Full(void);
/**
* @brief 墨水屏局刷的初始化
*
*/
void EPD_init_Part(void);
/**
* @brief 全刷传入的图像
*
* @param DisBuffer 传入的图像缓存指针
* @param Label 应该刷的图像1为传入的缓存2为全白3为全黑
*/
void EPD_Dis_Full(uint8_t *DisBuffer, uint8_t Label); // 1正常2全白3全黑
/**
* @brief 局刷传入的图像
*
* @param xStart 局刷区域x开始的坐标
* @param xEnd 局刷区域x结束的坐标
* @param yStart 局刷区域y开始的坐标
* @param yEnd 局刷区域y结束的坐标
* @param DisBuffer 传入的图像缓存指针
* @param Label 应该刷的图像1为传入的缓存2为全白3为全黑
*/
void EPD_Dis_Part(int xStart, int xEnd, int yStart, int yEnd, uint8_t *DisBuffer, uint8_t Label);
/**
* @brief 直接向RAM中写全刷的黑白图片
*
* @param DisBuffer 应当写入的图像缓存指针
* @param Label 应该刷的图像1为传入的缓存2为全白3为全黑4为向“OLD”RAM中写全黑
*/
void EPD_Transfer_Full_BW(uint8_t *DisBuffer, uint8_t Label);
/**
* @brief 直接向RAM中写全刷的红色图片
*
* @param DisBuffer 应当写入的图像缓存指针
* @param Label 应该刷的图像1为传入的缓存2为全白3为全黑
*/
void EPD_Transfer_Full_RED(uint8_t *DisBuffer, uint8_t Label);
/**
* @brief 直接向RAM中写局刷的图像
*
* @param xStart 局刷区域x开始的坐标
* @param xEnd 局刷区域x结束的坐标
* @param yStart 局刷区域y开始的坐标
* @param yEnd 局刷区域y结束的坐标
* @param DisBuffer 传入的图像缓存指针
* @param Label 应该刷的图像1为传入的缓存2为全白3为全黑
*/
void EPD_Transfer_Part(int xStart, int xEnd, int yStart, int yEnd, uint8_t *DisBuffer, uint8_t Label);
/**
* @brief 设置字体样式
*
* @param fontindex 字体样式目前仅支持FONT枚举里面的
*/
void SetFont(FONT fontindex);
/**
* @brief 在图像缓存中画字符串
*
* @param x 字符串图像开始的x坐标
* @param y 字符串图像开始的y坐标
* @param code 字符串内容
*/
void DrawUTF(int16_t x, int16_t y, String code);
/**
* @brief 在图像缓存中画字符
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param width 字符的宽度
* @param height 字符的高度
* @param code 字符的指针
*/
void DrawUnicodeChar(int16_t x, int16_t y, uint8_t width, uint8_t height, uint8_t *code);
/**
* @brief 在图像缓存中画指定长度的字符串
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param width 字符的宽度
* @param height 字符的高度
* @param strlength 字符串的长度
* @param code 字符串指针
*/
void DrawUnicodeStr(int16_t x, int16_t y, uint8_t width, uint8_t height, uint8_t strlength, uint8_t *code);
/**
* @brief 清除之前所绘的图像缓存
*
*/
void clearbuffer();
/**
* @brief 在图像缓存中画竖线(一个像素)
*
* @param start 线开始的x坐标
* @param end 线结束的x坐标
* @param y 线的y坐标
*/
void DrawYline(int start, int end, int y); //画竖线
/**
* @brief 在图像缓存中画横线(一个像素)
*
* @param start 线开始的y坐标
* @param end 线结束的y坐标
* @param x 线的x坐标
*/
void DrawXline(int start, int end, int x); //画横线
/**
* @brief 在图像缓存中画直线
*
* @param xstart 线开始的x坐标
* @param ystart 线开始的y坐标
* @param xend 线结束的x坐标
* @param yend 线结束的y坐标
*/
void DrawLine(int xstart, int ystart, int xend, int yend);
/**
* @brief 反向一个区域的图像(黑变白,白变黑)
*
* @param xStart 这个区域开始的x坐标
* @param xEnd 这个区域结束的x坐标
* @param yStart 这个区域开始的y坐标
* @param yEnd 这个区域结束的y坐标
*/
void Inverse(int xStart, int xEnd, int yStart, int yEnd);
/**
* @brief 绘制天气温度变化曲线
*
* @param xmin 绘制区域中开始的x坐标
* @param xmax 绘制区域中结束的x坐标
* @param ymin 绘制区域中开始的y坐标
* @param ymax 绘制区域中结束的y坐标
* @param point_n 传入的天气数据的数量
* @param show_n 需要显示的天气数据的数量
* @param tmax 需要显示的这几天每天温度的最大值如12,13,14,15
* @param tmin 需要显示的这几天每天温度的最小值如2,3,4,5
* @param code_d 需要显示的这几天每天温度最大值的图标对应的字符
* @param code_n 需要显示的这几天每天温度最小值的图标对应的字符
* @param text_d 需要显示的这几天每天温度最大值对应的天气状况
* @param text_n 需要显示的这几天每天温度最小值对应的天气状况
* @param date 我也不知道这是啥,看函数定义里面好像没啥用
* @param week 需要显示的这几天每天是星期几例如1,2,3,4
*/
void DrawWeatherChart(int xmin, int xmax, int ymin, int ymax, int point_n, int show_n, String tmax, String tmin, String code_d, String code_n, String text_d, String text_n, String date, String week); //绘制天气温度变化曲线
/**
* @brief 在图像缓存中画圆
*
* @param x 圆心的x坐标
* @param y 圆心的y坐标
* @param r 半径长度
* @param fill 0为空心圆1为实心圆
*/
void DrawCircle(int x, int y, int r, bool fill); //画圆圈xy圆心r半径
/**
* @brief 在图像缓存中画实心矩形
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param w 矩形的宽度
* @param h 矩形的高度
*/
void DrawBox(uint8_t x, int y, int w, int h); //画矩形,填充
/**
* @brief 在图像缓存中画空心矩形
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param w 矩形的宽度
* @param h 矩形的高度
*/
void DrawEmptyBox(int x, int y, int w, int h); //画矩形,空心
/**
* @brief 在图像缓存中画水平方向的柱状图(显示空气质量数据的,不建议使用)
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param w 图表的宽度
* @param c1 第1个数据
* @param c2 第2个数据
* @param c3 第3个数据
* @param c4 第4个数据
* @param c5 第5个数据
* @param c6 第6个数据
*/
void DrawChart(int x, int y, int w, int c1, int c2, int c3, int c4, int c5, int c6); //画水平方向的柱状图w图表宽度c1-C6变量
/**
* @brief 在图像缓存中画圆环图表(显示空气质量数据的,不建议使用)
*
* @param x 开始的x坐标
* @param y 开始的y坐标
* @param r 圆环的半径
* @param w 圆环的宽度
* @param c1 第1个数据
* @param c2 第2个数据
* @param c3 第3个数据
*/
void DrawCircleChart(int x, int y, int r, int w, int c1, int c2, int c3); //画圆环图表r半径w圆环宽c1-c3变量
/**
* @brief 在图像缓存中绘制图像
*
* @param xMove 开始的x坐标
* @param yMove 开始的y坐标
* @param width 图像的宽度
* @param height 图像的高度
* @param xbm 图像的指针
*/
void drawXbm(int16_t xMove, int16_t yMove, int16_t width, int16_t height, uint8_t *xbm); //绘制图像
/**
* @brief 在图像缓存中画以PROGMEM类型储存图片
*
* @param xMove 开始的x坐标
* @param yMove 开始的y坐标
* @param width 图像的宽度
* @param height 图像的高度
* @param xbm 图像的指针
*/
void DrawXbm_P(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const uint8_t *xbm);
/**
* @brief 在图像缓存中画以PROGMEM类型储存的灰度图片
*
* @param xMove 开始的x坐标
* @param yMove 开始的y坐标
* @param width 图像的宽度
* @param height 图像的高度
* @param xbm 图像的指针
* @param level 灰度的等级
*/
void DrawXbm_p_gray(int16_t xMove, int16_t yMove, int16_t width, int16_t height, const uint8_t *xbm, uint8_t level);
/**
* @brief 在图像缓存中画以文件系统储存的灰度图片
*
* @param xMove 开始的x坐标
* @param yMove 开始的y坐标
* @param width 图像的宽度
* @param height 图像的高度
* @param level 灰度的等级
*/
void DrawXbm_spiff_gray(int16_t xMove, int16_t yMove, int16_t width, int16_t height, uint8_t level);
/**
* @brief 设置vcom仅有OPM42这块屏需要在意别的屏幕不用管
*
* @param vcom vcom的等级
*/
void EPD_Set_Contrast(uint8_t vcom);
/**
* @brief 墨水屏全刷更新
*
*/
void EPD_Update(void);
/**
* @brief 墨水屏局刷更新
*
*/
void EPD_Update_Part(void);
/**
* @brief 等待BUSY信号变为空闲最大200ms超时
*
* @return bool 1代表成功0代表超时
*/
bool ReadBusy(void);
/**
* @brief 等待BUSY信号变为空闲最大2000ms超时
*
* @return bool 1代表成功0代表超时
*/
bool ReadBusy_long(void);
/**
* @brief 向墨水屏驱动芯片写入命令
*
* @param command 命令的值
*/
void EPD_WriteCMD(uint8_t command);
/**
* @brief 向墨水屏驱动芯片写入数据
*
* @param data 数据的值
*/
void EPD_WriteData(uint8_t data);
/**
* @brief 向墨水屏驱动芯片中写命令和数据(第一个字节为命令,剩下的均为数据)
*
* @param value 要写的所有字节的指针
* @param datalen 要写的所有字节的长度
*/
void EPD_Write(uint8_t *value, uint8_t datalen);
private:
uint8_t _CS;
uint8_t _RST;
uint8_t _DC;
uint8_t _BUSY;
uint8_t _CLK;
uint8_t _DIN;
bool _SPIMode;
FS *UserFS;
SPIClass *MySPI;
uint8_t FontIndex;
int xDot;
int yDot;
int16_t CurrentCursor;
uint8_t fontwidth;
uint8_t fontheight;
void SPI_Write(uint8_t value);
void driver_delay_xms(unsigned long xms);
void EPD_WriteDispRam_RED(unsigned int XSize, unsigned int YSize, uint8_t *Dispbuff, unsigned int offset, uint8_t label);
void EPD_WriteDispRam(unsigned int XSize, unsigned int YSize, uint8_t *Dispbuff, unsigned int offset, uint8_t label);
// void EPD_SetRamArea(uint16_t Xstart,uint16_t Xend,uint8_t Ystart,uint8_t Ystart1,uint8_t Yend,uint8_t Yend1);
void EPD_SetRamPointer(uint16_t addrX, uint8_t addrY, uint8_t addrY1);
void EPD_WirteLUT(uint8_t *LUTvalue, uint8_t Size);
void EPD_Init(void);
void EPD_WriteCMD_p1(uint8_t command, uint8_t para);
void EPD_WriteDispRam_Old(unsigned int XSize, unsigned int YSize, uint8_t *Dispbuff, unsigned int offset, uint8_t label);
void EPD_SetRamArea(uint16_t Xstart, uint16_t Xend, uint8_t Ystart, uint8_t Ystart1, uint8_t Yend, uint8_t Yend1);
int getIcon(int weathercodeindex);
void SetPixel(int16_t x, int16_t y);
void InversePixel(int16_t x, int16_t y);
void DrawUTF(int16_t x, int16_t y, uint8_t width, uint8_t height, uint8_t *code);
int UTFtoUNICODE(uint8_t *code);
};

952
src/WAVEFORM_SETTING_LUT.h Normal file
View File

@@ -0,0 +1,952 @@
static const uint8_t GDVol[] = {0x03,0x00}; // Gate voltage +15V/-15V
static uint8_t GDOControl[]={0x01,39,1,0x00}; //for 1.54inch
static uint8_t softstart[]={0x0c,0xd7,0xd6,0x9d};
static uint8_t Rambypass[] = {0x21,0x8f}; // Display update
static uint8_t MAsequency[] = {0x22,0xf0}; // clock
static uint8_t SDVol[] = {0x04,0x0a}; // Source voltage +15V/-15V
static uint8_t VCOMVol[] = {0x2c,0xa8}; // VCOM 7c 0xa8
static uint8_t GateVol[]={0x03,0xea};
static uint8_t BOOSTERFB[] = {0xf0,0x1f}; // Source voltage +15V/-15V
static uint8_t DummyLine[] = {0x3a,0x01}; // 4 dummy line per gate
static uint8_t Gatetime[] = {0x3b,B1000}; // 2us per line
static uint8_t BorderWavefrom[] = {0x3c,0x63}; // Border
static uint8_t RamDataEntryMode[] = {0x11,0x01}; // Ram data entry mode
static const uint8_t LUTDefault_part[31] = {
0x32, // command
0x10,0x18,0x18,0x08,0x18,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x13,0x14,0x44,0x12,0x00,0x00,0x00,0x00,0x00,0x00,
/* 10 wb 01 bw
* 10 H REPEAT 3
* 10 H 01 L REPEAT 1
* 10 H 01 L REPEAT 4
* 01 L REPEAT 1
* 10 H 01 L REPEAT 4
* 10 H 01 L REPEAT 4
* 01 L REPEAT 2
*/
};
static const uint8_t LUTDefault_full[31] = {
0x32, // command
0x02,0x02,0x01,0x11,0x12,0x12,0x22,0x22,0x66,0x69,0x69,0x59,0x58,0x99,0x99,0x88,0x00,0x00,0x00,
0x00,0xF8,0xB4,0x13,0x51,0x35,0x51,0x51,0x19,0x01,0x00,
};
////////////
const uint8_t lut_vcomDC_154[] ={
0x20,
0x00 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x60 ,0x13 ,0x14 ,0x00 ,0x00 ,0x05,
0x00 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x00 ,0x24 ,0x24 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
,0x00 ,0x00, };
const uint8_t lut_ww_154[] ={
0x21,
//
0x40 ,0x16 ,0x00 ,0x00 ,0x00 ,0x01,
0x90 ,0x13 ,0x14 ,0x00 ,0x00 ,0x05,
0x40 ,0x02 ,0x00 ,0x00 ,0x00 ,0x01,
0xA0 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_wb_154[] ={
0x23,
0x80 ,0x02 ,0x00 ,0x00 ,0x00 ,0x01,
0x90 ,0x13 ,0x14 ,0x00 ,0x00 ,0x05,
0x80 ,0x02 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x24 ,0x24 ,0x00 ,0x00 ,0x05,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_bw_154[] ={
0x22,
0x40 ,0x17 ,0x00 ,0x00 ,0x00 ,0x02 ,
0x90 ,0x0F ,0x0F ,0x00 ,0x00 ,0x03 ,
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 , };
const uint8_t lut_bb_154[] ={
0x24,
0x80 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x80 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
static const uint8_t LUTDefault_part_opm42[] = {
/*
0x08,0x48,0x40,0x00,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x12,0x00,0x00,0x00,0x00,0x00,//L1 W low-high-low
0x48,0x48,0x40,0x00,0x00,0x00,0x00,
0x48,0x48,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
0x0c,0x08,0x0c,0x01,0x00,
0x0c,0x10,0x0c,0x08,0x00,
0x0c,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
*/
0x32, // command
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L0 BB R0 B/W 0
0x82,0x00,0x00,0x00,0x00,0x00,0x00, //L1 BW R0 B/W 1
0x50,0x00,0x00,0x00,0x00,0x00,0x00, //L2 WB R1 B/W 0
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L3 WW R0 W/W 0
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L4 VCOM
//b1w1 b2 w2
0x08,0x08,0x00,0x08,0x01,
0x00,0x00,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,
};
static const uint8_t LUTDefault_full_opm42[] = {
0x32, // command
/*
0x08,0x48,0x40,0x00,0x00,0x00,0x00,//L0 B low-high-low-high
0x08,0x48,0x00,0x00,0x00,0x00,0x00,//L1 W low-high-low
0x48,0x48,0x40,0x00,0x00,0x00,0x00,
0x48,0x48,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
0x0F,0x01,0x0F,0x01,0x00,
0x0F,0x01,0x0F,0x01,0x00,
0x0F,0x01,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
*/
/*
black
0x08 vsl repeat f
0x48 vsh1 repeat f vsl repeat f
0x40 vshl repeat f
white
0x08 vsl repeat f
0x48 vsh1 repeat f vsl repeat f
*/
0x08,0x00,0x48,0x40,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x00,0x12,0x20,0x00,0x00,0x00,//L1 W low-high-low
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
// w1白 b1白
0x05,0x20,0x20,0x05,0x00,
//wait
0x0f,0x00,0x00,0x00,0x00,
//b2黑 w2黑 b3白 w3白
0x20,0x40,0x20,0x20,0x00,
//b4黑 w4白
0x20,0x00,0x00,0x00,0x00,
//
0x05,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00, };
static const uint8_t LUTDefault_part_dke42[] = {
0x32, // command
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L0 BB R0 B/W 0
0x82,0x00,0x00,0x00,0x00,0x00,0x00, //L1 BW R0 B/W 1
0x50,0x00,0x00,0x00,0x00,0x00,0x00, //L2 WB R1 B/W 0
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L3 WW R0 W/W 0
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L4 VCOM
//b1w1 b2 w2
0x20,0x00,0x00,0x05,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,
};
static const uint8_t LUTDefault_full_dke42[] = {
0x32, // command
0x08,0x66,0x48,0x40,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x66,0x12,0x20,0x00,0x00,0x00,//L1 W low-high-low
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
// w1白 b1白
0x05,0x00,0x00,0x05,0x00,
//wait
0x06,0x06,0x06,0x06,0x12,
//b2黑 w2黑 b3白 w3白
0x00,0x00,0x15,0x20,0x00,
//b4黑 w4白
0x25,0x00,0x00,0x00,0x00,
//
0x05,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00, };
static const uint8_t LUT_gray_opm42[]={
0x32, // command
0x40,0x00,0x00,0x00,0x00,0x00,0x00, //L0 B low-high-low-high 40
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L1 W low-high
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L2 R
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L3 R
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L4 VCOM
0x03,0x00,0x00,0x00,0x00,//[36]
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,
};
static const uint8_t LUT_gray_red_opm42[]={
0x32, // command
0xc0,0x80,0x00,0x00,0x00,0x00,0x00, //L0 B low-high-low-high 40
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L1 W low-high
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L2 R
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L3 R
0x00,0x00,0x00,0x00,0x00,0x00,0x00, //L4 VCOM
0x20,0x01,0x00,0x00,0x00,//[36]
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,
};
static const uint8_t LUTDefault_full_dke29[] = {
0x32, // command
0x08,0x00,0x48,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x00,0x12,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L1 W low-high-low
0x08,0x00,0x48,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x00,0x12,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L1 W low-high-low
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
// w1白 b1白
0x00,0x40,0x00,0x40,0x00,0x00,0x00,
//wait
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//b2黑 w2黑 b3白 w3白
0x40,0x40,0x00,0x40,0x40,0x00,0x00,
//b4黑 w4白
0x40,0x05,0x00,0x00,0x00,0x00,0x00,
//
0x05,0x00,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,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0x00,
0x00,
};
static const uint8_t LUTDefault_part_dke29[] = {
0x32, // command
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L0 B low-high-low-high
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L1 W low-high-low
0x40,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,//L4 VCOM
// b1w1 b2 w2
0x80,0x00,0x00,0x00,0x00,0x00,0x00,
//wait
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//b2黑 w2黑 b3白 w3白
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//b4黑 w4白
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,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,
0xff,
0xff,
0xff,
0xff,
0xff,
0xff,
0x00,
0x00,
0x00,
0x00,
};
const uint8_t lut_wf42_vcomDC[] ={
0x20,
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,
/*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, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, */
};
const uint8_t lut_wf42_ww[] ={
0x21,
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, };
const uint8_t lut_wf42_bw[] ={
0x22,
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, };
const uint8_t lut_wf42_wb[] ={
0x23,
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, };
const uint8_t lut_wf42_bb[] ={
0x24,
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, };
const uint8_t lut_vcomDC[] ={
0x20,
0x00 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x60 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x00 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x00 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00
,0x00 ,0x00, };
const uint8_t lut_ww[] ={
0x21,
0x40 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x40 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0xA0 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_bw[] ={
0x22,
0x40 ,0x17 ,0x00 ,0x00 ,0x00 ,0x02 ,
0x90 ,0x0F ,0x0F ,0x00 ,0x00 ,0x03 ,
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 , };
const uint8_t lut_wb[] ={
0x23,
0x80 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x80 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_bb[] ={
0x24,
0x80 ,0x08 ,0x00 ,0x00 ,0x00 ,0x02,
0x90 ,0x28 ,0x28 ,0x00 ,0x00 ,0x01,
0x80 ,0x14 ,0x00 ,0x00 ,0x00 ,0x01,
0x50 ,0x12 ,0x12 ,0x00 ,0x00 ,0x01,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00,
0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00, };
//////////////////////////////////////partial screen update LUT////////////////////////////////////////////
const uint8_t lut_vcomDC1[] ={
0x20,
0x00 ,0x19 ,0x01 ,0x00 ,0x00 ,0x01, //GND
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, };
const uint8_t lut_ww1[] ={
0x21,
//level0 level 1 level 2 level 3
//frame0
//frame1
//frame2
//frame3
//repeat
//level f0 f1 f2 f3 repeat
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,};
const uint8_t lut_bw1[] ={
0x22,
//level f0 f1 f2 f3 repeat
0x80 ,0x19 ,0x01 ,0x00 ,0x00 ,0x01, //LOW - GND
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, };
const uint8_t lut_wb1[] ={
0x23,
0x40 ,0x19 ,0x01 ,0x00 ,0x00 ,0x01,//HIGH - GND
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, };
const uint8_t lut_bb1[] ={
0x24,
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, };
//////////////////////////////////////partial screen update LUT////////////////////////////////////////////
const uint8_t lut_part_wf42_vcomDC[] ={
0x20,
0x02 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01, //GND
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,
/*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, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, */
};
const uint8_t lut_part_wf42_ww[] ={
0x21,
//level0 level 1 level 2 level 3
//frame0
//frame1
//frame2
//frame3
//repeat
//level f0 f1 f2 f3 repeat
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 ,0x00 ,0x00 ,0x00 ,0x00,};
const uint8_t lut_part_wf42_bw[] ={
0x22,
//level f0 f1 f2 f3 repeat
0x80 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01, //LOW - GND
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, };
const uint8_t lut_part_wf42_wb[] ={
0x23,
0x40 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01,//HIGH - GND
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, };
const uint8_t lut_part_wf42_bb[] ={
0x24,
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 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_vcomDCfast[] ={
0x20,
0x01 ,0x01 ,0x02 ,
0x01 ,0x01 ,0x02 ,
0x41 ,0x41 ,0x02 ,
0x41 ,0x41 ,0x02 ,
0x02 ,0x02 ,0x19 };
const uint8_t lut_wwfast[] ={//w
0x21,
0x81 ,0x81 ,0x02,
0x81 ,0x81 ,0x02,
0x81 ,0x81 ,0x02,
0x81 ,0x81 ,0x02,
0x82 ,0xc2 ,0x0f,
};
const uint8_t lut_bwfast[] ={//b
0x22,
0x41 ,0x41 ,0x06 ,
0x41 ,0x41 ,0x02 ,
0x41 ,0x41 ,0x02 ,
0x41 ,0x41 ,0x02 ,
0x42 ,0xc2 ,0x02 ,};
const uint8_t lut_vcomDC2[] ={
0x20,
0x0E ,0x14 ,0x01 ,
0x0A ,0x06 ,0x04 ,
0x0A ,0x0A ,0x0F ,
0x03 ,0x03 ,0x0C ,
0x06 ,0x0A ,0x00 };
const uint8_t lut_ww2[] ={//w
0x21,
0x0E ,0x14 ,0x01,
0x0A ,0x46 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x86 ,0x0A ,0x04};
const uint8_t lut_bw2[] ={//b
0x22,
0x0E ,0x14 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x4A ,0x04};
const uint8_t lut_wb2[] ={
0x23,
0x8E ,0x94 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x0A ,0x04 };
const uint8_t lut_bb2[] ={
0x24,
0x8E ,0x94 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x0A ,0x04 };
/*
const uint8_t lut_vcomDC_bz03[] ={
0x20,
0x0E ,0x14 ,0x01 ,
0x0A ,0x06 ,0x04 ,
0x0A ,0x0A ,0x0F ,
0x03 ,0x03 ,0x0C ,
0x06 ,0x0A ,0x00 };
const uint8_t lut_ww_bz03[] ={//w
0x21,
0x0E ,0x14 ,0x01,
0x0A ,0x46 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x86 ,0x0A ,0x04};
const uint8_t lut_bw_bz03[] ={//b
0x22,
0x0E ,0x14 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x4A ,0x04};
const uint8_t lut_wb_bz03[] ={
0x23,
0x0E ,0x14 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x4A ,0x04 };
const uint8_t lut_bb_bz03[] ={
0x24,
0x0E ,0x14 ,0x01 ,
0x8A ,0x06 ,0x04 ,
0x8A ,0x4A ,0x0F ,
0x83 ,0x43 ,0x0C ,
0x06 ,0x4A ,0x04};
*/
const uint8_t lut_vcomDC_bz03[] ={
0x20,
0x0a ,0x00 ,0x06 ,
0x0a ,0x00 ,0x06 ,
0x0a ,0x00 ,0x06 ,
0x0a ,0x00 ,0x06 ,
0x00 ,0x00 ,0x00 };
const uint8_t lut_ww_bz03[] ={//w
0x21,
0x4a ,0x00 ,0x06,
0x8a ,0x00 ,0x06 ,
0x4A ,0x00 ,0x06 ,
0x8a ,0x00 ,0x06 ,
0x00 ,0x00 ,0x00};
const uint8_t lut_bw_bz03[] ={//b
0x22,
0x8a ,0x00 ,0x06 ,
0x4A ,0x00 ,0x06 ,
0x8A ,0x00 ,0x06 ,
0x4a ,0x00 ,0x06 ,
0x00 ,0x00 ,0x00};
const uint8_t lut_wb_bz03[] ={
0x23,
0x8a ,0x00 ,0x06 ,
0x4A ,0x00 ,0x06 ,
0x8A ,0x00 ,0x06 ,
0x4a ,0x00 ,0x06 ,
0x00 ,0x00 ,0x00};
const uint8_t lut_bb_bz03[] ={
0x24,
0x4a ,0x00 ,0x06,
0x8a ,0x00 ,0x06 ,
0x4A ,0x00 ,0x06 ,
0x8a ,0x00 ,0x06 ,
0x00 ,0x00 ,0x00};
const uint8_t lut_vcomDC_part_bz03[] ={
0x20,
0x0a ,0x00 ,0x04 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 };
const uint8_t lut_ww_part_bz03[] ={//w
0x21,
0x0a ,0x00 ,0x04,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 };
const uint8_t lut_bb_part_bz03[] ={//01
0x22,
0x0a ,0x00 ,0x04 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 };
const uint8_t lut_bw_part_bz03[] ={//10
0x23,
0x4a ,0x00 ,0x12 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 };
const uint8_t lut_wb_part_bz03[] ={//10
0x24,
0x8a ,0x00 ,0x12 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00 ,
0x00 ,0x00 ,0x00};
const uint8_t lut_vcomDC_WFT0290CZ10[] =
{
0x20,
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,
};
//R21
const uint8_t lut_ww_WFT0290CZ10[]={
0x21,
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,
};
//R22H r
const uint8_t lut_bw_WFT0290CZ10[] ={
0x22,
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,
};
//R23H w
const uint8_t lut_wb_WFT0290CZ10[] ={
0x23,
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,
};
//R24H b
const uint8_t lut_bb_WFT0290CZ10[] ={
0x24,
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,
};
const uint8_t lut_vcomDC_part_WFT0290CZ10[]={
0x20,
0x02 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01, //GND
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, };
const uint8_t lut_ww_part_WFT0290CZ10[]={
0x21,
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 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t lut_bw_part_WFT0290CZ10[]={
0x22,
0x80 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01, //LOW - GND
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, };
const uint8_t lut_wb_part_WFT0290CZ10[]={
0x23,
0x40 ,0x30 ,0x00 ,0x00 ,0x00 ,0x01,//HIGH - GND
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, };
const uint8_t lut_bb_part_WFT0290CZ10[]={
0x24,
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 ,0x00 ,0x00 ,0x00 ,0x00, };
const uint8_t LUTDefault_full_GDEY042Z98[] = {
0x32,
//VCOM
0x01, 0x28, 0x28, 0x14, 0x3C, 0x01, 0x01,
0x01, 0x28, 0x28, 0x14, 0x3C, 0x01, 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, 0x00, 0x00, 0x00, 0x00,
//RED
0x01, 0x28, 0x28, 0x94, 0xFC, 0x01, 0x01,
0x01, 0x28, 0x28, 0x94, 0xFC, 0x01, 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, 0x00, 0x00, 0x00, 0x00,
//WHITE
0x01, 0x68, 0xA8, 0x14, 0x3C, 0x01, 0x01,
0x01, 0x68, 0xA8, 0x14, 0x3C, 0x01, 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, 0x00, 0x00, 0x00, 0x00,
//BLACK
0x01, 0xA8, 0x68, 0x14, 0x3C, 0x01, 0x01,
0x01, 0xA8, 0x68, 0x14, 0x3C, 0x01, 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, 0x00, 0x00, 0x00, 0x00,
0x02, 0x00, 0x00, 0x22, 0x17, 0x41, 0xA8,
0x32, 0x48,
};
const uint8_t LUTDefault_part_GDEY042Z98[] = {
0x32,
//VCOM
//0x01, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00,
0x01, 0x19, 0x00, 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,
//WW
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, 0x00, 0x00, 0x00, 0x00,
//BW
0x01, 0x5E, 0x00, 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
0x01, 0x9E, 0x00, 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, 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, 0x00, 0x00, 0x00,
//Reserve
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//Voltage
0x02, 0x00, 0x00, 0x22, 0x17, 0x41, 0xA8,
0x32, 0x08,
};
static const uint8_t LUTDefault_full_HINKE0266A15A0[] = {
0x32, // command
0x08,0x66,0x48,0x40,0x00,0x00,0x00,//L0 B low-high-low-high
0x20,0x66,0x12,0x20,0x00,0x00,0x00,//L1 W low-high-low
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,//L4 VCOM
// w1白 b1白
0x05,0x00,0x00,0x05,0x00,
//wait
0x06,0x06,0x06,0x06,0x12,
//b2黑 w2黑 b3白 w3白
0x00,0x00,0x15,0x20,0x00,
//b4黑 w4白
0x25,0x00,0x00,0x00,0x00,
//
0x05,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,
0x15,0x41,0xA8,0x32,0x30,0x0A,
};
static const uint8_t LUTDefault_part_HINKE0266A15A0[] = {
0x32,
0X00,0x40,0x00,0x00,0x00,0x00,0x00,
0X80,0x80,0x00,0x00,0x00,0x00,0x00,
0X40,0x40,0x00,0x00,0x00,0x00,0x00,
0X00,0x80,0x00,0x00,0x00,0x00,0x00,
0X00,0x00,0x00,0x00,0x00,0x00,0x00,
0x14,0x00,0x00,0x00,0x02,
0x04,0x00,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,
0x15,0x41,0xA8,0x32,0x30,0x0A,
};