add arduino code

This commit is contained in:
hnwangkg-ezio 2019-04-08 17:50:14 +08:00
commit ea758b02ef
1656 changed files with 112690 additions and 12 deletions

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

View file

@ -0,0 +1,65 @@
/**
* @filename : epdif.cpp
* @brief : Implements EPD interface functions
* Users have to implement all the functions in epdif.cpp
* @author : Yehui from Waveshare
*
* Copyright (C) Waveshare August 10 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "epdif.h"
#include <spi.h>
EpdIf::EpdIf() {
};
EpdIf::~EpdIf() {
};
void EpdIf::DigitalWrite(int pin, int value) {
digitalWrite(pin, value);
}
int EpdIf::DigitalRead(int pin) {
return digitalRead(pin);
}
void EpdIf::DelayMs(unsigned int delaytime) {
delay(delaytime);
}
void EpdIf::SpiTransfer(unsigned char data) {
digitalWrite(CS_PIN, LOW);
SPI.transfer(data);
digitalWrite(CS_PIN, HIGH);
}
int EpdIf::IfInit(void) {
pinMode(CS_PIN, OUTPUT);
pinMode(RST_PIN, OUTPUT);
pinMode(DC_PIN, OUTPUT);
pinMode(BUSY_PIN, INPUT);
SPI.begin();
SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
return 0;
}

View file

@ -0,0 +1,51 @@
/**
* @filename : epdif.h
* @brief : Header file of epdif.cpp providing EPD interface functions
* Users have to implement all the functions in epdif.cpp
* @author : Yehui from Waveshare
*
* Copyright (C) Waveshare August 10 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef EPDIF_H
#define EPDIF_H
#include <arduino.h>
// Pin definition
#define RST_PIN 8
#define DC_PIN 9
#define CS_PIN 10
#define BUSY_PIN 7
class EpdIf {
public:
EpdIf(void);
~EpdIf(void);
static int IfInit(void);
static void DigitalWrite(int pin, int value);
static int DigitalRead(int pin);
static void DelayMs(unsigned int delaytime);
static void SpiTransfer(unsigned char data);
};
#endif

View file

@ -0,0 +1,65 @@
/**
* @filename : epd2in13-demo.ino
* @brief : 2.13inch e-paper display demo
* @author : Yehui from Waveshare
*
* Copyright (C) Waveshare September 9 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <SPI.h>
#include "fepd2in13.h"
#include "imagedata.h"
/**
* Due to RAM not enough in Arduino UNO, a frame buffer is not allowed.
* In this case, a smaller image buffer is allocated and you have to
* update a partial display several times.
* 1 byte = 8 pixels, therefore you have to set 8*N pixels at a time.
*/
Epd epd;
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
if (epd.Init() != 0) {
Serial.print("e-Paper init failed\n");
return;
}
//Serial.print("ClearFrameMemory\n");
// epd.ClearFrameMemory(); // bit set = white, bit reset = black
/**
* there are 2 memory areas embedded in the e-paper display
* and once the display is refreshed, the memory area will be auto-toggled,
* i.e. the next action of SetFrameMemory will set the other memory area
* therefore you have to set the frame memory and refresh the display twice.
*/
Serial.print("SetFrameMemory\n");
epd.SetFrameMemory(gImage_IMAGE);
Serial.print("DisplayFrame\n");
epd.DisplayFrame();
}
void loop()
{
}

View file

