fix arduino,add readme
This commit is contained in:
parent
e25d0bc44a
commit
8973995e53
327 changed files with 10032 additions and 10469 deletions
421
Arduino/epd2in9d/epd2in9d.cpp
Normal file
421
Arduino/epd2in9d/epd2in9d.cpp
Normal file
|
|
@ -0,0 +1,421 @@
|
|||
/*****************************************************************************
|
||||
* | File : epd2in9d.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : 2.9inch e-paper
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2019-06-24
|
||||
* | Info :
|
||||
#
|
||||
# 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 "epd2in9d.h"
|
||||
|
||||
/**
|
||||
* full screen update LUT
|
||||
**/
|
||||
const unsigned char EPD_2IN9D_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 EPD_2IN9D_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 EPD_2IN9D_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 EPD_2IN9D_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 EPD_2IN9D_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,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* partial screen update LUT
|
||||
**/
|
||||
const unsigned char EPD_2IN9D_lut_vcom1[] = {
|
||||
0x00, 0x19, 0x01, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
,0x00, 0x00,
|
||||
};
|
||||
const unsigned char EPD_2IN9D_lut_ww1[] = {
|
||||
0x00, 0x19, 0x01, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
const unsigned char EPD_2IN9D_lut_bw1[] = {
|
||||
0x80, 0x19, 0x01, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
const unsigned char EPD_2IN9D_lut_wb1[] = {
|
||||
0x40, 0x19, 0x01, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
const unsigned char EPD_2IN9D_lut_bb1[] = {
|
||||
0x00, 0x19, 0x01, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
/**
|
||||
* @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 HIGH
|
||||
*/
|
||||
void Epd::WaitUntilIdle(void)
|
||||
{
|
||||
char busy;
|
||||
do {
|
||||
SendCommand(0x71);
|
||||
busy = DigitalRead(busy_pin);
|
||||
busy =!(busy & 0x01);
|
||||
} while(busy);
|
||||
DelayMs(200);
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
function : LUT download
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void Epd::SetFullReg(void)
|
||||
{
|
||||
SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING
|
||||
SendData(0xb7); //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(EPD_2IN9D_lut_vcomDC[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x21);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_ww[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x22);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_bw[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x23);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_wb[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x24);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_bb[count]);
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
function : LUT download
|
||||
parameter:
|
||||
******************************************************************************/
|
||||
void Epd::SetPartReg(void)
|
||||
{
|
||||
SendCommand(0x82); //vcom_DC setting
|
||||
SendData(0x00);
|
||||
SendCommand(0X50);
|
||||
SendData(0xb7);
|
||||
|
||||
unsigned int count;
|
||||
SendCommand(0x20);
|
||||
for(count=0; count<44; count++) {
|
||||
SendData(EPD_2IN9D_lut_vcom1[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x21);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_ww1[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x22);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_bw1[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x23);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_wb1[count]);
|
||||
}
|
||||
|
||||
SendCommand(0x24);
|
||||
for(count=0; count<42; count++) {
|
||||
SendData(EPD_2IN9D_lut_bb1[count]);
|
||||
}
|
||||
}
|
||||
|
||||
void Epd::TurnOnDisplay(void)
|
||||
{
|
||||
SendCommand(0x12); //DISPLAY REFRESH
|
||||
DelayMs(10); //!!!The delay here is necessary, 200uS at least!!!
|
||||
|
||||
WaitUntilIdle();
|
||||
}
|
||||
|
||||
int Epd::Init(void)
|
||||
{
|
||||
/* this calls the peripheral hardware interface, see epdif */
|
||||
if (IfInit() != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
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(0x0e); //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);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: module reset.
|
||||
* often used to awaken the module in deep sleep,
|
||||
* see Epd::Sleep();
|
||||
*/
|
||||
void Epd::Reset(void)
|
||||
{
|
||||
DigitalWrite(reset_pin, HIGH);
|
||||
DelayMs(200);
|
||||
DigitalWrite(reset_pin, LOW); //module reset
|
||||
DelayMs(10);
|
||||
DigitalWrite(reset_pin, HIGH);
|
||||
DelayMs(200);
|
||||
}
|
||||
|
||||
void Epd::Clear(void)
|
||||
{
|
||||
int w, h;
|
||||
w = (EPD_WIDTH % 8 == 0)? (EPD_WIDTH / 8 ): (EPD_WIDTH / 8 + 1);
|
||||
h = EPD_HEIGHT;
|
||||
|
||||
SendCommand(0x10);
|
||||
for (int j = 0; j < h; j++) {
|
||||
for (int i = 0; i < w; i++) {
|
||||
SendData(0x00);
|
||||
}
|
||||
}
|
||||
|
||||
SendCommand(0x13);
|
||||
for (int j = 0; j < h; j++) {
|
||||
for (int i = 0; i < w; i++) {
|
||||
SendData(0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
SetFullReg();
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
void Epd::Display(const unsigned char* frame_buffer)
|
||||
{
|
||||
int w = (EPD_WIDTH % 8 == 0)? (EPD_WIDTH / 8 ): (EPD_WIDTH / 8 + 1);
|
||||
int h = EPD_HEIGHT;
|
||||
|
||||
SendCommand(0x10);
|
||||
for (int j = 0; j < h; j++) {
|
||||
for (int i = 0; i < w; i++) {
|
||||
SendData(0x00);
|
||||
}
|
||||
}
|
||||
// Dev_Delay_ms(10);
|
||||
|
||||
SendCommand(0x13);
|
||||
for (int j = 0; j < h; j++) {
|
||||
for (int i = 0; i < w; i++) {
|
||||
SendData(pgm_read_byte(&frame_buffer[i + j * w]));
|
||||
}
|
||||
}
|
||||
// Dev_Delay_ms(10);
|
||||
|
||||
SetFullReg();
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
void Epd::DisplayPart(const unsigned char* frame_buffer)
|
||||
{
|
||||
/* Set partial Windows */
|
||||
SetPartReg();
|
||||
SendCommand(0x91); //This command makes the display enter partial mode
|
||||
SendCommand(0x90); //resolution setting
|
||||
SendData(0); //x-start
|
||||
SendData(EPD_WIDTH - 1); //x-end
|
||||
|
||||
SendData(0);
|
||||
SendData(0); //y-start
|
||||
SendData(EPD_HEIGHT / 256);
|
||||
SendData(EPD_HEIGHT % 256 - 1); //y-end
|
||||
SendData(0x28);
|
||||
int w = (EPD_WIDTH % 8 == 0)? (EPD_WIDTH / 8 ): (EPD_WIDTH / 8 + 1);
|
||||
int h = EPD_HEIGHT;
|
||||
|
||||
/* send data */
|
||||
SendCommand(0x13);
|
||||
for (int j = 0; j < h; j++) {
|
||||
for (int i = 0; i < w; i++) {
|
||||
SendData(pgm_read_byte(&frame_buffer[i + j * w]));
|
||||
}
|
||||
}
|
||||
|
||||
/* Set partial refresh */
|
||||
TurnOnDisplay();
|
||||
}
|
||||
|
||||
/**
|
||||
* @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.
|
||||
* The only one parameter is a check code, the command would be
|
||||
* executed if check code = 0xA5.
|
||||
* You can use Epd::Init() to awaken
|
||||
*/
|
||||
void Epd::Sleep()
|
||||
{
|
||||
SendCommand(0X50);
|
||||
SendData(0xf7);
|
||||
SendCommand(0X02); //power off
|
||||
WaitUntilIdle();
|
||||
SendCommand(0X07); //deep sleep
|
||||
SendData(0xA5);
|
||||
|
||||
DigitalWrite(reset_pin, LOW);
|
||||
}
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
|
||||
76
Arduino/epd2in9d/epd2in9d.h
Normal file
76
Arduino/epd2in9d/epd2in9d.h
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
/*****************************************************************************
|
||||
* | File : epd2in9d.h
|
||||
* | Author : Waveshare team
|
||||
* | Function : 2.9inch e-paper
|
||||
* | Info :
|
||||
*----------------
|
||||
* | This version: V1.0
|
||||
* | Date : 2019-06-24
|
||||
* | Info :
|
||||
#
|
||||
# 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 epd2in9d_H
|
||||
#define epd2in9d_H
|
||||
|
||||
#include "epdif.h"
|
||||
|
||||
// Display resolution
|
||||
#define EPD_WIDTH 128
|
||||
#define EPD_HEIGHT 296
|
||||
|
||||
#define FULL 0
|
||||
#define PART 1
|
||||
|
||||
class Epd : EpdIf {
|
||||
public:
|
||||
unsigned long width;
|
||||
unsigned long height;
|
||||
|
||||
Epd();
|
||||
~Epd();
|
||||
int Init(void);
|
||||
void SendCommand(unsigned char command);
|
||||
void SendData(unsigned char data);
|
||||
void WaitUntilIdle(void);
|
||||
void SetFullReg(void);
|
||||
void SetPartReg(void);
|
||||
void TurnOnDisplay(void);
|
||||
|
||||
|
||||
|
||||
void Reset(void);
|
||||
void Clear(void);
|
||||
void Display(const unsigned char* frame_buffer);
|
||||
void DisplayPartBaseImage(const unsigned char* frame_buffer);
|
||||
void DisplayPart(const unsigned char* frame_buffer);
|
||||
|
||||
void Sleep(void);
|
||||
private:
|
||||
unsigned int reset_pin;
|
||||
unsigned int dc_pin;
|
||||
unsigned int cs_pin;
|
||||
unsigned int busy_pin;
|
||||
};
|
||||
|
||||
#endif /* EPD1IN54B_H */
|
||||
|
||||
/* END OF FILE */
|
||||
32
Arduino/epd2in9d/epd2in9d.ino
Normal file
32
Arduino/epd2in9d/epd2in9d.ino
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#include <SPI.h>
|
||||
#include "epd2in9d.h"
|
||||
#include "imagedata.h"
|
||||
|
||||
Epd epd;
|
||||
|
||||
void setup()
|
||||
{
|
||||
// put your setup code here, to run once:
|
||||
Serial.begin(9600);
|
||||
if (epd.Init() != 0) {
|
||||
Serial.println("e-Paper init failed");
|
||||
return;
|
||||
}
|
||||
|
||||
Serial.println("e-Paper clear");
|
||||
epd.Clear();
|
||||
|
||||
Serial.println("e-Paper show pic");
|
||||
epd.Display(IMAGE_DATA);
|
||||
|
||||
Serial.println("e-Paper clear and sleep");
|
||||
epd.Clear();
|
||||
epd.Sleep();
|
||||
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
65
Arduino/epd2in9d/epdif.cpp
Normal file
65
Arduino/epd2in9d/epdif.cpp
Normal 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;
|
||||
}
|
||||
|
||||
51
Arduino/epd2in9d/epdif.h
Normal file
51
Arduino/epd2in9d/epdif.h
Normal 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
|
||||
342
Arduino/epd2in9d/epdpaint.cpp
Normal file
342
Arduino/epd2in9d/epdpaint.cpp
Normal file
|
|
@ -0,0 +1,342 @@
|
|||
/**
|
||||
* @filename : epdpaint.cpp
|
||||
* @brief : Paint tools
|
||||
* @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 <avr/pgmspace.h>
|
||||
#include "epdpaint.h"
|
||||
|
||||
Paint::Paint(unsigned char* image, int width, int height) {
|
||||
this->rotate = ROTATE_0;
|
||||
this->image = image;
|
||||
/* 1 byte = 8 pixels, so the width should be the multiple of 8 */
|
||||
this->width = width % 8 ? width + 8 - (width % 8) : width;
|
||||
this->height = height;
|
||||
}
|
||||
|
||||
Paint::~Paint() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: clear the image
|
||||
*/
|
||||
void Paint::Clear(int colored) {
|
||||
for (int x = 0; x < this->width; x++) {
|
||||
for (int y = 0; y < this->height; y++) {
|
||||
DrawAbsolutePixel(x, y, colored);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a pixel by absolute coordinates.
|
||||
* this function won't be affected by the rotate parameter.
|
||||
*/
|
||||
void Paint::DrawAbsolutePixel(int x, int y, int colored) {
|
||||
if (x < 0 || x >= this->width || y < 0 || y >= this->height) {
|
||||
return;
|
||||
}
|
||||
if (IF_INVERT_COLOR) {
|
||||
if (colored) {
|
||||
image[(x + y * this->width) / 8] |= 0x80 >> (x % 8);
|
||||
} else {
|
||||
image[(x + y * this->width) / 8] &= ~(0x80 >> (x % 8));
|
||||
}
|
||||
} else {
|
||||
if (colored) {
|
||||
image[(x + y * this->width) / 8] &= ~(0x80 >> (x % 8));
|
||||
} else {
|
||||
image[(x + y * this->width) / 8] |= 0x80 >> (x % 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: Getters and Setters
|
||||
*/
|
||||
unsigned char* Paint::GetImage(void) {
|
||||
return this->image;
|
||||
}
|
||||
|
||||
int Paint::GetWidth(void) {
|
||||
return this->width;
|
||||
}
|
||||
|
||||
void Paint::SetWidth(int width) {
|
||||
this->width = width % 8 ? width + 8 - (width % 8) : width;
|
||||
}
|
||||
|
||||
int Paint::GetHeight(void) {
|
||||
return this->height;
|
||||
}
|
||||
|
||||
void Paint::SetHeight(int height) {
|
||||
this->height = height;
|
||||
}
|
||||
|
||||
int Paint::GetRotate(void) {
|
||||
return this->rotate;
|
||||
}
|
||||
|
||||
void Paint::SetRotate(int rotate){
|
||||
this->rotate = rotate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a pixel by the coordinates
|
||||
*/
|
||||
void Paint::DrawPixel(int x, int y, int colored) {
|
||||
int point_temp;
|
||||
if (this->rotate == ROTATE_0) {
|
||||
if(x < 0 || x >= this->width || y < 0 || y >= this->height) {
|
||||
return;
|
||||
}
|
||||
DrawAbsolutePixel(x, y, colored);
|
||||
} else if (this->rotate == ROTATE_90) {
|
||||
if(x < 0 || x >= this->height || y < 0 || y >= this->width) {
|
||||
return;
|
||||
}
|
||||
point_temp = x;
|
||||
x = this->width - y;
|
||||
y = point_temp;
|
||||
DrawAbsolutePixel(x, y, colored);
|
||||
} else if (this->rotate == ROTATE_180) {
|
||||
if(x < 0 || x >= this->width || y < 0 || y >= this->height) {
|
||||
return;
|
||||
}
|
||||
x = this->width - x;
|
||||
y = this->height - y;
|
||||
DrawAbsolutePixel(x, y, colored);
|
||||
} else if (this->rotate == ROTATE_270) {
|
||||
if(x < 0 || x >= this->height || y < 0 || y >= this->width) {
|
||||
return;
|
||||
}
|
||||
point_temp = x;
|
||||
x = y;
|
||||
y = this->height - point_temp;
|
||||
DrawAbsolutePixel(x, y, colored);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a charactor on the frame buffer but not refresh
|
||||
*/
|
||||
void Paint::DrawCharAt(int x, int y, char ascii_char, sFONT* font, int colored) {
|
||||
int i, j;
|
||||
unsigned int char_offset = (ascii_char - ' ') * font->Height * (font->Width / 8 + (font->Width % 8 ? 1 : 0));
|
||||
const unsigned char* ptr = &font->table[char_offset];
|
||||
|
||||
for (j = 0; j < font->Height; j++) {
|
||||
for (i = 0; i < font->Width; i++) {
|
||||
if (pgm_read_byte(ptr) & (0x80 >> (i % 8))) {
|
||||
DrawPixel(x + i, y + j, colored);
|
||||
}
|
||||
if (i % 8 == 7) {
|
||||
ptr++;
|
||||
}
|
||||
}
|
||||
if (font->Width % 8 != 0) {
|
||||
ptr++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this displays a string on the frame buffer but not refresh
|
||||
*/
|
||||
void Paint::DrawStringAt(int x, int y, const char* text, sFONT* font, int colored) {
|
||||
const char* p_text = text;
|
||||
unsigned int counter = 0;
|
||||
int refcolumn = x;
|
||||
|
||||
/* Send the string character by character on EPD */
|
||||
while (*p_text != 0) {
|
||||
/* Display one character on EPD */
|
||||
DrawCharAt(refcolumn, y, *p_text, font, colored);
|
||||
/* Decrement the column position by 16 */
|
||||
refcolumn += font->Width;
|
||||
/* Point on the next character */
|
||||
p_text++;
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a line on the frame buffer
|
||||
*/
|
||||
void Paint::DrawLine(int x0, int y0, int x1, int y1, int colored) {
|
||||
/* Bresenham algorithm */
|
||||
int dx = x1 - x0 >= 0 ? x1 - x0 : x0 - x1;
|
||||
int sx = x0 < x1 ? 1 : -1;
|
||||
int dy = y1 - y0 <= 0 ? y1 - y0 : y0 - y1;
|
||||
int sy = y0 < y1 ? 1 : -1;
|
||||
int err = dx + dy;
|
||||
|
||||
while((x0 != x1) && (y0 != y1)) {
|
||||
DrawPixel(x0, y0 , colored);
|
||||
if (2 * err >= dy) {
|
||||
err += dy;
|
||||
x0 += sx;
|
||||
}
|
||||
if (2 * err <= dx) {
|
||||
err += dx;
|
||||
y0 += sy;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a horizontal line on the frame buffer
|
||||
*/
|
||||
void Paint::DrawHorizontalLine(int x, int y, int line_width, int colored) {
|
||||
int i;
|
||||
for (i = x; i < x + line_width; i++) {
|
||||
DrawPixel(i, y, colored);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a vertical line on the frame buffer
|
||||
*/
|
||||
void Paint::DrawVerticalLine(int x, int y, int line_height, int colored) {
|
||||
int i;
|
||||
for (i = y; i < y + line_height; i++) {
|
||||
DrawPixel(x, i, colored);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a rectangle
|
||||
*/
|
||||
void Paint::DrawRectangle(int x0, int y0, int x1, int y1, int colored) {
|
||||
int min_x, min_y, max_x, max_y;
|
||||
min_x = x1 > x0 ? x0 : x1;
|
||||
max_x = x1 > x0 ? x1 : x0;
|
||||
min_y = y1 > y0 ? y0 : y1;
|
||||
max_y = y1 > y0 ? y1 : y0;
|
||||
|
||||
DrawHorizontalLine(min_x, min_y, max_x - min_x + 1, colored);
|
||||
DrawHorizontalLine(min_x, max_y, max_x - min_x + 1, colored);
|
||||
DrawVerticalLine(min_x, min_y, max_y - min_y + 1, colored);
|
||||
DrawVerticalLine(max_x, min_y, max_y - min_y + 1, colored);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a filled rectangle
|
||||
*/
|
||||
void Paint::DrawFilledRectangle(int x0, int y0, int x1, int y1, int colored) {
|
||||
int min_x, min_y, max_x, max_y;
|
||||
int i;
|
||||
min_x = x1 > x0 ? x0 : x1;
|
||||
max_x = x1 > x0 ? x1 : x0;
|
||||
min_y = y1 > y0 ? y0 : y1;
|
||||
max_y = y1 > y0 ? y1 : y0;
|
||||
|
||||
for (i = min_x; i <= max_x; i++) {
|
||||
DrawVerticalLine(i, min_y, max_y - min_y + 1, colored);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a circle
|
||||
*/
|
||||
void Paint::DrawCircle(int x, int y, int radius, int colored) {
|
||||
/* Bresenham algorithm */
|
||||
int x_pos = -radius;
|
||||
int y_pos = 0;
|
||||
int err = 2 - 2 * radius;
|
||||
int e2;
|
||||
|
||||
do {
|
||||
DrawPixel(x - x_pos, y + y_pos, colored);
|
||||
DrawPixel(x + x_pos, y + y_pos, colored);
|
||||
DrawPixel(x + x_pos, y - y_pos, colored);
|
||||
DrawPixel(x - x_pos, y - y_pos, colored);
|
||||
e2 = err;
|
||||
if (e2 <= y_pos) {
|
||||
err += ++y_pos * 2 + 1;
|
||||
if(-x_pos == y_pos && e2 <= x_pos) {
|
||||
e2 = 0;
|
||||
}
|
||||
}
|
||||
if (e2 > x_pos) {
|
||||
err += ++x_pos * 2 + 1;
|
||||
}
|
||||
} while (x_pos <= 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief: this draws a filled circle
|
||||
*/
|
||||
void Paint::DrawFilledCircle(int x, int y, int radius, int colored) {
|
||||
/* Bresenham algorithm */
|
||||
int x_pos = -radius;
|
||||
int y_pos = 0;
|
||||
int err = 2 - 2 * radius;
|
||||
int e2;
|
||||
|
||||
do {
|
||||
DrawPixel(x - x_pos, y + y_pos, colored);
|
||||
DrawPixel(x + x_pos, y + y_pos, colored);
|
||||
DrawPixel(x + x_pos, y - y_pos, colored);
|
||||
DrawPixel(x - x_pos, y - y_pos, colored);
|
||||
DrawHorizontalLine(x + x_pos, y + y_pos, 2 * (-x_pos) + 1, colored);
|
||||
DrawHorizontalLine(x + x_pos, y - y_pos, 2 * (-x_pos) + 1, colored);
|
||||
e2 = err;
|
||||
if (e2 <= y_pos) {
|
||||
err += ++y_pos * 2 + 1;
|
||||
if(-x_pos == y_pos && e2 <= x_pos) {
|
||||
e2 = 0;
|
||||
}
|
||||
}
|
||||
if(e2 > x_pos) {
|
||||
err += ++x_pos * 2 + 1;
|
||||
}
|
||||
} while(x_pos <= 0);
|
||||
}
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
75
Arduino/epd2in9d/epdpaint.h
Normal file
75
Arduino/epd2in9d/epdpaint.h
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* @filename : epdpaint.h
|
||||
* @brief : Header file for epdpaint.cpp
|
||||
* @author : Yehui from Waveshare
|
||||
*
|
||||
* Copyright (C) Waveshare July 28 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 EPDPAINT_H
|
||||
#define EPDPAINT_H
|
||||
|
||||
// Display orientation
|
||||
#define ROTATE_0 0
|
||||
#define ROTATE_90 1
|
||||
#define ROTATE_180 2
|
||||
#define ROTATE_270 3
|
||||
|
||||
// Color inverse. 1 or 0 = set or reset a bit if set a colored pixel
|
||||
#define IF_INVERT_COLOR 1
|
||||
|
||||
#include "fonts.h"
|
||||
|
||||
class Paint {
|
||||
public:
|
||||
Paint(unsigned char* image, int width, int height);
|
||||
~Paint();
|
||||
void Clear(int colored);
|
||||
int GetWidth(void);
|
||||
void SetWidth(int width);
|
||||
int GetHeight(void);
|
||||
void SetHeight(int height);
|
||||
int GetRotate(void);
|
||||
void SetRotate(int rotate);
|
||||
unsigned char* GetImage(void);
|
||||
void DrawAbsolutePixel(int x, int y, int colored);
|
||||
void DrawPixel(int x, int y, int colored);
|
||||
void DrawCharAt(int x, int y, char ascii_char, sFONT* font, int colored);
|
||||
void DrawStringAt(int x, int y, const char* text, sFONT* font, int colored);
|
||||
void DrawLine(int x0, int y0, int x1, int y1, int colored);
|
||||
void DrawHorizontalLine(int x, int y, int width, int colored);
|
||||
void DrawVerticalLine(int x, int y, int height, int colored);
|
||||
void DrawRectangle(int x0, int y0, int x1, int y1, int colored);
|
||||
void DrawFilledRectangle(int x0, int y0, int x1, int y1, int colored);
|
||||
void DrawCircle(int x, int y, int radius, int colored);
|
||||
void DrawFilledCircle(int x, int y, int radius, int colored);
|
||||
|
||||
private:
|
||||
unsigned char* image;
|
||||
int width;
|
||||
int height;
|
||||
int rotate;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/* END OF FILE */
|
||||
|
||||
1385
Arduino/epd2in9d/font12.c
Normal file
1385
Arduino/epd2in9d/font12.c
Normal file
File diff suppressed because it is too large
Load diff
1765
Arduino/epd2in9d/font16.c
Normal file
1765
Arduino/epd2in9d/font16.c
Normal file
File diff suppressed because it is too large
Load diff
2143
Arduino/epd2in9d/font20.c
Normal file
2143
Arduino/epd2in9d/font20.c
Normal file
File diff suppressed because it is too large
Load diff
2521
Arduino/epd2in9d/font24.c
Normal file
2521
Arduino/epd2in9d/font24.c
Normal file
File diff suppressed because it is too large
Load diff
1005
Arduino/epd2in9d/font8.c
Normal file
1005
Arduino/epd2in9d/font8.c
Normal file
File diff suppressed because it is too large
Load diff
75
Arduino/epd2in9d/fonts.h
Normal file
75
Arduino/epd2in9d/fonts.h
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file fonts.h
|
||||
* @author MCD Application Team
|
||||
* @version V1.0.0
|
||||
* @date 18-February-2014
|
||||
* @brief Header for fonts.c file
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __FONTS_H
|
||||
#define __FONTS_H
|
||||
|
||||
/* Max size of bitmap will based on a font24 (17x24) */
|
||||
#define MAX_HEIGHT_FONT 24
|
||||
#define MAX_WIDTH_FONT 17
|
||||
#define OFFSET_BITMAP 54
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <stdint.h>
|
||||
|
||||
typedef struct _tFont
|
||||
{
|
||||
const uint8_t *table;
|
||||
uint16_t Width;
|
||||
uint16_t Height;
|
||||
|
||||
} sFONT;
|
||||
|
||||
extern sFONT Font24;
|
||||
extern sFONT Font20;
|
||||
extern sFONT Font16;
|
||||
extern sFONT Font12;
|
||||
extern sFONT Font8;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __FONTS_H */
|
||||
|
||||
|
||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
||||
327
Arduino/epd2in9d/imagedata.cpp
Normal file
327
Arduino/epd2in9d/imagedata.cpp
Normal file
|
|
@ -0,0 +1,327 @@
|
|||
/**
|
||||
* @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 IMAGE_DATA[] PROGMEM = {
|
||||
/* 0X00,0X01,0X80,0X00,0X28,0X01, */
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,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,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X38,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X0F,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X7F,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0X80,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X3F,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X07,0XFF,0XC0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X3F,0XFF,0X80,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X07,0XFF,0XC0,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XFF,0XE0,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7C,0X00,0X7F,0XF0,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0X00,0X0F,0XF8,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XC0,0X07,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XE0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X3F,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X07,0XFF,0XC0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X01,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0X00,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X81,0XFE,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X7F,0XC0,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X3F,0XF9,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X1F,0XFF,0XFF,0X80,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X0B,0XFF,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0XFF,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X3F,0XE0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X0F,0X80,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X02,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X18,0XFF,0XFF,0XFE,0X7F,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0XF8,0XFF,0XFF,0XF8,0X1F,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X3F,0XF8,0XFF,0XFF,0XE0,0X0F,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XE0,0XFF,0XFF,0XE0,0X07,0X80,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XFF,0XFF,0XF0,0X03,0XC0,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XFF,0XFF,0XF8,0X00,0XE0,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X3F,0XF0,0XC0,0X00,0X00,0X00,0X70,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X03,0XF8,0XC0,0X00,0X00,0X00,0X18,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X07,0XF8,0XC0,0X00,0X00,0X00,0X04,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0XE0,0XC0,0X00,0X00,0X00,0X06,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XC0,0X00,0X00,0X00,0X07,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XFF,0XFF,0XFF,0XFC,0X07,0XC3,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XE0,0XF8,0XFF,0XFF,0XFE,0X0F,0XE3,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1F,0XF8,0XF8,0X3F,0XFF,0X06,0X00,0X13,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0XF8,0XE0,0X03,0XFF,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X18,0XE0,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X70,0X00,0XF8,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XF9,0X80,0XFE,0X00,0X01,0X06,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XF9,0XC0,0XFF,0XC0,0X01,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFF,0X8F,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XFC,0X00,0X01,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XFE,0X00,0X01,0X06,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFE,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X40,0XFD,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X03,0XC0,0XF8,0X80,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1F,0XC0,0XE0,0X40,0XFF,0X02,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XC0,0X40,0XFF,0X00,0X00,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XC0,0X20,0X7E,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XE0,0X00,0X7E,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X07,0XF0,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1F,0XC0,0XF8,0X03,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X03,0XC0,0XFC,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X40,0XFE,0X00,0X00,0X01,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0X00,0X00,0X7F,0X80,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0X00,0X00,0X7F,0X83,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFC,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XF8,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X03,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XE0,0X07,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XE0,0X1F,0XFC,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XE0,0X3F,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XF8,0X7F,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFC,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X43,0X00,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC7,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X78,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X30,0X40,0XFF,0XFF,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X7F,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X7F,0X83,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X70,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XF9,0X80,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XF9,0XC0,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XC0,0X00,0X03,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XC0,0X00,0X03,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XC0,0X00,0X03,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XFF,0XFE,0X07,0X03,0XC0,0X7F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFC,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF8,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XF0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XE0,0X3E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X40,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0XF0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XE0,0X3E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X02,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF8,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XFF,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFC,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X01,0X80,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X3C,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X3C,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XE0,0X00,0X00,0X00,0X1C,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XF0,0X00,0X00,0X00,0X1C,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XF0,0X00,0X00,0X00,0X0C,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF8,0X00,0X00,0X00,0X04,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1C,0X04,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1E,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1E,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0X00,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0X80,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XC0,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XC0,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X40,0XC0,0XFF,0XFF,0XF8,0X1F,0XE0,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XF0,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X43,0X00,0XFF,0XFF,0XF8,0X1F,0XF8,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XC7,0X80,0XFF,0XFF,0XF8,0X1F,0XF8,0X07,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XF8,0X1F,0XFE,0X1F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0XFC,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0X3F,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X78,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X30,0X40,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XF0,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,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
|
||||
};
|
||||
30
Arduino/epd2in9d/imagedata.h
Normal file
30
Arduino/epd2in9d/imagedata.h
Normal 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 IMAGE_DATA[];
|
||||
|
||||
/* FILE END */
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue