mirror of
https://github.com/HalfSweetStudio/EPaperDrive.git
synced 2026-03-19 05:29:45 +08:00
v1.0.0
第一次更新
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,5 +1 @@
|
||||
# Object file
|
||||
*.o
|
||||
|
||||
# Ada Library Information
|
||||
*.ali
|
||||
|
||||
BIN
data/font10
Normal file
BIN
data/font10
Normal file
Binary file not shown.
BIN
data/font12
Normal file
BIN
data/font12
Normal file
Binary file not shown.
BIN
data/font32
Normal file
BIN
data/font32
Normal file
Binary file not shown.
BIN
data/font60
Normal file
BIN
data/font60
Normal file
Binary file not shown.
BIN
data/font70
Normal file
BIN
data/font70
Normal file
Binary file not shown.
BIN
data/weathericon
Normal file
BIN
data/weathericon
Normal file
Binary file not shown.
BIN
data/weathericon32
Normal file
BIN
data/weathericon32
Normal file
Binary file not shown.
BIN
data/weathericon50
Normal file
BIN
data/weathericon50
Normal file
Binary file not shown.
BIN
data/weathericon80
Normal file
BIN
data/weathericon80
Normal file
Binary file not shown.
89
examples/HelloWorld/HelloWorld.ino
Normal file
89
examples/HelloWorld/HelloWorld.ino
Normal 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
58
keywords.txt
Normal 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
9
library.properties
Normal 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
2618
src/EPaperDrive.cpp
Normal file
File diff suppressed because it is too large
Load Diff
489
src/EPaperDrive.h
Normal file
489
src/EPaperDrive.h
Normal 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睡眠
|
||||
*
|
||||
* 屏幕有圆点的角为(0,0)点,x方向为垂直方向,y方向为水平方向
|
||||
*/
|
||||
class EPaperDrive
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief 构造函数,初始化软硬SPI及引脚定义
|
||||
*
|
||||
* @param SPIMode 选择是硬件SPI还是软件SPI,0为软件,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; ///> 字体缩放,仅支持1,2
|
||||
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
952
src/WAVEFORM_SETTING_LUT.h
Normal 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,
|
||||
};
|
||||
Reference in New Issue
Block a user