@ -0,0 +1,292 @@
/**
* @filename : epd2in13.cpp
* @brief : Implements for e-paper library
* @author : Yehui from Waveshare
*
* Copyright (C) Waveshare September 9 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <stdlib.h>
#include "fepd2in13.h"
/**
* full screen update LUT
**/
const unsigned char lut_vcomDC[] = {
0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
0x60, 0x28, 0x28, 0x00, 0x00, 0x01,
0x00, 0x14, 0x00, 0x00, 0x00, 0x01,
0x00, 0x12, 0x12, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00,
};
const unsigned char lut_ww[] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x02,
0x90, 0x28, 0x28, 0x00, 0x00, 0x01,
0x40, 0x14, 0x00, 0x00, 0x00, 0x01,
0xA0, 0x12, 0x12, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
const unsigned char lut_bw[] = {
0x40, 0x17, 0x00, 0x00, 0x00, 0x02,
0x90, 0x0F, 0x0F, 0x00, 0x00, 0x03,
0x40, 0x0A, 0x01, 0x00, 0x00, 0x01,
0xA0, 0x0E, 0x0E, 0x00, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
const unsigned char lut_wb[] = {
0x80, 0x08, 0x00, 0x00, 0x00, 0x02,
0x90, 0x28, 0x28, 0x00, 0x00, 0x01,
0x80, 0x14, 0x00, 0x00, 0x00, 0x01,
0x50, 0x12, 0x12, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
const unsigned char lut_bb[] = {
0x80, 0x08, 0x00, 0x00, 0x00, 0x02,
0x90, 0x28, 0x28, 0x00, 0x00, 0x01,
0x80, 0x14, 0x00, 0x00, 0x00, 0x01,
0x50, 0x12, 0x12, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
Epd::~Epd() {
};
Epd::Epd() {
reset_pin = RST_PIN;
dc_pin = DC_PIN;
cs_pin = CS_PIN;
busy_pin = BUSY_PIN;
width = EPD_WIDTH;
height = EPD_HEIGHT;
};
int Epd::Init() {
Serial.begin(9600);
/* this calls the peripheral hardware interface, see epdif */
if (IfInit() != 0) {
return -1;
}
/* EPD hardware init start */
Reset();
SendCommand(0x01); //POWER SETTING
SendData(0x03);
SendData(0x00);
SendData(0x2b);
SendData(0x2b);
SendData(0x03);
SendCommand(0x06); //boost soft start
SendData(0x17); //A
SendData(0x17); //B
SendData(0x17); //C
SendCommand(0x04);
// WaitUntilIdle();
SendCommand(0x00); //panel setting
SendData(0xbf); //LUT from OTP£¬128x296
SendData(0x0d); //VCOM to 0V fast
SendCommand(0x30); //PLL setting
SendData(0x3a); // 3a 100HZ 29 150Hz 39 200HZ 31 171HZ
SendCommand(0x61); //resolution setting
SendData(EPD_WIDTH);
SendData((EPD_HEIGHT >> 8) & 0xff);
SendData(EPD_HEIGHT& 0xff);
SendCommand(0x82); //vcom_DC setting
SendData(0x28);
/* EPD hardware init end */
return 0;
}
/**
* @brief: basic function for sending commands
*/
void Epd::SendCommand(unsigned char command) {
DigitalWrite(dc_pin, LOW);
SpiTransfer(command);
}
/**
* @brief: basic function for sending data
*/
void Epd::SendData(unsigned char data) {
DigitalWrite(dc_pin, HIGH);
SpiTransfer(data);
}
/**
* @brief: Wait until the busy_pin goes LOW
*/
void Epd::WaitUntilIdle(void) {
while(DigitalRead(busy_pin) == HIGH) { //LOW: idle, HIGH: busy
DelayMs(100);
}
}
/**
* @brief: module reset.
* often used to awaken the module in deep sleep,
* see Epd::Sleep();
*/
void Epd::Reset(void) {
DigitalWrite(reset_pin, LOW); //module reset
DelayMs(200);
DigitalWrite(reset_pin, HIGH);
DelayMs(200);
}
/**
* @brief: set the look-up table register
*/
void Epd::SetFullReg(void)
{
SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING
SendData(0x97); //WBmode:VBDF 17|D7 VBDW 97 VBDB 57 WBRmode:VBDF F7 VBDW 77 VBDB 37 VBDR B7
unsigned int count;
SendCommand(0x20);
for(count=0; count<44; count++) {
SendData(lut_vcomDC[count]);
}
SendCommand(0x21);
for(count=0; count<42; count++) {
SendData(lut_ww[count]);
}
SendCommand(0x22);
for(count=0; count<42; count++) {
SendData(lut_bw[count]);
}
SendCommand(0x23);
for(count=0; count<42; count++) {
SendData(lut_wb[count]);
}
SendCommand(0x24);
for(count=0; count<42; count++) {
SendData(lut_bb[count]);
}
}
void Epd::SetFrameMemory(const unsigned char* image_buffer) {
unsigned char Width, Height, data;
Width = (EPD_WIDTH % 8 == 0)? (EPD_WIDTH / 8 ): (EPD_WIDTH / 8 + 1);
Height = EPD_HEIGHT;
SendCommand(0x10);
for (int j = 0; j < Height; j++) {
for (int i = 0; i < Width; i++) {
SendData(0x00);
}
}
DelayMs(10);
SendCommand(0x13);
for (int j = 0; j < Height; j++) {
for (int i = 0; i < Width; i++) {
data = pgm_read_byte(&image_buffer[i + j * Width]);
SendData(data);
// Serial.print(data);
}
}
DelayMs(10);
SetFullReg();
DisplayFrame();
}
/**
* @brief: clear the frame memory with the specified color.
* this won't update the display.
*/
void Epd::ClearFrameMemory() {
unsigned char Width, Height;
Width = (EPD_WIDTH % 8 == 0)? (EPD_WIDTH / 8 ): (EPD_WIDTH / 8 + 1);
Height = EPD_HEIGHT;
SendCommand(0x10);
for (int j = 0; j < Height; j++) {
for (int i = 0; i < Width; i++) {
SendData(0x00);
}
}
DelayMs(10);
SendCommand(0x13);
for (int j = 0; j < Height; j++) {
for (int i = 0; i < Width; i++) {
SendData(0xFF);
}
}
DelayMs(10);
SetFullReg();
DisplayFrame();
}
/**
* @brief: update the display
* there are 2 memory areas embedded in the e-paper display
* but once this function is called,
* the the next action of SetFrameMemory or ClearFrame will
* set the other memory area.
*/
void Epd::DisplayFrame(void) {
SendCommand(0x12);
DelayMs(100);
WaitUntilIdle();
}
/**
* @brief: After this command is transmitted, the chip would enter the
* deep-sleep mode to save power.
* The deep sleep mode would return to standby by hardware reset.
* You can use Epd::Init() to awaken
*/
void Epd::Sleep() {
SendCommand(0X50);
SendData(0xf7);
SendCommand(0X02); //power off
SendCommand(0X07); //deep sleep
SendData(0xA5);
}
/* END OF FILE */

View file

@ -0,0 +1,67 @@
/**
* @filename : epd2in13.h
* @brief : Header file for e-paper display library epd2in13.cpp
* @author : Yehui from Waveshare
*
* Copyright (C) Waveshare September 9 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#ifndef FEPD2IN13_H
#define FEPD2IN13_H
#include "epdif.h"
// Display resolution
/* the resolution is 122x250 in fact */
/* however, the logical resolution is 128x250 */
#define EPD_WIDTH 104
#define EPD_HEIGHT 212
class Epd : EpdIf {
public:
unsigned long width;
unsigned long height;
Epd();
~Epd();
int Init();
void SendCommand(unsigned char command);
void SendData(unsigned char data);
void WaitUntilIdle(void);
void Reset(void);
void SetFrameMemory(const unsigned char* image_buffer);
void ClearFrameMemory();
void DisplayFrame(void);
void Sleep(void);
private:
unsigned int reset_pin;
unsigned int dc_pin;
unsigned int cs_pin;
unsigned int busy_pin;
const unsigned char* lut;
void SetFullReg(void);
};
#endif /* EPD2IN13_H */
/* END OF FILE */

View file

@ -0,0 +1,205 @@
/**
* @filename : imagedata.cpp
* @brief : data file for epd demo
*
* Copyright (C) Waveshare September 5 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include "imagedata.h"
#include <avr/pgmspace.h>
const unsigned char gImage_IMAGE[] PROGMEM = { /* 0X00,0X01,0X68,0X00,0XD4,0X00, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF0,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XC0,0X19,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBE,0X09,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7C,0X01,0XFF,
0XF0,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X70,0X01,0XFF,0XF0,0X00,0X3F,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X60,0X01,0XFF,0XF0,0X00,0X01,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF0,0X40,0X01,0XFF,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XF8,
0X00,0X00,0X01,0XFF,0XFF,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XC1,0XFF,0XC0,0X01,
0XFF,0XFF,0XC0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0X1F,0XFF,0XF0,0X09,0XFF,0XFF,0XF0,
0X3E,0X00,0XFF,0XFF,0XFF,0XFC,0X7F,0XFF,0XFC,0X39,0XFF,0XFF,0XF8,0X0F,0XE0,0XFF,
0XFF,0XFF,0XF1,0XFF,0XFF,0XFE,0X39,0XFF,0XFF,0XFE,0X07,0XFC,0XFF,0XFF,0XFF,0XE7,
0XFF,0XFF,0XFF,0X39,0XFF,0XFF,0XFF,0X81,0XFF,0XFF,0XFF,0XFF,0XCF,0XFF,0XFF,0XFF,
0X99,0XFF,0XFF,0XFF,0XC0,0XFF,0XFF,0XFF,0XFF,0X9F,0XFF,0XFF,0XFF,0XC9,0XFF,0XFF,
0XFF,0XF0,0X7F,0XFF,0XFF,0XFF,0X3F,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XFF,0XF8,0X3F,
0XFF,0XFF,0XFE,0X7F,0XFF,0XFF,0XFF,0XE1,0XFF,0XFF,0XFF,0XFC,0X0F,0XFF,0XFF,0XFE,
0X7F,0XFF,0XFF,0XFF,0XF1,0XFF,0XFF,0XFF,0XFE,0X0F,0XFF,0XFF,0XFC,0XFF,0XFF,0XFF,
0XFF,0XF1,0XFF,0XF0,0X0F,0XFF,0X07,0XFF,0XFF,0XF9,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,
0XF0,0X01,0XFF,0X83,0XFF,0XFF,0XF9,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,0X00,0X3F,
0XC3,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,0X00,0X07,0XC1,0XFF,0XFF,
0XF3,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0X00,0X00,0X61,0XFF,0XFF,0XE7,0XFF,0XFF,
0XFF,0XFF,0XF9,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XE7,0XFF,0XFF,0XFF,0XFF,0XF9,
0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XCF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFF,0XFF,
0XE0,0X01,0XFF,0XFF,0XCF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFE,0X03,0XFF,0X03,0XFF,
0XFF,0XCF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XF8,0X00,0X3F,0XFF,0XFF,0XFF,0X9F,0XFF,
0XFF,0XFF,0XFF,0XFC,0XFF,0XF0,0X00,0X07,0XFF,0XFF,0XFF,0X9F,0XFF,0XFF,0XFF,0XFF,
0XFC,0XFF,0XF0,0X00,0X01,0XFF,0XFF,0XFF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XF0,
0XF0,0X00,0X7F,0XFF,0XFF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XF0,0XFF,0X80,0X3F,
0XFF,0XFF,0X3F,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XF0,0X7F,0XE0,0X1F,0XFF,0XFF,0X7F,
0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XF0,0X3F,0XF8,0X0F,0XFF,0XFE,0X7F,0XFF,0XFF,0XFF,
0XFF,0XFC,0XFF,0XF8,0X1F,0XFE,0X07,0XFF,0XFE,0X7F,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,
0XFC,0X1F,0XFF,0X07,0XFF,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFC,0X0F,0XFF,
0X83,0XFF,0XFC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFE,0X07,0XFF,0X83,0XFF,0XFC,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFF,0XFF,0X81,0XFF,0XC1,0XFF,0XFC,0XFF,0XFF,0XFF,
0XFF,0XFF,0XF9,0XFF,0XFF,0XC0,0XFF,0XC1,0XFF,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,
0XFF,0XFF,0XE0,0X7F,0XE1,0XFF,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XF0,
0X1F,0XE1,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,0X7C,0X0F,0XE0,0XFF,
0XF3,0XFF,0X7F,0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,0X02,0X03,0XE0,0XFF,0XE7,0XFF,0X1F,
0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,0X00,0X00,0XF0,0XFF,0XCF,0XFF,0XCF,0XFF,0XFF,0XFF,
0XF9,0XFF,0XF0,0X00,0X00,0X30,0XF3,0X8F,0XFF,0XE7,0XFF,0XFF,0XFF,0XF9,0XFF,0XF0,
0X00,0X00,0X00,0XF9,0X1F,0XFF,0XF3,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XF8,0X00,0X00,
0XFC,0X3F,0XFF,0XF9,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XFF,0XC0,0X00,0XFC,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XFF,0XFE,0X00,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XF9,0XFF,0XFF,0XFF,0XFF,0XF0,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,
0XFF,0XFF,0XFF,0XFF,0XC7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XC0,0X7F,
0XFF,0X8F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFE,0X00,0X07,0XFF,0X1F,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFC,0X00,0X01,0XFF,0X3F,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFD,0XFF,0XF8,0X00,0X00,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,
0XFF,0XF0,0X3E,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFF,0XF0,0XFF,
0XC0,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFF,0XF0,0XFF,0XF8,0X0F,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFD,0XFF,0XF0,0XFF,0XFE,0X07,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF9,0XFF,0XE0,0XFF,0XFF,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF9,0XFF,0XF0,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X09,0XFF,0XF0,
0X7F,0XFF,0XC1,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X01,0XFF,0XF0,0X7F,0XFF,0XE1,
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0X7F,0XC0,0X7F,0XF8,0X3F,0XFF,0XE1,0XFF,0XFF,0XFF,
0XFF,0XFF,0X8F,0XFF,0XFC,0X3F,0XF8,0X1F,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XF8,0X3F,
0XFF,0X1F,0X1F,0XFC,0X0F,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0X80,0X7F,0XC0,0X03,0XCF,
0XFE,0X03,0XFF,0XF1,0XFF,0XFF,0XFF,0XFE,0X1F,0XFC,0X00,0X01,0XE7,0XFF,0X00,0XFF,
0XF1,0X7F,0XFF,0XFF,0XF0,0XFF,0X00,0X00,0X00,0XE7,0XFF,0X80,0X1F,0XE1,0X3F,0XFF,
0XFF,0XC7,0XF8,0X00,0X00,0X00,0XE7,0XFF,0XC0,0X00,0X01,0X3F,0XFF,0XFF,0X1F,0XE0,
0X00,0X00,0X00,0XE7,0XFF,0XF0,0X00,0X03,0X1F,0XFF,0XFE,0X7F,0X00,0X00,0X00,0X01,
0XE7,0XFF,0XF8,0X00,0X07,0X9F,0XFF,0XFF,0XF8,0X00,0X00,0X00,0X01,0XE7,0XFF,0XFF,
0X00,0X1F,0XCF,0XFF,0XFF,0XE0,0X00,0X00,0X00,0X01,0XCF,0XFF,0XFF,0XF9,0XFF,0XE7,
0XFF,0XFF,0X00,0X00,0X00,0X00,0X03,0XCF,0XFF,0X00,0X1F,0XFF,0XF3,0XFF,0XFC,0X00,
0X00,0X00,0X00,0X03,0X9F,0XFE,0X00,0X03,0XFF,0XF9,0XFF,0XFC,0X00,0X00,0X00,0X00,
0X07,0X9F,0XF8,0X00,0X00,0XFF,0XFC,0X7F,0XFE,0X00,0X30,0X00,0X00,0X0F,0X3F,0XF8,
0X00,0X00,0X3F,0XFE,0X1F,0XFC,0X07,0XE0,0X00,0X00,0X1E,0X7F,0XF0,0X7F,0X80,0X1F,
0XFF,0X8F,0XF8,0X07,0X00,0X00,0X00,0X1C,0XFF,0XF0,0XFF,0XF0,0X0F,0XFF,0XE7,0XFF,
0X00,0X00,0X00,0X00,0X79,0XFF,0XF0,0XFF,0XFC,0X07,0XFF,0XF1,0XFC,0X00,0X00,0X00,
0X00,0XF3,0XFF,0XE0,0XFF,0XFF,0X07,0XFF,0XFC,0XFC,0X00,0X00,0X00,0X01,0XC3,0XFF,
0XE0,0XFF,0XFF,0X83,0XFF,0XFE,0X3F,0X00,0X00,0X00,0X07,0X01,0XFF,0XF0,0X7F,0XFF,
0XC3,0XFF,0XFF,0X8F,0XC0,0X00,0X00,0X1C,0X01,0XFF,0XF0,0X7F,0XFF,0XE1,0XFF,0XFF,
0XE3,0XFC,0X00,0X01,0XF0,0X00,0XFF,0XF0,0X3F,0XFF,0XE1,0XFF,0XFF,0XF8,0X7F,0XF8,
0X7F,0X80,0X00,0XFF,0XF8,0X1F,0XFF,0XE1,0XFF,0XFF,0XFF,0X03,0XFF,0XFC,0X01,0XFC,
0X7F,0XF8,0X0F,0XFF,0XF1,0XFF,0XFF,0XFF,0XE0,0X00,0X00,0X07,0XFE,0X7F,0XFC,0X07,
0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFE,0X7F,0XFE,0X01,0XFF,0XF1,0XFF,
0XFF,0XFF,0XFF,0XFF,0X9F,0XFF,0XFE,0X7F,0XFF,0X00,0X7F,0XF1,0XFF,0XFF,0XFF,0XFF,
0XFF,0X9F,0XFF,0XFE,0X7F,0XFF,0X80,0X03,0XC1,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XFF,
0XFE,0X7F,0XFF,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0XFF,0XFE,0X7F,0XFC,
0X78,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0XFF,0XFE,0X7F,0XF0,0X04,0X00,0X0F,
0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0XFF,0XFE,0X7F,0XF0,0X00,0X00,0X3F,0XFF,0XFF,0XFF,
0XFF,0XFE,0X7F,0XFF,0XFE,0X7F,0XF0,0X00,0X03,0XF0,0XFF,0XFF,0XFF,0XFF,0XFE,0X7F,
0XCF,0XFE,0X7F,0XF0,0X00,0X00,0X30,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XCF,0XFE,0X7F,
0XF0,0X78,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XCF,0XFE,0X7F,0XF0,0X3F,0X00,
0X00,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XCF,0XFE,0X7F,0XF8,0X1F,0XE0,0X00,0XFF,0XFF,
0XFF,0XFF,0XF3,0XFF,0XCF,0XFE,0X7F,0XFC,0X0F,0XFE,0X01,0XFF,0XFF,0XFF,0XFF,0XC7,
0XFF,0XCF,0XFE,0X7F,0XFE,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X8F,0XFF,0XCF,0XFE,
0X7F,0XFF,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X0F,0XFF,0XCF,0XFE,0X7F,0XFF,0X81,
0XFF,0XFF,0XFF,0XFF,0XFF,0XE0,0XCF,0XFF,0XCF,0XFE,0XFF,0XFF,0XC0,0XFF,0XFF,0XFF,
0XFF,0XFC,0X00,0X1F,0XFF,0XCF,0XFE,0XFF,0XFF,0XE0,0X3F,0XFF,0XFF,0XFF,0XE0,0X00,
0X3F,0XFF,0XCF,0XFC,0XFF,0XFF,0XF0,0X1F,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0XDF,
0XFC,0XFF,0XFF,0XFC,0X07,0XFF,0XFF,0XFE,0X30,0X01,0XFF,0XFF,0XDF,0XFE,0X7F,0XF8,
0X7E,0X03,0XFF,0XFF,0XF8,0XE0,0X07,0XFF,0XFF,0XDF,0XFE,0X7F,0XF0,0X03,0X00,0XFF,
0XFF,0XF1,0X80,0X1F,0XFF,0XFF,0XCF,0XFE,0X7F,0XF0,0X00,0X00,0X3F,0XFF,0XC0,0X00,
0X7F,0XFF,0XE3,0XCF,0XFE,0X7F,0XF0,0X00,0X00,0X0F,0XFF,0X80,0X01,0XFF,0XFE,0X00,
0X4F,0XFE,0X7F,0XF0,0X00,0X00,0X03,0XFF,0X00,0X07,0XFF,0XF0,0X00,0X0F,0XFE,0X7F,
0XFF,0XF8,0X00,0X01,0XFE,0X3E,0X3F,0XFF,0XE3,0XE3,0X8F,0XFE,0XFF,0XFF,0XFF,0XC0,
0X00,0XFE,0X7F,0XFF,0XFF,0XE7,0XF3,0XFF,0XFE,0X7F,0XFF,0XFF,0XFE,0X00,0XFC,0XFF,
0XFF,0XFF,0XEF,0XF9,0XFF,0XFE,0X77,0XFF,0XFF,0XFF,0XF8,0XFC,0XFF,0XFF,0XFF,0XCF,
0XFF,0XFF,0XFE,0X60,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,0XFF,0XFF,0XC7,0XFF,0XFF,0XFE,
0X60,0XFF,0XFF,0XFF,0XFF,0XFB,0XFF,0XFF,0XFF,0XC3,0XFF,0XFF,0XFE,0X41,0XFF,0XFF,
0XC3,0XFF,0XF3,0XFF,0XFF,0XFF,0X81,0XFF,0XFF,0XFE,0X41,0XFF,0XFE,0X00,0XFF,0XF3,
0XFF,0XFF,0X80,0X99,0XFF,0XFF,0XFE,0X41,0XFF,0XFC,0X00,0X3F,0XF7,0XFF,0XFF,0X80,
0X1F,0XFF,0XFF,0XFE,0X41,0XFF,0XF8,0X00,0X1F,0XE7,0XFF,0XFF,0XFF,0X8F,0XFF,0XFF,
0XFE,0X41,0XFF,0XF8,0X00,0X0F,0XE7,0XFF,0XFF,0XFF,0XCF,0XFF,0XFF,0XFE,0XC3,0XFF,
0XF0,0X3F,0X07,0XE7,0XFF,0XFF,0XFF,0XE7,0XFF,0XFF,0XFC,0XC3,0XFF,0XE0,0X7F,0XC7,
0X87,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFC,0XC3,0XFF,0XE0,0XFF,0XC3,0X87,0XFF,0XFF,
0XFF,0XF1,0XFF,0XFF,0XF9,0XC3,0XFF,0XC0,0XFF,0XE3,0X07,0XFF,0XFF,0XFF,0XFC,0XFF,
0XFF,0XF3,0XC3,0XFF,0XC1,0XFF,0XE1,0X07,0XFF,0XFF,0XFF,0XFE,0X3F,0XFF,0XE7,0XC3,
0XFF,0XC1,0XFF,0XE1,0X07,0XFF,0XFF,0XFF,0XFF,0X0F,0XFF,0XC7,0XC3,0XFF,0X81,0XFF,
0XE1,0X03,0XFF,0XFF,0XFF,0XFF,0XC1,0XFE,0X03,0XC3,0XFF,0X83,0XFF,0XE0,0X03,0XFF,
0XFF,0XFF,0XFF,0XF8,0X00,0X71,0XE1,0XFF,0X83,0XFF,0XE0,0X01,0XFF,0XFF,0XFF,0XFF,
0XFF,0XC7,0XF0,0XE1,0XFF,0X03,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,
0XF0,0XFF,0X07,0XFF,0XE0,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XF0,0X7E,0X07,
0XFF,0XE0,0XC0,0X7F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XF8,0X18,0X0F,0XFF,0XE1,0XE0,
0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFC,0X00,0X1F,0XFF,0XE1,0XE0,0X3F,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFC,0XFE,0X00,0X1F,0XFF,0XE1,0XF0,0X9F,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFC,0XFF,0X00,0X7F,0XFF,0XC1,0XFC,0XCF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XC0,
0XFF,0XFF,0XC1,0XFC,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFF,0XFF,0XFF,0XC3,
0XFC,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0X83,0XFC,0XF8,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF0,0XFF,0XFF,0XFF,0XFF,0X83,0XFC,0XFE,0X1F,0XFF,0XFF,0XFF,
0XFF,0XE6,0XFF,0XFF,0XFF,0XFF,0XC7,0XFC,0XFF,0X81,0XFF,0XFF,0XFF,0XFF,0XC7,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XC0,0X01,0XFF,0XFF,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFD,0XFF,0X9F,0XFF,0XFF,0XFE,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XF9,0XFF,
0X9F,0XFF,0XFF,0XFC,0X00,0X0F,0XFF,0XFF,0XFF,0XE3,0XFF,0X79,0XFF,0X9F,0XFF,0XFF,
0XFD,0XC0,0X0F,0XFF,0XFF,0XFF,0X80,0XFF,0X39,0XFF,0X9F,0XFF,0XFF,0XFF,0XF0,0X0F,
0XFF,0XFF,0XFF,0X80,0X7F,0X3B,0XFF,0XCF,0XFF,0XFF,0XFF,0XFC,0X0F,0XFF,0XE0,0X3F,
0X80,0X3F,0X33,0XFF,0XC7,0XFF,0XFF,0XFF,0XFE,0X0F,0XFF,0XC0,0X0F,0X00,0X1F,0X33,
0XFF,0XE3,0XFF,0XFF,0XFF,0XFF,0X0F,0XFF,0XC0,0X07,0X80,0X0F,0X87,0XFF,0XF8,0XFF,
0XFF,0XFF,0XFF,0X81,0XFF,0X80,0X03,0X80,0X0F,0XDF,0XFF,0XFC,0X3F,0XFF,0XFF,0XFF,
0XC1,0XFF,0XC0,0X01,0X80,0X07,0XFF,0XFF,0XFF,0X0F,0XFF,0XFF,0XFF,0XC1,0XFF,0XC0,
0X01,0XC0,0X07,0XFF,0XFF,0XFF,0XC3,0XFF,0XFF,0XFF,0XE1,0XFF,0XC0,0X01,0XE0,0X0F,
0XFF,0XFF,0XFF,0XF0,0X7F,0XFF,0XFF,0XE1,0XFF,0XE0,0X01,0XF0,0X0F,0XFF,0XFF,0XFF,
0XFE,0X00,0XFF,0XFF,0XF1,0XFF,0XF0,0X01,0XFC,0X3F,0XFF,0XFF,0XFF,0XFF,0XC2,0X7F,
0XFF,0XF1,0XFC,0X3C,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X7F,0XFF,0XF1,0XE0,
0X1F,0X8F,0XFC,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0X3B,0XFF,0XF1,0XC0,0X0F,0XFF,0XF0,
0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0X39,0XFC,0XF1,0X80,0X07,0XF0,0X00,0X07,0XFF,0XFF,
0XFF,0XFF,0XFF,0X99,0XFC,0XF1,0X80,0X07,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
0X93,0XFC,0XE1,0X80,0X03,0XC0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XC3,0XF8,0XC1,
0X80,0X03,0X80,0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XE3,0XF0,0X01,0XC0,0X03,0X80,
0X00,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X03,0X71,0XE0,0X03,0X00,0X00,0X01,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFE,0X0F,0XF1,0XF0,0X07,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF1,0XFE,0X3F,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF1,0XFF,0XFF,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XFF,0XFF,
0X00,0X00,0X07,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF1,0XF0,0X3F,0X80,0X00,0X07,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XE0,0X0F,0X80,0X00,0X0F,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF3,0XE0,0X07,0X80,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XF3,0XE0,0X07,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XF0,
0X07,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XF8,0X07,0X00,0X01,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFC,0X0F,0X00,0X07,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XBF,0XC0,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XF3,0XFF,0XFF,0XF1,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XF3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF3,0XFF,
0XFF,0XFF,0XFF,0XFF,
};

View file

@ -0,0 +1,30 @@
/**
* @filename : imagedata.h
* @brief : head file for imagedata.cpp
*
* Copyright (C) Waveshare September 5 2017
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documnetation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
extern const unsigned char gImage_IMAGE[];
/* FILE END */