Ajout de l'écran ePaper
This commit is contained in:
parent
67050de3a6
commit
0afdeafc52
644
cameteo-interface/EPD_driver.py
Normal file
644
cameteo-interface/EPD_driver.py
Normal file
@ -0,0 +1,644 @@
|
|||||||
|
|
||||||
|
import RPi.GPIO as GPIO
|
||||||
|
import time
|
||||||
|
|
||||||
|
""" Register initial variable """
|
||||||
|
xDot = 122
|
||||||
|
yDot = 250
|
||||||
|
DELAYTIME = 2
|
||||||
|
LUTDefault_full = [0x32,0x22,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x01,0x00,0x00,0x00,0x00]
|
||||||
|
LUTDefault_part = [0x32,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||||
|
|
||||||
|
GDOControl = [0x01,int((yDot-1)%256),int((yDot-1)/256),0x00] #for 2.9inch
|
||||||
|
softstart = [0x0c,0xd7,0xd6,0x9d]
|
||||||
|
VCOMVol = [0x2c,0xa8] # VCOM 7c
|
||||||
|
DummyLine = [0x3a,0x1a] # 4 dummy line per gate
|
||||||
|
Gatetime = [0x3b,0x08] # 2us per line
|
||||||
|
RamDataEntryMode = [0x11,0x01] # Ram data entry mode
|
||||||
|
w_buffer = [0 for i in range(5000)]
|
||||||
|
|
||||||
|
""" BCM GPIO """
|
||||||
|
RST = 17
|
||||||
|
DC = 25
|
||||||
|
BUSY = 24
|
||||||
|
CS = 8
|
||||||
|
|
||||||
|
""" Display lib """
|
||||||
|
Font1206 = [
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#" ",0*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x3F,0x40,0x00,0x00,0x00,0x00,0x00,0x00],#"!",1*/
|
||||||
|
[0x00,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x40,0x00,0x00,0x00],#""",2*/
|
||||||
|
[0x09,0x00,0x0B,0xC0,0x3D,0x00,0x0B,0xC0,0x3D,0x00,0x09,0x00],#"#",3*/
|
||||||
|
[0x18,0xC0,0x24,0x40,0x7F,0xE0,0x22,0x40,0x31,0x80,0x00,0x00],#"$",4*/
|
||||||
|
[0x18,0x00,0x24,0xC0,0x1B,0x00,0x0D,0x80,0x32,0x40,0x01,0x80],#"%",5*/
|
||||||
|
[0x03,0x80,0x1C,0x40,0x27,0x40,0x1C,0x80,0x07,0x40,0x00,0x40],#"&",6*/
|
||||||
|
[0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"'",7*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x40,0x20],#"(",8*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x20,0x40,0x1F,0x80,0x00,0x00,0x00,0x00],#")",9*/
|
||||||
|
[0x09,0x00,0x06,0x00,0x1F,0x80,0x06,0x00,0x09,0x00,0x00,0x00],#"*",10*/
|
||||||
|
[0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x00,0x00],#"+",11*/
|
||||||
|
[0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#",",12*/
|
||||||
|
[0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00],#"-",13*/
|
||||||
|
[0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#".",14*/
|
||||||
|
[0x00,0x20,0x01,0xC0,0x06,0x00,0x38,0x00,0x40,0x00,0x00,0x00],#"/",15*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"0",16*/
|
||||||
|
[0x00,0x00,0x10,0x40,0x3F,0xC0,0x00,0x40,0x00,0x00,0x00,0x00],#"1",17*/
|
||||||
|
[0x18,0xC0,0x21,0x40,0x22,0x40,0x24,0x40,0x18,0x40,0x00,0x00],#"2",18*/
|
||||||
|
[0x10,0x80,0x20,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"3",19*/
|
||||||
|
[0x02,0x00,0x0D,0x00,0x11,0x00,0x3F,0xC0,0x01,0x40,0x00,0x00],#"4",20*/
|
||||||
|
[0x3C,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x23,0x80,0x00,0x00],#"5",21*/
|
||||||
|
[0x1F,0x80,0x24,0x40,0x24,0x40,0x34,0x40,0x03,0x80,0x00,0x00],#"6",22*/
|
||||||
|
[0x30,0x00,0x20,0x00,0x27,0xC0,0x38,0x00,0x20,0x00,0x00,0x00],#"7",23*/
|
||||||
|
[0x1B,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"8",24*/
|
||||||
|
[0x1C,0x00,0x22,0xC0,0x22,0x40,0x22,0x40,0x1F,0x80,0x00,0x00],#"9",25*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00],#":",26*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x04,0x60,0x00,0x00,0x00,0x00,0x00,0x00],#";",27*/
|
||||||
|
[0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40],#"<",28*/
|
||||||
|
[0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x00,0x00],#"=",29*/
|
||||||
|
[0x00,0x00,0x40,0x40,0x20,0x80,0x11,0x00,0x0A,0x00,0x04,0x00],#">",30*/
|
||||||
|
[0x18,0x00,0x20,0x00,0x23,0x40,0x24,0x00,0x18,0x00,0x00,0x00],#"?",31*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x27,0x40,0x29,0x40,0x1F,0x40,0x00,0x00],#"@",32*/
|
||||||
|
[0x00,0x40,0x07,0xC0,0x39,0x00,0x0F,0x00,0x01,0xC0,0x00,0x40],#"A",33*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"B",34*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x30,0x80,0x00,0x00],#"C",35*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"D",36*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x40,0x30,0xC0,0x00,0x00],#"E",37*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x00,0x30,0x00,0x00,0x00],#"F",38*/
|
||||||
|
[0x0F,0x00,0x10,0x80,0x20,0x40,0x22,0x40,0x33,0x80,0x02,0x00],#"G",39*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x04,0x00,0x04,0x00,0x3F,0xC0,0x20,0x40],#"H",40*/
|
||||||
|
[0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x00,0x00],#"I",41*/
|
||||||
|
[0x00,0x60,0x20,0x20,0x20,0x20,0x3F,0xC0,0x20,0x00,0x20,0x00],#"J",42*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x0B,0x00,0x30,0xC0,0x20,0x40],#"K",43*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x20,0x40,0x00,0x40,0x00,0x40,0x00,0xC0],#"L",44*/
|
||||||
|
[0x3F,0xC0,0x3C,0x00,0x03,0xC0,0x3C,0x00,0x3F,0xC0,0x00,0x00],#"M",45*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x0C,0x40,0x23,0x00,0x3F,0xC0,0x20,0x00],#"N",46*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"O",47*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x00,0x18,0x00,0x00,0x00],#"P",48*/
|
||||||
|
[0x1F,0x80,0x21,0x40,0x21,0x40,0x20,0xE0,0x1F,0xA0,0x00,0x00],#"Q",49*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x26,0x00,0x19,0xC0,0x00,0x40],#"R",50*/
|
||||||
|
[0x18,0xC0,0x24,0x40,0x24,0x40,0x22,0x40,0x31,0x80,0x00,0x00],#"S",51*/
|
||||||
|
[0x30,0x00,0x20,0x40,0x3F,0xC0,0x20,0x40,0x30,0x00,0x00,0x00],#"T",52*/
|
||||||
|
[0x20,0x00,0x3F,0x80,0x00,0x40,0x00,0x40,0x3F,0x80,0x20,0x00],#"U",53*/
|
||||||
|
[0x20,0x00,0x3E,0x00,0x01,0xC0,0x07,0x00,0x38,0x00,0x20,0x00],#"V",54*/
|
||||||
|
[0x38,0x00,0x07,0xC0,0x3C,0x00,0x07,0xC0,0x38,0x00,0x00,0x00],#"W",55*/
|
||||||
|
[0x20,0x40,0x39,0xC0,0x06,0x00,0x39,0xC0,0x20,0x40,0x00,0x00],#"X",56*/
|
||||||
|
[0x20,0x00,0x38,0x40,0x07,0xC0,0x38,0x40,0x20,0x00,0x00,0x00],#"Y",57*/
|
||||||
|
[0x30,0x40,0x21,0xC0,0x26,0x40,0x38,0x40,0x20,0xC0,0x00,0x00],#"Z",58*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x7F,0xE0,0x40,0x20,0x40,0x20,0x00,0x00],#"[",59*/
|
||||||
|
[0x00,0x00,0x70,0x00,0x0C,0x00,0x03,0x80,0x00,0x40,0x00,0x00],#"\",60*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x40,0x20,0x7F,0xE0,0x00,0x00,0x00,0x00],#"]",61*/
|
||||||
|
[0x00,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00],#"^",62*/
|
||||||
|
[0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10],#"_",63*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"`",64*/
|
||||||
|
[0x00,0x00,0x02,0x80,0x05,0x40,0x05,0x40,0x03,0xC0,0x00,0x40],#"a",65*/
|
||||||
|
[0x20,0x00,0x3F,0xC0,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00],#"b",66*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x06,0x40,0x00,0x00],#"c",67*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x24,0x40,0x3F,0xC0,0x00,0x40],#"d",68*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x05,0x40,0x05,0x40,0x03,0x40,0x00,0x00],#"e",69*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x1F,0xC0,0x24,0x40,0x24,0x40,0x20,0x00],#"f",70*/
|
||||||
|
[0x00,0x00,0x02,0xE0,0x05,0x50,0x05,0x50,0x06,0x50,0x04,0x20],#"g",71*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40],#"h",72*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x27,0xC0,0x00,0x40,0x00,0x00,0x00,0x00],#"i",73*/
|
||||||
|
[0x00,0x10,0x00,0x10,0x04,0x10,0x27,0xE0,0x00,0x00,0x00,0x00],#"j",74*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x01,0x40,0x07,0x00,0x04,0xC0,0x04,0x40],#"k",75*/
|
||||||
|
[0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x00,0x00],#"l",76*/
|
||||||
|
[0x07,0xC0,0x04,0x00,0x07,0xC0,0x04,0x00,0x03,0xC0,0x00,0x00],#"m",77*/
|
||||||
|
[0x04,0x40,0x07,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40],#"n",78*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00],#"o",79*/
|
||||||
|
[0x04,0x10,0x07,0xF0,0x04,0x50,0x04,0x40,0x03,0x80,0x00,0x00],#"p",80*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x50,0x07,0xF0,0x00,0x10],#"q",81*/
|
||||||
|
[0x04,0x40,0x07,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x00,0x00],#"r",82*/
|
||||||
|
[0x00,0x00,0x06,0x40,0x05,0x40,0x05,0x40,0x04,0xC0,0x00,0x00],#"s",83*/
|
||||||
|
[0x00,0x00,0x04,0x00,0x1F,0x80,0x04,0x40,0x00,0x40,0x00,0x00],#"t",84*/
|
||||||
|
[0x04,0x00,0x07,0x80,0x00,0x40,0x04,0x40,0x07,0xC0,0x00,0x40],#"u",85*/
|
||||||
|
[0x04,0x00,0x07,0x00,0x04,0xC0,0x01,0x80,0x06,0x00,0x04,0x00],#"v",86*/
|
||||||
|
[0x06,0x00,0x01,0xC0,0x07,0x00,0x01,0xC0,0x06,0x00,0x00,0x00],#"w",87*/
|
||||||
|
[0x04,0x40,0x06,0xC0,0x01,0x00,0x06,0xC0,0x04,0x40,0x00,0x00],#"x",88*/
|
||||||
|
[0x04,0x10,0x07,0x10,0x04,0xE0,0x01,0x80,0x06,0x00,0x04,0x00],#"y",89*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x05,0xC0,0x06,0x40,0x04,0x40,0x00,0x00],#"z",90*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x04,0x00,0x7B,0xE0,0x40,0x20,0x00,0x00],#"{",91*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00],#"|",92*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x7B,0xE0,0x04,0x00,0x00,0x00,0x00,0x00],#"]",93*/
|
||||||
|
[0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x40,0x00],#"~",94*/
|
||||||
|
]
|
||||||
|
|
||||||
|
Font1608 = [
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#" ",0*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00],#"!",1*/
|
||||||
|
[0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00],#""",2*/
|
||||||
|
[0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00],#"#",3*/
|
||||||
|
[0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00],#"$",4*/
|
||||||
|
[0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00],#"%",5*/
|
||||||
|
[0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08],#"&",6*/
|
||||||
|
[0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"'",7*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00],#"(",8*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00],#")",9*/
|
||||||
|
[0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00],#"*",10*/
|
||||||
|
[0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00],#"+",11*/
|
||||||
|
[0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#",",12*/
|
||||||
|
[0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80],#"-",13*/
|
||||||
|
[0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#".",14*/
|
||||||
|
[0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00],#"/",15*/
|
||||||
|
[0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"0",16*/
|
||||||
|
[0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"1",17*/
|
||||||
|
[0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00],#"2",18*/
|
||||||
|
[0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00],#"3",19*/
|
||||||
|
[0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00],#"4",20*/
|
||||||
|
[0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00],#"5",21*/
|
||||||
|
[0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00],#"6",22*/
|
||||||
|
[0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00],#"7",23*/
|
||||||
|
[0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00],#"8",24*/
|
||||||
|
[0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00],#"9",25*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00],#":",26*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#";",27*/
|
||||||
|
[0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00],#"<",28*/
|
||||||
|
[0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00],#"=",29*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00],#">",30*/
|
||||||
|
[0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00],#"?",31*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00],#"@",32*/
|
||||||
|
[0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04],#"A",33*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00],#"B",34*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00],#"C",35*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"D",36*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00],#"E",37*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00],#"F",38*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00],#"G",39*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04],#"H",40*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00],#"I",41*/
|
||||||
|
[0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00],#"J",42*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00],#"K",43*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00],#"L",44*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00],#"M",45*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00],#"N",46*/
|
||||||
|
[0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"O",47*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00],#"P",48*/
|
||||||
|
[0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00],#"Q",49*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04],#"R",50*/
|
||||||
|
[0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00],#"S",51*/
|
||||||
|
[0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00],#"T",52*/
|
||||||
|
[0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00],#"U",53*/
|
||||||
|
[0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00],#"V",54*/
|
||||||
|
[0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00],#"W",55*/
|
||||||
|
[0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04],#"X",56*/
|
||||||
|
[0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00],#"Y",57*/
|
||||||
|
[0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00],#"Z",58*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00],#"[",59*/
|
||||||
|
[0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00],#"\",60*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00],#"]",61*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00],#"^",62*/
|
||||||
|
[0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01],#"_",63*/
|
||||||
|
[0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"`",64*/
|
||||||
|
[0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04],#"a",65*/
|
||||||
|
[0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00],#"b",66*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00],#"c",67*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04],#"d",68*/
|
||||||
|
[0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00],#"e",69*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00],#"f",70*/
|
||||||
|
[0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00],#"g",71*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04],#"h",72*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"i",73*/
|
||||||
|
[0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00],#"j",74*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00],#"k",75*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"l",76*/
|
||||||
|
[0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC],#"m",77*/
|
||||||
|
[0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04],#"n",78*/
|
||||||
|
[0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00],#"o",79*/
|
||||||
|
[0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00],#"p",80*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01],#"q",81*/
|
||||||
|
[0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00],#"r",82*/
|
||||||
|
[0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00],#"s",83*/
|
||||||
|
[0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00],#"t",84*/
|
||||||
|
[0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04],#"u",85*/
|
||||||
|
[0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00],#"v",86*/
|
||||||
|
[0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00],#"w",87*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00],#"x",88*/
|
||||||
|
[0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00],#"y",89*/
|
||||||
|
[0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00],#"z",90*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02],#"{",91*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00],#"|",92*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"]",93*/
|
||||||
|
[0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00],#"~",94*/
|
||||||
|
]
|
||||||
|
|
||||||
|
progress_head = [
|
||||||
|
0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
]
|
||||||
|
progress_zero = [
|
||||||
|
0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
]
|
||||||
|
progress_start = [
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
]
|
||||||
|
progress_Spare = [
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC
|
||||||
|
]
|
||||||
|
progress_full = [
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,
|
||||||
|
]
|
||||||
|
progress_end = [
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,
|
||||||
|
]
|
||||||
|
|
||||||
|
class EPD_driver(object):
|
||||||
|
def __init__(self,spi):
|
||||||
|
#Initialize DC RST pin
|
||||||
|
GPIO.setmode(GPIO.BCM)
|
||||||
|
GPIO.setwarnings(False)
|
||||||
|
GPIO.setup(RST,GPIO.OUT)
|
||||||
|
GPIO.setup(DC,GPIO.OUT)
|
||||||
|
GPIO.setup(CS,GPIO.OUT)
|
||||||
|
GPIO.setup(BUSY,GPIO.IN)
|
||||||
|
#Initialize SPI
|
||||||
|
self._spi = spi
|
||||||
|
self._spi.max_speed_hz = 2000000
|
||||||
|
self._spi.mode = 0b00
|
||||||
|
|
||||||
|
def ReadBusy(self):
|
||||||
|
for i in range(0,400):
|
||||||
|
if GPIO.input(BUSY)==0:
|
||||||
|
#print('Busy is Low')
|
||||||
|
return 1
|
||||||
|
time.sleep(0.01)
|
||||||
|
|
||||||
|
def EPD_WriteCMD(self,command):
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
#print 'send command : ' ,hex(command)
|
||||||
|
self._spi.writebytes([command])
|
||||||
|
|
||||||
|
def EPD_WriteCMD_p1(self,command,para):
|
||||||
|
self.ReadBusy()
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
#print 'send command : ' ,hex(command)
|
||||||
|
self._spi.writebytes([command])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
#print 'Sent to data : ' ,hex(para),
|
||||||
|
self._spi.writebytes([para])
|
||||||
|
|
||||||
|
def EPD_POWERON(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0xc0)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
|
||||||
|
def EPD_Write(self,value):
|
||||||
|
"""Send command byte to display"""
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
time.sleep(0.01)
|
||||||
|
#print(value)
|
||||||
|
#print('send command : ' ,hex(value[0]))
|
||||||
|
self._spi.writebytes([value[0]]) #The first byte is written with the command value
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
for i in range(0,len(value)-1):
|
||||||
|
data = value[i+1]
|
||||||
|
self._spi.writebytes([data])
|
||||||
|
|
||||||
|
def EPD_WriteDispRam(self,XSize,YSize,Dispbuff):
|
||||||
|
if XSize%8!=0 :
|
||||||
|
XSize = XSize+(8-XSize%8)
|
||||||
|
XSize = XSize/8
|
||||||
|
NUM = 0
|
||||||
|
self.ReadBusy()
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
self._spi.writebytes([0x24])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
for i in range(0,int(YSize)):
|
||||||
|
for j in range(0,int(XSize)):
|
||||||
|
self._spi.writebytes([Dispbuff[NUM]])
|
||||||
|
NUM = NUM +1
|
||||||
|
|
||||||
|
def EPD_WriteDispRamMono(self,XSize,YSize,dispdata):
|
||||||
|
if XSize%8!=0 :
|
||||||
|
XSize = XSize+(8-XSize%8)
|
||||||
|
XSize = XSize/8
|
||||||
|
NUM = 0
|
||||||
|
self.ReadBusy()
|
||||||
|
#print 'send command : ' ,hex(0x24)
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
self._spi.writebytes([0x24])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
#print 'Sent to data : ',hex(dispdata),
|
||||||
|
if isinstance(dispdata,list):
|
||||||
|
for i in range(0,YSize):
|
||||||
|
for j in range(0,XSize):
|
||||||
|
self._spi.writebytes([dispdata[NUM]])
|
||||||
|
NUM = NUM +1
|
||||||
|
#print hex(dispdata[i+j]),
|
||||||
|
else:
|
||||||
|
#print 'send data : ' ,dispdata
|
||||||
|
for i in range(0,YSize):
|
||||||
|
for j in range(0,int(XSize)):
|
||||||
|
self._spi.writebytes([dispdata])
|
||||||
|
|
||||||
|
def EPD_SetRamArea(self,Xstart,Xend,Ystart,Ystart1,Yend,Yend1):
|
||||||
|
RamAreaX = []
|
||||||
|
RamAreaY = []
|
||||||
|
RamAreaX.extend([0x44,Xstart,Xend])
|
||||||
|
RamAreaY.extend([0x45,Ystart,Ystart1,Yend,Yend1])
|
||||||
|
self.EPD_Write(RamAreaX)
|
||||||
|
self.EPD_Write(RamAreaY)
|
||||||
|
|
||||||
|
def EPD_SetRamPointer(self,addrX,addrY,addrY1):
|
||||||
|
RamPointerX = []
|
||||||
|
RamPointerY = []
|
||||||
|
RamPointerX.extend([0x4e,addrX])
|
||||||
|
RamPointerY.extend([0x4f,addrY,addrY1])
|
||||||
|
self.EPD_Write(RamPointerX)
|
||||||
|
self.EPD_Write(RamPointerY)
|
||||||
|
|
||||||
|
def part_display(self,RAM_XST,RAM_XEND,RAM_YST,RAM_YST1,RAM_YEND,RAM_YEND1):
|
||||||
|
self.EPD_SetRamArea(RAM_XST,RAM_XEND,RAM_YST,RAM_YST1,RAM_YEND,RAM_YEND1)
|
||||||
|
self.EPD_SetRamPointer(RAM_XST,RAM_YST,RAM_YST1)
|
||||||
|
|
||||||
|
def EPD_Init(self):
|
||||||
|
"""Initialize dispaly"""
|
||||||
|
"""2.reset driver"""
|
||||||
|
GPIO.output(CS,GPIO.LOW)
|
||||||
|
GPIO.output(RST,GPIO.HIGH)
|
||||||
|
time.sleep(0.1)
|
||||||
|
GPIO.output(RST,GPIO.LOW)
|
||||||
|
if GPIO.input(RST) == 0:
|
||||||
|
print('Reset is complete')
|
||||||
|
else:
|
||||||
|
print('Reset is false')
|
||||||
|
time.sleep(0.01)
|
||||||
|
GPIO.output(RST,GPIO.HIGH)
|
||||||
|
"""3.set register"""
|
||||||
|
print('***********set register Start**********')
|
||||||
|
self.EPD_Write(GDOControl) # Pannel configuration, Gate selection
|
||||||
|
self.EPD_Write(softstart) # X decrease, Y decrease
|
||||||
|
self.EPD_Write(VCOMVol) # VCOM setting
|
||||||
|
self.EPD_Write(DummyLine) # dummy line per gate
|
||||||
|
self.EPD_Write(Gatetime) # Gage time setting
|
||||||
|
self.EPD_Write(RamDataEntryMode) # X increase, Y decrease
|
||||||
|
self.EPD_SetRamArea(0x00,int((xDot-1)/8),int((yDot-1)%256),int((yDot-1)/256),0x00,0x00) # X-source area,Y-gage area
|
||||||
|
self.EPD_SetRamPointer(0x00,(yDot-1)%256,int((yDot-1)/256)) # set ram
|
||||||
|
print('***********set register end**********')
|
||||||
|
|
||||||
|
def EPD_Update(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0xc7)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
self.EPD_WriteCMD(0xff)
|
||||||
|
|
||||||
|
def EPD_Update_Part(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0x04)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
self.EPD_WriteCMD(0xff)
|
||||||
|
|
||||||
|
def EPD_init_Full(self):
|
||||||
|
self.EPD_Init()
|
||||||
|
self.EPD_Write(LUTDefault_full)
|
||||||
|
self.EPD_POWERON()
|
||||||
|
|
||||||
|
def EPD_init_Part(self):
|
||||||
|
#GPIO.output(CS,GPIO.LOW)
|
||||||
|
self.EPD_Init()
|
||||||
|
self.EPD_Write(LUTDefault_part)
|
||||||
|
self.EPD_POWERON()
|
||||||
|
|
||||||
|
def EPD_Dis_Full(self,DisBuffer,Label):
|
||||||
|
self.EPD_SetRamPointer(0x00,(yDot-1)%256,int((yDot-1)/256))
|
||||||
|
if Label == 0 :
|
||||||
|
self.EPD_WriteDispRamMono(xDot, yDot, 0xff)
|
||||||
|
else:
|
||||||
|
if isinstance(DisBuffer,list):
|
||||||
|
print('is list')
|
||||||
|
else:
|
||||||
|
print('not list')
|
||||||
|
self.EPD_WriteDispRam(xDot, yDot, DisBuffer)
|
||||||
|
self.EPD_Update()
|
||||||
|
|
||||||
|
def EPD_Dis_Part(self,xStart,xEnd,yStart,yEnd,DisBuffer,Label) :
|
||||||
|
if Label == 0 :
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRamMono(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
self.EPD_Update_Part()
|
||||||
|
time.sleep(0.5)
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRamMono(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
else:
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRam(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
self.EPD_Update_Part()
|
||||||
|
time.sleep(0.5)
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRam(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
|
||||||
|
"""***********************************************************************************************************************
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|\\\ ///|
|
||||||
|
|\\\ App layer ///|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
***********************************************************************************************************************"""
|
||||||
|
"""********************************************************************************
|
||||||
|
clear full screen
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Clear_full(self):
|
||||||
|
print('1.init full screen')
|
||||||
|
self.EPD_init_Full()
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Clear screen
|
||||||
|
print('2.Clear screen')
|
||||||
|
m=0xff
|
||||||
|
self.EPD_Dis_Full(m,0)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
def Dis_Clear_part(self):
|
||||||
|
print('1.init part screen')
|
||||||
|
self.EPD_init_Part()
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Clear screen
|
||||||
|
print('Clear screen')
|
||||||
|
m=0xff
|
||||||
|
self.EPD_Dis_Part(0,xDot-1,0,yDot-1,m,0)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
def Dis_full_pic(self,DisBuffer):
|
||||||
|
self.EPD_Dis_Full(DisBuffer,1)
|
||||||
|
|
||||||
|
def Dis_part_pic(self,xStart,xEnd,yStart,yEnd,DisBuffer):
|
||||||
|
self.EPD_Dis_Part(xStart,xEnd,yStart,yEnd,DisBuffer,1)
|
||||||
|
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : Select the character size
|
||||||
|
parameter :
|
||||||
|
acsii : char data
|
||||||
|
size : char len
|
||||||
|
mode : char mode
|
||||||
|
n : char len
|
||||||
|
Remarks:
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Char(self,acsii,size,mode,n):
|
||||||
|
ch = ord(acsii) - 32
|
||||||
|
#print "ch =",ch
|
||||||
|
if size == 12:
|
||||||
|
temp = [0 for i in range(11)]
|
||||||
|
temp = Font1206[ch]
|
||||||
|
else :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[ch]
|
||||||
|
for i in range(0,size):
|
||||||
|
del w_buffer[size*n+i]
|
||||||
|
w_buffer.insert(size*n+i,~temp[i]&0xff)
|
||||||
|
|
||||||
|
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : write string
|
||||||
|
parameter :
|
||||||
|
x : x start address
|
||||||
|
y : y start address
|
||||||
|
pString : Display data
|
||||||
|
Size : char len
|
||||||
|
Remarks:
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_String(self,x,y,pString,Size):
|
||||||
|
len_s = 0
|
||||||
|
x_addr = x
|
||||||
|
y_addr = y
|
||||||
|
#1.Remove the character and determine the character size
|
||||||
|
while len_s < len(pString):
|
||||||
|
if (x > (xDot- Size / 2)):
|
||||||
|
x = 0
|
||||||
|
y = y + Size
|
||||||
|
if (y > (yDot- Size)):
|
||||||
|
y = x = 0
|
||||||
|
new_string = pString[len_s:len_s+1]
|
||||||
|
self.Dis_Char(new_string, Size, 0,len_s)
|
||||||
|
x = x + Size / 2
|
||||||
|
len_s = len_s + 1 #Calculate the current number for the first few characters
|
||||||
|
#2.show
|
||||||
|
if Size == 12:
|
||||||
|
self.EPD_Dis_Part(y_addr+1,y_addr+Size/2,yDot-(Size*len_s)-x_addr+1,yDot-x_addr,w_buffer,1)
|
||||||
|
else:
|
||||||
|
self.EPD_Dis_Part(y_addr+1,y_addr+Size/2,yDot-(Size*len_s)-x_addr+1,yDot-x_addr,w_buffer,1)
|
||||||
|
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : Drawing pic
|
||||||
|
parameter :
|
||||||
|
xStart : x start address
|
||||||
|
yStart : y start address
|
||||||
|
DisBuffer : Display data
|
||||||
|
xSize : Displays the x length of the image
|
||||||
|
ySize : Displays the y length of the image
|
||||||
|
Remarks:
|
||||||
|
The sample image is 32 * 32
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Drawing(self,xStart,yStart,DisBuffer,xSize,ySize):
|
||||||
|
x_addr = xStart*8
|
||||||
|
y_addr = yStart*8
|
||||||
|
self.EPD_Dis_Part(y_addr,y_addr+xSize-1,yDot-ySize-x_addr,yDot-x_addr-1,DisBuffer,1)
|
||||||
|
|
||||||
|
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : show Progress
|
||||||
|
parameter :
|
||||||
|
progress_len : Progress bar length
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Progress(self,progress_len):
|
||||||
|
y = 0
|
||||||
|
pheight_pix = 2
|
||||||
|
pWidth_pix = 16
|
||||||
|
w_buffer = [0xff for i in range(0,5000)]
|
||||||
|
#1.Initialize the progress bar length and place it in the center of the lower end of the display
|
||||||
|
for z in range(0,progress_len):
|
||||||
|
for x in range(0,pWidth_pix*pheight_pix):
|
||||||
|
if(z == 0):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_head
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
elif(z == progress_len -1):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_end
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
else:
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_Spare
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
self.EPD_Dis_Part(xDot-xDot/16-5,xDot-xDot/16+4,(yDot-16*progress_len)/2-1,(yDot-16*progress_len)/2-1+16*progress_len,w_buffer,1)
|
||||||
|
#2.Load progress bar
|
||||||
|
y =0
|
||||||
|
for z in range(0,progress_len):
|
||||||
|
for x in range(0,pWidth_pix*pheight_pix):
|
||||||
|
if(z == 0):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_zero
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
elif(z == progress_len-1):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_full
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
else:
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_start
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
self.EPD_Dis_Part(xDot-xDot/16-5,xDot-xDot/16+4,(yDot-16*progress_len)/2-1,(yDot-16*progress_len)/2-1+16*progress_len,w_buffer,1)
|
||||||
|
|
||||||
|
def Dis_showtime(self,hour,minute,sec):
|
||||||
|
len_s = 16
|
||||||
|
w_buffer = [0xff for i in range(5000)]
|
||||||
|
for z in range(0,8):
|
||||||
|
for x in range(0,len_s):
|
||||||
|
if z == 0 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+hour/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 1 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+hour%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 2 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[26]
|
||||||
|
del w_buffer[x + z *16]#delete
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 3 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+minute/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 4 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+minute%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 5 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[26]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 6 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+sec/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 7 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+sec%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
else :
|
||||||
|
return 1
|
||||||
|
self.EPD_Dis_Part(int(xDot/10-1),int(xDot/10+8),int((yDot-16*4)/2),int((yDot-16*4)/2-1+16*4),w_buffer,1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,9 +12,9 @@ sql_verbose = 0
|
|||||||
mqtt_host = aro-yuno
|
mqtt_host = aro-yuno
|
||||||
mqtt_port = 1883
|
mqtt_port = 1883
|
||||||
mqtt_client_id = mqtt2sql
|
mqtt_client_id = mqtt2sql
|
||||||
mqtt_user = arofarn'
|
mqtt_user = arofarn
|
||||||
mqtt_pass = xxx
|
mqtt_pass = WaKaW9XMGUZ3rRJD
|
||||||
mqtt_qos=1
|
mqtt_qos = 1
|
||||||
mqtt_topic = huzzah0/#
|
mqtt_topic = huzzah0/#
|
||||||
|
|
||||||
[MISC]
|
[MISC]
|
||||||
|
@ -15,13 +15,17 @@ from datetime import datetime, timedelta
|
|||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
import os, sys
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# CONFIGURATION #
|
# CONFIGURATION #
|
||||||
#################
|
#################
|
||||||
|
|
||||||
|
script_path = os.path.dirname(sys.argv[0])
|
||||||
|
script_dir = os.path.abspath(script_path)
|
||||||
|
|
||||||
parser = ConfigParser()
|
parser = ConfigParser()
|
||||||
parser.read('cameteo.conf')
|
parser.read(script_dir + '/cameteo.conf')
|
||||||
|
|
||||||
#Misc
|
#Misc
|
||||||
TimeZone = parser['MISC'].get('TimeZone', fallback=0)
|
TimeZone = parser['MISC'].get('TimeZone', fallback=0)
|
||||||
@ -130,5 +134,9 @@ class Data(db.Model):
|
|||||||
return "<Data(value='%0.2f', type='%s', date='%s', sensor ID='%s', id='%s')>" % (self.value, self.type_id, self.valdate.utc, self.sensor_id, self.data_id)
|
return "<Data(value='%0.2f', type='%s', date='%s', sensor ID='%s', id='%s')>" % (self.value, self.type_id, self.valdate.utc, self.sensor_id, self.data_id)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "{} : {:4s}= {:8.2f} {:8s} (capteur: {:s})".format(self.valdate, self.type_id, self.value, self.unit, self.sensor_id)
|
try:
|
||||||
|
val = "{:8.2f} {:8s}".format(self.value, self.unit)
|
||||||
|
except:
|
||||||
|
val = " 'NULL' "
|
||||||
|
return "{} : {:4s}= {} (capteur: {:s})".format(self.valdate, self.type_id, val, self.sensor_id)
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ nav.init_app(app)
|
|||||||
|
|
||||||
navbar = Navbar('Camétéo',
|
navbar = Navbar('Camétéo',
|
||||||
View('Accueil', 'index'),
|
View('Accueil', 'index'),
|
||||||
|
View('Toutes les données', 'all_data'),
|
||||||
Subgroup('Par données',
|
Subgroup('Par données',
|
||||||
View("Température de l'air", 'by_data_type', dt='TA'),
|
View("Température de l'air", 'by_data_type', dt='TA'),
|
||||||
View("Humidité relative", 'by_data_type', dt='HR'),
|
View("Humidité relative", 'by_data_type', dt='HR'),
|
||||||
@ -33,27 +34,43 @@ navbar = Navbar('Camétéo',
|
|||||||
),
|
),
|
||||||
Subgroup('Par capteur',
|
Subgroup('Par capteur',
|
||||||
View("Capteur BME280", 'by_sensor', sens = 'AdaBME280_1')
|
View("Capteur BME280", 'by_sensor', sens = 'AdaBME280_1')
|
||||||
)
|
),
|
||||||
|
View('Configuration', 'config_page')
|
||||||
)
|
)
|
||||||
|
|
||||||
nav.register_element('top', navbar)
|
nav.register_element('top', navbar)
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def index():
|
def index():
|
||||||
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
return render_template('index.html')
|
||||||
|
|
||||||
|
@app.route('/all_data')
|
||||||
|
def all_data():
|
||||||
|
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
||||||
res = Data.query.filter(Data.dbdate >= date_deb)
|
res = Data.query.filter(Data.dbdate >= date_deb)
|
||||||
return render_template('index.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
return render_template('data_viz.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
||||||
|
|
||||||
@app.route('/type_id=<dt>')
|
@app.route('/type_id=<dt>')
|
||||||
def by_data_type(dt):
|
def by_data_type(dt):
|
||||||
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
||||||
res = Data.query.filter(Data.type_id == dt).filter(Data.dbdate >= date_deb)
|
res = Data.query.filter(Data.type_id == dt).filter(Data.dbdate >= date_deb)
|
||||||
return render_template('index.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
return render_template('data_viz.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
||||||
|
|
||||||
@app.route('/sensor_id=<sens>')
|
@app.route('/sensor_id=<sens>')
|
||||||
def by_sensor(sens):
|
def by_sensor(sens):
|
||||||
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
date_deb = datetime.utcnow()-timedelta(seconds=3600)
|
||||||
res = Data.query.filter(Data.sensor_id == sens).filter(Data.dbdate >= date_deb)
|
res = Data.query.filter(Data.sensor_id == sens).filter(Data.dbdate >= date_deb)
|
||||||
return render_template('index.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
return render_template('data_viz.html', dat=res.order_by(Data.dbdate.desc()).paginate(per_page=15))
|
||||||
|
|
||||||
|
@app.route('/configuration', methods=['GET', 'POST'])
|
||||||
|
def config_page():
|
||||||
|
|
||||||
|
if request.method == 'POST':
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return render_template('config_page.html')
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
app.run(host="0.0.0.0", debug=True)
|
app.run(host="0.0.0.0", debug=True)
|
112
cameteo-interface/mqtt2epaper.py
Normal file
112
cameteo-interface/mqtt2epaper.py
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
# Affichage de données arrivant sur un MQTT
|
||||||
|
# sur un écran ePaper
|
||||||
|
# Auteur : Arofarn
|
||||||
|
# v0.1
|
||||||
|
|
||||||
|
#################
|
||||||
|
# Configuration #
|
||||||
|
#################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###########
|
||||||
|
# IMPORTS #
|
||||||
|
###########
|
||||||
|
|
||||||
|
from cameteo import *
|
||||||
|
import paho.mqtt.client as mqtt
|
||||||
|
from spidev import SpiDev
|
||||||
|
import EPD_driver
|
||||||
|
import json
|
||||||
|
import netifaces
|
||||||
|
|
||||||
|
#############
|
||||||
|
# CALLBACKS #
|
||||||
|
#############
|
||||||
|
|
||||||
|
#Callback pour la connection au MQTT : souscriptions aux topics
|
||||||
|
def on_connect(client, userdata, flags, rc):
|
||||||
|
print(mqtt.connack_string(rc))
|
||||||
|
if rc == 0:
|
||||||
|
print("Subscribing to %s ..." % mqtt_topic)
|
||||||
|
client.subscribe(mqtt_topic)
|
||||||
|
print("OK")
|
||||||
|
|
||||||
|
|
||||||
|
#Callback de gestion des messages arrivant au MQTT :
|
||||||
|
# affichage et enregistrement en base de données
|
||||||
|
def on_message(client, userdata, msg):
|
||||||
|
top=msg.topic[len(mqtt_topic)-1:].strip()
|
||||||
|
|
||||||
|
subtopics = top.split("/")
|
||||||
|
payload = msg.payload.decode()
|
||||||
|
print(payload)
|
||||||
|
val = json.loads(payload)
|
||||||
|
|
||||||
|
#Test présence et cohérence de la valeur
|
||||||
|
try:
|
||||||
|
val['value'] = float(val['value'] )
|
||||||
|
except:
|
||||||
|
print("Value error: {}".format(val['value']))
|
||||||
|
val['value'] = float('nan')
|
||||||
|
|
||||||
|
#Gestion du symbole des degrés parfois difficile pour certaines sources
|
||||||
|
#val['unit'] = val['unit'].replace('deg', '°')
|
||||||
|
|
||||||
|
#Affichage des données
|
||||||
|
coord_type = { 'TA' : 33,
|
||||||
|
'HR' : 49,
|
||||||
|
'PA' : 65
|
||||||
|
}
|
||||||
|
|
||||||
|
disp.Dis_String(110, coord_type[val['type']], "{} {} ".format(val['value'], val['unit']), 16)
|
||||||
|
|
||||||
|
#Callback particulier pour gérer les date/heure arrivent sur le broker MQTT
|
||||||
|
def on_message_date(client, userdata, msg):
|
||||||
|
payload = msg.payload.decode()
|
||||||
|
#try:
|
||||||
|
d = datetime.strptime(payload, "%H:%M:%S %d/%m/%Y")
|
||||||
|
disp.Dis_String(0, 17, d.strftime("%d/%m/%Y %H:%M:%S"), 16)
|
||||||
|
#except:
|
||||||
|
# print("Date mal formatée : %s" % payload)
|
||||||
|
|
||||||
|
#Callback de déconnexion au broker MQTT
|
||||||
|
def on_disconnect(client, userdata, msg):
|
||||||
|
if msg != 0:
|
||||||
|
print("Déconnexion imprévu : %s" % msg)
|
||||||
|
exit()
|
||||||
|
|
||||||
|
########
|
||||||
|
# Main #
|
||||||
|
########
|
||||||
|
|
||||||
|
#init and Clear full screen
|
||||||
|
bus = 0
|
||||||
|
device = 0
|
||||||
|
disp = EPD_driver.EPD_driver(spi=SpiDev(bus, device))
|
||||||
|
|
||||||
|
print("Start display...")
|
||||||
|
disp.Dis_Clear_full()
|
||||||
|
disp.Dis_Clear_part()
|
||||||
|
print("OK")
|
||||||
|
|
||||||
|
#disp.Dis_String(0, 0, "{} | {}".format(socket.gethostname(), netifaces.ifaddresses('wlan0')[2][0]['addr']), 12)
|
||||||
|
disp.Dis_String(0, 0, "IPv4 : {}".format(netifaces.ifaddresses('wlan0')[2][0]['addr']), 16)
|
||||||
|
disp.Dis_String(0, 33, "Temperature : ", 16)
|
||||||
|
disp.Dis_String(0, 49, "Humidity : ", 16)
|
||||||
|
disp.Dis_String(0, 65, "Pression : ", 16)
|
||||||
|
|
||||||
|
#Connect to MQTT broker and loop...
|
||||||
|
mqtt_client = mqtt.Client(mqtt_client_id, clean_session=False)
|
||||||
|
mqtt_client.username_pw_set(mqtt_user, mqtt_pass)
|
||||||
|
mqtt_client.on_connect = on_connect
|
||||||
|
mqtt_client.on_message = on_message
|
||||||
|
mqtt_client.on_disconnect = on_disconnect
|
||||||
|
|
||||||
|
mqtt_client.message_callback_add("huzzah0/NTP/date", on_message_date)
|
||||||
|
|
||||||
|
print(mqtt_host + ":" + str(mqtt_port))
|
||||||
|
mqtt_client.connect(mqtt_host, int(mqtt_port), 60)
|
||||||
|
|
||||||
|
mqtt_client.loop_forever()
|
||||||
|
|
@ -1,84 +0,0 @@
|
|||||||
#!/usr/bin/python2
|
|
||||||
# -*- coding: utf8 -*-
|
|
||||||
|
|
||||||
# Get data from MQTT broker and print them to
|
|
||||||
# Papirus ePaper display
|
|
||||||
|
|
||||||
from papirus import Papirus
|
|
||||||
from papirus import PapirusTextPos
|
|
||||||
|
|
||||||
import paho.mqtt.client as mqtt
|
|
||||||
|
|
||||||
import datetime
|
|
||||||
import decimal
|
|
||||||
|
|
||||||
# MQTT settings
|
|
||||||
mqtt_server = 'localhost'
|
|
||||||
mqtt_port= 1883
|
|
||||||
mqtt_auth= {'username':'cameteo',
|
|
||||||
'password':'CaMeteo'}
|
|
||||||
mqtt_client_id= 'mqtt2papirus'
|
|
||||||
|
|
||||||
topic="pi/papirus_zero_hat/temperature/#"
|
|
||||||
|
|
||||||
# Papirus display settings
|
|
||||||
disp_rotation = 0
|
|
||||||
font_path = '/usr/share/fonts/truetype/freefont/FreeMono.ttf'
|
|
||||||
font_path_bold = '/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf'
|
|
||||||
text_size = 15
|
|
||||||
|
|
||||||
date = datetime.datetime.now().replace(microsecond=0).isoformat()
|
|
||||||
temp = "-"
|
|
||||||
unit_temp = "\u00B0C"
|
|
||||||
|
|
||||||
#Set the dispaly and position of text
|
|
||||||
text = PapirusTextPos(False, rotation=disp_rotation)
|
|
||||||
#text.Clear()
|
|
||||||
text.AddText(date, 0, 0, text_size, Id="Date", font_path=font_path_bold)
|
|
||||||
text.AddText("Connecting to MQTT...", 5, 15, text_size, Id="Temperature", font_path=font_path)
|
|
||||||
text.WriteAll()
|
|
||||||
|
|
||||||
# The callback for when the client receives a CONNACK response from the server.
|
|
||||||
def on_connect(client, userdata, flags, rc):
|
|
||||||
print("Connected with result code "+str(rc))
|
|
||||||
date = datetime.datetime.now().replace(microsecond=0).isoformat()
|
|
||||||
text.UpdateText("Date", date, font_path=font_path_bold)
|
|
||||||
text.UpdateText("Temperature", "Connected to MQTT !")
|
|
||||||
text.WriteAll()
|
|
||||||
# Subscribing in on_connect() means that if we lose the connection and
|
|
||||||
# reconnect then subscriptions will be renewed.
|
|
||||||
client.unsubscribe("$SYS/#")
|
|
||||||
client.subscribe(topic)
|
|
||||||
|
|
||||||
# The callback for when a PUBLISH message is received from the server.
|
|
||||||
def on_message(client, userdata, msg):
|
|
||||||
global unit_temp
|
|
||||||
top=msg.topic[len(topic)-1:].strip()
|
|
||||||
print(top+" : "+str(msg.payload))
|
|
||||||
|
|
||||||
if top == "date" :
|
|
||||||
text.UpdateText("Date", msg.payload, font_path=font_path_bold)
|
|
||||||
|
|
||||||
if top == "unit" :
|
|
||||||
unit_temp = msg.payload
|
|
||||||
|
|
||||||
if top == "value" :
|
|
||||||
val = decimal.Decimal(msg.payload)
|
|
||||||
txt = "T= %.1f" % val + unit_temp.decode("utf-8")
|
|
||||||
text.UpdateText("Temperature", txt)
|
|
||||||
text.WriteAll()
|
|
||||||
|
|
||||||
########
|
|
||||||
# Main #
|
|
||||||
########
|
|
||||||
|
|
||||||
#Connect to MQTT broker and loop...
|
|
||||||
mqtt_client = mqtt.Client(mqtt_client_id, clean_session=False)
|
|
||||||
mqtt_client.username_pw_set(mqtt_auth['username'], mqtt_auth['password'])
|
|
||||||
mqtt_client.on_connect = on_connect
|
|
||||||
mqtt_client.on_message = on_message
|
|
||||||
mqtt_client.connect(mqtt_server, mqtt_port, 60)
|
|
||||||
|
|
||||||
mqtt_client.loop_forever()
|
|
||||||
|
|
||||||
|
|
@ -22,10 +22,12 @@ from math import isnan
|
|||||||
|
|
||||||
#Callback pour la connection au MQTT : souscriptions aux topics
|
#Callback pour la connection au MQTT : souscriptions aux topics
|
||||||
def on_connect(client, userdata, flags, rc):
|
def on_connect(client, userdata, flags, rc):
|
||||||
print("Connected to MQTT broker with result code "+str(rc))
|
print(mqtt.connack_string(rc))
|
||||||
print("Subscribing to %s ..." % mqtt_topic)
|
if rc == 0:
|
||||||
client.subscribe(mqtt_topic)
|
print("Subscribing to %s ..." % mqtt_topic)
|
||||||
print("OK")
|
client.subscribe(mqtt_topic)
|
||||||
|
print("OK")
|
||||||
|
|
||||||
|
|
||||||
#Callback de gestion des messages arrivant au MQTT :
|
#Callback de gestion des messages arrivant au MQTT :
|
||||||
# affichage et enregistrement en base de données
|
# affichage et enregistrement en base de données
|
||||||
@ -33,7 +35,8 @@ def on_message(client, userdata, msg):
|
|||||||
top=msg.topic[len(mqtt_topic)-1:].strip()
|
top=msg.topic[len(mqtt_topic)-1:].strip()
|
||||||
|
|
||||||
subtopics = top.split("/")
|
subtopics = top.split("/")
|
||||||
payload = msg.payload.decode()
|
payload = msg.payload.decode()
|
||||||
|
print(payload)
|
||||||
val = json.loads(payload)
|
val = json.loads(payload)
|
||||||
|
|
||||||
#Test présence et cohérence de la valeur
|
#Test présence et cohérence de la valeur
|
||||||
@ -61,10 +64,14 @@ def on_message(client, userdata, msg):
|
|||||||
|
|
||||||
print(data)
|
print(data)
|
||||||
|
|
||||||
db.session.add(data)
|
try:
|
||||||
db.session.commit()
|
db.session.add(data)
|
||||||
db.session.close()
|
db.session.commit()
|
||||||
|
except:
|
||||||
|
print("Erreur lors de l'enregistrement en base de données")
|
||||||
|
finally:
|
||||||
|
db.session.close()
|
||||||
|
|
||||||
#Callback particulier pour gérer les date/heure arrivent sur le broker MQTT
|
#Callback particulier pour gérer les date/heure arrivent sur le broker MQTT
|
||||||
def on_message_date(client, userdata, msg):
|
def on_message_date(client, userdata, msg):
|
||||||
payload = msg.payload.decode()
|
payload = msg.payload.decode()
|
||||||
@ -86,7 +93,7 @@ def on_disconnect(client, userdata, msg):
|
|||||||
|
|
||||||
#Connect to MQTT broker and loop...
|
#Connect to MQTT broker and loop...
|
||||||
mqtt_client = mqtt.Client(mqtt_client_id, clean_session=False)
|
mqtt_client = mqtt.Client(mqtt_client_id, clean_session=False)
|
||||||
#mqtt_client.username_pw_set(mqtt_auth['username'], mqtt_auth['password'])
|
mqtt_client.username_pw_set(mqtt_user, mqtt_pass)
|
||||||
mqtt_client.on_connect = on_connect
|
mqtt_client.on_connect = on_connect
|
||||||
mqtt_client.on_message = on_message
|
mqtt_client.on_message = on_message
|
||||||
mqtt_client.on_disconnect = on_disconnect
|
mqtt_client.on_disconnect = on_disconnect
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
# -*- coding: utf8 -*-
|
|
||||||
|
|
||||||
#Get LM75 temperature value and send it to MQTT broker
|
|
||||||
|
|
||||||
import smbus
|
|
||||||
import paho.mqtt.publish as mqtt
|
|
||||||
import datetime
|
|
||||||
|
|
||||||
# MQTT settings
|
|
||||||
mqtt_server = 'localhost'
|
|
||||||
mqtt_port= 1883
|
|
||||||
mqtt_auth= {'username':'cameteo',
|
|
||||||
'password':'CaMeteo'}
|
|
||||||
mqtt_client_id= 'papirus_temp2mqtt'
|
|
||||||
mqtt_qos=2
|
|
||||||
|
|
||||||
mqtt_topic="pi/papirus_zero_hat/temperature/"
|
|
||||||
|
|
||||||
#LM75B settings
|
|
||||||
LM75B_ADDRESS = 0x48
|
|
||||||
LM75B_TEMP_REGISTER = 0
|
|
||||||
LM75B_CONF_REGISTER = 1
|
|
||||||
LM75B_THYST_REGISTER = 2
|
|
||||||
LM75B_TOS_REGISTER = 3
|
|
||||||
LM75B_CONF_NORMAL = 0
|
|
||||||
|
|
||||||
class LM75B(object):
|
|
||||||
def __init__(self, address=LM75B_ADDRESS, busnum=1):
|
|
||||||
self._address = address
|
|
||||||
self._bus = smbus.SMBus(busnum)
|
|
||||||
self._bus.write_byte_data(self._address, LM75B_CONF_REGISTER, LM75B_CONF_NORMAL)
|
|
||||||
|
|
||||||
def getTempC(self):
|
|
||||||
"""Return temperature in degrees Celsius"""
|
|
||||||
raw = self._bus.read_word_data(self._address, LM75B_TEMP_REGISTER) & 0xFFFF
|
|
||||||
raw = (((raw << 8) & 0xFF00) + (raw >> 8) +128 ) /256
|
|
||||||
return raw
|
|
||||||
|
|
||||||
########
|
|
||||||
# Main #
|
|
||||||
########
|
|
||||||
|
|
||||||
#Get and print data
|
|
||||||
date = datetime.datetime.now().replace(microsecond=0).isoformat()
|
|
||||||
print(date)
|
|
||||||
|
|
||||||
sens = LM75B()
|
|
||||||
lm75_temp = sens.getTempC()
|
|
||||||
print("Temperature (Papirus HAT LM75b) : %s °C" % lm75_temp)
|
|
||||||
|
|
||||||
|
|
||||||
#Send data to MQTT broker
|
|
||||||
mqtt_data = [{'topic':mqtt_topic + "value", 'payload':lm75_temp, 'qos':mqtt_qos, 'retain':True},
|
|
||||||
{'topic':mqtt_topic + "date", 'payload':date, 'qos':mqtt_qos, 'retain':True},
|
|
||||||
{'topic':mqtt_topic + "unit", 'payload':"\u00B0C", 'qos':mqtt_qos, 'retain':True},
|
|
||||||
{'topic':mqtt_topic + "desc", 'payload':"LM75b sensor", 'qos':mqtt_qos, 'retain':True}]
|
|
||||||
|
|
||||||
mqtt.multiple(mqtt_data,
|
|
||||||
hostname= mqtt_server ,
|
|
||||||
port= mqtt_port ,
|
|
||||||
auth= mqtt_auth ,
|
|
||||||
client_id= mqtt_client_id )
|
|
@ -1,12 +1,10 @@
|
|||||||
{% extends "bootstrap/base.html" %}
|
{% extends "bootstrap/base.html" %}
|
||||||
|
|
||||||
{% block html_attribs %} lang="fr"{% endblock %}
|
{% block html_attribs %} lang="fr" {% endblock %}
|
||||||
|
|
||||||
{% block styles %}
|
{% block styles %}
|
||||||
{{super()}}
|
{{super()}}
|
||||||
<link rel="stylesheet" href="{{url_for('static', filename ='css/Base.css', _external = True)}}" />
|
<link rel="stylesheet" href="{{url_for('static', filename ='css/Base.css', _external = True)}}" />
|
||||||
<link rel="stylesheet" href="{{url_for('static', filename ='css/data_viz.css', _external = True)}}" />
|
|
||||||
<script src="{{url_for('static', filename ='js/d3.min.js', _external = True)}}"></script>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block navbar %}
|
{% block navbar %}
|
||||||
|
9
cameteo-interface/templates/config_page.html
Normal file
9
cameteo-interface/templates/config_page.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Camétéo{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
85
cameteo-interface/templates/data_viz.html
Normal file
85
cameteo-interface/templates/data_viz.html
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Camétéo{% endblock %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
{{super()}}
|
||||||
|
<link rel="stylesheet" href="{{url_for('static', filename ='css/data_viz.css', _external = True)}}" />
|
||||||
|
<script src="{{url_for('static', filename ='js/d3.min.js', _external = True)}}"></script>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% from "bootstrap/pagination.html" import render_pagination %}
|
||||||
|
<div class="container">
|
||||||
|
<div id="graph"></div>
|
||||||
|
{{ render_pagination(dat) }}
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-hover">
|
||||||
|
<thead class="thead-inverse">
|
||||||
|
<tr>
|
||||||
|
<th>Date/Heure</th>
|
||||||
|
<th>Valeur</th>
|
||||||
|
<th>Capteur</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for item in dat.items -%}
|
||||||
|
{% if item.value is number %}
|
||||||
|
<tr><td>{{ item.valdate }}</td><td>{{ item.value }} {{ item.unit }}</td><td>{{ item.sensor_id }}</td></tr>
|
||||||
|
{% else %}
|
||||||
|
<tr class="warning"><td>{{ item.valdate }}</td><td>{{ item.value }}</td><td>{{ item.sensor_id }}</td></tr>
|
||||||
|
{% endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{ render_pagination(dat) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var data = d3.range(40).map(function(i) {
|
||||||
|
return i % 5 ? {x: i / 39, y: (Math.sin(i / 3) + 2) / 4} : null;
|
||||||
|
});
|
||||||
|
|
||||||
|
var margin = {top: 40, right: 40, bottom: 40, left: 40},
|
||||||
|
width = 960 - margin.left - margin.right,
|
||||||
|
height = 500 - margin.top - margin.bottom;
|
||||||
|
|
||||||
|
var x = d3.scaleLinear()
|
||||||
|
.range([0, width]);
|
||||||
|
|
||||||
|
var y = d3.scaleLinear()
|
||||||
|
.range([height, 0]);
|
||||||
|
|
||||||
|
var line = d3.line()
|
||||||
|
.defined(function(d) { return d; })
|
||||||
|
.x(function(d) { return x(d.x); })
|
||||||
|
.y(function(d) { return y(d.y); });
|
||||||
|
|
||||||
|
var svg = d3.select("#graph").append("svg")
|
||||||
|
.datum(data)
|
||||||
|
.attr("width", width + margin.left + margin.right)
|
||||||
|
.attr("height", height + margin.top + margin.bottom)
|
||||||
|
.append("g")
|
||||||
|
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
|
||||||
|
|
||||||
|
svg.append("g")
|
||||||
|
.attr("class", "axis axis--x")
|
||||||
|
.attr("transform", "translate(0," + height + ")")
|
||||||
|
.call(d3.axisBottom(x));
|
||||||
|
|
||||||
|
svg.append("g")
|
||||||
|
.attr("class", "axis axis--y")
|
||||||
|
.call(d3.axisLeft(y));
|
||||||
|
|
||||||
|
svg.append("path")
|
||||||
|
.attr("class", "line")
|
||||||
|
.attr("d", line);
|
||||||
|
|
||||||
|
svg.selectAll(".dot")
|
||||||
|
.data(data.filter(function(d) { return d; }))
|
||||||
|
.enter().append("circle")
|
||||||
|
.attr("class", "dot")
|
||||||
|
.attr("cx", line.x())
|
||||||
|
.attr("cy", line.y())
|
||||||
|
.attr("r", 3.5);
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
@ -1,71 +1,14 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block title %}Camétéo{% endblock %}
|
{% block title %}Camétéo{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% from "bootstrap/pagination.html" import render_pagination %}
|
|
||||||
<div class="container col-7">
|
<div class="container">
|
||||||
<div id="graph">
|
<div class="jumbotron">
|
||||||
<script>
|
<h1>Bienvenue !</h1>
|
||||||
var data = d3.range(40).map(function(i) {
|
<p>Camétéo est un projet de prise de mesures et de photos pour documenter
|
||||||
return i % 5 ? {x: i / 39, y: (Math.sin(i / 3) + 2) / 4} : null;
|
des activités d'extérieurs (randonnées, jardin...).</p>
|
||||||
});
|
<p><a class="btn btn-primary btn-lg" href="/all_data" role="button">Voir les données...</a></p>
|
||||||
|
|
||||||
var margin = {top: 40, right: 40, bottom: 40, left: 40},
|
|
||||||
width = 960 - margin.left - margin.right,
|
|
||||||
height = 500 - margin.top - margin.bottom;
|
|
||||||
|
|
||||||
var x = d3.scaleLinear()
|
|
||||||
.range([0, width]);
|
|
||||||
|
|
||||||
var y = d3.scaleLinear()
|
|
||||||
.range([height, 0]);
|
|
||||||
|
|
||||||
var line = d3.line()
|
|
||||||
.defined(function(d) { return d; })
|
|
||||||
.x(function(d) { return x(d.x); })
|
|
||||||
.y(function(d) { return y(d.y); });
|
|
||||||
|
|
||||||
var svg = d3.select("body").append("svg")
|
|
||||||
.datum(data)
|
|
||||||
.attr("width", width + margin.left + margin.right)
|
|
||||||
.attr("height", height + margin.top + margin.bottom)
|
|
||||||
.append("g")
|
|
||||||
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
|
|
||||||
|
|
||||||
svg.append("g")
|
|
||||||
.attr("class", "axis axis--x")
|
|
||||||
.attr("transform", "translate(0," + height + ")")
|
|
||||||
.call(d3.axisBottom(x));
|
|
||||||
|
|
||||||
svg.append("g")
|
|
||||||
.attr("class", "axis axis--y")
|
|
||||||
.call(d3.axisLeft(y));
|
|
||||||
|
|
||||||
svg.append("path")
|
|
||||||
.attr("class", "line")
|
|
||||||
.attr("d", line);
|
|
||||||
|
|
||||||
svg.selectAll(".dot")
|
|
||||||
.data(data.filter(function(d) { return d; }))
|
|
||||||
.enter().append("circle")
|
|
||||||
.attr("class", "dot")
|
|
||||||
.attr("cx", line.x())
|
|
||||||
.attr("cy", line.y())
|
|
||||||
.attr("r", 3.5);
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
{{ render_pagination(dat) }}
|
|
||||||
<div class="table-responsive">
|
|
||||||
<table class="table table_hover table-hover">
|
|
||||||
<thead class="thead-inverse">
|
|
||||||
<tr><th>Date/Heure</th><th>Valeur</th><th>Capteur</th></tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for item in dat.items %}
|
|
||||||
<tr><td>{{ item.valdate }}</td><td>{{ item.value }} {{ item.unit }}</td><td>{{ item.sensor_id }}<td></tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{{ render_pagination(dat) }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
14
cameteo-interface/templates/index2.html
Normal file
14
cameteo-interface/templates/index2.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Camétéo{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Bienvenue !</h1>
|
||||||
|
<p>Camétéo est un projet de prise de mesures et de photos pour documenter
|
||||||
|
des activités d'extérieurs (randonnées, jardin...).</p>
|
||||||
|
<p><a class="btn btn-primary btn-lg" href="/all_data" role="button">Voir les données...</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
BIN
doc/2.13inch_e-Paper_HAT-code.7z
Normal file
BIN
doc/2.13inch_e-Paper_HAT-code.7z
Normal file
Binary file not shown.
641
python/epaper-screen/EPD_driver.py
Normal file
641
python/epaper-screen/EPD_driver.py
Normal file
@ -0,0 +1,641 @@
|
|||||||
|
|
||||||
|
import spidev
|
||||||
|
import RPi.GPIO as GPIO
|
||||||
|
import time
|
||||||
|
|
||||||
|
""" Register initial variable """
|
||||||
|
EPD2X9 = 0
|
||||||
|
EPD02X13 = 1
|
||||||
|
EPD1X54 = 0
|
||||||
|
|
||||||
|
if EPD2X9 == 1:
|
||||||
|
xDot = 128
|
||||||
|
yDot = 296
|
||||||
|
DELAYTIME = 1.5
|
||||||
|
LUTDefault_full = [0x32,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]
|
||||||
|
LUTDefault_part = [0x32,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]
|
||||||
|
if EPD02X13 == 1:
|
||||||
|
xDot = 122
|
||||||
|
yDot = 250
|
||||||
|
DELAYTIME = 4
|
||||||
|
LUTDefault_full = [0x32,0x22,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x01,0x00,0x00,0x00,0x00]
|
||||||
|
LUTDefault_part = [0x32,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]
|
||||||
|
if EPD1X54 == 1:
|
||||||
|
xDot = 200
|
||||||
|
yDot = 200
|
||||||
|
DELAYTIME = 1.5
|
||||||
|
LUTDefault_full = [0x32,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]
|
||||||
|
LUTDefault_part = [0x32,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]
|
||||||
|
|
||||||
|
GDOControl = [0x01,int((yDot-1)%256),int((yDot-1)/256),0x00] #for 2.9inch
|
||||||
|
softstart = [0x0c,0xd7,0xd6,0x9d]
|
||||||
|
VCOMVol = [0x2c,0xa8] # VCOM 7c
|
||||||
|
DummyLine = [0x3a,0x1a] # 4 dummy line per gate
|
||||||
|
Gatetime = [0x3b,0x08] # 2us per line
|
||||||
|
RamDataEntryMode = [0x11,0x01] # Ram data entry mode
|
||||||
|
w_buffer = [0 for i in range(5000)]
|
||||||
|
""" Display lib """
|
||||||
|
Font1206 = [
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#" ",0*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x3F,0x40,0x00,0x00,0x00,0x00,0x00,0x00],#"!",1*/
|
||||||
|
[0x00,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x40,0x00,0x00,0x00],#""",2*/
|
||||||
|
[0x09,0x00,0x0B,0xC0,0x3D,0x00,0x0B,0xC0,0x3D,0x00,0x09,0x00],#"#",3*/
|
||||||
|
[0x18,0xC0,0x24,0x40,0x7F,0xE0,0x22,0x40,0x31,0x80,0x00,0x00],#"$",4*/
|
||||||
|
[0x18,0x00,0x24,0xC0,0x1B,0x00,0x0D,0x80,0x32,0x40,0x01,0x80],#"%",5*/
|
||||||
|
[0x03,0x80,0x1C,0x40,0x27,0x40,0x1C,0x80,0x07,0x40,0x00,0x40],#"&",6*/
|
||||||
|
[0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"'",7*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x40,0x20],#"(",8*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x20,0x40,0x1F,0x80,0x00,0x00,0x00,0x00],#")",9*/
|
||||||
|
[0x09,0x00,0x06,0x00,0x1F,0x80,0x06,0x00,0x09,0x00,0x00,0x00],#"*",10*/
|
||||||
|
[0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x00,0x00],#"+",11*/
|
||||||
|
[0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#",",12*/
|
||||||
|
[0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00],#"-",13*/
|
||||||
|
[0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#".",14*/
|
||||||
|
[0x00,0x20,0x01,0xC0,0x06,0x00,0x38,0x00,0x40,0x00,0x00,0x00],#"/",15*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"0",16*/
|
||||||
|
[0x00,0x00,0x10,0x40,0x3F,0xC0,0x00,0x40,0x00,0x00,0x00,0x00],#"1",17*/
|
||||||
|
[0x18,0xC0,0x21,0x40,0x22,0x40,0x24,0x40,0x18,0x40,0x00,0x00],#"2",18*/
|
||||||
|
[0x10,0x80,0x20,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"3",19*/
|
||||||
|
[0x02,0x00,0x0D,0x00,0x11,0x00,0x3F,0xC0,0x01,0x40,0x00,0x00],#"4",20*/
|
||||||
|
[0x3C,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x23,0x80,0x00,0x00],#"5",21*/
|
||||||
|
[0x1F,0x80,0x24,0x40,0x24,0x40,0x34,0x40,0x03,0x80,0x00,0x00],#"6",22*/
|
||||||
|
[0x30,0x00,0x20,0x00,0x27,0xC0,0x38,0x00,0x20,0x00,0x00,0x00],#"7",23*/
|
||||||
|
[0x1B,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"8",24*/
|
||||||
|
[0x1C,0x00,0x22,0xC0,0x22,0x40,0x22,0x40,0x1F,0x80,0x00,0x00],#"9",25*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00],#":",26*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x04,0x60,0x00,0x00,0x00,0x00,0x00,0x00],#";",27*/
|
||||||
|
[0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40],#"<",28*/
|
||||||
|
[0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x00,0x00],#"=",29*/
|
||||||
|
[0x00,0x00,0x40,0x40,0x20,0x80,0x11,0x00,0x0A,0x00,0x04,0x00],#">",30*/
|
||||||
|
[0x18,0x00,0x20,0x00,0x23,0x40,0x24,0x00,0x18,0x00,0x00,0x00],#"?",31*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x27,0x40,0x29,0x40,0x1F,0x40,0x00,0x00],#"@",32*/
|
||||||
|
[0x00,0x40,0x07,0xC0,0x39,0x00,0x0F,0x00,0x01,0xC0,0x00,0x40],#"A",33*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00],#"B",34*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x30,0x80,0x00,0x00],#"C",35*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"D",36*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x40,0x30,0xC0,0x00,0x00],#"E",37*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x00,0x30,0x00,0x00,0x00],#"F",38*/
|
||||||
|
[0x0F,0x00,0x10,0x80,0x20,0x40,0x22,0x40,0x33,0x80,0x02,0x00],#"G",39*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x04,0x00,0x04,0x00,0x3F,0xC0,0x20,0x40],#"H",40*/
|
||||||
|
[0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x00,0x00],#"I",41*/
|
||||||
|
[0x00,0x60,0x20,0x20,0x20,0x20,0x3F,0xC0,0x20,0x00,0x20,0x00],#"J",42*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x0B,0x00,0x30,0xC0,0x20,0x40],#"K",43*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x20,0x40,0x00,0x40,0x00,0x40,0x00,0xC0],#"L",44*/
|
||||||
|
[0x3F,0xC0,0x3C,0x00,0x03,0xC0,0x3C,0x00,0x3F,0xC0,0x00,0x00],#"M",45*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x0C,0x40,0x23,0x00,0x3F,0xC0,0x20,0x00],#"N",46*/
|
||||||
|
[0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00],#"O",47*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x00,0x18,0x00,0x00,0x00],#"P",48*/
|
||||||
|
[0x1F,0x80,0x21,0x40,0x21,0x40,0x20,0xE0,0x1F,0xA0,0x00,0x00],#"Q",49*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x24,0x40,0x26,0x00,0x19,0xC0,0x00,0x40],#"R",50*/
|
||||||
|
[0x18,0xC0,0x24,0x40,0x24,0x40,0x22,0x40,0x31,0x80,0x00,0x00],#"S",51*/
|
||||||
|
[0x30,0x00,0x20,0x40,0x3F,0xC0,0x20,0x40,0x30,0x00,0x00,0x00],#"T",52*/
|
||||||
|
[0x20,0x00,0x3F,0x80,0x00,0x40,0x00,0x40,0x3F,0x80,0x20,0x00],#"U",53*/
|
||||||
|
[0x20,0x00,0x3E,0x00,0x01,0xC0,0x07,0x00,0x38,0x00,0x20,0x00],#"V",54*/
|
||||||
|
[0x38,0x00,0x07,0xC0,0x3C,0x00,0x07,0xC0,0x38,0x00,0x00,0x00],#"W",55*/
|
||||||
|
[0x20,0x40,0x39,0xC0,0x06,0x00,0x39,0xC0,0x20,0x40,0x00,0x00],#"X",56*/
|
||||||
|
[0x20,0x00,0x38,0x40,0x07,0xC0,0x38,0x40,0x20,0x00,0x00,0x00],#"Y",57*/
|
||||||
|
[0x30,0x40,0x21,0xC0,0x26,0x40,0x38,0x40,0x20,0xC0,0x00,0x00],#"Z",58*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x7F,0xE0,0x40,0x20,0x40,0x20,0x00,0x00],#"[",59*/
|
||||||
|
[0x00,0x00,0x70,0x00,0x0C,0x00,0x03,0x80,0x00,0x40,0x00,0x00],#"\",60*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x40,0x20,0x7F,0xE0,0x00,0x00,0x00,0x00],#"]",61*/
|
||||||
|
[0x00,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00],#"^",62*/
|
||||||
|
[0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10],#"_",63*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"`",64*/
|
||||||
|
[0x00,0x00,0x02,0x80,0x05,0x40,0x05,0x40,0x03,0xC0,0x00,0x40],#"a",65*/
|
||||||
|
[0x20,0x00,0x3F,0xC0,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00],#"b",66*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x06,0x40,0x00,0x00],#"c",67*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x24,0x40,0x3F,0xC0,0x00,0x40],#"d",68*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x05,0x40,0x05,0x40,0x03,0x40,0x00,0x00],#"e",69*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x1F,0xC0,0x24,0x40,0x24,0x40,0x20,0x00],#"f",70*/
|
||||||
|
[0x00,0x00,0x02,0xE0,0x05,0x50,0x05,0x50,0x06,0x50,0x04,0x20],#"g",71*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40],#"h",72*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x27,0xC0,0x00,0x40,0x00,0x00,0x00,0x00],#"i",73*/
|
||||||
|
[0x00,0x10,0x00,0x10,0x04,0x10,0x27,0xE0,0x00,0x00,0x00,0x00],#"j",74*/
|
||||||
|
[0x20,0x40,0x3F,0xC0,0x01,0x40,0x07,0x00,0x04,0xC0,0x04,0x40],#"k",75*/
|
||||||
|
[0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x00,0x00],#"l",76*/
|
||||||
|
[0x07,0xC0,0x04,0x00,0x07,0xC0,0x04,0x00,0x03,0xC0,0x00,0x00],#"m",77*/
|
||||||
|
[0x04,0x40,0x07,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40],#"n",78*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00],#"o",79*/
|
||||||
|
[0x04,0x10,0x07,0xF0,0x04,0x50,0x04,0x40,0x03,0x80,0x00,0x00],#"p",80*/
|
||||||
|
[0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x50,0x07,0xF0,0x00,0x10],#"q",81*/
|
||||||
|
[0x04,0x40,0x07,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x00,0x00],#"r",82*/
|
||||||
|
[0x00,0x00,0x06,0x40,0x05,0x40,0x05,0x40,0x04,0xC0,0x00,0x00],#"s",83*/
|
||||||
|
[0x00,0x00,0x04,0x00,0x1F,0x80,0x04,0x40,0x00,0x40,0x00,0x00],#"t",84*/
|
||||||
|
[0x04,0x00,0x07,0x80,0x00,0x40,0x04,0x40,0x07,0xC0,0x00,0x40],#"u",85*/
|
||||||
|
[0x04,0x00,0x07,0x00,0x04,0xC0,0x01,0x80,0x06,0x00,0x04,0x00],#"v",86*/
|
||||||
|
[0x06,0x00,0x01,0xC0,0x07,0x00,0x01,0xC0,0x06,0x00,0x00,0x00],#"w",87*/
|
||||||
|
[0x04,0x40,0x06,0xC0,0x01,0x00,0x06,0xC0,0x04,0x40,0x00,0x00],#"x",88*/
|
||||||
|
[0x04,0x10,0x07,0x10,0x04,0xE0,0x01,0x80,0x06,0x00,0x04,0x00],#"y",89*/
|
||||||
|
[0x00,0x00,0x04,0x40,0x05,0xC0,0x06,0x40,0x04,0x40,0x00,0x00],#"z",90*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x04,0x00,0x7B,0xE0,0x40,0x20,0x00,0x00],#"{",91*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00],#"|",92*/
|
||||||
|
[0x00,0x00,0x40,0x20,0x7B,0xE0,0x04,0x00,0x00,0x00,0x00,0x00],#"]",93*/
|
||||||
|
[0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x40,0x00],#"~",94*/
|
||||||
|
]
|
||||||
|
|
||||||
|
Font1608 = [
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#" ",0*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00],#"!",1*/
|
||||||
|
[0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00],#""",2*/
|
||||||
|
[0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00],#"#",3*/
|
||||||
|
[0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00],#"$",4*/
|
||||||
|
[0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00],#"%",5*/
|
||||||
|
[0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08],#"&",6*/
|
||||||
|
[0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"'",7*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00],#"(",8*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00],#")",9*/
|
||||||
|
[0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00],#"*",10*/
|
||||||
|
[0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00],#"+",11*/
|
||||||
|
[0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#",",12*/
|
||||||
|
[0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80],#"-",13*/
|
||||||
|
[0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#".",14*/
|
||||||
|
[0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00],#"/",15*/
|
||||||
|
[0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"0",16*/
|
||||||
|
[0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"1",17*/
|
||||||
|
[0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00],#"2",18*/
|
||||||
|
[0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00],#"3",19*/
|
||||||
|
[0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00],#"4",20*/
|
||||||
|
[0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00],#"5",21*/
|
||||||
|
[0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00],#"6",22*/
|
||||||
|
[0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00],#"7",23*/
|
||||||
|
[0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00],#"8",24*/
|
||||||
|
[0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00],#"9",25*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00],#":",26*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#";",27*/
|
||||||
|
[0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00],#"<",28*/
|
||||||
|
[0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00],#"=",29*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00],#">",30*/
|
||||||
|
[0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00],#"?",31*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00],#"@",32*/
|
||||||
|
[0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04],#"A",33*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00],#"B",34*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00],#"C",35*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"D",36*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00],#"E",37*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00],#"F",38*/
|
||||||
|
[0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00],#"G",39*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04],#"H",40*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00],#"I",41*/
|
||||||
|
[0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00],#"J",42*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00],#"K",43*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00],#"L",44*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00],#"M",45*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00],#"N",46*/
|
||||||
|
[0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00],#"O",47*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00],#"P",48*/
|
||||||
|
[0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00],#"Q",49*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04],#"R",50*/
|
||||||
|
[0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00],#"S",51*/
|
||||||
|
[0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00],#"T",52*/
|
||||||
|
[0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00],#"U",53*/
|
||||||
|
[0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00],#"V",54*/
|
||||||
|
[0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00],#"W",55*/
|
||||||
|
[0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04],#"X",56*/
|
||||||
|
[0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00],#"Y",57*/
|
||||||
|
[0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00],#"Z",58*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00],#"[",59*/
|
||||||
|
[0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00],#"\",60*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00],#"]",61*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00],#"^",62*/
|
||||||
|
[0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01],#"_",63*/
|
||||||
|
[0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"`",64*/
|
||||||
|
[0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04],#"a",65*/
|
||||||
|
[0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00],#"b",66*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00],#"c",67*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04],#"d",68*/
|
||||||
|
[0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00],#"e",69*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00],#"f",70*/
|
||||||
|
[0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00],#"g",71*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04],#"h",72*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"i",73*/
|
||||||
|
[0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00],#"j",74*/
|
||||||
|
[0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00],#"k",75*/
|
||||||
|
[0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00],#"l",76*/
|
||||||
|
[0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC],#"m",77*/
|
||||||
|
[0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04],#"n",78*/
|
||||||
|
[0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00],#"o",79*/
|
||||||
|
[0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00],#"p",80*/
|
||||||
|
[0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01],#"q",81*/
|
||||||
|
[0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00],#"r",82*/
|
||||||
|
[0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00],#"s",83*/
|
||||||
|
[0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00],#"t",84*/
|
||||||
|
[0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04],#"u",85*/
|
||||||
|
[0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00],#"v",86*/
|
||||||
|
[0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00],#"w",87*/
|
||||||
|
[0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00],#"x",88*/
|
||||||
|
[0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00],#"y",89*/
|
||||||
|
[0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00],#"z",90*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02],#"{",91*/
|
||||||
|
[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00],#"|",92*/
|
||||||
|
[0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00],#"]",93*/
|
||||||
|
[0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00],#"~",94*/
|
||||||
|
]
|
||||||
|
|
||||||
|
progress_head = [
|
||||||
|
0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
]
|
||||||
|
progress_zero = [
|
||||||
|
0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
]
|
||||||
|
progress_start = [
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
]
|
||||||
|
progress_Spare = [
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC
|
||||||
|
]
|
||||||
|
progress_full = [
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,
|
||||||
|
0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,
|
||||||
|
]
|
||||||
|
progress_end = [
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
|
||||||
|
0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,
|
||||||
|
]
|
||||||
|
|
||||||
|
""" BCM GPIO """
|
||||||
|
RST = 17
|
||||||
|
DC = 25
|
||||||
|
BUSY = 24
|
||||||
|
CS = 8
|
||||||
|
|
||||||
|
class EPD_driver(object):
|
||||||
|
def __init__(self,spi):
|
||||||
|
#Initialize DC RST pin
|
||||||
|
GPIO.setmode(GPIO.BCM)
|
||||||
|
GPIO.setwarnings(False)
|
||||||
|
GPIO.setup(RST,GPIO.OUT)
|
||||||
|
GPIO.setup(DC,GPIO.OUT)
|
||||||
|
GPIO.setup(CS,GPIO.OUT)
|
||||||
|
GPIO.setup(BUSY,GPIO.IN)
|
||||||
|
#Initialize SPI
|
||||||
|
self._spi = spi
|
||||||
|
self._spi.max_speed_hz = 2000000
|
||||||
|
self._spi.mode = 0b00
|
||||||
|
|
||||||
|
def ReadBusy(self):
|
||||||
|
for i in range(0,400):
|
||||||
|
if GPIO.input(BUSY)==0:
|
||||||
|
print('Busy is Low')
|
||||||
|
return 1
|
||||||
|
time.sleep(0.01)
|
||||||
|
def EPD_WriteCMD(self,command):
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
#print 'send command : ' ,hex(command)
|
||||||
|
self._spi.writebytes([command])
|
||||||
|
def EPD_WriteCMD_p1(self,command,para):
|
||||||
|
self.ReadBusy()
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
#print 'send command : ' ,hex(command)
|
||||||
|
self._spi.writebytes([command])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
#print 'Sent to data : ' ,hex(para),
|
||||||
|
self._spi.writebytes([para])
|
||||||
|
def EPD_POWERON(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0xc0)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
def EPD_Write(self,value):
|
||||||
|
"""Send command byte to display"""
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
time.sleep(0.01)
|
||||||
|
#print(value)
|
||||||
|
#print('send command : ' ,hex(value[0]))
|
||||||
|
self._spi.writebytes([value[0]]) #The first byte is written with the command value
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
for i in range(0,len(value)-1):
|
||||||
|
data = value[i+1]
|
||||||
|
self._spi.writebytes([data])
|
||||||
|
def EPD_WriteDispRam(self,XSize,YSize,Dispbuff):
|
||||||
|
if XSize%8!=0 :
|
||||||
|
XSize = XSize+(8-XSize%8)
|
||||||
|
XSize = XSize/8
|
||||||
|
NUM = 0
|
||||||
|
self.ReadBusy()
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
self._spi.writebytes([0x24])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
for i in range(0,int(YSize)):
|
||||||
|
for j in range(0,int(XSize)):
|
||||||
|
self._spi.writebytes([Dispbuff[NUM]])
|
||||||
|
NUM = NUM +1
|
||||||
|
#print hex(Dispbuff[i+j]),
|
||||||
|
#print ''
|
||||||
|
def EPD_WriteDispRamMono(self,XSize,YSize,dispdata):
|
||||||
|
if XSize%8!=0 :
|
||||||
|
XSize = XSize+(8-XSize%8)
|
||||||
|
XSize = XSize/8
|
||||||
|
NUM = 0
|
||||||
|
self.ReadBusy()
|
||||||
|
#print 'send command : ' ,hex(0x24)
|
||||||
|
GPIO.output(DC,GPIO.LOW)
|
||||||
|
self._spi.writebytes([0x24])
|
||||||
|
GPIO.output(DC,GPIO.HIGH)
|
||||||
|
#print 'Sent to data : ',hex(dispdata),
|
||||||
|
if isinstance(dispdata,list):
|
||||||
|
for i in range(0,YSize):
|
||||||
|
for j in range(0,XSize):
|
||||||
|
self._spi.writebytes([dispdata[NUM]])
|
||||||
|
NUM = NUM +1
|
||||||
|
#print hex(dispdata[i+j]),
|
||||||
|
else:
|
||||||
|
#print 'send data : ' ,dispdata
|
||||||
|
for i in range(0,YSize):
|
||||||
|
for j in range(0,int(XSize)):
|
||||||
|
self._spi.writebytes([dispdata])
|
||||||
|
def EPD_SetRamArea(self,Xstart,Xend,Ystart,Ystart1,Yend,Yend1):
|
||||||
|
RamAreaX = []
|
||||||
|
RamAreaY = []
|
||||||
|
RamAreaX.extend([0x44,Xstart,Xend])
|
||||||
|
RamAreaY.extend([0x45,Ystart,Ystart1,Yend,Yend1])
|
||||||
|
self.EPD_Write(RamAreaX)
|
||||||
|
self.EPD_Write(RamAreaY)
|
||||||
|
def EPD_SetRamPointer(self,addrX,addrY,addrY1):
|
||||||
|
RamPointerX = []
|
||||||
|
RamPointerY = []
|
||||||
|
RamPointerX.extend([0x4e,addrX])
|
||||||
|
RamPointerY.extend([0x4f,addrY,addrY1])
|
||||||
|
self.EPD_Write(RamPointerX)
|
||||||
|
self.EPD_Write(RamPointerY)
|
||||||
|
def part_display(self,RAM_XST,RAM_XEND,RAM_YST,RAM_YST1,RAM_YEND,RAM_YEND1):
|
||||||
|
self.EPD_SetRamArea(RAM_XST,RAM_XEND,RAM_YST,RAM_YST1,RAM_YEND,RAM_YEND1)
|
||||||
|
self.EPD_SetRamPointer(RAM_XST,RAM_YST,RAM_YST1)
|
||||||
|
def EPD_Init(self):
|
||||||
|
"""Initialize dispaly"""
|
||||||
|
"""2.reset driver"""
|
||||||
|
GPIO.output(CS,GPIO.LOW)
|
||||||
|
GPIO.output(RST,GPIO.HIGH)
|
||||||
|
time.sleep(0.1)
|
||||||
|
GPIO.output(RST,GPIO.LOW)
|
||||||
|
if GPIO.input(RST) == 0:
|
||||||
|
print('Reset is complete')
|
||||||
|
else:
|
||||||
|
print('Reset is false')
|
||||||
|
time.sleep(0.01)
|
||||||
|
GPIO.output(RST,GPIO.HIGH)
|
||||||
|
"""3.set register"""
|
||||||
|
print('***********set register Start**********')
|
||||||
|
self.EPD_Write(GDOControl) # Pannel configuration, Gate selection
|
||||||
|
self.EPD_Write(softstart) # X decrease, Y decrease
|
||||||
|
self.EPD_Write(VCOMVol) # VCOM setting
|
||||||
|
self.EPD_Write(DummyLine) # dummy line per gate
|
||||||
|
self.EPD_Write(Gatetime) # Gage time setting
|
||||||
|
self.EPD_Write(RamDataEntryMode) # X increase, Y decrease
|
||||||
|
self.EPD_SetRamArea(0x00,int((xDot-1)/8),int((yDot-1)%256),int((yDot-1)/256),0x00,0x00) # X-source area,Y-gage area
|
||||||
|
self.EPD_SetRamPointer(0x00,(yDot-1)%256,int((yDot-1)/256)) # set ram
|
||||||
|
print('***********set register end**********')
|
||||||
|
def EPD_Update(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0xc7)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
self.EPD_WriteCMD(0xff)
|
||||||
|
def EPD_Update_Part(self):
|
||||||
|
self.EPD_WriteCMD_p1(0x22,0x04)
|
||||||
|
self.EPD_WriteCMD(0x20)
|
||||||
|
self.EPD_WriteCMD(0xff)
|
||||||
|
def EPD_init_Full(self):
|
||||||
|
self.EPD_Init()
|
||||||
|
self.EPD_Write(LUTDefault_full)
|
||||||
|
self.EPD_POWERON()
|
||||||
|
def EPD_init_Part(self):
|
||||||
|
#GPIO.output(CS,GPIO.LOW)
|
||||||
|
self.EPD_Init()
|
||||||
|
self.EPD_Write(LUTDefault_part)
|
||||||
|
self.EPD_POWERON()
|
||||||
|
def EPD_Dis_Full(self,DisBuffer,Label):
|
||||||
|
self.EPD_SetRamPointer(0x00,(yDot-1)%256,int((yDot-1)/256))
|
||||||
|
if Label == 0 :
|
||||||
|
self.EPD_WriteDispRamMono(xDot, yDot, 0xff)
|
||||||
|
else:
|
||||||
|
if isinstance(DisBuffer,list):
|
||||||
|
print('is list')
|
||||||
|
else:
|
||||||
|
print('not list')
|
||||||
|
self.EPD_WriteDispRam(xDot, yDot, DisBuffer)
|
||||||
|
self.EPD_Update()
|
||||||
|
def EPD_Dis_Part(self,xStart,xEnd,yStart,yEnd,DisBuffer,Label) :
|
||||||
|
if Label == 0 :
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRamMono(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
self.EPD_Update_Part()
|
||||||
|
time.sleep(0.5)
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRamMono(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
else:
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRam(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
self.EPD_Update_Part()
|
||||||
|
time.sleep(0.5)
|
||||||
|
self.part_display(int(xStart/8),int(xEnd/8),int(yEnd%256),int(yEnd/256),int(yStart%256),int(yStart/256))
|
||||||
|
self.EPD_WriteDispRam(xEnd-xStart, yEnd-yStart+1, DisBuffer)
|
||||||
|
|
||||||
|
"""***********************************************************************************************************************
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|\\\ ///|
|
||||||
|
|\\\ App layer ///|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
***********************************************************************************************************************"""
|
||||||
|
"""********************************************************************************
|
||||||
|
clear full screen
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Clear_full(self):
|
||||||
|
print('1.init full screen')
|
||||||
|
self.EPD_init_Full()
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Clear screen
|
||||||
|
print('2.Clear screen')
|
||||||
|
m=0xff
|
||||||
|
self.EPD_Dis_Full(m,0)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
def Dis_Clear_part(self):
|
||||||
|
print('1.init part screen')
|
||||||
|
self.EPD_init_Part()
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Clear screen
|
||||||
|
print('Clear screen')
|
||||||
|
m=0xff
|
||||||
|
self.EPD_Dis_Part(0,xDot-1,0,yDot-1,m,0)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
def Dis_full_pic(self,DisBuffer):
|
||||||
|
self.EPD_Dis_Full(DisBuffer,1)
|
||||||
|
|
||||||
|
def Dis_part_pic(self,xStart,xEnd,yStart,yEnd,DisBuffer):
|
||||||
|
self.EPD_Dis_Part(xStart,xEnd,yStart,yEnd,DisBuffer,1)
|
||||||
|
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : Select the character size
|
||||||
|
parameter :
|
||||||
|
acsii : char data
|
||||||
|
size : char len
|
||||||
|
mode : char mode
|
||||||
|
next : char len
|
||||||
|
Remarks:
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Char(self,acsii,size,mode,next):
|
||||||
|
ch = ord(acsii) - 32
|
||||||
|
#print "ch =",ch
|
||||||
|
if size == 12:
|
||||||
|
temp = [0 for i in range(11)]
|
||||||
|
temp = Font1206[ch]
|
||||||
|
else :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[ch]
|
||||||
|
for i in range(0,size):
|
||||||
|
del w_buffer[size*next+i]
|
||||||
|
w_buffer.insert(size*next+i,~temp[i]&0xff)
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : write string
|
||||||
|
parameter :
|
||||||
|
x : x start address
|
||||||
|
y : y start address
|
||||||
|
pString : Display data
|
||||||
|
Size : char len
|
||||||
|
Remarks:
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_String(self,x,y,pString,Size):
|
||||||
|
len_s = 0
|
||||||
|
x_addr = x
|
||||||
|
y_addr = y
|
||||||
|
#1.Remove the character and determine the character size
|
||||||
|
while len_s < len(pString):
|
||||||
|
if (x > (xDot- Size / 2)):
|
||||||
|
x = 0
|
||||||
|
y = y + Size
|
||||||
|
if (y > (yDot- Size)):
|
||||||
|
y = x = 0
|
||||||
|
new_string = pString[len_s:len_s+1]
|
||||||
|
self.Dis_Char(new_string, Size, 0,len_s)
|
||||||
|
x = x + Size / 2
|
||||||
|
len_s = len_s + 1 #Calculate the current number for the first few characters
|
||||||
|
#2.show
|
||||||
|
if Size == 12:
|
||||||
|
self.EPD_Dis_Part(y_addr+1,y_addr+Size/2,yDot-(Size*len_s)-x_addr+1,yDot-x_addr,w_buffer,1)
|
||||||
|
else:
|
||||||
|
self.EPD_Dis_Part(y_addr+1,y_addr+Size/2,yDot-(Size*len_s)-x_addr+1,yDot-x_addr,w_buffer,1)
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : Drawing pic
|
||||||
|
parameter :
|
||||||
|
xStart : x start address
|
||||||
|
yStart : y start address
|
||||||
|
DisBuffer : Display data
|
||||||
|
xSize : Displays the x length of the image
|
||||||
|
ySize : Displays the y length of the image
|
||||||
|
Remarks:
|
||||||
|
The sample image is 32 * 32
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Drawing(self,xStart,yStart,DisBuffer,xSize,ySize):
|
||||||
|
x_addr = xStart*8
|
||||||
|
y_addr = yStart*8
|
||||||
|
self.EPD_Dis_Part(y_addr,y_addr+xSize-1,yDot-ySize-x_addr,yDot-x_addr-1,DisBuffer,1)
|
||||||
|
"""********************************************************************************
|
||||||
|
funtion : show Progress
|
||||||
|
parameter :
|
||||||
|
progress_len : Progress bar length
|
||||||
|
********************************************************************************"""
|
||||||
|
def Dis_Progress(self,progress_len):
|
||||||
|
y = 0
|
||||||
|
pheight_pix = 2
|
||||||
|
pWidth_pix = 16
|
||||||
|
w_buffer = [0xff for i in range(0,5000)]
|
||||||
|
#1.Initialize the progress bar length and place it in the center of the lower end of the display
|
||||||
|
for z in range(0,progress_len):
|
||||||
|
for x in range(0,pWidth_pix*pheight_pix):
|
||||||
|
if(z == 0):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_head
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
elif(z == progress_len -1):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_end
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
else:
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_Spare
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
self.EPD_Dis_Part(xDot-xDot/16-5,xDot-xDot/16+4,(yDot-16*progress_len)/2-1,(yDot-16*progress_len)/2-1+16*progress_len,w_buffer,1)
|
||||||
|
#2.Load progress bar
|
||||||
|
y =0
|
||||||
|
for z in range(0,progress_len):
|
||||||
|
for x in range(0,pWidth_pix*pheight_pix):
|
||||||
|
if(z == 0):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_zero
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
elif(z == progress_len-1):
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_full
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
else:
|
||||||
|
temp = [0 for i in range(pheight_pix*pWidth_pix-1)]
|
||||||
|
temp = progress_start
|
||||||
|
del w_buffer[y]
|
||||||
|
w_buffer.insert(y,temp[x])
|
||||||
|
y = y + 1
|
||||||
|
self.EPD_Dis_Part(xDot-xDot/16-5,xDot-xDot/16+4,(yDot-16*progress_len)/2-1,(yDot-16*progress_len)/2-1+16*progress_len,w_buffer,1)
|
||||||
|
def Dis_showtime(self,hour,minute,sec):
|
||||||
|
len_s = 16
|
||||||
|
w_buffer = [0xff for i in range(5000)]
|
||||||
|
for z in range(0,8):
|
||||||
|
for x in range(0,len_s):
|
||||||
|
if z == 0 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+hour/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 1 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+hour%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 2 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[26]
|
||||||
|
del w_buffer[x + z *16]#delete
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 3 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+minute/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 4 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+minute%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 5 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[26]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 6 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+sec/10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
elif z == 7 :
|
||||||
|
temp = [0 for i in range(15)]
|
||||||
|
temp = Font1608[int(16+sec%10)]
|
||||||
|
del w_buffer[x + z *16]
|
||||||
|
w_buffer.insert(x + z *16,~temp[x]&0xff)
|
||||||
|
else :
|
||||||
|
return 1
|
||||||
|
self.EPD_Dis_Part(int(xDot/10-1),int(xDot/10+8),int((yDot-16*4)/2),int((yDot-16*4)/2-1+16*4),w_buffer,1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
960
python/epaper-screen/main.py
Normal file
960
python/epaper-screen/main.py
Normal file
@ -0,0 +1,960 @@
|
|||||||
|
import time
|
||||||
|
import spidev as SPI
|
||||||
|
import EPD_driver
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
EPD2X9 = 0
|
||||||
|
EPD02X13 = 1
|
||||||
|
EPD1X54 = 0
|
||||||
|
|
||||||
|
if EPD2X9 == 1:
|
||||||
|
xDot = 128
|
||||||
|
yDot = 296
|
||||||
|
DELAYTIME = 0.5
|
||||||
|
waveshare = [
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XFF,0X7F,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFE,0X3F,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XFC,0X1E,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XF8,0X38,0X00,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X07,0XF0,0X70,0X00,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0XC0,0XC0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0X81,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X3F,0XFF,0XC3,0X83,0XFF,0XFB,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,0XFF,0XEF,0XC7,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X1C,0X7F,0X80,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XF0,0X1C,0X60,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X07,0XF0,0X1C,0X60,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X70,0X07,0XFF,0X1C,0X60,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XE0,0X03,0X80,0X1C,0X63,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE0,0X03,0X80,0X1C,0X63,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE1,0XC3,0X80,0X1C,0X63,0XFB,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XFF,0X1C,0X60,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE7,0XF0,0X1C,0X60,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XC3,0XC7,0XF0,0X1C,0X60,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X0F,0XF0,0X1C,0X7F,0X87,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XC1,0XFF,0X87,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XFF,0X01,0XFF,0XC1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XF8,0X00,0X3F,0X81,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XC0,0X00,0X03,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0X80,0X00,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X3F,0XC0,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC4,0X3F,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFC,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFC,0X00,0X07,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X0F,0XFF,0XFC,0X00,0X3F,0XC0,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X01,0XFF,0XFC,0X3F,0XFF,0XE3,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFE,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XC6,0X07,0XC7,0XF1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XC6,0X07,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XC6,0X3C,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X03,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X7F,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X1F,0XFF,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XFF,0XFF,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0X3F,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X7F,0XC0,0X00,0X46,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0XC0,0X00,0X46,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X0F,0XC0,0X00,0X46,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X07,0XC0,0X00,0X46,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X07,0XC6,0X3F,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X63,0X07,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE3,0XC3,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XC3,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XC6,0X24,0XC6,0X31,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE3,0XE3,0XC6,0X24,0XC0,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XE3,0XC6,0X3C,0XC0,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XE3,0XC6,0X07,0XC0,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XE7,0XC6,0X07,0XC0,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XC7,0XFE,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X0F,0X87,0XF8,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X07,0XC3,0XF8,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X07,0XC3,0XF8,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XE3,0XF8,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XE3,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XC1,0XE3,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE1,0XE3,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE0,0XC3,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE0,0X03,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XF0,0X07,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XF0,0X07,0XF8,0X70,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XF8,0X0F,0X80,0X00,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0X80,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X03,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X03,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X03,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X03,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X03,0XF8,0X70,0XE1,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X3F,0XFF,0XF8,0X00,0X01,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X7F,0XFF,0XF8,0X00,0X01,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XF8,0X00,0X01,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XF8,0X00,0X01,0X81,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XF8,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFF,0XFE,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC3,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC3,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC3,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XC3,0XFC,0X3F,0XEF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X07,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X70,0X07,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XE0,0X03,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE0,0X03,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE1,0XC3,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XC3,0XFC,0X3F,0XE1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE7,0XC3,0XFC,0X3F,0XC1,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XC3,0XC7,0XC3,0XE0,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X0F,0XC3,0XC0,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XC3,0X80,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XC3,0X80,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XC3,0X00,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XC2,0X04,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XC2,0X0C,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X1C,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X1C,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X3C,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X7C,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XC0,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XC0,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XC1,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XC3,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X63,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XE3,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE3,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
|
||||||
|
]
|
||||||
|
|
||||||
|
if EPD02X13 == 1:
|
||||||
|
xDot = 122
|
||||||
|
yDot = 250
|
||||||
|
DELAYTIME = 2
|
||||||
|
waveshare = [
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XFF,0XEF,0XFB,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XFF,0XC7,0XF0,0X7F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X0F,0XFF,0X81,0XC0,0X7F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0X03,0X80,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X07,0XFF,0XFC,0X07,0X00,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X7F,0XFF,0XF8,0X0C,0X00,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE3,0XFF,0XFF,0XF0,0X18,0X00,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X30,0X00,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XF0,0XF8,0X3F,0XFF,0XDF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X0F,0XF9,0XFC,0XFF,0XFF,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X70,0X07,0XFE,0X01,0XC7,0XF8,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XF0,0X03,0XFE,0X01,0XC6,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE0,0X03,0XFE,0X01,0XC6,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE1,0X83,0XFF,0XF1,0XC6,0X00,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XE0,0X01,0XC6,0X3F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XE0,0X01,0XC6,0X3F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XE0,0X01,0XC6,0X3F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC7,0XE0,0X01,0XC6,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0X87,0XFF,0XF1,0XC6,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0X8F,0XFE,0X01,0XC6,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XFE,0X01,0XC6,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFE,0X01,0XC7,0XFC,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFC,0X3F,0XF8,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XFF,0XE0,0X1F,0XFC,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XFF,0X00,0X03,0XFC,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X00,0X30,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0XFF,0XE0,0X07,0XF0,0X00,0X7F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XF0,0X07,0XF8,0X00,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X3F,0XFF,0XF7,0X86,0X00,0X00,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X07,0XFF,0XFF,0X80,0X00,0X10,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X01,0XFF,0XFF,0X80,0X00,0XF8,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X3F,0XFF,0X80,0X0F,0XFC,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X07,0XFF,0X87,0XFF,0XFE,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0X80,0X7F,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XF1,0X80,0X7F,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X03,0XF1,0X80,0X7C,0X7F,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X07,0XF1,0X80,0X4C,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X3F,0XF1,0X8F,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X01,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X07,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X3F,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0XFF,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X3F,0XF1,0X8F,0XFC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X0F,0XF0,0X00,0X04,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X0F,0XF0,0X00,0X04,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X07,0XF0,0X00,0X04,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X07,0XF0,0X00,0X04,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X43,0X03,0XF0,0X00,0X04,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0X83,0XF1,0X8F,0XFC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0XC3,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XC7,0XF1,0X8C,0XCC,0X63,0X8F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0X87,0XF1,0X8C,0XCC,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0X07,0XF1,0X8F,0XCC,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XFF,0XF1,0X80,0X4C,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XF1,0X80,0X7C,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0X80,0X7C,0X00,0X07,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X7F,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X0F,0X87,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XC3,0XFE,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X03,0XC3,0XFE,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X83,0XC3,0XFE,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC1,0XC3,0XFE,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC1,0XC3,0XFE,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC0,0X83,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE0,0X07,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE0,0X07,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XF0,0X07,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XF0,0X0F,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X1E,0X1E,0X1F,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X03,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X7F,0XFF,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFE,0X1E,0X1E,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,0XFF,0XFE,0X00,0X00,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XFE,0X00,0X00,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XFE,0X00,0X00,0X1F,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XFF,0XFF,0XFE,0X00,0X00,0X1E,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XFE,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XC0,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFF,0XFF,0XC0,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XFF,0XFF,0XFF,0XE0,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XFF,0XFF,0XFF,0XE0,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XF0,0X7F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X0F,0XF0,0X7F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X70,0X07,0XF0,0X7F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XF0,0X03,0XF0,0X7F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XE0,0X03,0XF0,0X7F,0X83,0XFE,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE1,0X83,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC3,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0XC7,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XE3,0X87,0XF0,0X7F,0X83,0XFE,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0X8F,0XF0,0X7F,0X83,0XFC,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X78,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XF0,0X70,0X00,0X00,0X0F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X03,0XF0,0X70,0X00,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X03,0XF0,0X70,0X00,0X00,0X1F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X03,0XF0,0X60,0X00,0X00,0X3F,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X60,0X00,0X01,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X41,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X43,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X0F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X0F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X1F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X1F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X3F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X03,0XF0,0X3F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XF0,0X7F,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X43,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE1,0XC3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XC3,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X03,0X87,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0
|
||||||
|
]
|
||||||
|
if EPD1X54 == 1:
|
||||||
|
xDot = 200
|
||||||
|
yDot = 200
|
||||||
|
DELAYTIME = 0.5
|
||||||
|
waveshare = [
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFC,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,
|
||||||
|
0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XC0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X1F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X00,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0X80,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0XFF,0XFF,0XDF,
|
||||||
|
0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0XFF,0X8F,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,
|
||||||
|
0XFF,0X07,0X81,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0XFF,0XFE,0X0E,0X00,0X00,0X3F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,
|
||||||
|
0X01,0XFF,0XFC,0X1C,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X0F,0XFF,0XF0,0X30,0X00,0X00,0X3F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFC,0X00,0XFF,0XFF,0XE0,0X40,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X0F,0XFF,0XFF,0XF0,0XE0,0XFF,
|
||||||
|
0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFC,0X7F,0XFF,0XFF,0XFB,0XF1,0XFF,0XFC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X07,0X1F,0XE0,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X07,0XFF,0XFC,0X07,0X18,0X00,0X7F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X01,
|
||||||
|
0XFF,0XFC,0X07,0X18,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X1C,0X01,0XFF,0XFF,0XC7,0X18,0X07,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,
|
||||||
|
0X38,0X00,0XFF,0XE0,0X07,0X18,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0X00,0XFF,0XE0,0X07,0X18,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X78,0X70,0XFF,0XE0,0X07,0X18,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XFF,0XC7,
|
||||||
|
0X18,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFC,0X78,0XF9,0XFF,0XFC,0X07,0X18,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X30,0XF1,0XFF,
|
||||||
|
0XFC,0X07,0X18,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X03,0XFF,0XFC,0X07,0X1F,0XE1,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,
|
||||||
|
0X00,0XFF,0XFF,0XF0,0X7F,0XE1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0XFF,0XFF,0XC0,0X7F,0XF0,0X7F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFE,0X00,0X00,0XFF,0XFE,0X00,0X0F,0XE0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XF0,0X00,0X00,
|
||||||
|
0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XC0,0X00,0XFF,0XE0,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,
|
||||||
|
0X0F,0XF0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0X0F,0XC0,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XFF,0XFF,0XFF,0X00,0X01,0XC0,0X7F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X03,0XFF,0XFF,0XFF,0X00,0X0F,0XF0,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X7F,0XFF,0XFF,0X0F,0XFF,0XF8,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X00,0X0F,0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X01,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XFF,
|
||||||
|
0XFF,0X81,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0XFF,0XF1,0X81,0XF1,0XFC,0X7F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XE0,0XFF,0XF1,0X81,0XF1,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XFF,0XF1,0X8F,0X31,0X8C,0X7F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XE0,0X00,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X07,0XFF,0XF1,0X89,0X31,
|
||||||
|
0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFC,0X00,0X1F,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0XFF,0XFF,0XF1,
|
||||||
|
0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X07,0XFF,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,
|
||||||
|
0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFF,0XFF,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XF1,0X8F,0XF1,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X1F,0XFF,0XF0,0X00,0X11,0X8C,
|
||||||
|
0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XC0,0X07,0XFF,0XF0,0X00,0X11,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X03,0XFF,0XF0,0X00,
|
||||||
|
0X11,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0X00,0X01,0XFF,0XF0,0X00,0X11,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X01,0XFF,
|
||||||
|
0XF1,0X8F,0XF1,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X18,0XC1,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X38,
|
||||||
|
0XF0,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF0,0XFF,0XF1,0X89,0X31,0X8C,0X7F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFC,0X78,0XF8,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XF1,0X89,0X31,
|
||||||
|
0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XF1,0X89,0X31,0X8C,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X38,0XF8,0XFF,0XF1,
|
||||||
|
0X89,0X30,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XF8,0XFF,0XF1,0X8F,0X30,0X00,0X3F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XF8,
|
||||||
|
0XFF,0XF1,0X81,0XF0,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XF9,0XFF,0XF1,0X81,0XF0,0X00,0X3F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0X80,0XF1,0XFF,0XFF,0X81,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XE1,0XFF,
|
||||||
|
0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X01,0XF0,0XFF,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X01,
|
||||||
|
0XF0,0XFF,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XF8,0XFF,0XFE,0X00,0X00,0X0F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFC,0X00,0XF8,0XFF,0XFE,0X1C,0X38,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X30,0X78,0XFF,0XFE,0X1C,0X38,
|
||||||
|
0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFC,0X78,0X78,0XFF,0XFE,0X1C,0X38,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0X30,0XFF,0XFE,
|
||||||
|
0X1C,0X38,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0X00,0XFF,0XFE,0X1C,0X38,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X7C,0X01,
|
||||||
|
0XFF,0XFE,0X1C,0X38,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X7C,0X01,0XFF,0XFE,0X1C,0X38,0X7F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X3E,0X03,0XFF,0XE0,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X07,0XFF,0XE0,0X00,0X00,0X00,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X00,
|
||||||
|
0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X1C,0X38,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0X00,0XFF,
|
||||||
|
0XFE,0X1C,0X38,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0X00,0XFF,0XFE,0X1C,0X38,0X78,0X7F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,
|
||||||
|
0X00,0XFF,0XFE,0X1C,0X38,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0X00,0XFF,0XFE,0X1C,0X38,0X78,0X7F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X00,0X00,0X00,0XFF,0XFE,0X1C,0X38,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8F,0XFF,0XFF,0XFE,0X00,0X00,
|
||||||
|
0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0X1F,0XFF,0XFF,0XFE,0X00,0X00,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X3F,0XFF,0XFF,0XFE,
|
||||||
|
0X00,0X00,0X78,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFE,0X00,0X00,0X60,0X7F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,
|
||||||
|
0XFF,0XFE,0X00,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0X83,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0XFF,
|
||||||
|
0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XF0,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0X0F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0X07,0XFF,0XF0,0XFF,0X0F,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X01,0XFF,0XF0,0XFF,0X0F,
|
||||||
|
0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFE,0X1C,0X01,0XFF,0XF0,0XFF,0X0F,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X38,0X00,0XFF,0XF0,
|
||||||
|
0XFF,0X0F,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0X00,0XFF,0XF0,0XFF,0X0F,0XF8,0X7F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0X70,
|
||||||
|
0XFF,0XF0,0XFF,0X0F,0XF8,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XF0,0XFF,0X0F,0XF8,0X7F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X78,0XF9,0XFF,0XF0,0XFF,0X0F,0XF0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X30,0XF1,0XFF,0XF0,0XF8,0X00,0X00,
|
||||||
|
0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X00,0X03,0XFF,0XF0,0XF0,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0XFF,0XF0,0XE0,
|
||||||
|
0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFE,0X00,0X00,0XFF,0XF0,0XE0,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0XFF,
|
||||||
|
0XF0,0XC0,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XF0,0X81,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,
|
||||||
|
0X00,0XFF,0XF0,0X83,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0X0F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XF0,0X07,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X0F,0X0F,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0X1F,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0XFF,0XF0,
|
||||||
|
0X3F,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0XFF,0XF0,0X3F,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,
|
||||||
|
0XFF,0XF0,0X7F,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X00,0X00,0XFF,0XF0,0XFF,0X0F,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X00,0X00,0XFF,0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XFF,0X0F,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFE,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X3F,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XF0,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XC0,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0X80,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X01,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X18,0XC1,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X38,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
|
||||||
|
0X78,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFC,0X78,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0X78,0XF8,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFC,0X38,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XF8,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,
|
||||||
|
0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XE0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||||
|
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF
|
||||||
|
]
|
||||||
|
|
||||||
|
#Circle
|
||||||
|
Circle3232 = [
|
||||||
|
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x3F,0xFF,0xFF,0x80,0x07,0xFF,
|
||||||
|
0xFE,0x00,0x03,0xFF,0xFC,0x00,0x01,0xFF,0xF8,0x00,0x00,0x7F,0xF0,0x0F,0x80,0x7F,
|
||||||
|
0xE0,0x3F,0xE0,0x3F,0xE0,0x7F,0xF0,0x1F,0xC0,0xFF,0xF8,0x1F,0xC1,0xFF,0xFC,0x1F,
|
||||||
|
0x81,0xFF,0xFC,0x0F,0x83,0xFF,0xFE,0x0F,0x83,0xFF,0xFE,0x0F,0x83,0xFF,0xFE,0x0F,
|
||||||
|
0x83,0xFF,0xFE,0x0F,0x83,0xFF,0xFE,0x0F,0x81,0xFF,0xFC,0x0F,0xC1,0xFF,0xFC,0x1F,
|
||||||
|
0xC0,0xFF,0xF8,0x1F,0xC0,0x7F,0xF8,0x1F,0xE0,0x3F,0xE0,0x3F,0xF0,0x0F,0x80,0x7F,
|
||||||
|
0xF8,0x00,0x00,0x7F,0xF8,0x00,0x00,0xFF,0xFE,0x00,0x03,0xFF,0xFF,0x00,0x07,0xFF,
|
||||||
|
0xFF,0xE0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
|
||||||
|
]
|
||||||
|
#Line
|
||||||
|
Line3232 = [
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,0xFF,0xFE,0x3F,0xFF,
|
||||||
|
]
|
||||||
|
bus = 0
|
||||||
|
device = 0
|
||||||
|
|
||||||
|
|
||||||
|
disp = EPD_driver.EPD_driver(spi=SPI.SpiDev(bus, device))
|
||||||
|
|
||||||
|
#init and Clear full screen
|
||||||
|
print('------------init and Clear full screen------------')
|
||||||
|
disp.Dis_Clear_full()
|
||||||
|
|
||||||
|
#Show full pic
|
||||||
|
print('------------Show full pic------------')
|
||||||
|
disp.Dis_full_pic(waveshare)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#init and Clear part screen
|
||||||
|
print('------------init and Clear part screen------------')
|
||||||
|
disp.Dis_Clear_part()
|
||||||
|
|
||||||
|
#Show part pic
|
||||||
|
print('------------Show part pic------------')
|
||||||
|
disp.Dis_part_pic(0,xDot-1,0,yDot-1,waveshare)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Drawing
|
||||||
|
print('------------Show Circle and Line------------')
|
||||||
|
disp.Dis_Drawing((yDot-32)/8,5,Circle3232,32,32) #Circle
|
||||||
|
disp.Dis_Drawing((yDot-32)/8,0,Line3232,32,32) #Line
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#String
|
||||||
|
print('------------Show string------------')
|
||||||
|
disp.Dis_String(0, 10, "SHOW TIME : ",16)
|
||||||
|
disp.Dis_String(0, 26, "I am an electronic paper display",12)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#Progress
|
||||||
|
print('------------Show Progress------------')
|
||||||
|
disp.Dis_Progress(9)
|
||||||
|
time.sleep(DELAYTIME)
|
||||||
|
|
||||||
|
#time
|
||||||
|
print('------------show time------------')
|
||||||
|
while 1 :
|
||||||
|
now = datetime.datetime.now()
|
||||||
|
now_sec = now.second%10
|
||||||
|
next_sec = 11 #Guaranteed next greater than 9
|
||||||
|
if now_sec != next_sec:
|
||||||
|
disp.Dis_showtime(now.hour,now.minute,now.second)
|
||||||
|
next_sec = now.second%10
|
Loading…
Reference in New Issue
Block a user