From 31c2e4176e5ac8348ed8e1c1e9261d58a6ce5703 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Tue, 16 Aug 2022 15:53:11 +0800 Subject: [PATCH 1/2] Add 4.37inch e-Paper (G) Arduino Program and some fix. --- Arduino/epd1in64g/epd1in64g.cpp | 37 +- Arduino/epd1in64g/epd1in64g.h | 13 +- Arduino/epd1in64g/epd1in64g.ino | 12 +- Arduino/epd3in0g/epd3in0g.cpp | 43 +- Arduino/epd3in0g/epd3in0g.h | 12 +- Arduino/epd3in0g/epd3in0g.ino | 11 +- Arduino/epd4in37g/epd4in37g.cpp | 262 ++++++++++ Arduino/epd4in37g/epd4in37g.h | 74 +++ Arduino/epd4in37g/epd4in37g.ino | 60 +++ Arduino/epd4in37g/epdif.cpp | 64 +++ Arduino/epd4in37g/epdif.h | 51 ++ Arduino/epd4in37g/imagedata.cpp | 474 ++++++++++++++++++ Arduino/epd4in37g/imagedata.h | 30 ++ Arduino/epd7in3g/epd7in3g.cpp | 45 +- Arduino/epd7in3g/epd7in3g.h | 13 +- Arduino/epd7in3g/epd7in3g.ino | 8 +- Arduino/epd7in3g/imagedata.cpp | 841 ++++++++++++++++---------------- Arduino/epd7in3g/imagedata.h | 2 +- 18 files changed, 1518 insertions(+), 534 deletions(-) create mode 100644 Arduino/epd4in37g/epd4in37g.cpp create mode 100644 Arduino/epd4in37g/epd4in37g.h create mode 100644 Arduino/epd4in37g/epd4in37g.ino create mode 100644 Arduino/epd4in37g/epdif.cpp create mode 100644 Arduino/epd4in37g/epdif.h create mode 100644 Arduino/epd4in37g/imagedata.cpp create mode 100644 Arduino/epd4in37g/imagedata.h diff --git a/Arduino/epd1in64g/epd1in64g.cpp b/Arduino/epd1in64g/epd1in64g.cpp index dca62ac..caec881 100644 --- a/Arduino/epd1in64g/epd1in64g.cpp +++ b/Arduino/epd1in64g/epd1in64g.cpp @@ -58,7 +58,6 @@ int Epd::Init() { SendCommand(0xB0); SendData(0x03);//1 boost 20211113 - SendCommand(0x00); SendData(0x4F); SendData(0x6B); @@ -182,9 +181,7 @@ void Epd::Clear(UBYTE color) SendCommand(0x10); for (UWORD j = 0; j < Height; j++) { for (UWORD i = 0; i < Width; i++) { - for(UBYTE k = 0; k < 4; k++) { - SendData(color); - } + SendData((color << 6) | (color << 4) | (color << 2) | color); } } @@ -216,12 +213,16 @@ void Epd::Display(UBYTE *Image) SendData(pgm_read_byte(&Image[i + j * Width])); } } + + SendCommand(0x68); + SendData(0x00); + TurnOnDisplay(); } -void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh) +void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height) { - UWORD Width, Height; + UWORD Width, Height, i, j; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; @@ -232,20 +233,20 @@ void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_wid ReadBusyH(); SendCommand(0x10); - for (UWORD i = 0; i < Height; i++) { - for (UWORD j = 0; j < Width; j++) { - if((j >= xstart/4) && (j < (image_width + xstart)/4) && (i >= ystart) && (i <= (ystart + image_heigh)) ) - { - SendData(Image[(i-ystart) * image_width/4 + j - xstart/4]); - // Serial.print(Image[(i-ystart) * image_width/8 + j - xstart], HEX); - // Serial.print(" "); + for(i=0; i=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { + SendData(pgm_read_byte(&Image[(j-xstart/4) + (image_width/4*(i-ystart))])); } - else - { - SendData(0x55); - } - } + else { + SendData(0x55); + } + } } + + SendCommand(0x68); + SendData(0x00); + TurnOnDisplay(); } diff --git a/Arduino/epd1in64g/epd1in64g.h b/Arduino/epd1in64g/epd1in64g.h index 6d34f6c..efc93ed 100644 --- a/Arduino/epd1in64g/epd1in64g.h +++ b/Arduino/epd1in64g/epd1in64g.h @@ -33,11 +33,11 @@ #define EPD_WIDTH 168 #define EPD_HEIGHT 168 -//colour -#define black 0x00 -#define white 0x55 -#define yellow 0xAA -#define red 0xFF +// Color +#define black 0x0 +#define white 0x1 +#define yellow 0x2 +#define red 0x3 #define UWORD unsigned int #define UBYTE unsigned char @@ -59,10 +59,9 @@ public: void TurnOnDisplay(void); void Clear(UBYTE color); void Display(UBYTE *Image); - void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh); + void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height); void Sleep(void); - private: unsigned int reset_pin; unsigned int dc_pin; diff --git a/Arduino/epd1in64g/epd1in64g.ino b/Arduino/epd1in64g/epd1in64g.ino index 2c84976..12ccbb7 100644 --- a/Arduino/epd1in64g/epd1in64g.ino +++ b/Arduino/epd1in64g/epd1in64g.ino @@ -39,11 +39,16 @@ void setup() { return; } - Serial.print("While \r\n"); - epd.Clear(white); // While + Serial.print("Image \r\n"); + epd.Display(IMAGE_DATA); delay(2000); - epd.Display(IMAGE_DATA); + Serial.print("White \r\n"); + epd.Clear(white); + delay(2000); + + Serial.print("Small Image \r\n"); + epd.Display_part(IMAGE_DATA, 0, 0, 168, 168); delay(2000); Serial.print("Clear...\r\n"); @@ -52,7 +57,6 @@ void setup() { Serial.print("Goto Sleep...\r\n"); epd.Sleep(); - } void loop() { diff --git a/Arduino/epd3in0g/epd3in0g.cpp b/Arduino/epd3in0g/epd3in0g.cpp index 6ef1548..5444f63 100644 --- a/Arduino/epd3in0g/epd3in0g.cpp +++ b/Arduino/epd3in0g/epd3in0g.cpp @@ -64,13 +64,11 @@ int Epd::Init() { SendData(0x4F); SendData(0x6B); - SendCommand(0x06); SendData(0xD7); SendData(0xDE); SendData(0x12); - SendCommand(0x61); SendData(0x00); SendData(0xA8); @@ -165,9 +163,6 @@ void Epd::Clear(UBYTE color) UWORD Width, Height; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); @@ -175,15 +170,10 @@ void Epd::Clear(UBYTE color) SendCommand(0x10); for (UWORD j = 0; j < Height; j++) { for (UWORD i = 0; i < Width; i++) { - for(UBYTE k = 0; k < 4; k++) { - SendData(color); - } + SendData((color<<6) | (color<<4) | (color<<2) | color); } } - SendCommand(0x68); - SendData(0x00); - TurnOnDisplay(); } @@ -196,9 +186,6 @@ void Epd::Display(UBYTE *Image) UWORD Width, Height; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); @@ -212,33 +199,27 @@ void Epd::Display(UBYTE *Image) TurnOnDisplay(); } -void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh) +void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height) { - UWORD Width, Height; + UWORD Width, Height, i, j; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); SendCommand(0x10); - for (UWORD j = 0; j < Height; j++) { - for (UWORD i = 0; i < Width; i++) { - if((j >= xstart/4) && (j < (image_width + xstart)/4) && (i >= ystart) && (i <= (ystart + image_heigh)) ) - { - SendData(pgm_read_byte(&Image[(i-ystart) * image_width/4 + j - xstart/4])); - // Serial.print(Image[(i-ystart) * image_width/8 + j - xstart], HEX); - // Serial.print(" "); + for(i=0; i=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { + SendData(pgm_read_byte(&Image[(j-xstart/4) + (image_width/4*(i-ystart))])); } - else - { - SendData(0x55); - } - } + else { + SendData(0x55); + } + } } + TurnOnDisplay(); } diff --git a/Arduino/epd3in0g/epd3in0g.h b/Arduino/epd3in0g/epd3in0g.h index c7785e1..f2cc64c 100644 --- a/Arduino/epd3in0g/epd3in0g.h +++ b/Arduino/epd3in0g/epd3in0g.h @@ -33,11 +33,11 @@ #define EPD_WIDTH 168 #define EPD_HEIGHT 400 -//colour -#define black 0x00 -#define white 0x55 -#define yellow 0xAA -#define red 0xFF +// Color +#define black 0x0 +#define white 0x1 +#define yellow 0x2 +#define red 0x3 #define UWORD unsigned int #define UBYTE unsigned char @@ -59,9 +59,9 @@ public: void TurnOnDisplay(void); void Clear(UBYTE color); void Display(UBYTE *Image); + void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height); void Sleep(void); - private: unsigned int reset_pin; unsigned int dc_pin; diff --git a/Arduino/epd3in0g/epd3in0g.ino b/Arduino/epd3in0g/epd3in0g.ino index 41284c2..e9222fd 100644 --- a/Arduino/epd3in0g/epd3in0g.ino +++ b/Arduino/epd3in0g/epd3in0g.ino @@ -39,14 +39,20 @@ void setup() { return; } - Serial.print("While \r\n"); - epd.Clear(white); // While + Serial.print("White \r\n"); + epd.Clear(white); delay(2000); epd.Init(); + Serial.print("Image \r\n"); epd.Display(IMAGE_DATA); delay(2000); + epd.Init(); + Serial.print("Small Image \r\n"); + epd.Display_part(IMAGE_DATA, 0 ,0, 168, 400); + delay(2000); + epd.Init(); Serial.print("Clear...\r\n"); epd.Clear(white); @@ -54,7 +60,6 @@ void setup() { Serial.print("Goto Sleep...\r\n"); epd.Sleep(); - } void loop() { diff --git a/Arduino/epd4in37g/epd4in37g.cpp b/Arduino/epd4in37g/epd4in37g.cpp new file mode 100644 index 0000000..d7a1791 --- /dev/null +++ b/Arduino/epd4in37g/epd4in37g.cpp @@ -0,0 +1,262 @@ +/** + * @filename : epd4in37g.cpp + * @brief : Implements for e-paper library + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/16 + * + * 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 +#include "epd4in37g.h" + +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() { + /* this calls the peripheral hardware interface, see epdif */ + if (IfInit() != 0) { + return -1; + } + Reset(); + + SendCommand(0xAA); + SendData(0x49); + SendData(0x55); + SendData(0x20); + SendData(0x08); + SendData(0x09); + SendData(0x18); + + SendCommand(0x01); + SendData(0x3F); + + SendCommand(0x00); + SendData(0x4F); + SendData(0x69); + + SendCommand(0x05); + SendData(0x40); + SendData(0x1F); + SendData(0x1F); + SendData(0x2C); + + SendCommand(0x08); + SendData(0x6F); + SendData(0x1F); + SendData(0x1F); + SendData(0x22); + + //=================== + //20211212 + //First setting + SendCommand(0x06); + SendData(0x6F); + SendData(0x1F); + SendData(0x17); + SendData(0x17); + //=================== + + SendCommand(0x03); + SendData(0x00); + SendData(0x54); + SendData(0x00); + SendData(0x44); + + SendCommand(0x50); + SendData(0x3F); + + SendCommand(0x60); + SendData(0x02); + SendData(0x00); + + //Please notice that PLL must be set for version 2 IC + SendCommand(0x30); + SendData(0x08); + + SendCommand(0x61); + SendData(0x02); + SendData(0x00); + SendData(0x01); + SendData(0x70); + + SendCommand(0xE3); + SendData(0x2F); + + SendCommand(0x84); + SendData(0x01); + 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::ReadBusyH(void) { + Serial.print("e-Paper busy H\r\n "); + while(DigitalRead(busy_pin) == LOW) { //LOW: busy, HIGH: idle + DelayMs(5); + } + Serial.print("e-Paper busy release H\r\n "); +} + +void Epd::ReadBusyL(void) { + Serial.print("e-Paper busy L\r\n "); + while(DigitalRead(busy_pin) == HIGH) { //LOW: idle, HIGH: busy + DelayMs(5); + } + Serial.print("e-Paper busy release L\r\n "); +} + +/** + * @brief: module reset. + * often used to awaken the module in deep sleep, + * see Epd::Sleep(); + */ +void Epd::Reset(void) { + DigitalWrite(reset_pin, HIGH); + DelayMs(20); + DigitalWrite(reset_pin, LOW); //module reset + DelayMs(2); + DigitalWrite(reset_pin, HIGH); + DelayMs(20); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +void Epd::TurnOnDisplay(void) +{ + SendCommand(0x12); // DISPLAY_REFRESH + SendData(0x00); + ReadBusyH(); + + SendCommand(0x02); // POWER_OFF + SendData(0X00); + ReadBusyH(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void Epd::Clear(UBYTE color) +{ + UWORD Width, Height; + Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); + Height = HEIGHT; + + SendCommand(0x04); + ReadBusyH(); + + SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + SendData((color<<6) | (color<<4) | (color<<2) | color); + } + } + TurnOnDisplay(); +} + +/****************************************************************************** +function : Sends the image buffer in RAM to e-Paper and displays +parameter: +******************************************************************************/ +void Epd::Display(UBYTE *Image) +{ + UWORD Width, Height; + Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); + Height = HEIGHT; + + SendCommand(0x04); + ReadBusyH(); + + SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + SendData(pgm_read_byte(&Image[i + j * Width])); + } + } + TurnOnDisplay(); +} + +void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height) +{ + UWORD Width, Height, i, j; + Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); + Height = HEIGHT; + + SendCommand(0x04); + ReadBusyH(); + + SendCommand(0x10); + for(i=0; i=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { + SendData(pgm_read_byte(&Image[(j-xstart/4) + (image_width/4*(i-ystart))])); + } + else { + SendData(0x55); + } + } + } + TurnOnDisplay(); +} + +/****************************************************************************** +function : Enter sleep mode +parameter: +******************************************************************************/ +void Epd::Sleep(void) +{ + SendCommand(0x02); // POWER_OFF + SendData(0X00); + SendCommand(0x07); // DEEP_SLEEP + SendData(0XA5); +} + +/* END OF FILE */ + + diff --git a/Arduino/epd4in37g/epd4in37g.h b/Arduino/epd4in37g/epd4in37g.h new file mode 100644 index 0000000..22e2844 --- /dev/null +++ b/Arduino/epd4in37g/epd4in37g.h @@ -0,0 +1,74 @@ +/** + * @filename : epd4in37g.h + * @brief : Header file for e-paper display library epd4in37g.cpp + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/16 + * + * 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 EPD4IN37G_H +#define EPD4IN37G_H + +#include "epdif.h" + +// Display resolution +#define EPD_WIDTH 512 +#define EPD_HEIGHT 368 + +// Color +#define black 0x0 +#define white 0x1 +#define yellow 0x2 +#define red 0x3 + +#define UWORD unsigned int +#define UBYTE unsigned char +#define UDOUBLE unsigned long + +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 Reset(void); + void ReadBusyH(void); + void ReadBusyL(void); + void TurnOnDisplay(void); + void Clear(UBYTE color); + void Display(UBYTE *Image); + void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height); + void Sleep(void); + +private: + unsigned int reset_pin; + unsigned int dc_pin; + unsigned int cs_pin; + unsigned int busy_pin; +}; + +#endif /* EPD4IN37_H */ + +/* END OF FILE */ diff --git a/Arduino/epd4in37g/epd4in37g.ino b/Arduino/epd4in37g/epd4in37g.ino new file mode 100644 index 0000000..677e297 --- /dev/null +++ b/Arduino/epd4in37g/epd4in37g.ino @@ -0,0 +1,60 @@ +/** + * @filename : epd4in37g-demo.ino + * @brief : 4.37inch e-Paper (G) display demo + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/16 + * + * 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 +#include "epd4in37g.h" +#include "imagedata.h" + +Epd epd; + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.print("e-Paper init "); + if (epd.Init() != 0) { + Serial.print("e-Paper init failed"); + return; + } + + Serial.print("White \r\n"); + epd.Clear(white); + delay(2000); + + Serial.print("Small Image \r\n"); + epd.Display_part(Image4color, 172, 100, 168, 168); + delay(2000); + + Serial.print("Clear...\r\n"); + epd.Clear(white); + delay(2000); + + Serial.print("Goto Sleep...\r\n"); + epd.Sleep(); +} + +void loop() { + +} diff --git a/Arduino/epd4in37g/epdif.cpp b/Arduino/epd4in37g/epdif.cpp new file mode 100644 index 0000000..ac9b77c --- /dev/null +++ b/Arduino/epd4in37g/epdif.cpp @@ -0,0 +1,64 @@ +/** + * @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 + +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; +} \ No newline at end of file diff --git a/Arduino/epd4in37g/epdif.h b/Arduino/epd4in37g/epdif.h new file mode 100644 index 0000000..3c55313 --- /dev/null +++ b/Arduino/epd4in37g/epdif.h @@ -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 + +// 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 diff --git a/Arduino/epd4in37g/imagedata.cpp b/Arduino/epd4in37g/imagedata.cpp new file mode 100644 index 0000000..2a1593e --- /dev/null +++ b/Arduino/epd4in37g/imagedata.cpp @@ -0,0 +1,474 @@ +/** + * @filename : imagedata.cpp + * @brief : data file for epd demo + * + * Copyright (C) Waveshare 2022/08/16 + * + * 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 + +// 4 Color Image Data 168*168 +const unsigned char Image4color[7056] PROGMEM = { +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00, +0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF, +0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0x80,0x00, +0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC, +0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0x80,0x0A,0xAA,0x80,0x00,0x00,0x00,0x00, +0x00,0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x0A,0xAA,0x80,0x0A,0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57, +0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0x80,0x0A,0xAA,0xA0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x02,0xAA,0x80,0x02,0x8A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A, +0x80,0x00,0x02,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00,0x0A,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x2A,0x80,0x00,0x3A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00, +0x2A,0xA0,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x00,0x00,0x00, +0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00,0xAA,0x80,0x00,0x00,0x00,0x00, +0x15,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x57,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x2A,0x80,0x02,0xAA,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x3F, +0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF, +0xF0,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x0A,0xAB,0x00, +0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x15,0x55, +0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x2A,0xA8,0x00,0x00,0x00,0x00,0x01,0x55,0x50, +0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x2A, +0x80,0x2A,0xAA,0xA8,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x3F,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x2A,0x80,0x2A,0xAA,0xA8,0x00,0x00, +0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00, +0x00,0x00,0x00,0x2A,0x80,0x2A,0xAA,0xA8,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x2A, +0xAA,0xA8,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xF5, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00, +0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x57, +0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x55,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5, +0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xF5,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x04,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0xC0,0x00, +0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x03, +0xFF,0xFD,0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x01,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55, +0xFF,0xFF,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x40,0x00,0x00,0xFF,0xFF,0x55,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x15,0x55, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0xFF,0xFF, +0xD5,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x05,0x55,0x55,0x50,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x15,0x55,0x55,0x40,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x5F,0xFF,0xFC, +0x00,0x00,0x01,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x00, +0x00,0x00,0x3F,0xFF,0xF5,0x55,0x55,0x5F,0xFF,0xFC,0x00,0x00,0x00,0x15,0x55,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x50,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x55, +0x55,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x55,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x54,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFD,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x05,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0x7F, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00, +0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00, +0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55, +0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x5F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x35,0x55,0x55,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF5, +0x55,0x55,0x5F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF5,0x55,0x55,0x5F,0xF0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5, +0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x3F,0xF5,0x55,0x55,0x5F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xD5,0x55,0x55, +0x57,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xD5,0x55,0x55,0x57,0xFF,0xC0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x7F,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, +0xFF,0xD5,0x55,0x55,0x57,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0xAA,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xD5,0x55,0x55,0x57,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0x00,0x00,0x00,0x03, +0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0x55,0x55,0x55,0x55,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x2A,0xAA,0x80,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00, +0x00,0x0A,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x55, +0x55,0x55,0x55,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA, +0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0xA0,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD, +0x7F,0xFF,0xC0,0x00,0x00,0x0A,0x80,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A, +0x80,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x5F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xA0,0x00, +0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0x80,0xAA,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF, +0xC0,0x00,0x00,0x0A,0xA2,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, +0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0xAA,0xAA, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F, +0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x80,0x00,0x00,0x03, +0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x02,0xAA,0xAB,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5B,0xFF,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00, +0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55, +0x55,0x55,0x55,0x55,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA, +0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x02,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x7F,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD, +0x7F,0xFF,0xC0,0x00,0x00,0x00,0x0E,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFD,0x55,0x55,0x55,0x55,0x55,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00, +0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00, +0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0xAA,0x80,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF, +0xC0,0x00,0x00,0x00,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x2A,0xAA,0x80,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x80,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x00,0x00,0x00,0x0F, +0xFF,0xFD,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x15,0x55,0x57,0xD5,0x57,0xF5,0x55,0x55,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x5F, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5, +0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xF1,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x53,0xFF,0xFF,0xFF, +0xFF,0xC0,0x15,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x40,0x3F,0xFF,0xFF,0xFC,0x00,0x01,0x55,0x55,0x50, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x54, +0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x15,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x15,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5, +0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, +0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x54,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x40,0x01,0x54,0x00, +0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00, +0x05,0x55,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFD,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x55,0x55,0x40,0x00,0x00,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, +0x54,0x05,0x55,0x54,0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0x7F,0xFF,0xF0, +0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x55,0x55,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x15,0x55,0x55, +0x40,0x00,0x05,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x45,0x55,0x55,0x50,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x55, +0x55,0x5F,0xFF,0xFC,0x00,0x00,0x01,0x55,0x55,0x54,0x00,0x00,0x15,0x50,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, +0x55,0x55,0x55,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x55,0x55,0x5F,0xFF,0xFC,0x00,0x00, +0x05,0x55,0x55,0x50,0x00,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x40,0x00,0x00, +0x3F,0xFF,0xF5,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x15,0x55,0x55,0x00,0x00,0x01, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x57, +0xFF,0xFF,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x15,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x40,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x55,0xFF,0xFF,0x00,0x00,0x01,0x55, +0x00,0x00,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0xFF,0xFF, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x01,0x54,0x00,0x00,0x01,0x54,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55,0x7F,0xFF, +0xC0,0x00,0x00,0x40,0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00, +0x00,0x03,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00, +0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x05,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xF0,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF, +0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00, +0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00, +0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x5F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00, +0x02,0xA8,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x2A,0xA8,0x00,0x00,0x00,0x00, +0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFC,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xA0, +0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00, +0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x55,0x54,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x02,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x0F, +0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF, +0xFC,0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xD5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x40, +0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02, +0xAA,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x80,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x02,0xA8,0x2A,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0x2A, +0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0xAA,0x80,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x02,0xAA,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF, +0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0A,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF, +0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F, +0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF, +0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +}; + + diff --git a/Arduino/epd4in37g/imagedata.h b/Arduino/epd4in37g/imagedata.h new file mode 100644 index 0000000..ac66d7f --- /dev/null +++ b/Arduino/epd4in37g/imagedata.h @@ -0,0 +1,30 @@ +/** + * @filename : imagedata.h + * @brief : head file for imagedata.cpp + * + * Copyright (C) Waveshare 2022/08/16 + * + * 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 Image4color[]; + +/* FILE END */ + + diff --git a/Arduino/epd7in3g/epd7in3g.cpp b/Arduino/epd7in3g/epd7in3g.cpp index 7a8d72d..7ab798f 100644 --- a/Arduino/epd7in3g/epd7in3g.cpp +++ b/Arduino/epd7in3g/epd7in3g.cpp @@ -63,7 +63,6 @@ int Epd::Init() { SendData(0x4F); SendData(0x69); - SendCommand(0x05); SendData(0x40); SendData(0x1F); @@ -99,9 +98,6 @@ int Epd::Init() { SendCommand(0x30); SendData(0x08); - - - SendCommand(0x50); SendData(0x3F); @@ -192,9 +188,6 @@ void Epd::Clear(UBYTE color) UWORD Width, Height; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); @@ -202,15 +195,10 @@ void Epd::Clear(UBYTE color) SendCommand(0x10); for (UWORD j = 0; j < Height; j++) { for (UWORD i = 0; i < Width; i++) { - for(UBYTE k = 0; k < 4; k++) { - SendData(color); - } + SendData((color<<6) | (color<<4) | (color<<2) | color); } } - SendCommand(0x68); - SendData(0x00); - TurnOnDisplay(); } @@ -223,9 +211,6 @@ void Epd::Display(UBYTE *Image) UWORD Width, Height; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); @@ -236,35 +221,29 @@ void Epd::Display(UBYTE *Image) SendData(pgm_read_byte(&Image[i + j * Width])); } } + TurnOnDisplay(); } -void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh) +void Epd::Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height) { - UWORD Width, Height; + UWORD Width, Height, i, j; Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); Height = HEIGHT; - - SendCommand(0x68); - SendData(0x01); SendCommand(0x04); ReadBusyH(); SendCommand(0x10); - for (UWORD i = 0; i < Height; i++) { - for (UWORD j = 0; j < Width; j++) { - if((j >= xstart/4) && (j < (image_width + xstart)/4) && (i >= ystart) && (i <= (ystart + image_heigh)) ) - { - SendData(pgm_read_byte(&Image[(i-ystart) * image_width/4 + j - xstart/4])); - // Serial.print(Image[(i-ystart) * image_width/8 + j - xstart], HEX); - // Serial.print(" "); + for(i=0; i=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { + SendData(pgm_read_byte(&Image[(j-xstart/4) + (image_width/4*(i-ystart))])); } - else - { - SendData(0x55); - } - } + else { + SendData(0x55); + } + } } TurnOnDisplay(); } diff --git a/Arduino/epd7in3g/epd7in3g.h b/Arduino/epd7in3g/epd7in3g.h index 1431604..b69a1f3 100644 --- a/Arduino/epd7in3g/epd7in3g.h +++ b/Arduino/epd7in3g/epd7in3g.h @@ -33,11 +33,11 @@ #define EPD_WIDTH 800 #define EPD_HEIGHT 480 -//colour -#define black 0x00 -#define white 0x55 -#define yellow 0xAA -#define red 0xFF +// Color +#define black 0x0 +#define white 0x1 +#define yellow 0x2 +#define red 0x3 #define UWORD unsigned int #define UBYTE unsigned char @@ -59,10 +59,9 @@ public: void TurnOnDisplay(void); void Clear(UBYTE color); void Display(UBYTE *Image); - void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh); + void Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height); void Sleep(void); - private: unsigned int reset_pin; unsigned int dc_pin; diff --git a/Arduino/epd7in3g/epd7in3g.ino b/Arduino/epd7in3g/epd7in3g.ino index 1149708..6dd883b 100644 --- a/Arduino/epd7in3g/epd7in3g.ino +++ b/Arduino/epd7in3g/epd7in3g.ino @@ -39,11 +39,12 @@ void setup() { return; } - Serial.print("While \r\n"); - epd.Clear(white); // While + Serial.print("White \r\n"); + epd.Clear(white); delay(2000); - epd.Display_part(IMAGE_DATA, 312, 162, 168, 168); + Serial.print("Small Image \r\n"); + epd.Display_part(Image4color, 312, 162, 168, 168); delay(2000); Serial.print("Clear...\r\n"); @@ -52,7 +53,6 @@ void setup() { Serial.print("Goto Sleep...\r\n"); epd.Sleep(); - } void loop() { diff --git a/Arduino/epd7in3g/imagedata.cpp b/Arduino/epd7in3g/imagedata.cpp index a498429..090a2e1 100644 --- a/Arduino/epd7in3g/imagedata.cpp +++ b/Arduino/epd7in3g/imagedata.cpp @@ -26,445 +26,446 @@ #include "imagedata.h" #include -const unsigned char IMAGE_DATA[] PROGMEM = { +// 4 Color Image Data 168*168 +const unsigned char Image4color[7056] PROGMEM = { 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x40,0x00,0x00,0x45,0x55,0x55,0x55,0x40,0x00, -0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, -0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00, +0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, -0x54,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x50,0x00,0x00,0x15,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF, +0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0x80,0x00, +0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC, +0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0x80,0x0A,0xAA,0x80,0x00,0x00,0x00,0x00, +0x00,0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x0A,0xAA,0x80,0x0A,0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57, +0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0x80,0x0A,0xAA,0xA0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x02,0xAA,0x80,0x02,0x8A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A, +0x80,0x00,0x02,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00,0x0A,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x2A,0x80,0x00,0x3A,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00, +0x2A,0xA0,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x00,0x00,0x00, +0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x00,0xAA,0x80,0x00,0x00,0x00,0x00, +0x15,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x57,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x2A,0x80,0x02,0xAA,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x3F, +0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF, +0xF0,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x0A,0xAB,0x00, +0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x15,0x55, +0x00,0x00,0x00,0x00,0x00,0x2A,0x80,0x2A,0xA8,0x00,0x00,0x00,0x00,0x01,0x55,0x50, +0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x2A, +0x80,0x2A,0xAA,0xA8,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x3F,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x2A,0x80,0x2A,0xAA,0xA8,0x00,0x00, +0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00, +0x00,0x00,0x00,0x2A,0x80,0x2A,0xAA,0xA8,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x2A, +0xAA,0xA8,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xF5, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00, +0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x57, +0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x55,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5, +0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xF5,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x04,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0xC0,0x00, +0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x03, +0xFF,0xFD,0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x01,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55, +0xFF,0xFF,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x40,0x00,0x00,0xFF,0xFF,0x55,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x15,0x55, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0xFF,0xFF, +0xD5,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x05,0x55,0x55,0x50,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x15,0x55,0x55,0x40,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x5F,0xFF,0xFC, +0x00,0x00,0x01,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x00, +0x00,0x00,0x3F,0xFF,0xF5,0x55,0x55,0x5F,0xFF,0xFC,0x00,0x00,0x00,0x15,0x55,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x50,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x55, +0x55,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x55,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x54,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFD,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x05,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0x7F, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00, +0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00, +0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55, +0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x5F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x35,0x55,0x55,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF5, +0x55,0x55,0x5F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xF5,0x55,0x55,0x5F,0xF0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5, +0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x3F,0xF5,0x55,0x55,0x5F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xD5,0x55,0x55, +0x57,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xD5,0x55,0x55,0x57,0xFF,0xC0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x7F,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, +0xFF,0xD5,0x55,0x55,0x57,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0xAA,0x80, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xD5,0x55,0x55,0x57,0xFF, +0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0x00,0x00,0x00,0x03, +0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0x55,0x55,0x55,0x55,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x2A,0xAA,0x80,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00, +0x00,0x0A,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x55, +0x55,0x55,0x55,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA, +0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0xA0,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD, +0x7F,0xFF,0xC0,0x00,0x00,0x0A,0x80,0xAB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A, +0x80,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55, +0x55,0x5F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xA0,0x00, +0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0x80,0xAA,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF, +0xC0,0x00,0x00,0x0A,0xA2,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, +0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x0A,0xAA,0xAA, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F, +0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x80,0x00,0x00,0x03, +0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x02,0xAA,0xAB,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xF5,0x55,0x55,0x55,0x55,0x5B,0xFF,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x02,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00, +0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF5,0x55, +0x55,0x55,0x55,0x55,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA, +0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x02,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x7F,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD, +0x7F,0xFF,0xC0,0x00,0x00,0x00,0x0E,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x3F,0xFD,0x55,0x55,0x55,0x55,0x55,0x5C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x02,0x0A,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00, +0xAA,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xF5,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00, +0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xC0,0x00,0x00,0x00,0xAA,0x80,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0xAA,0xA0,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF, +0xC0,0x00,0x00,0x00,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x2A,0xAA,0x80,0x00,0x00,0x03,0xFF,0xFD,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x80,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x00,0x00,0x00,0x0F, +0xFF,0xFD,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x15,0x55,0x57,0xD5,0x57,0xF5,0x55,0x55,0x55,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x5F, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5, +0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xF1,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x53,0xFF,0xFF,0xFF, +0xFF,0xC0,0x15,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xF5,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x40,0x3F,0xFF,0xFF,0xFC,0x00,0x01,0x55,0x55,0x50, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x5F,0xFF, +0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x54, +0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x15,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xD5,0x57,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x15,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x50,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xD5,0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xD5, +0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0xFF,0xFF,0x55,0x55,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, +0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x05,0x54,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x55,0x55,0xFF, +0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x40,0x01,0x54,0x00, +0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00, +0x05,0x55,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFD,0x55,0x55,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x55,0x55,0x40,0x00,0x00,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, +0x54,0x05,0x55,0x54,0x00,0x00,0x00,0x00,0x03,0xFF,0xFD,0x55,0x55,0x7F,0xFF,0xF0, +0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x01,0x55,0x40,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x55,0x55,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x5F,0xFF,0xF0,0x00,0x00,0x00,0x15,0x55,0x55, +0x40,0x00,0x05,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x45,0x55,0x55,0x50,0x00,0x00,0x00,0x0F,0xFF,0xF5,0x55, +0x55,0x5F,0xFF,0xFC,0x00,0x00,0x01,0x55,0x55,0x54,0x00,0x00,0x15,0x50,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10, +0x55,0x55,0x55,0x00,0x00,0x00,0x3F,0xFF,0xF5,0x55,0x55,0x5F,0xFF,0xFC,0x00,0x00, +0x05,0x55,0x55,0x50,0x00,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x40,0x00,0x00, +0x3F,0xFF,0xF5,0x55,0x55,0x57,0xFF,0xFF,0x00,0x00,0x15,0x55,0x55,0x00,0x00,0x01, +0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x50,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x57, +0xFF,0xFF,0x00,0x00,0x05,0x55,0x50,0x00,0x00,0x15,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, +0x55,0x40,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x55,0xFF,0xFF,0x00,0x00,0x01,0x55, +0x00,0x00,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0xFF,0xFF, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x01,0x54,0x00,0x00,0x01,0x54,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x03,0xFF,0xFF,0x55,0x55,0x55,0x55,0x7F,0xFF, +0xC0,0x00,0x00,0x40,0x00,0x00,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00, +0x00,0x03,0xFF,0xFD,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00, +0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F, +0xFF,0xF5,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x05,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, +0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xF0,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x01,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x5F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF, +0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00, +0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x55, +0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00, +0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x5F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x00, +0x02,0xA8,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x03,0xFF, +0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xF0,0x00,0x00, +0x00,0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x2A,0xA8,0x00,0x00,0x00,0x00, +0x00,0x05,0x55,0x40,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00, +0x00,0x00,0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00, +0x00,0x00,0x0F,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFC,0x00,0x00,0x00,0x00,0x15,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xA0, +0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00, +0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x55,0x54,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x15,0x54,0x00,0x00,0x00,0x00, +0x00,0x02,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x0F, +0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF, +0xFC,0x00,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xA8,0x00,0x00, +0x00,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xD5,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x40, +0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02, +0xAA,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFD, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xF0, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x80,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x02,0xA8,0x2A,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0x2A, +0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xA8,0xAA,0x80,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x02,0xAA,0xAA,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF, +0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xAA,0xAA,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFC,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0xA8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x3F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x0A,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF, +0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F, +0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x01,0x15,0x55,0x55,0x10,0x00,0x00,0x00, -0x01,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00, -0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, -0x50,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF, +0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, +0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x55, -0x56,0x6A,0xAA,0xAA,0x65,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, -0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40, -0x00,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x5A,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, -0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x54,0x00,0x05,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x5A, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x40,0x01,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x05,0x56,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x54,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x00,0x05,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15, -0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x54,0x00,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, -0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, -0x00,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x56,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x00,0x00,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0x95,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x01,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x54,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, -0x00,0x00,0x15,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55,0x55,0x6A,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x00,0x00,0x15,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xA5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x04,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55, -0x55,0xD5,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x05,0x55,0x5F,0xF5,0x56,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x40,0x00,0x55,0x55,0xFF,0xFD,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xA5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x54,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x5F,0xFF,0xFD, -0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x51,0x55,0x55,0x00,0x01,0x55,0x55,0x55, -0x55,0x55,0x55,0x54,0x00,0x05,0x55,0xFF,0xFF,0xFF,0x55,0x5A,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x50,0x00,0x05,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15, -0x57,0xFF,0xFF,0xFF,0xD5,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x55,0x54, -0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x5F,0xFF,0xFF,0xFF,0xF5,0x55, -0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x05,0x55,0x00,0x05,0x55,0x55,0x55,0x55, -0x55,0x00,0x01,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00, -0x00,0x00,0x01,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x57,0xFF,0xFF, -0xFF,0xFF,0xFF,0xD5,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x55,0x40,0x01, -0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x5A, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x15,0x50,0x00,0x55,0x55,0x55,0x55,0x40,0x00, -0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00, -0x00,0x05,0x54,0x00,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xF5,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x05,0x54,0x00,0x15,0x55, -0x55,0x55,0x00,0x05,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x5A,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, -0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x15,0x55,0x55,0x54,0x00,0x15,0x57,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00, -0x55,0x00,0x15,0x55,0x55,0x54,0x00,0x15,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xF5,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x05,0x55,0x55,0x50, -0x00,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x6A,0xAA,0xAA, -0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x15,0x40,0x05,0x55,0x55,0x50,0x01,0x55,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x40, -0x05,0x55,0x55,0x40,0x01,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xD5,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x40,0x01,0x55,0x55,0x40,0x05,0x57, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x6A,0xAA,0xAA,0xAA, -0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x05,0x50,0x01,0x55,0x55,0x00,0x05,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55, -0x55,0x00,0x15,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5, -0x56,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55,0x54,0x00,0x15,0x7F,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0xAA,0xAA,0xAA,0xAA,0xAA, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x05,0x50,0x01,0x55,0x54,0x00,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFD,0x55,0x6A,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x54,0x00, -0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x5A, -0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x54,0x00,0x55,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x56,0xAA,0xAA,0xAA,0xA9,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54, -0x00,0x55,0x50,0x01,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xF5,0x55,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x6A,0xAA, -0xAA,0xAA,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x5A,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55, -0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55, -0x50,0x01,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xD5,0x56,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0xAA,0xAA,0xA9, -0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x55, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01, -0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0x55,0x6A,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x5A,0xAA,0xA9,0x55,0x55, -0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54, -0x00,0x55,0x50,0x01,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xF5,0x56,0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x57,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, -0xAA,0xA9,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x01,0x54,0x00,0x55,0x50,0x01,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0xAA,0xA5,0x55,0x55,0x55,0x55, -0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55, -0x54,0x00,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0x55,0x6A,0xA5,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x55,0x54,0x00,0x55,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x5A,0xA5, -0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x01,0x54,0x00,0x55,0x54,0x00,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x56,0xA5,0x55,0x55,0x55,0x55,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55,0x54,0x00, -0x15,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xF5,0x55,0xA5,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x05,0x54,0x00,0x55,0x55,0x00,0x15,0x5F,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55, -0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50, -0x01,0x55,0x55,0x00,0x05,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDD,0x55,0x55,0x55, -0x55,0x55,0x55,0x5F,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x50,0x01,0x55,0x55,0x00,0x05,0x55, -0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x05,0x50,0x01,0x55,0x55,0x40,0x01,0x55,0x5F,0xFF,0xFF,0xF5,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x40,0x05,0x55, -0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x50,0x01,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x40,0x05,0x55,0x55,0x50,0x00,0x15,0x55,0x55, -0x55,0x55,0x55,0x55,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x40,0x01, -0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x15,0x40,0x05,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x00,0x55,0x50,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x40,0x05,0x55,0x55,0x54, -0x00,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x55,0x00,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x55,0x00,0x15,0x55,0x55,0x54,0x00,0x55,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x55,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x00, -0x15,0x55,0x55,0x50,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x01,0x55,0x00,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x54,0x00,0x15,0x55,0x55,0x50,0x01,0x55, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, -0x40,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x05,0x54,0x00,0x05,0x55,0x55,0x50,0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x40,0x05,0x55,0x40,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x00,0x01,0x55, -0x55,0x50,0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x40,0x01,0x55,0x55,0x40,0x05,0x54,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55, -0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55, -0x55,0x50,0x00,0x55,0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x75,0x55,0x55,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0xD5,0x54,0x00,0x55,0x55,0x40, -0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55, -0x55,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x05,0x55,0xF5,0x54,0x00,0x15,0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x5A,0x55,0x5F,0xD5, -0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x57,0xFD,0x55, -0x00,0x15,0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x55,0x55,0x55,0x55,0x5A,0x95,0x5F,0xFF,0x55,0x55,0x55,0x54,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x5F,0xFF,0x55,0x00,0x15,0x55,0x00,0x15,0x50, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, -0x5A,0xA5,0x57,0xFF,0xFF,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x15, -0x55,0x7F,0xFF,0x55,0x00,0x15,0x55,0x40,0x05,0x40,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x5A,0xA9,0x55,0xFF,0xFF,0xFD, -0x55,0x55,0x55,0x55,0x51,0x00,0x00,0x00,0x05,0x55,0x55,0xFF,0xFF,0x55,0x40,0x05, -0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15, -0x55,0x55,0x55,0x55,0x5A,0xAA,0x55,0x7F,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA, -0x55,0x7F,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF, -0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0x95,0x5F,0xFF,0xFF,0xFF,0xFF, -0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00, -0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55, -0x55,0x55,0x6A,0xAA,0xA5,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, -0x5F,0xFF,0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xA9,0x55, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5, -0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x15,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x6A,0xAA,0xAA,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0x95,0x57,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x40,0x05, -0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55, -0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xA5,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA, -0xAA,0xA9,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xD5,0x40,0x05,0x55,0x00,0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0x55,0x5F,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x40,0x05,0x55,0x00, -0x15,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x6A,0xAA,0xAA,0xAA,0x95,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x00,0x15,0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA, -0xA5,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55, -0x00,0x15,0x55,0x00,0x15,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xA9,0x55,0x7F,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x00,0x15,0x55,0x40,0x05,0x50, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x6A,0xAA,0xAA,0xAA,0xAA,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFD,0x54,0x00,0x15,0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0x95, -0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x54,0x00,0x55, -0x55,0x40,0x05,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x54,0x00,0x55,0x55,0x40,0x05,0x54,0x00,0x00, -0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA, -0xAA,0xAA,0xAA,0xA9,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xD5,0x50,0x00,0x55,0x55,0x50,0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x57, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x50,0x01,0x55,0x55,0x50, -0x01,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0x55,0x40,0x01,0x55,0x55,0x50,0x01,0x55,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA, -0xAA,0xAA,0xA9,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x00, -0x05,0x55,0x55,0x50,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x5F,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x00,0x05,0x55,0x55,0x54,0x00,0x55, -0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, -0xFF,0xF5,0x54,0x00,0x15,0x55,0x55,0x54,0x00,0x55,0x40,0x00,0x00,0x00,0x00,0x00, -0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xA5,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x50,0x00,0x55,0x55, -0x55,0x54,0x00,0x15,0x50,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x5F,0xFF,0xFF, -0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x00,0x05,0x50,0x00, -0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, -0x40,0x01,0x55,0x55,0x55,0x55,0x00,0x05,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xA5,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x00,0x05,0x55,0x55,0x55,0x55, -0x40,0x01,0x55,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x57,0xFF,0xFF,0xFF, -0xFF,0xFF,0xD5,0x54,0x00,0x05,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x40,0x00,0x00, -0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6A,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x50,0x00,0x15, -0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x50,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9, -0x55,0x7F,0xFF,0xFF,0xFF,0xFD,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x54,0x00, -0x15,0x55,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x57,0xFF,0xFF,0xFF,0xD5, -0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x50,0x00,0x05,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0xFF,0xFF,0xFF,0x55,0x54,0x00,0x05,0x55,0x55,0x55, -0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55, -0x7F,0xFF,0xFD,0x55,0x40,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x7F,0xFF,0xD5,0x55,0x00,0x00, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0x95,0x5F,0xFD,0x55,0x54,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x57,0xD5, -0x55,0x40,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x54, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xA9,0x55,0x55,0x50,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x54,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x00,0x00, -0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x05,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x50,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x56,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0x95,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x40,0x00,0x15,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x00, -0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, -0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x00,0x15,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x05, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5, -0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x54,0x00,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0x95,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x55,0x40,0x01, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xA9,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, -0xA5,0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x54,0x00,0x15,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, -0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xAA,0xAA,0xAA,0xAA,0xAA, -0xAA,0xAA,0xAA,0xA9,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x95,0x55,0x40, -0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x6A,0xAA,0xAA,0xAA,0xAA,0xAA,0xA5,0x55,0x54,0x00,0x01,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00, -0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5A,0xAA,0xAA,0xAA,0xA5, -0x55,0x55,0x50,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x05,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x15,0x55, +0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x05, -0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00, -0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x50, -0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x44,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x54,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15, -0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x40, -0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x55,0x40,0x00,0x00,0x00,0x00,0x00, -0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00, -0x00,0x01,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, -0x55,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, diff --git a/Arduino/epd7in3g/imagedata.h b/Arduino/epd7in3g/imagedata.h index 6ae015c..62f78e3 100644 --- a/Arduino/epd7in3g/imagedata.h +++ b/Arduino/epd7in3g/imagedata.h @@ -23,7 +23,7 @@ * THE SOFTWARE. */ -extern const unsigned char IMAGE_DATA[]; +extern const unsigned char Image4color[]; /* FILE END */ From 77accf11ddc670b0fcda29ccde5652c762e80701 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Tue, 16 Aug 2022 16:59:55 +0800 Subject: [PATCH 2/2] Add 4.37inch e-Paper (G) STM32 program and fix some bugs. --- .vscode/settings.json | 4 +- .../c/examples/EPD_1in64g_test.c | 3 +- .../c/examples/EPD_3in0g_test.c | 1 - .../c/examples/EPD_4in37g_test.c | 3 +- .../c/examples/EPD_7in3g_test.c | 3 +- .../MDK-ARM/epd-demo.uvguix.qiumingsong | 63 +- STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx | 605 ++-- STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx | 21 +- .../MDK-ARM/epd-demo/epd-demo.build_log.htm | 179 +- .../MDK-ARM/epd-demo/epd-demo.htm | 446 ++- .../MDK-ARM/epd-demo/epd-demo.map | 861 ++--- .../MDK-ARM/startup_stm32f103xe.lst | 34 +- .../MDK-ARM/startup_stm32f103xe.s | 2 +- STM32/STM32-F103ZET6/Src/main.c | 101 +- .../User/Examples/EPD_1in64g_test.c | 91 +- .../User/Examples/EPD_3in0g_test.c | 89 +- .../User/Examples/EPD_3in52_test.c | 2 +- .../User/Examples/EPD_4in37g_test.c | 135 + .../User/Examples/EPD_7in3g_test.c | 51 +- STM32/STM32-F103ZET6/User/Examples/EPD_Test.h | 1 + .../STM32-F103ZET6/User/Examples/ImageData.h | 10 +- .../STM32-F103ZET6/User/Examples/ImageData2.c | 2953 ++++++++++++++++- STM32/STM32-F103ZET6/User/GUI/GUI_Paint.c | 11 +- STM32/STM32-F103ZET6/User/GUI/GUI_Paint.h | 5 - .../STM32-F103ZET6/User/e-Paper/EPD_1in64g.c | 8 +- .../STM32-F103ZET6/User/e-Paper/EPD_1in64g.h | 10 +- STM32/STM32-F103ZET6/User/e-Paper/EPD_3in0g.c | 2 +- STM32/STM32-F103ZET6/User/e-Paper/EPD_3in0g.h | 10 +- .../STM32-F103ZET6/User/e-Paper/EPD_4in37g.c | 240 ++ .../STM32-F103ZET6/User/e-Paper/EPD_4in37g.h | 51 + STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.c | 12 +- STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.h | 14 +- 32 files changed, 4644 insertions(+), 1377 deletions(-) create mode 100644 STM32/STM32-F103ZET6/User/Examples/EPD_4in37g_test.c create mode 100644 STM32/STM32-F103ZET6/User/e-Paper/EPD_4in37g.c create mode 100644 STM32/STM32-F103ZET6/User/e-Paper/EPD_4in37g.h diff --git a/.vscode/settings.json b/.vscode/settings.json index 7327010..1bedcec 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,6 +5,8 @@ "gui_paint.h": "c", "math.h": "c", "dev_config.h": "c", - "epd_4in37g.h": "c" + "epd_4in37g.h": "c", + "epd_test.h": "c", + "epd_3in0g.h": "c" } } \ No newline at end of file diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_1in64g_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_1in64g_test.c index da79162..aa6e4cc 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_1in64g_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_1in64g_test.c @@ -41,10 +41,9 @@ int EPD_1in64g_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_1IN64G_Init(); - printf("Black \r\n"); struct timespec start={0,0}, finish={0,0}; clock_gettime(CLOCK_REALTIME, &start); - EPD_1IN64G_Clear(EPD_1IN64G_WHITE); // While + EPD_1IN64G_Clear(EPD_1IN64G_WHITE); clock_gettime(CLOCK_REALTIME, &finish); printf("%ld S\r\n", finish.tv_sec-start.tv_sec); DEV_Delay_ms(2000); diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_3in0g_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_3in0g_test.c index 23d4b51..cfa2cf0 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_3in0g_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_3in0g_test.c @@ -41,7 +41,6 @@ int EPD_3in0g_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_3IN0G_Init(); - printf("Black \r\n"); struct timespec start={0,0}, finish={0,0}; clock_gettime(CLOCK_REALTIME, &start); EPD_3IN0G_Clear(EPD_3IN0G_WHITE); // White diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_4in37g_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_4in37g_test.c index 282ecd8..c585b0e 100755 --- a/RaspberryPi_JetsonNano/c/examples/EPD_4in37g_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_4in37g_test.c @@ -40,8 +40,7 @@ int EPD_4in37g_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_4IN37G_Init(); - - printf("Black \r\n"); + struct timespec start={0,0}, finish={0,0}; clock_gettime(CLOCK_REALTIME, &start); EPD_4IN37G_Clear(EPD_4IN37G_WHITE); // WHITE diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_7in3g_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_7in3g_test.c index cc0f3af..1666b6d 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_7in3g_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_7in3g_test.c @@ -41,10 +41,9 @@ int EPD_7in3g_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_7IN3G_Init(); - printf("Black \r\n"); struct timespec start={0,0}, finish={0,0}; clock_gettime(CLOCK_REALTIME, &start); - EPD_7IN3G_Clear(EPD_7IN3G_WHITE); // WHITE + EPD_7IN3G_Clear(EPD_7IN3G_WHITE); clock_gettime(CLOCK_REALTIME, &finish); printf("%ld S\r\n", finish.tv_sec-start.tv_sec); DEV_Delay_ms(2000); diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong index 7084cdb..891dd9b 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong @@ -80,8 +80,8 @@ 44 - 0 - 1 + 2 + 3 -1 -1 @@ -91,17 +91,17 @@ -1 - 146 - 2641 - 4531 - 1246 + 158 + 3359 + 4860 + 1013 0 - 250 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000036453A5C6769746875625C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000750B000001010000AB11000082030000 + 362 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000002000000000000000100000036453A5C6769746875625C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF49453A5C6769746875625C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C4D444B2D41524D5C737461727475705F73746D33326631303378652E730000000015737461727475705F73746D33326631303378652E7300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001C0B0000670000000014000024040000 @@ -124,7 +124,7 @@ 16 - 7701000028010000A3070000EE010000 + 4401000067000000700700002D010000 @@ -140,7 +140,7 @@ 0 16 - 030000006D00000015010000B5020000 + 030000006D00000015010000F1030000 16 @@ -160,7 +160,7 @@ 0 16 - 030000006D00000015010000B5020000 + 030000006D00000015010000F1030000 16 @@ -440,7 +440,7 @@ 0 16 - 030000006D00000015010000B5020000 + 030000006D00000015010000F1030000 16 @@ -460,7 +460,7 @@ 0 16 - 030000006D00000015010000B5020000 + 030000006D00000015010000F1030000 16 @@ -480,7 +480,7 @@ 0 16 - 00000000EF020000520700000F040000 + 000000002B040000000A00004B050000 16 @@ -520,7 +520,7 @@ 0 16 - 03000000F2020000FD090000F3030000 + 030000002E0400004F0700002F050000 16 @@ -1140,7 +1140,7 @@ 0 16 - 030000006D00000015010000F1030000 + 030000006D00000015010000B5020000 16 @@ -1160,7 +1160,7 @@ 0 16 - 03000000F2020000FD090000F3030000 + 030000002E0400004F0700002F050000 16 @@ -1180,7 +1180,7 @@ 0 16 - 03000000F2020000FD090000F3030000 + 030000002E0400004F0700002F050000 16 @@ -1240,7 +1240,7 @@ 0 16 - 03000000F2020000FD090000F3030000 + 030000002E0400004F0700002F050000 16 @@ -1260,7 +1260,7 @@ 0 16 - 03000000F2020000FD090000F3030000 + 030000002E0400004F0700002F050000 16 @@ -1720,7 +1720,7 @@ 0 16 - 000000000F0400005207000025040000 + 000000004B050000000A000061050000 16 @@ -1789,7 +1789,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF4401000016010000700700001A010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007701000028010000A3070000EE010000440100005000000070070000160100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600005000000030060000FE020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000006306000028010000A3070000D6030000300600005000000070070000FE02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF18010000500000001C010000D102000001000000020000100400000001000000C2FEFFFFB5030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000033000000280100004B010000E5040000000000005000000018010000D10200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E402000070070000E802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000033000000C0030000A3070000A004000000000000E802000070070000C803000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000E8020000BC030000C803000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000D102000052070000D502000001000000010000100400000001000000DDFBFFFFC4000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000033000000E9040000330A00002306000000000000D5020000520700000F0400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF4401000016010000700700001A010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000004401000067000000700700002D010000440100005000000070070000160100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600005000000030060000FE020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000030060000670000007007000015030000300600005000000070070000FE02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF18010000500000001C0100000D04000001000000020000100400000001000000C2FEFFFFB5030000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006700000018010000E80200000000000050000000180100000D0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E402000070070000E802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000FF02000070070000DF03000000000000E802000070070000C803000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000E8020000BC030000C803000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000000D040000000A00001104000001000000010000100400000001000000DDFBFFFFC4000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000EC02000052070000260400000000000011040000000A00004B0500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1828,7 +1828,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3596,11 +3596,20 @@ 0 ../Src/main.c - 27 - 111 - 120 + 29 + 73 + 89 1 - 168,210,219 + + 0 + + + startup_stm32f103xe.s + 45 + 7 + 23 + 1 + 0 diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx index 435706d..fdbc02b 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx @@ -234,7 +234,6 @@ 1 - 0 0 2 10000000 @@ -244,7 +243,7 @@ Application/MDK-ARM - 0 + 1 0 0 0 @@ -264,7 +263,7 @@ Application/User - 1 + 0 0 0 0 @@ -344,7 +343,7 @@ Examples - 1 + 0 0 0 0 @@ -655,6 +654,18 @@ 0 0 0 + ..\User\Examples\EPD_3in52_test.c + EPD_3in52_test.c + 0 + 0 + + + 3 + 34 + 1 + 0 + 0 + 0 ..\User\Examples\EPD_3in7_test.c EPD_3in7_test.c 0 @@ -662,7 +673,7 @@ 3 - 34 + 35 1 0 0 @@ -674,7 +685,7 @@ 3 - 35 + 36 1 0 0 @@ -686,7 +697,7 @@ 3 - 36 + 37 1 0 0 @@ -698,7 +709,7 @@ 3 - 37 + 38 1 0 0 @@ -710,7 +721,7 @@ 3 - 38 + 39 1 0 0 @@ -722,7 +733,7 @@ 3 - 39 + 40 1 0 0 @@ -734,7 +745,7 @@ 3 - 40 + 41 1 0 0 @@ -746,7 +757,7 @@ 3 - 41 + 42 1 0 0 @@ -758,7 +769,7 @@ 3 - 42 + 43 1 0 0 @@ -770,7 +781,7 @@ 3 - 43 + 44 1 0 0 @@ -782,7 +793,7 @@ 3 - 44 + 45 1 0 0 @@ -794,7 +805,7 @@ 3 - 45 + 46 1 0 0 @@ -806,7 +817,7 @@ 3 - 46 + 47 1 0 0 @@ -818,7 +829,7 @@ 3 - 47 + 48 1 0 0 @@ -830,7 +841,7 @@ 3 - 48 + 49 1 0 0 @@ -842,7 +853,7 @@ 3 - 49 + 50 1 0 0 @@ -854,7 +865,7 @@ 3 - 50 + 51 1 0 0 @@ -866,19 +877,19 @@ 3 - 51 + 52 1 0 0 0 - ..\User\Examples\EPD_3in52_test.c - EPD_3in52_test.c + ..\User\Examples\EPD_4in37g_test.c + EPD_4in37g_test.c 0 0 3 - 52 + 53 1 0 0 @@ -898,7 +909,7 @@ 0 4 - 53 + 54 1 0 0 @@ -910,7 +921,7 @@ 4 - 54 + 55 1 0 0 @@ -922,7 +933,7 @@ 4 - 55 + 56 1 0 0 @@ -934,7 +945,7 @@ 4 - 56 + 57 1 0 0 @@ -946,7 +957,7 @@ 4 - 57 + 58 1 0 0 @@ -958,7 +969,7 @@ 4 - 58 + 59 1 0 0 @@ -970,7 +981,7 @@ 4 - 59 + 60 1 0 0 @@ -982,7 +993,7 @@ 4 - 60 + 61 1 0 0 @@ -994,7 +1005,7 @@ 4 - 61 + 62 1 0 0 @@ -1006,7 +1017,7 @@ 4 - 62 + 63 1 0 0 @@ -1018,7 +1029,7 @@ 4 - 63 + 64 1 0 0 @@ -1030,7 +1041,7 @@ 4 - 64 + 65 1 0 0 @@ -1042,7 +1053,7 @@ 4 - 65 + 66 1 0 0 @@ -1054,7 +1065,7 @@ 4 - 66 + 67 1 0 0 @@ -1066,7 +1077,7 @@ 4 - 67 + 68 1 0 0 @@ -1078,7 +1089,7 @@ 4 - 68 + 69 1 0 0 @@ -1090,7 +1101,7 @@ 4 - 69 + 70 1 0 0 @@ -1102,7 +1113,7 @@ 4 - 70 + 71 1 0 0 @@ -1114,7 +1125,7 @@ 4 - 71 + 72 1 0 0 @@ -1126,7 +1137,7 @@ 4 - 72 + 73 1 0 0 @@ -1138,7 +1149,7 @@ 4 - 73 + 74 1 0 0 @@ -1150,7 +1161,7 @@ 4 - 74 + 75 1 0 0 @@ -1162,7 +1173,7 @@ 4 - 75 + 76 1 0 0 @@ -1172,18 +1183,6 @@ 0 0 - - 4 - 76 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_3in7.c - EPD_3in7.c - 0 - 0 - 4 77 @@ -1191,215 +1190,215 @@ 0 0 0 - ..\User\e-Paper\EPD_4in01f.c - EPD_4in01f.c - 0 - 0 - - - 4 - 78 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_4in2.c - EPD_4in2.c - 0 - 0 - - - 4 - 79 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_4in2bc.c - EPD_4in2bc.c - 0 - 0 - - - 4 - 80 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_4in2b_V2.c - EPD_4in2b_V2.c - 0 - 0 - - - 4 - 81 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_5in65f.c - EPD_5in65f.c - 0 - 0 - - - 4 - 82 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_5in83.c - EPD_5in83.c - 0 - 0 - - - 4 - 83 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_5in83_V2.c - EPD_5in83_V2.c - 0 - 0 - - - 4 - 84 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_5in83bc.c - EPD_5in83bc.c - 0 - 0 - - - 4 - 85 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_5in83b_V2.c - EPD_5in83b_V2.c - 0 - 0 - - - 4 - 86 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5.c - EPD_7in5.c - 0 - 0 - - - 4 - 87 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5_V2.c - EPD_7in5_V2.c - 0 - 0 - - - 4 - 88 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5_HD.c - EPD_7in5_HD.c - 0 - 0 - - - 4 - 89 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5bc.c - EPD_7in5bc.c - 0 - 0 - - - 4 - 90 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5b_V2.c - EPD_7in5b_V2.c - 0 - 0 - - - 4 - 91 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_7in5b_HD.c - EPD_7in5b_HD.c - 0 - 0 - - - 4 - 92 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_1in64g.c - EPD_1in64g.c - 0 - 0 - - - 4 - 93 - 1 - 0 - 0 - 0 - ..\User\e-Paper\EPD_3in0g.c - EPD_3in0g.c - 0 - 0 - - - 4 - 94 - 1 - 0 - 0 - 0 ..\User\e-Paper\EPD_3in52.c EPD_3in52.c 0 0 + + 4 + 78 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_3in7.c + EPD_3in7.c + 0 + 0 + + + 4 + 79 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in01f.c + EPD_4in01f.c + 0 + 0 + + + 4 + 80 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in2.c + EPD_4in2.c + 0 + 0 + + + 4 + 81 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in2bc.c + EPD_4in2bc.c + 0 + 0 + + + 4 + 82 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in2b_V2.c + EPD_4in2b_V2.c + 0 + 0 + + + 4 + 83 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_5in65f.c + EPD_5in65f.c + 0 + 0 + + + 4 + 84 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_5in83.c + EPD_5in83.c + 0 + 0 + + + 4 + 85 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_5in83_V2.c + EPD_5in83_V2.c + 0 + 0 + + + 4 + 86 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_5in83bc.c + EPD_5in83bc.c + 0 + 0 + + + 4 + 87 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_5in83b_V2.c + EPD_5in83b_V2.c + 0 + 0 + + + 4 + 88 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5.c + EPD_7in5.c + 0 + 0 + + + 4 + 89 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5_V2.c + EPD_7in5_V2.c + 0 + 0 + + + 4 + 90 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5_HD.c + EPD_7in5_HD.c + 0 + 0 + + + 4 + 91 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5bc.c + EPD_7in5bc.c + 0 + 0 + + + 4 + 92 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5b_V2.c + EPD_7in5b_V2.c + 0 + 0 + + + 4 + 93 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5b_HD.c + EPD_7in5b_HD.c + 0 + 0 + + + 4 + 94 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_1in64g.c + EPD_1in64g.c + 0 + 0 + 4 95 @@ -1407,6 +1406,30 @@ 0 0 0 + ..\User\e-Paper\EPD_3in0g.c + EPD_3in0g.c + 0 + 0 + + + 4 + 96 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in37g.c + EPD_4in37g.c + 0 + 0 + + + 4 + 97 + 1 + 0 + 0 + 0 ..\User\e-Paper\EPD_7in3g.c EPD_7in3g.c 0 @@ -1422,7 +1445,7 @@ 0 5 - 96 + 98 1 0 0 @@ -1442,7 +1465,7 @@ 0 6 - 97 + 99 1 0 0 @@ -1462,7 +1485,7 @@ 0 7 - 98 + 100 1 0 0 @@ -1474,7 +1497,7 @@ 7 - 99 + 101 1 0 0 @@ -1486,7 +1509,7 @@ 7 - 100 + 102 1 0 0 @@ -1498,7 +1521,7 @@ 7 - 101 + 103 1 0 0 @@ -1510,7 +1533,7 @@ 7 - 102 + 104 1 0 0 @@ -1522,7 +1545,7 @@ 7 - 103 + 105 1 0 0 @@ -1534,7 +1557,7 @@ 7 - 104 + 106 1 0 0 @@ -1554,7 +1577,7 @@ 0 8 - 105 + 107 5 0 0 @@ -1566,7 +1589,7 @@ 8 - 106 + 108 5 0 0 @@ -1586,7 +1609,7 @@ 0 9 - 107 + 109 1 0 0 @@ -1606,7 +1629,7 @@ 0 10 - 108 + 110 1 0 0 @@ -1618,7 +1641,7 @@ 10 - 109 + 111 1 0 0 @@ -1630,7 +1653,7 @@ 10 - 110 + 112 1 0 0 @@ -1642,7 +1665,7 @@ 10 - 111 + 113 1 0 0 @@ -1654,7 +1677,7 @@ 10 - 112 + 114 1 0 0 @@ -1666,7 +1689,7 @@ 10 - 113 + 115 1 0 0 @@ -1678,7 +1701,7 @@ 10 - 114 + 116 1 0 0 @@ -1690,7 +1713,7 @@ 10 - 115 + 117 1 0 0 @@ -1702,7 +1725,7 @@ 10 - 116 + 118 1 0 0 @@ -1714,7 +1737,7 @@ 10 - 117 + 119 1 0 0 @@ -1726,7 +1749,7 @@ 10 - 118 + 120 1 0 0 @@ -1738,7 +1761,7 @@ 10 - 119 + 121 1 0 0 @@ -1750,7 +1773,7 @@ 10 - 120 + 122 1 0 0 @@ -1762,7 +1785,7 @@ 10 - 121 + 123 1 0 0 @@ -1774,7 +1797,7 @@ 10 - 122 + 124 1 0 0 diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx index 9ff616d..065e7d9 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx @@ -16,7 +16,7 @@ STM32F103ZE STMicroelectronics - Keil.STM32F1xx_DFP.2.1.0 + Keil.STM32F1xx_DFP.2.3.0 http://www.keil.com/pack/ IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") @@ -184,7 +184,6 @@ 0 0 0 - 0 0 0 8 @@ -552,6 +551,11 @@ 1 ..\User\Examples\EPD_2in66b_test.c + + EPD_3in52_test.c + 1 + ..\User\Examples\EPD_3in52_test.c + EPD_3in7_test.c 1 @@ -643,9 +647,9 @@ ..\User\Examples\EPD_3in0g_test.c - EPD_3in52_test.c + EPD_4in37g_test.c 1 - ..\User\Examples\EPD_3in52_test.c + ..\User\Examples\EPD_4in37g_test.c EPD_7in3g_test.c @@ -772,6 +776,11 @@ 1 ..\User\e-Paper\EPD_2in66b.c + + EPD_3in52.c + 1 + ..\User\e-Paper\EPD_3in52.c + EPD_3in7.c 1 @@ -863,9 +872,9 @@ ..\User\e-Paper\EPD_3in0g.c - EPD_3in52.c + EPD_4in37g.c 1 - ..\User\e-Paper\EPD_3in52.c + ..\User\e-Paper\EPD_4in37g.c EPD_7in3g.c diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm index cc7447d..1d782a4 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.build_log.htm @@ -3,189 +3,58 @@
 

µVision Build Log

Tool Versions:

-IDE-Version: ¦ÌVision V5.26.2.0 +IDE-Version: ¦ÌVision V5.25.2.0 Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved. -License Information: , , LIC=RC93N-YLJYL-JJH6S-LI3Z1-D1AV2-99PL8 +License Information: ass ass, ass, LIC=JL2UH-W872P-CJR6Z-JYZTW-ESB48-R6YF4 Tool Versions: -Toolchain: MDK-ARM Plus Version: 5.26.2.0 -Toolchain Path: D:\KEIL\azwz\ARM\ARMCC\Bin +Toolchain: MDK-ARM Plus Version: 5.25.2.0 +Toolchain Path: D:\Program Files\keil5\ARM\ARMCC\Bin C Compiler: Armcc.exe V5.06 update 6 (build 750) Assembler: Armasm.exe V5.06 update 6 (build 750) Linker/Locator: ArmLink.exe V5.06 update 6 (build 750) Library Manager: ArmAr.exe V5.06 update 6 (build 750) Hex Converter: FromElf.exe V5.06 update 6 (build 750) -CPU DLL: SARMCM3.DLL V5.26.2.0 -Dialog DLL: DCM.DLL V1.17.2.0 -Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.5.0 -Dialog DLL: TCM.DLL V1.36.1.0 +CPU DLL: SARMCM3.DLL V5.25.2.0 +Dialog DLL: DCM.DLL V1.17.1.0 +Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.1.0 +Dialog DLL: TCM.DLL V1.35.1.0

Project:

-E:\ÏîÄ¿\e-Paper\Code\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx -Project File Date: 07/22/2022 +E:\github\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx +Project File Date: 08/16/2022

Output:

-*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\KEIL\azwz\ARM\ARMCC\Bin' +*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\keil5\ARM\ARMCC\Bin' Build target 'epd-demo' -assembling startup_stm32f103xe.s... -compiling usart.c... -compiling gpio.c... -compiling spi.c... -compiling stm32f1xx_it.c... -compiling main.c... -compiling ImageData2.c... -compiling ImageData.c... -compiling stm32f1xx_hal_msp.c... -compiling EPD_1in54b_test.c... -compiling EPD_1in54_test.c... -compiling EPD_1in02_test.c... -compiling EPD_1in54_V2_test.c... -compiling EPD_2in7b_V2_test.c... -compiling EPD_2in7b_test.c... -compiling EPD_1in54b_V2_test.c... -compiling EPD_1in54c_test.c... -compiling EPD_2in7_test.c... -compiling EPD_2in9bc_test.c... -compiling EPD_2in9d_test.c... -compiling EPD_2in9b_V3_test.c... -compiling EPD_2in9_test.c... -compiling EPD_2in9_V2_test.c... -compiling EPD_2in13b_V4_test.c... -compiling EPD_2in13_test.c... -compiling EPD_2in13b_V3_test.c... -compiling EPD_2in13_V3_test.c... -compiling EPD_2in13_V2_test.c... -compiling EPD_2in13bc_test.c... -compiling EPD_3in7_test.c... -compiling EPD_2in13d_test.c... -compiling EPD_2in66b_test.c... -compiling EPD_2in66_test.c... -compiling EPD_4in2_test.c... -compiling EPD_4in01f_test.c... -compiling EPD_4in2b_V2_test.c... -compiling EPD_4in2bc_test.c... -compiling EPD_5in65f_test.c... -compiling EPD_5in83_V2_test.c... -compiling EPD_7in5_test.c... -compiling EPD_5in83b_V2_test.c... -compiling EPD_5in83bc_test.c... -compiling EPD_5in83_test.c... -compiling EPD_7in5b_V2_test.c... -compiling EPD_7in5b_HD_test.c... -compiling EPD_7in5bc_test.c... -compiling EPD_7in5_V2_test.c... -compiling EPD_7in5_HD_test.c... -compiling EPD_3in52_test.c... -compiling EPD_7in3g_test.c... -compiling EPD_3in0g_test.c... -compiling EPD_1in02d.c... -compiling EPD_1in64g_test.c... -compiling EPD_1in54c.c... -compiling EPD_1in54_V2.c... -compiling EPD_1in54b.c... -compiling EPD_1in54b_V2.c... -compiling EPD_1in54.c... -compiling EPD_2in7b_V2.c... -compiling EPD_2in9.c... -compiling EPD_2in7.c... -compiling EPD_2in7b.c... -compiling EPD_2in9_V2.c... -compiling EPD_2in9b_V3.c... -compiling EPD_2in9bc.c... -compiling EPD_2in9d.c... -compiling EPD_2in13.c... -compiling EPD_2in13_V2.c... -compiling EPD_2in13b_V3.c... -compiling EPD_2in13_V3.c... -compiling EPD_2in13d.c... -compiling EPD_2in13b_V4.c... -compiling EPD_2in13bc.c... -compiling EPD_3in7.c... -compiling EPD_2in66b.c... -compiling EPD_4in01f.c... -compiling EPD_2in66.c... -compiling EPD_4in2.c... -..\User\e-Paper\EPD_4in2.c(612): warning: #550-D: variable "Height" was set but never used - UWORD Width, Height; -..\User\e-Paper\EPD_4in2.c: 1 warning, 0 errors -compiling EPD_5in83_V2.c... -compiling EPD_5in65f.c... -compiling EPD_4in2b_V2.c... -compiling EPD_4in2bc.c... -compiling EPD_5in83.c... -compiling EPD_7in5_V2.c... -compiling EPD_7in5_HD.c... -compiling EPD_7in5.c... -compiling EPD_5in83bc.c... -compiling EPD_5in83b_V2.c... -compiling EPD_3in0g.c... -..\User\e-Paper\EPD_3in0g.c(86): warning: #177-D: function "EPD_3IN0G_ReadBusyL" was declared but never referenced - static void EPD_3IN0G_ReadBusyL(void) -..\User\e-Paper\EPD_3in0g.c: 1 warning, 0 errors -compiling EPD_7in5bc.c... -compiling EPD_7in5b_HD.c... -compiling EPD_1in64g.c... -..\User\e-Paper\EPD_1in64g.c(90): warning: #177-D: function "EPD_1IN64G_ReadBusyL" was declared but never referenced - static void EPD_1IN64G_ReadBusyL(void) -..\User\e-Paper\EPD_1in64g.c: 1 warning, 0 errors -compiling EPD_7in5b_V2.c... -compiling font8.c... -compiling font12.c... -compiling font12CN.c... -compiling font16.c... -compiling font20.c... -compiling font24.c... -compiling font24CN.c... -compiling DEV_Config.c... -compiling EPD_3in52.c... -compiling EPD_7in3g.c... -..\User\e-Paper\EPD_7in3g.c(86): warning: #177-D: function "EPD_7IN3G_ReadBusyL" was declared but never referenced - static void EPD_7IN3G_ReadBusyL(void) -..\User\e-Paper\EPD_7in3g.c: 1 warning, 0 errors -compiling GUI_Paint.c... -compiling system_stm32f1xx.c... -compiling stm32f1xx_hal_rcc_ex.c... -compiling stm32f1xx_hal_spi.c... -compiling stm32f1xx_hal.c... -compiling stm32f1xx_hal_rcc.c... -compiling stm32f1xx_hal_gpio_ex.c... -compiling stm32f1xx_hal_pwr.c... -compiling stm32f1xx_hal_flash.c... -compiling stm32f1xx_hal_gpio.c... -compiling stm32f1xx_hal_dma.c... -compiling stm32f1xx_hal_cortex.c... -compiling stm32f1xx_hal_tim_ex.c... -compiling stm32f1xx_hal_exti.c... -compiling stm32f1xx_hal_tim.c... -compiling stm32f1xx_hal_uart.c... -compiling stm32f1xx_hal_flash_ex.c... +compiling EPD_4in37g_test.c... linking... -Program Size: Code=24300 RO-data=9260 RW-data=56 ZI-data=41136 +Program Size: Code=24416 RO-data=57124 RW-data=56 ZI-data=53424 FromELF: creating hex file... -"epd-demo\epd-demo.axf" - 0 Error(s), 4 Warning(s). +"epd-demo\epd-demo.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

Package Vendor: ARM - http://www.keil.com/pack/ARM.CMSIS.5.9.0.pack - ARM.CMSIS.5.9.0 - CMSIS (Common Microcontroller Software Interface Standard) - * Component: CORE Version: 5.6.0 + http://www.keil.com/pack/ARM.CMSIS.5.7.0.pack + ARM.CMSIS.5.7.0 + CMSIS (Cortex Microcontroller Software Interface Standard) + * Component: CORE Version: 5.4.0 Package Vendor: Keil - http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.1.0.pack - Keil.STM32F1xx_DFP.2.1.0 + http://www.keil.com/pack/Keil.STM32F1xx_DFP.2.3.0.pack + Keil.STM32F1xx_DFP.2.3.0 STMicroelectronics STM32F1 Series Device Support, Drivers and Examples

Collection of Component include folders:

.\RTE\_epd-demo - D:\KEIL\azwz\ARM\PACK\ARM\CMSIS\5.9.0\CMSIS\Core\Include - D:\KEIL\azwz\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include + D:\Program Files\keil5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\Core\Include + D:\Program Files\keil5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Include

Collection of Component Files used:

- * Component: ARM::CMSIS:CORE:5.6.0 -Build Time Elapsed: 00:00:47 + * Component: ARM::CMSIS:CORE:5.4.0 +Build Time Elapsed: 00:00:02
diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm index e4c418a..2351e8c 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm @@ -3,11 +3,11 @@ Static Call Graph - [epd-demo\epd-demo.axf]

Static Call Graph for image epd-demo\epd-demo.axf


-

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Wed Jul 27 17:17:15 2022 +

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Tue Aug 16 16:55:17 2022

-

Maximum Stack Usage = 752 bytes + Unknown(Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 760 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

-main ⇒ EPD_7in3g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +main ⇒ EPD_4in37g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf

Mutually Recursive functions @@ -365,14 +365,14 @@ Global Symbols

main (Thumb, 36 bytes, Stack size 0 bytes, main.o(.text)) -

[Stack]

  • Max Depth = 752
  • Call Chain = main ⇒ EPD_7in3g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +

    [Stack]
    • Max Depth = 760
    • Call Chain = main ⇒ EPD_4in37g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf

    [Calls]
    • >>   MX_USART1_UART_Init
    • >>   MX_SPI1_Init
    • >>   MX_GPIO_Init
    • >>   HAL_Init
    • >>   HAL_Delay -
    • >>   EPD_7in3g_test +
    • >>   EPD_4in37g_test
    • >>   SystemClock_Config

    [Address Reference Count : 1]
    • entry9a.o(.ARM.Collect$$$$0000000B) @@ -493,82 +493,75 @@ Global Symbols
      [Called By]
      • >>   HAL_Init
      -

      EPD_7in3g_test (Thumb, 480 bytes, Stack size 48 bytes, epd_7in3g_test.o(.text)) -

      [Stack]

      • Max Depth = 752
      • Call Chain = EPD_7in3g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +

        EPD_4in37g_test (Thumb, 688 bytes, Stack size 56 bytes, epd_4in37g_test.o(.text)) +

        [Stack]

        • Max Depth = 760
        • Call Chain = EPD_4in37g_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf

        [Calls]
        • >>   Paint_SetScale +
        • >>   Paint_DrawBitMap
        • >>   Paint_SelectImage
        • >>   Paint_NewImage -
        • >>   Paint_DrawString_EN -
        • >>   Paint_DrawString_CN -
        • >>   Paint_DrawRectangle -
        • >>   Paint_DrawPoint -
        • >>   Paint_DrawNum -
        • >>   Paint_DrawLine -
        • >>   Paint_DrawCircle +
        • >>   Paint_DrawString_EN +
        • >>   Paint_DrawString_CN +
        • >>   Paint_DrawRectangle +
        • >>   Paint_DrawPoint +
        • >>   Paint_DrawNum +
        • >>   Paint_DrawLine +
        • >>   Paint_DrawCircle
        • >>   Paint_Clear
        • >>   DEV_Module_Init -
        • >>   DEV_Module_Exit +
        • >>   DEV_Module_Exit
        • >>   HAL_Delay -
        • >>   EPD_7IN3G_Sleep -
        • >>   EPD_7IN3G_Init -
        • >>   EPD_7IN3G_Display_part -
        • >>   EPD_7IN3G_Clear +
        • >>   EPD_4IN37G_Sleep +
        • >>   EPD_4IN37G_Init +
        • >>   EPD_4IN37G_Display +
        • >>   EPD_4IN37G_Clear
        • >>   malloc -
        • >>   free +
        • >>   free
        • >>   __2printf

        [Called By]
        • >>   main
        -

        EPD_7IN3G_Init (Thumb, 354 bytes, Stack size 8 bytes, epd_7in3g.o(.text)) -

        [Stack]

        • Max Depth = 120
        • Call Chain = EPD_7IN3G_Init ⇒ EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

          EPD_4IN37G_Init (Thumb, 344 bytes, Stack size 8 bytes, epd_4in37g.o(.text)) +

          [Stack]

          • Max Depth = 120
          • Call Chain = EPD_4IN37G_Init ⇒ EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout

          [Calls]
          • >>   HAL_GPIO_WritePin
          • >>   HAL_Delay -
          • >>   EPD_7IN3G_SendData -
          • >>   EPD_7IN3G_SendCommand -
          • >>   EPD_7IN3G_ReadBusyH +
          • >>   EPD_4IN37G_SendData +
          • >>   EPD_4IN37G_SendCommand
          -
          [Called By]
          • >>   EPD_7in3g_test +
            [Called By]
            • >>   EPD_4in37g_test
            -

            EPD_7IN3G_Clear (Thumb, 62 bytes, Stack size 24 bytes, epd_7in3g.o(.text)) -

            [Stack]

            • Max Depth = 144
            • Call Chain = EPD_7IN3G_Clear ⇒ EPD_7IN3G_TurnOnDisplay ⇒ EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

              EPD_4IN37G_Clear (Thumb, 74 bytes, Stack size 24 bytes, epd_4in37g.o(.text)) +

              [Stack]

              • Max Depth = 144
              • Call Chain = EPD_4IN37G_Clear ⇒ EPD_4IN37G_TurnOnDisplay ⇒ EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
              -
              [Calls]
              • >>   EPD_7IN3G_TurnOnDisplay -
              • >>   EPD_7IN3G_SendData -
              • >>   EPD_7IN3G_SendCommand -
              • >>   EPD_7IN3G_ReadBusyH +
                [Calls]
                • >>   EPD_4IN37G_TurnOnDisplay +
                • >>   EPD_4IN37G_SendData +
                • >>   EPD_4IN37G_SendCommand +
                • >>   EPD_4IN37G_ReadBusyH
                -
                [Called By]
                • >>   EPD_7in3g_test +
                  [Called By]
                  • >>   EPD_4in37g_test
                  -

                  EPD_7IN3G_Display (Thumb, 70 bytes, Stack size 32 bytes, epd_7in3g.o(.text), UNUSED) -

                  [Calls]

                  • >>   EPD_7IN3G_TurnOnDisplay -
                  • >>   EPD_7IN3G_SendData -
                  • >>   EPD_7IN3G_SendCommand -
                  • >>   EPD_7IN3G_ReadBusyH +

                    EPD_4IN37G_Display (Thumb, 72 bytes, Stack size 32 bytes, epd_4in37g.o(.text)) +

                    [Stack]

                    • Max Depth = 152
                    • Call Chain = EPD_4IN37G_Display ⇒ EPD_4IN37G_TurnOnDisplay ⇒ EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                    +
                    [Calls]
                    • >>   EPD_4IN37G_TurnOnDisplay +
                    • >>   EPD_4IN37G_SendData +
                    • >>   EPD_4IN37G_SendCommand +
                    • >>   EPD_4IN37G_ReadBusyH +
                    +
                    [Called By]
                    • >>   EPD_4in37g_test
                    -

                    EPD_7IN3G_Display_part (Thumb, 128 bytes, Stack size 56 bytes, epd_7in3g.o(.text)) -

                    [Stack]

                    • Max Depth = 176
                    • Call Chain = EPD_7IN3G_Display_part ⇒ EPD_7IN3G_TurnOnDisplay ⇒ EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                      EPD_4IN37G_Sleep (Thumb, 30 bytes, Stack size 8 bytes, epd_4in37g.o(.text)) +

                      [Stack]

                      • Max Depth = 120
                      • Call Chain = EPD_4IN37G_Sleep ⇒ EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                      -
                      [Calls]
                      • >>   EPD_7IN3G_TurnOnDisplay -
                      • >>   EPD_7IN3G_SendData -
                      • >>   EPD_7IN3G_SendCommand -
                      • >>   EPD_7IN3G_ReadBusyH +
                        [Calls]
                        • >>   EPD_4IN37G_SendData +
                        • >>   EPD_4IN37G_SendCommand
                        -
                        [Called By]
                        • >>   EPD_7in3g_test -
                        - -

                        EPD_7IN3G_Sleep (Thumb, 30 bytes, Stack size 8 bytes, epd_7in3g.o(.text)) -

                        [Stack]

                        • Max Depth = 120
                        • Call Chain = EPD_7IN3G_Sleep ⇒ EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                        -
                        [Calls]
                        • >>   EPD_7IN3G_SendData -
                        • >>   EPD_7IN3G_SendCommand -
                        -
                        [Called By]
                        • >>   EPD_7in3g_test +
                          [Called By]
                          • >>   EPD_4in37g_test

                          DEV_SPI_WriteByte (Thumb, 18 bytes, Stack size 8 bytes, dev_config.o(.text)) @@ -576,8 +569,8 @@ Global Symbols


                        [Calls]
                        • >>   HAL_SPI_Transmit
                        -
                        [Called By]
                        • >>   EPD_7IN3G_SendData -
                        • >>   EPD_7IN3G_SendCommand +
                          [Called By]
                          • >>   EPD_4IN37G_SendData +
                          • >>   EPD_4IN37G_SendCommand

                          DEV_Module_Init (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text)) @@ -585,25 +578,25 @@ Global Symbols


                        [Calls]
                        • >>   HAL_GPIO_WritePin
                        -
                        [Called By]
                        • >>   EPD_7in3g_test +
                          [Called By]
                          • >>   EPD_4in37g_test
                          -

                          DEV_Module_Exit (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text)) +

                          DEV_Module_Exit (Thumb, 38 bytes, Stack size 8 bytes, dev_config.o(.text))

                          [Stack]

                          • Max Depth = 8
                          • Call Chain = DEV_Module_Exit

                          [Calls]
                          • >>   HAL_GPIO_WritePin
                          -
                          [Called By]
                          • >>   EPD_7in3g_test +
                            [Called By]
                            • >>   EPD_4in37g_test

                            Paint_NewImage (Thumb, 56 bytes, Stack size 16 bytes, gui_paint.o(.text))

                            [Stack]

                            • Max Depth = 16
                            • Call Chain = Paint_NewImage
                            -
                            [Called By]
                            • >>   EPD_7in3g_test +
                              [Called By]
                              • >>   EPD_4in37g_test

                              Paint_SelectImage (Thumb, 6 bytes, Stack size 0 bytes, gui_paint.o(.text)) -

                              [Called By]

                              • >>   EPD_7in3g_test +

                                [Called By]
                                • >>   EPD_4in37g_test

                                Paint_SetRotate (Thumb, 44 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED) @@ -615,7 +608,7 @@ Global Symbols


                              [Calls]
                              • >>   __2printf
                              -
                              [Called By]
                              • >>   EPD_7in3g_test +
                                [Called By]
                                • >>   EPD_4in37g_test

                                Paint_SetMirroring (Thumb, 62 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED) @@ -627,60 +620,60 @@ Global Symbols


                              [Calls]
                              • >>   __2printf
                              -
                              [Called By]
                              • >>   Paint_DrawString_CN -
                              • >>   Paint_DrawPoint +
                                [Called By]
                                • >>   Paint_DrawString_CN +
                                • >>   Paint_DrawPoint
                                • >>   Paint_ClearWindows
                                • >>   Paint_DrawBitMap_Paste
                                • >>   Paint_DrawChar
                                -

                                Paint_Clear (Thumb, 104 bytes, Stack size 12 bytes, gui_paint.o(.text)) +

                                Paint_Clear (Thumb, 156 bytes, Stack size 12 bytes, gui_paint.o(.text))

                                [Stack]

                                • Max Depth = 12
                                • Call Chain = Paint_Clear
                                -
                                [Called By]
                                • >>   EPD_7in3g_test +
                                  [Called By]
                                  • >>   EPD_4in37g_test

                                  Paint_ClearWindows (Thumb, 52 bytes, Stack size 32 bytes, gui_paint.o(.text), UNUSED)

                                  [Calls]

                                  • >>   Paint_SetPixel
                                  -

                                  Paint_DrawPoint (Thumb, 180 bytes, Stack size 40 bytes, gui_paint.o(.text)) +

                                  Paint_DrawPoint (Thumb, 180 bytes, Stack size 40 bytes, gui_paint.o(.text))

                                  [Stack]

                                  • Max Depth = 80
                                  • Call Chain = Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf

                                  [Calls]
                                  • >>   Paint_SetPixel
                                  • >>   __2printf
                                  -
                                  [Called By]
                                  • >>   Paint_DrawLine -
                                  • >>   Paint_DrawCircle -
                                  • >>   EPD_7in3g_test +
                                    [Called By]
                                    • >>   Paint_DrawLine +
                                    • >>   Paint_DrawCircle +
                                    • >>   EPD_4in37g_test
                                    -

                                    Paint_DrawLine (Thumb, 654 bytes, Stack size 48 bytes, gui_paint.o(.text)) +

                                    Paint_DrawLine (Thumb, 662 bytes, Stack size 48 bytes, gui_paint.o(.text))

                                    [Stack]

                                    • Max Depth = 128
                                    • Call Chain = Paint_DrawLine ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf
                                    -
                                    [Calls]
                                    • >>   Paint_DrawPoint +
                                      [Calls]
                                      • >>   Paint_DrawPoint
                                      • >>   __2printf
                                      -
                                      [Called By]
                                      • >>   Paint_DrawRectangle -
                                      • >>   EPD_7in3g_test +
                                        [Called By]
                                        • >>   Paint_DrawRectangle +
                                        • >>   EPD_4in37g_test
                                        -

                                        Paint_DrawRectangle (Thumb, 170 bytes, Stack size 48 bytes, gui_paint.o(.text)) +

                                        Paint_DrawRectangle (Thumb, 170 bytes, Stack size 48 bytes, gui_paint.o(.text))

                                        [Stack]

                                        • Max Depth = 176
                                        • Call Chain = Paint_DrawRectangle ⇒ Paint_DrawLine ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf
                                        -
                                        [Calls]
                                        • >>   Paint_DrawLine +
                                          [Calls]
                                          • >>   Paint_DrawLine
                                          • >>   __2printf
                                          -
                                          [Called By]
                                          • >>   EPD_7in3g_test +
                                            [Called By]
                                            • >>   EPD_4in37g_test
                                            -

                                            Paint_DrawCircle (Thumb, 528 bytes, Stack size 72 bytes, gui_paint.o(.text)) +

                                            Paint_DrawCircle (Thumb, 528 bytes, Stack size 72 bytes, gui_paint.o(.text))

                                            [Stack]

                                            • Max Depth = 152
                                            • Call Chain = Paint_DrawCircle ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf
                                            -
                                            [Calls]
                                            • >>   Paint_DrawPoint +
                                              [Calls]
                                              • >>   Paint_DrawPoint
                                              • >>   __2printf
                                              -
                                              [Called By]
                                              • >>   EPD_7in3g_test +
                                                [Called By]
                                                • >>   EPD_4in37g_test

                                                Paint_DrawChar (Thumb, 172 bytes, Stack size 40 bytes, gui_paint.o(.text)) @@ -690,53 +683,57 @@ Global Symbols

                                              • >>   __2printf

                                              [Called By]
                                              • >>   Paint_DrawTime -
                                              • >>   Paint_DrawString_EN +
                                              • >>   Paint_DrawString_EN
                                              -

                                              Paint_DrawString_EN (Thumb, 116 bytes, Stack size 48 bytes, gui_paint.o(.text)) +

                                              Paint_DrawString_EN (Thumb, 116 bytes, Stack size 48 bytes, gui_paint.o(.text))

                                              [Stack]

                                              • Max Depth = 128
                                              • Call Chain = Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf

                                              [Calls]
                                              • >>   Paint_DrawChar
                                              • >>   __2printf
                                              -
                                              [Called By]
                                              • >>   Paint_DrawNum -
                                              • >>   EPD_7in3g_test +
                                                [Called By]
                                                • >>   Paint_DrawNum +
                                                • >>   EPD_4in37g_test
                                                -

                                                Paint_DrawString_CN (Thumb, 518 bytes, Stack size 40 bytes, gui_paint.o(.text)) +

                                                Paint_DrawString_CN (Thumb, 518 bytes, Stack size 40 bytes, gui_paint.o(.text))

                                                [Stack]

                                                • Max Depth = 80
                                                • Call Chain = Paint_DrawString_CN ⇒ Paint_SetPixel ⇒ __2printf

                                                [Calls]
                                                • >>   Paint_SetPixel
                                                -
                                                [Called By]
                                                • >>   EPD_7in3g_test +
                                                  [Called By]
                                                  • >>   EPD_4in37g_test
                                                  -

                                                  Paint_DrawNum (Thumb, 140 bytes, Stack size 576 bytes, gui_paint.o(.text)) +

                                                  Paint_DrawNum (Thumb, 140 bytes, Stack size 576 bytes, gui_paint.o(.text))

                                                  [Stack]

                                                  • Max Depth = 704
                                                  • Call Chain = Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf
                                                  -
                                                  [Calls]
                                                  • >>   Paint_DrawString_EN +
                                                    [Calls]
                                                    • >>   Paint_DrawString_EN
                                                    • >>   __2printf
                                                    • >>   __aeabi_memclr4
                                                    -
                                                    [Called By]
                                                    • >>   EPD_7in3g_test +
                                                      [Called By]
                                                      • >>   EPD_4in37g_test

                                                      Paint_DrawTime (Thumb, 282 bytes, Stack size 72 bytes, gui_paint.o(.text), UNUSED)

                                                      [Calls]

                                                      • >>   Paint_DrawChar
                                                      -

                                                      Paint_DrawBitMap (Thumb, 46 bytes, Stack size 16 bytes, gui_paint.o(.text), UNUSED) +

                                                      Paint_DrawBitMap (Thumb, 46 bytes, Stack size 16 bytes, gui_paint.o(.text)) +

                                                      [Stack]

                                                      • Max Depth = 16
                                                      • Call Chain = Paint_DrawBitMap +
                                                      +
                                                      [Called By]
                                                      • >>   EPD_4in37g_test +

                                                      Paint_DrawBitMap_Paste (Thumb, 110 bytes, Stack size 56 bytes, gui_paint.o(.text), UNUSED)

                                                      [Calls]

                                                      • >>   Paint_SetPixel
                                                      -

                                                      Paint_DrawBitMap_Block (Thumb, 54 bytes, Stack size 20 bytes, gui_paint.o(.text), UNUSED) +

                                                      Paint_DrawBitMap_Block (Thumb, 54 bytes, Stack size 20 bytes, gui_paint.o(.text), UNUSED)

                                                      SystemInit (Thumb, 60 bytes, Stack size 0 bytes, system_stm32f1xx.o(.text))
                                                      [Address Reference Count : 1]

                                                      • startup_stm32f103xe.o(.text)
                                                      -

                                                      SystemCoreClockUpdate (Thumb, 108 bytes, Stack size 0 bytes, system_stm32f1xx.o(.text), UNUSED) +

                                                      SystemCoreClockUpdate (Thumb, 108 bytes, Stack size 0 bytes, system_stm32f1xx.o(.text), UNUSED)

                                                      HAL_SPI_Init (Thumb, 180 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text))

                                                      [Stack]

                                                      • Max Depth = 80
                                                      • Call Chain = HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init @@ -789,7 +786,7 @@ Global Symbols
                                                      • >>   SPI_CloseTx_ISR
                                                      -

                                                      HAL_SPI_Transmit_IT (Thumb, 162 bytes, Stack size 4 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      HAL_SPI_Transmit_IT (Thumb, 162 bytes, Stack size 4 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)

                                                      HAL_SPI_RxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text))

                                                      [Called By]

                                                      • >>   SPI_DMAReceiveCplt @@ -852,9 +849,9 @@ Global Symbols
                                                      • >>   HAL_DMA_Abort_IT
                                                      -

                                                      HAL_SPI_DMAPause (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      HAL_SPI_DMAPause (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                      HAL_SPI_DMAResume (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      HAL_SPI_DMAResume (Thumb, 38 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)

                                                      HAL_SPI_DMAStop (Thumb, 68 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)

                                                      [Calls]

                                                      • >>   HAL_DMA_Abort @@ -865,9 +862,9 @@ Global Symbols
                                                      • >>   HAL_DMA_Abort_IT
                                                      -

                                                      HAL_SPI_GetState (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      HAL_SPI_GetState (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                      HAL_SPI_GetError (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      HAL_SPI_GetError (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text), UNUSED)

                                                      HAL_InitTick (Thumb, 58 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text))

                                                      [Stack]

                                                      • Max Depth = 20
                                                      • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority @@ -908,8 +905,6 @@ Global Symbols
                                                      • >>   HAL_RCC_OscConfig
                                                      • >>   HAL_RCC_ClockConfig
                                                      • >>   HAL_Delay -
                                                      • >>   HAL_UART_Receive -
                                                      • >>   UART_WaitOnFlagUntilTimeout
                                                      • >>   HAL_DMA_PollForTransfer
                                                      • >>   HAL_RCC_DeInit
                                                      • >>   HAL_SPI_Receive @@ -923,54 +918,56 @@ Global Symbols
                                                      • >>   SPI_CloseTx_ISR
                                                      • >>   SPI_WaitFlagStateUntilTimeout
                                                      • >>   HAL_SPI_Transmit +
                                                      • >>   HAL_UART_Receive +
                                                      • >>   UART_WaitOnFlagUntilTimeout
                                                      -

                                                      HAL_GetTickPrio (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                      HAL_GetTickPrio (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)

                                                      HAL_SetTickFreq (Thumb, 30 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text), UNUSED)

                                                      [Calls]

                                                      • >>   HAL_InitTick
                                                      -

                                                      HAL_GetTickFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                      HAL_GetTickFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)

                                                      HAL_Delay (Thumb, 34 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text))

                                                      [Stack]

                                                      • Max Depth = 16
                                                      • Call Chain = HAL_Delay

                                                      [Calls]
                                                      • >>   HAL_GetTick
                                                      -
                                                      [Called By]
                                                      • >>   EPD_7in3g_test +
                                                        [Called By]
                                                        • >>   EPD_4in37g_test
                                                        • >>   main -
                                                        • >>   EPD_7IN3G_Init -
                                                        • >>   EPD_7IN3G_ReadBusyH +
                                                        • >>   EPD_4IN37G_Init +
                                                        • >>   EPD_4IN37G_ReadBusyH
                                                        -

                                                        HAL_SuspendTick (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_SuspendTick (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_ResumeTick (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_ResumeTick (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetHalVersion (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetHalVersion (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetREVID (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetREVID (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetDEVID (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetDEVID (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetUIDw0 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetUIDw0 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetUIDw1 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetUIDw1 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_GetUIDw2 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_GetUIDw2 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_EnableDBGSleepMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_EnableDBGSleepMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_DisableDBGSleepMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_DisableDBGSleepMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_EnableDBGStopMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_EnableDBGStopMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_DisableDBGStopMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_DisableDBGStopMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_EnableDBGStandbyMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_EnableDBGStandbyMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) -

                                                        HAL_DBGMCU_DisableDBGStandbyMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                        HAL_DBGMCU_DisableDBGStandbyMode (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED)

                                                        HAL_RCC_DeInit (Thumb, 250 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)

                                                        [Calls]

                                                        • >>   HAL_InitTick @@ -1006,9 +1003,9 @@ Global Symbols

                                                          [Calls]
                                                          • >>   HAL_GPIO_Init
                                                          -

                                                          HAL_RCC_EnableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                          HAL_RCC_EnableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) -

                                                          HAL_RCC_DisableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                          HAL_RCC_DisableCSS (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)

                                                          HAL_RCC_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text))

                                                          [Called By]

                                                          • >>   HAL_RCC_GetPCLK2Freq @@ -1031,9 +1028,9 @@ Global Symbols
                                                            [Called By]
                                                            • >>   UART_SetConfig
                                                            -

                                                            HAL_RCC_GetOscConfig (Thumb, 168 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                            HAL_RCC_GetOscConfig (Thumb, 168 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) -

                                                            HAL_RCC_GetClockConfig (Thumb, 52 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                            HAL_RCC_GetClockConfig (Thumb, 52 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)

                                                            HAL_RCC_CSSCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED)

                                                            [Called By]

                                                            • >>   HAL_RCC_NMI_IRQHandler @@ -1057,22 +1054,22 @@ Global Symbols
                                                            • >>   HAL_SPI_MspDeInit
                                                            -

                                                            HAL_GPIO_ReadPin (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text)) -

                                                            [Called By]

                                                            • >>   EPD_7IN3G_ReadBusyH +

                                                              HAL_GPIO_ReadPin (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text)) +

                                                              [Called By]

                                                              • >>   EPD_4IN37G_ReadBusyH

                                                              HAL_GPIO_WritePin (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text))

                                                              [Called By]

                                                              • >>   DEV_Module_Init -
                                                              • >>   DEV_Module_Exit +
                                                              • >>   DEV_Module_Exit
                                                              • >>   MX_GPIO_Init -
                                                              • >>   EPD_7IN3G_Init -
                                                              • >>   EPD_7IN3G_SendData -
                                                              • >>   EPD_7IN3G_SendCommand +
                                                              • >>   EPD_4IN37G_Init +
                                                              • >>   EPD_4IN37G_SendData +
                                                              • >>   EPD_4IN37G_SendCommand
                                                              -

                                                              HAL_GPIO_TogglePin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) +

                                                              HAL_GPIO_TogglePin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) -

                                                              HAL_GPIO_LockPin (Thumb, 42 bytes, Stack size 4 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) +

                                                              HAL_GPIO_LockPin (Thumb, 42 bytes, Stack size 4 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)

                                                              HAL_GPIO_EXTI_Callback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED)

                                                              [Called By]

                                                              • >>   HAL_GPIO_EXTI_IRQHandler @@ -1082,9 +1079,9 @@ Global Symbols

                                                                [Calls]
                                                                • >>   HAL_GPIO_EXTI_Callback
                                                                -

                                                                HAL_DMA_Init (Thumb, 144 bytes, Stack size 4 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                HAL_DMA_Init (Thumb, 144 bytes, Stack size 4 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                HAL_DMA_DeInit (Thumb, 126 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                HAL_DMA_DeInit (Thumb, 126 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                HAL_DMA_Start (Thumb, 88 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                [Calls]

                                                                • >>   DMA_SetConfig @@ -1093,42 +1090,42 @@ Global Symbols

                                                                  HAL_DMA_Start_IT (Thumb, 124 bytes, Stack size 16 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                  [Calls]

                                                                  • >>   DMA_SetConfig
                                                                  -
                                                                  [Called By]
                                                                  • >>   HAL_UART_Receive_DMA -
                                                                  • >>   HAL_UART_Transmit_DMA -
                                                                  • >>   HAL_SPI_Receive_DMA +
                                                                    [Called By]
                                                                    • >>   HAL_SPI_Receive_DMA
                                                                    • >>   HAL_SPI_TransmitReceive_DMA
                                                                    • >>   HAL_SPI_Transmit_DMA +
                                                                    • >>   HAL_UART_Receive_DMA +
                                                                    • >>   HAL_UART_Transmit_DMA

                                                                    HAL_DMA_Abort (Thumb, 72 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                    [Called By]

                                                                    • >>   HAL_UART_AbortReceive +

                                                                      [Called By]
                                                                      • >>   HAL_SPI_DMAStop +
                                                                      • >>   HAL_SPI_Abort +
                                                                      • >>   HAL_UART_AbortReceive
                                                                      • >>   HAL_UART_AbortTransmit
                                                                      • >>   HAL_UART_Abort
                                                                      • >>   HAL_UART_DMAStop -
                                                                      • >>   HAL_SPI_DMAStop -
                                                                      • >>   HAL_SPI_Abort

                                                                      HAL_DMA_Abort_IT (Thumb, 318 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                      [Called By]

                                                                      • >>   HAL_UART_IRQHandler +

                                                                        [Called By]
                                                                        • >>   HAL_SPI_IRQHandler +
                                                                        • >>   HAL_SPI_Abort_IT +
                                                                        • >>   HAL_UART_IRQHandler
                                                                        • >>   HAL_UART_AbortReceive_IT
                                                                        • >>   HAL_UART_AbortTransmit_IT
                                                                        • >>   HAL_UART_Abort_IT -
                                                                        • >>   HAL_SPI_IRQHandler -
                                                                        • >>   HAL_SPI_Abort_IT

                                                                        HAL_DMA_PollForTransfer (Thumb, 1316 bytes, Stack size 56 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                        [Calls]

                                                                        • >>   HAL_GetTick
                                                                        -

                                                                        HAL_DMA_IRQHandler (Thumb, 672 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                        HAL_DMA_IRQHandler (Thumb, 672 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                        HAL_DMA_RegisterCallback (Thumb, 80 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                        HAL_DMA_RegisterCallback (Thumb, 80 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                        HAL_DMA_UnRegisterCallback (Thumb, 86 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                        HAL_DMA_UnRegisterCallback (Thumb, 86 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                        HAL_DMA_GetState (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                        HAL_DMA_GetState (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                        HAL_DMA_GetError (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_dma.o(.text), UNUSED)

                                                                        [Called By]

                                                                        • >>   HAL_UART_AbortReceive @@ -1146,29 +1143,29 @@ Global Symbols
                                                                          [Called By]
                                                                          • >>   HAL_InitTick
                                                                          -

                                                                          HAL_NVIC_EnableIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_EnableIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_DisableIRQ (Thumb, 36 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_DisableIRQ (Thumb, 36 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_SystemReset (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_SystemReset (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)

                                                                          HAL_SYSTICK_Config (Thumb, 36 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text))

                                                                          [Called By]

                                                                          • >>   HAL_InitTick
                                                                          -

                                                                          HAL_NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_GetPriority (Thumb, 94 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_GetPriority (Thumb, 94 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_SetPendingIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_SetPendingIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_GetPendingIRQ (Thumb, 42 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_GetPendingIRQ (Thumb, 42 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_ClearPendingIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_ClearPendingIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_NVIC_GetActive (Thumb, 42 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_NVIC_GetActive (Thumb, 42 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) -

                                                                          HAL_SYSTICK_CLKSourceConfig (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                          HAL_SYSTICK_CLKSourceConfig (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)

                                                                          HAL_SYSTICK_Callback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED)

                                                                          [Called By]

                                                                          • >>   HAL_SYSTICK_IRQHandler @@ -1209,20 +1206,20 @@ Global Symbols

                                                                            HAL_UART_Transmit (Thumb, 202 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(.text))

                                                                            [Stack]

                                                                            • Max Depth = 56
                                                                            • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
                                                                            -
                                                                            [Calls]
                                                                            • >>   UART_WaitOnFlagUntilTimeout -
                                                                            • >>   HAL_GetTick +
                                                                              [Calls]
                                                                              • >>   HAL_GetTick +
                                                                              • >>   UART_WaitOnFlagUntilTimeout

                                                                              [Called By]
                                                                              • >>   fputc

                                                                              HAL_UART_Receive (Thumb, 212 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                              [Calls]

                                                                              • >>   UART_WaitOnFlagUntilTimeout -
                                                                              • >>   HAL_GetTick +

                                                                                [Calls]
                                                                                • >>   HAL_GetTick +
                                                                                • >>   UART_WaitOnFlagUntilTimeout
                                                                                -

                                                                                HAL_UART_Transmit_IT (Thumb, 66 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                HAL_UART_Transmit_IT (Thumb, 66 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                HAL_UART_Receive_IT (Thumb, 86 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                HAL_UART_Receive_IT (Thumb, 86 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)

                                                                                HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text))

                                                                                [Called By]

                                                                                • >>   HAL_UART_IRQHandler @@ -1256,14 +1253,14 @@ Global Symbols

                                                                                  [Calls]
                                                                                  • >>   HAL_DMA_Start_IT
                                                                                  -

                                                                                  HAL_UART_DMAPause (Thumb, 102 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                  HAL_UART_DMAPause (Thumb, 102 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                  HAL_UART_DMAResume (Thumb, 98 bytes, Stack size 4 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                  HAL_UART_DMAResume (Thumb, 98 bytes, Stack size 4 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)

                                                                                  HAL_UART_DMAStop (Thumb, 88 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                  [Calls]

                                                                                  • >>   UART_EndTxTransfer +

                                                                                    [Calls]
                                                                                    • >>   HAL_DMA_Abort +
                                                                                    • >>   UART_EndTxTransfer
                                                                                    • >>   UART_EndRxTransfer -
                                                                                    • >>   HAL_DMA_Abort

                                                                                    HAL_UART_Abort (Thumb, 148 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) @@ -1313,53 +1310,53 @@ Global Symbols

                                                                                  HAL_UART_IRQHandler (Thumb, 312 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                  [Calls]

                                                                                  • >>   HAL_UART_ErrorCallback +

                                                                                    [Calls]
                                                                                    • >>   HAL_DMA_Abort_IT +
                                                                                    • >>   HAL_UART_ErrorCallback
                                                                                    • >>   UART_Receive_IT
                                                                                    • >>   UART_Transmit_IT
                                                                                    • >>   UART_EndTransmit_IT
                                                                                    • >>   UART_EndRxTransfer -
                                                                                    • >>   HAL_DMA_Abort_IT
                                                                                    -

                                                                                    HAL_LIN_SendBreak (Thumb, 70 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_LIN_SendBreak (Thumb, 70 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_MultiProcessor_EnterMuteMode (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_MultiProcessor_EnterMuteMode (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_MultiProcessor_ExitMuteMode (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_MultiProcessor_ExitMuteMode (Thumb, 50 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_HalfDuplex_EnableTransmitter (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_HalfDuplex_EnableTransmitter (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_HalfDuplex_EnableReceiver (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_HalfDuplex_EnableReceiver (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_UART_GetState (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_UART_GetState (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                    HAL_UART_GetError (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                    HAL_UART_GetError (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED)

                                                                                    __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

                                                                                    [Called By]

                                                                                    • >>   _memset$wrapper
                                                                                    • >>   __aeabi_memclr
                                                                                    -

                                                                                    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

                                                                                    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -

                                                                                    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

                                                                                    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

                                                                                    __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

                                                                                    [Calls]

                                                                                    • >>   __aeabi_memset

                                                                                    __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text)) -

                                                                                    [Called By]

                                                                                    • >>   Paint_DrawNum +

                                                                                      [Called By]
                                                                                      • >>   Paint_DrawNum
                                                                                      • >>   SystemClock_Config
                                                                                      -

                                                                                      __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

                                                                                      __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

                                                                                      _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

                                                                                      [Calls]

                                                                                      • >>   __aeabi_memset
                                                                                      -

                                                                                      __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED) +

                                                                                      __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

                                                                                      __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

                                                                                      [Called By]

                                                                                      • >>   _printf_core @@ -1371,107 +1368,102 @@ Global Symbols
                                                                                        [Called By]
                                                                                        • >>   _main_scatterload
                                                                                        -

                                                                                        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +

                                                                                        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

                                                                                        __0printf$3 (Thumb, 22 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)

                                                                                        [Calls]

                                                                                        • >>   _printf_core
                                                                                        -

                                                                                        __1printf$3 (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED) +

                                                                                        __1printf$3 (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3), UNUSED)

                                                                                        __2printf (Thumb, 0 bytes, Stack size 24 bytes, printf3.o(i.__0printf$3))

                                                                                        [Stack]

                                                                                        • Max Depth = 24
                                                                                        • Call Chain = __2printf

                                                                                        [Called By]
                                                                                        • >>   Paint_SetScale -
                                                                                        • >>   Paint_DrawString_EN -
                                                                                        • >>   Paint_DrawRectangle -
                                                                                        • >>   Paint_DrawPoint -
                                                                                        • >>   Paint_DrawNum -
                                                                                        • >>   Paint_DrawLine -
                                                                                        • >>   Paint_DrawCircle +
                                                                                        • >>   Paint_DrawString_EN +
                                                                                        • >>   Paint_DrawRectangle +
                                                                                        • >>   Paint_DrawPoint +
                                                                                        • >>   Paint_DrawNum +
                                                                                        • >>   Paint_DrawLine +
                                                                                        • >>   Paint_DrawCircle
                                                                                        • >>   HardFault_Handler -
                                                                                        • >>   EPD_7in3g_test +
                                                                                        • >>   EPD_4in37g_test
                                                                                        • >>   Error_Handler
                                                                                        • >>   Paint_SetMirroring
                                                                                        • >>   Paint_DrawChar
                                                                                        • >>   Paint_SetPixel
                                                                                        • >>   Paint_SetRotate -
                                                                                        • >>   EPD_7IN3G_ReadBusyH +
                                                                                        • >>   EPD_4IN37G_ReadBusyH
                                                                                        -

                                                                                        __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +

                                                                                        __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -

                                                                                        __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +

                                                                                        __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -

                                                                                        __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +

                                                                                        __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) -

                                                                                        free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free)) +

                                                                                        free (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))

                                                                                        [Stack]

                                                                                        • Max Depth = 8
                                                                                        • Call Chain = free
                                                                                        -
                                                                                        [Called By]
                                                                                        • >>   EPD_7in3g_test +
                                                                                          [Called By]
                                                                                          • >>   EPD_4in37g_test

                                                                                          malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))

                                                                                          [Stack]

                                                                                          • Max Depth = 20
                                                                                          • Call Chain = malloc
                                                                                          -
                                                                                          [Called By]
                                                                                          • >>   EPD_7in3g_test +
                                                                                            [Called By]
                                                                                            • >>   EPD_4in37g_test

                                                                                            Local Symbols

                                                                                            -

                                                                                            EPD_7IN3G_ReadBusyH (Thumb, 40 bytes, Stack size 8 bytes, epd_7in3g.o(.text)) -

                                                                                            [Stack]

                                                                                            • Max Depth = 32
                                                                                            • Call Chain = EPD_7IN3G_ReadBusyH ⇒ __2printf +

                                                                                              EPD_4IN37G_ReadBusyH (Thumb, 40 bytes, Stack size 8 bytes, epd_4in37g.o(.text)) +

                                                                                              [Stack]

                                                                                              • Max Depth = 32
                                                                                              • Call Chain = EPD_4IN37G_ReadBusyH ⇒ __2printf

                                                                                              [Calls]
                                                                                              • >>   HAL_Delay -
                                                                                              • >>   HAL_GPIO_ReadPin +
                                                                                              • >>   HAL_GPIO_ReadPin
                                                                                              • >>   __2printf
                                                                                              -
                                                                                              [Called By]
                                                                                              • >>   EPD_7IN3G_Init -
                                                                                              • >>   EPD_7IN3G_Display_part -
                                                                                              • >>   EPD_7IN3G_Clear -
                                                                                              • >>   EPD_7IN3G_Display -
                                                                                              • >>   EPD_7IN3G_TurnOnDisplay +
                                                                                                [Called By]
                                                                                                • >>   EPD_4IN37G_Display +
                                                                                                • >>   EPD_4IN37G_Clear +
                                                                                                • >>   EPD_4IN37G_TurnOnDisplay
                                                                                                -

                                                                                                EPD_7IN3G_SendCommand (Thumb, 46 bytes, Stack size 16 bytes, epd_7in3g.o(.text)) -

                                                                                                [Stack]

                                                                                                • Max Depth = 112
                                                                                                • Call Chain = EPD_7IN3G_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                                                  EPD_4IN37G_SendCommand (Thumb, 46 bytes, Stack size 16 bytes, epd_4in37g.o(.text)) +

                                                                                                  [Stack]

                                                                                                  • Max Depth = 112
                                                                                                  • Call Chain = EPD_4IN37G_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout

                                                                                                  [Calls]
                                                                                                  • >>   HAL_GPIO_WritePin
                                                                                                  • >>   DEV_SPI_WriteByte
                                                                                                  -
                                                                                                  [Called By]
                                                                                                  • >>   EPD_7IN3G_Sleep -
                                                                                                  • >>   EPD_7IN3G_Init -
                                                                                                  • >>   EPD_7IN3G_Display_part -
                                                                                                  • >>   EPD_7IN3G_Clear -
                                                                                                  • >>   EPD_7IN3G_Display -
                                                                                                  • >>   EPD_7IN3G_TurnOnDisplay +
                                                                                                    [Called By]
                                                                                                    • >>   EPD_4IN37G_Sleep +
                                                                                                    • >>   EPD_4IN37G_Init +
                                                                                                    • >>   EPD_4IN37G_Display +
                                                                                                    • >>   EPD_4IN37G_Clear +
                                                                                                    • >>   EPD_4IN37G_TurnOnDisplay
                                                                                                    -

                                                                                                    EPD_7IN3G_SendData (Thumb, 46 bytes, Stack size 16 bytes, epd_7in3g.o(.text)) -

                                                                                                    [Stack]

                                                                                                    • Max Depth = 112
                                                                                                    • Call Chain = EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                                                      EPD_4IN37G_SendData (Thumb, 46 bytes, Stack size 16 bytes, epd_4in37g.o(.text)) +

                                                                                                      [Stack]

                                                                                                      • Max Depth = 112
                                                                                                      • Call Chain = EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout

                                                                                                      [Calls]
                                                                                                      • >>   HAL_GPIO_WritePin
                                                                                                      • >>   DEV_SPI_WriteByte
                                                                                                      -
                                                                                                      [Called By]
                                                                                                      • >>   EPD_7IN3G_Sleep -
                                                                                                      • >>   EPD_7IN3G_Init -
                                                                                                      • >>   EPD_7IN3G_Display_part -
                                                                                                      • >>   EPD_7IN3G_Clear -
                                                                                                      • >>   EPD_7IN3G_Display -
                                                                                                      • >>   EPD_7IN3G_TurnOnDisplay +
                                                                                                        [Called By]
                                                                                                        • >>   EPD_4IN37G_Sleep +
                                                                                                        • >>   EPD_4IN37G_Init +
                                                                                                        • >>   EPD_4IN37G_Display +
                                                                                                        • >>   EPD_4IN37G_Clear +
                                                                                                        • >>   EPD_4IN37G_TurnOnDisplay
                                                                                                        -

                                                                                                        EPD_7IN3G_TurnOnDisplay (Thumb, 36 bytes, Stack size 8 bytes, epd_7in3g.o(.text)) -

                                                                                                        [Stack]

                                                                                                        • Max Depth = 120
                                                                                                        • Call Chain = EPD_7IN3G_TurnOnDisplay ⇒ EPD_7IN3G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                                                          EPD_4IN37G_TurnOnDisplay (Thumb, 36 bytes, Stack size 8 bytes, epd_4in37g.o(.text)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 120
                                                                                                          • Call Chain = EPD_4IN37G_TurnOnDisplay ⇒ EPD_4IN37G_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                          -
                                                                                                          [Calls]
                                                                                                          • >>   EPD_7IN3G_SendData -
                                                                                                          • >>   EPD_7IN3G_SendCommand -
                                                                                                          • >>   EPD_7IN3G_ReadBusyH +
                                                                                                            [Calls]
                                                                                                            • >>   EPD_4IN37G_SendData +
                                                                                                            • >>   EPD_4IN37G_SendCommand +
                                                                                                            • >>   EPD_4IN37G_ReadBusyH
                                                                                                            -
                                                                                                            [Called By]
                                                                                                            • >>   EPD_7IN3G_Display_part -
                                                                                                            • >>   EPD_7IN3G_Clear -
                                                                                                            • >>   EPD_7IN3G_Display +
                                                                                                              [Called By]
                                                                                                              • >>   EPD_4IN37G_Display +
                                                                                                              • >>   EPD_4IN37G_Clear

                                                                                                              SPI_WaitFlagStateUntilTimeout (Thumb, 210 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(.text)) diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map index 60dc928..ff14f89 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map @@ -16,7 +16,7 @@ Section Cross References main.o(.text) refers to gpio.o(.text) for MX_GPIO_Init main.o(.text) refers to usart.o(.text) for MX_USART1_UART_Init main.o(.text) refers to spi.o(.text) for MX_SPI1_Init - main.o(.text) refers to epd_7in3g_test.o(.text) for EPD_7in3g_test + main.o(.text) refers to epd_4in37g_test.o(.text) for EPD_4in37g_test gpio.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin spi.o(.text) refers to stm32f1xx_hal_spi.o(.text) for HAL_SPI_Init spi.o(.text) refers to main.o(.text) for Error_Handler @@ -315,6 +315,16 @@ Section Cross References epd_2in66b_test.o(.text) refers to font24cn.o(.data) for Font24CN epd_2in66b_test.o(.text) refers to font12cn.o(.data) for Font12CN epd_2in66b_test.o(.text) refers to font12.o(.data) for Font12 + epd_3in52_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_3in52_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init + epd_3in52_test.o(.text) refers to epd_3in52.o(.text) for EPD_3IN52_Init + epd_3in52_test.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_3in52_test.o(.text) refers to malloc.o(i.malloc) for malloc + epd_3in52_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage + epd_3in52_test.o(.text) refers to malloc.o(i.free) for free + epd_3in52_test.o(.text) refers to imagedata.o(.constdata) for gImage_3in52 + epd_3in52_test.o(.text) refers to font16.o(.data) for Font16 + epd_3in52_test.o(.text) refers to font12.o(.data) for Font12 epd_3in7_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_3in7_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init epd_3in7_test.o(.text) refers to epd_3in7.o(.text) for EPD_3IN7_4Gray_Init @@ -537,16 +547,17 @@ Section Cross References epd_3in0g_test.o(.text) refers to font16.o(.data) for Font16 epd_3in0g_test.o(.text) refers to font12.o(.data) for Font12 epd_3in0g_test.o(.text) refers to font24cn.o(.data) for Font24CN - epd_3in52_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf - epd_3in52_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init - epd_3in52_test.o(.text) refers to epd_3in52.o(.text) for EPD_3IN52_Init - epd_3in52_test.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay - epd_3in52_test.o(.text) refers to malloc.o(i.malloc) for malloc - epd_3in52_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage - epd_3in52_test.o(.text) refers to malloc.o(i.free) for free - epd_3in52_test.o(.text) refers to imagedata.o(.constdata) for gImage_3in52 - epd_3in52_test.o(.text) refers to font16.o(.data) for Font16 - epd_3in52_test.o(.text) refers to font12.o(.data) for Font12 + epd_4in37g_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_4in37g_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init + epd_4in37g_test.o(.text) refers to epd_4in37g.o(.text) for EPD_4IN37G_Init + epd_4in37g_test.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_4in37g_test.o(.text) refers to malloc.o(i.malloc) for malloc + epd_4in37g_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage + epd_4in37g_test.o(.text) refers to malloc.o(i.free) for free + epd_4in37g_test.o(.text) refers to imagedata2.o(.constdata) for Image4color + epd_4in37g_test.o(.text) refers to font20.o(.data) for Font20 + epd_4in37g_test.o(.text) refers to font12.o(.data) for Font12 + epd_4in37g_test.o(.text) refers to font24cn.o(.data) for Font24CN epd_7in3g_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_7in3g_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init epd_7in3g_test.o(.text) refers to epd_7in3g.o(.text) for EPD_7IN3G_Init @@ -554,6 +565,7 @@ Section Cross References epd_7in3g_test.o(.text) refers to malloc.o(i.malloc) for malloc epd_7in3g_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage epd_7in3g_test.o(.text) refers to malloc.o(i.free) for free + epd_7in3g_test.o(.text) refers to imagedata2.o(.constdata) for gImage_7in3g epd_7in3g_test.o(.text) refers to font16.o(.data) for Font16 epd_7in3g_test.o(.text) refers to font12.o(.data) for Font12 epd_7in3g_test.o(.text) refers to font24cn.o(.data) for Font24CN @@ -662,6 +674,12 @@ Section Cross References epd_2in66b.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_2in66b.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin epd_2in66b.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte + epd_3in52.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin + epd_3in52.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_3in52.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte + epd_3in52.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_3in52.o(.text) refers to epd_3in52.o(.constdata) for .constdata + epd_3in52.o(.text) refers to epd_3in52.o(.data) for .data epd_3in7.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin epd_3in7.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_3in7.o(.text) refers to printf3.o(i.__0printf$3) for __2printf @@ -736,12 +754,10 @@ Section Cross References epd_3in0g.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_3in0g.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin epd_3in0g.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte - epd_3in52.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin - epd_3in52.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay - epd_3in52.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte - epd_3in52.o(.text) refers to printf3.o(i.__0printf$3) for __2printf - epd_3in52.o(.text) refers to epd_3in52.o(.constdata) for .constdata - epd_3in52.o(.text) refers to epd_3in52.o(.data) for .data + epd_4in37g.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_4in37g.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_4in37g.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin + epd_4in37g.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte epd_7in3g.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_7in3g.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_7in3g.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin @@ -1250,6 +1266,10 @@ Removing Unused input sections from the image. Removing epd_2in66b_test.o(.revsh_text), (4 bytes). Removing epd_2in66b_test.o(.rrx_text), (6 bytes). Removing epd_2in66b_test.o(.text), (944 bytes). + Removing epd_3in52_test.o(.rev16_text), (4 bytes). + Removing epd_3in52_test.o(.revsh_text), (4 bytes). + Removing epd_3in52_test.o(.rrx_text), (6 bytes). + Removing epd_3in52_test.o(.text), (820 bytes). Removing epd_3in7_test.o(.rev16_text), (4 bytes). Removing epd_3in7_test.o(.revsh_text), (4 bytes). Removing epd_3in7_test.o(.rrx_text), (6 bytes). @@ -1318,18 +1338,18 @@ Removing Unused input sections from the image. Removing epd_1in64g_test.o(.rev16_text), (4 bytes). Removing epd_1in64g_test.o(.revsh_text), (4 bytes). Removing epd_1in64g_test.o(.rrx_text), (6 bytes). - Removing epd_1in64g_test.o(.text), (1372 bytes). + Removing epd_1in64g_test.o(.text), (1136 bytes). Removing epd_3in0g_test.o(.rev16_text), (4 bytes). Removing epd_3in0g_test.o(.revsh_text), (4 bytes). Removing epd_3in0g_test.o(.rrx_text), (6 bytes). - Removing epd_3in0g_test.o(.text), (1402 bytes). - Removing epd_3in52_test.o(.rev16_text), (4 bytes). - Removing epd_3in52_test.o(.revsh_text), (4 bytes). - Removing epd_3in52_test.o(.rrx_text), (6 bytes). - Removing epd_3in52_test.o(.text), (820 bytes). + Removing epd_3in0g_test.o(.text), (1168 bytes). + Removing epd_4in37g_test.o(.rev16_text), (4 bytes). + Removing epd_4in37g_test.o(.revsh_text), (4 bytes). + Removing epd_4in37g_test.o(.rrx_text), (6 bytes). Removing epd_7in3g_test.o(.rev16_text), (4 bytes). Removing epd_7in3g_test.o(.revsh_text), (4 bytes). Removing epd_7in3g_test.o(.rrx_text), (6 bytes). + Removing epd_7in3g_test.o(.text), (924 bytes). Removing epd_1in02d.o(.rev16_text), (4 bytes). Removing epd_1in02d.o(.revsh_text), (4 bytes). Removing epd_1in02d.o(.rrx_text), (6 bytes). @@ -1436,6 +1456,12 @@ Removing Unused input sections from the image. Removing epd_2in66b.o(.revsh_text), (4 bytes). Removing epd_2in66b.o(.rrx_text), (6 bytes). Removing epd_2in66b.o(.text), (608 bytes). + Removing epd_3in52.o(.rev16_text), (4 bytes). + Removing epd_3in52.o(.revsh_text), (4 bytes). + Removing epd_3in52.o(.rrx_text), (6 bytes). + Removing epd_3in52.o(.text), (1228 bytes). + Removing epd_3in52.o(.constdata), (714 bytes). + Removing epd_3in52.o(.data), (1 bytes). Removing epd_3in7.o(.rev16_text), (4 bytes). Removing epd_3in7.o(.revsh_text), (4 bytes). Removing epd_3in7.o(.rrx_text), (6 bytes). @@ -1507,20 +1533,18 @@ Removing Unused input sections from the image. Removing epd_1in64g.o(.rev16_text), (4 bytes). Removing epd_1in64g.o(.revsh_text), (4 bytes). Removing epd_1in64g.o(.rrx_text), (6 bytes). - Removing epd_1in64g.o(.text), (720 bytes). + Removing epd_1in64g.o(.text), (736 bytes). Removing epd_3in0g.o(.rev16_text), (4 bytes). Removing epd_3in0g.o(.revsh_text), (4 bytes). Removing epd_3in0g.o(.rrx_text), (6 bytes). - Removing epd_3in0g.o(.text), (644 bytes). - Removing epd_3in52.o(.rev16_text), (4 bytes). - Removing epd_3in52.o(.revsh_text), (4 bytes). - Removing epd_3in52.o(.rrx_text), (6 bytes). - Removing epd_3in52.o(.text), (1228 bytes). - Removing epd_3in52.o(.constdata), (714 bytes). - Removing epd_3in52.o(.data), (1 bytes). + Removing epd_3in0g.o(.text), (656 bytes). + Removing epd_4in37g.o(.rev16_text), (4 bytes). + Removing epd_4in37g.o(.revsh_text), (4 bytes). + Removing epd_4in37g.o(.rrx_text), (6 bytes). Removing epd_7in3g.o(.rev16_text), (4 bytes). Removing epd_7in3g.o(.revsh_text), (4 bytes). Removing epd_7in3g.o(.rrx_text), (6 bytes). + Removing epd_7in3g.o(.text), (884 bytes). Removing dev_config.o(.rev16_text), (4 bytes). Removing dev_config.o(.revsh_text), (4 bytes). Removing dev_config.o(.rrx_text), (6 bytes). @@ -1531,8 +1555,8 @@ Removing Unused input sections from the image. Removing font8.o(.data), (8 bytes). Removing font12cn.o(.constdata), (1494 bytes). Removing font12cn.o(.data), (12 bytes). - Removing font20.o(.constdata), (3800 bytes). - Removing font20.o(.data), (8 bytes). + Removing font16.o(.constdata), (3040 bytes). + Removing font16.o(.data), (8 bytes). Removing font24.o(.constdata), (6840 bytes). Removing font24.o(.data), (8 bytes). Removing system_stm32f1xx.o(.rev16_text), (4 bytes). @@ -1597,7 +1621,7 @@ Removing Unused input sections from the image. Removing cdrcmple.o(.text), (48 bytes). Removing depilogue.o(.text), (186 bytes). -506 unused section(s) (total 1074984 bytes) removed from the image. +514 unused section(s) (total 1075618 bytes) removed from the image. ============================================================================== @@ -1631,42 +1655,42 @@ Image Symbol Table ../Src/usart.c 0x00000000 Number 0 usart.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE ../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE @@ -1728,6 +1752,7 @@ Image Symbol Table ..\User\Examples\EPD_4in2_test.c 0x00000000 Number 0 epd_4in2_test.o ABSOLUTE ..\User\Examples\EPD_4in2b_V2_test.c 0x00000000 Number 0 epd_4in2b_v2_test.o ABSOLUTE ..\User\Examples\EPD_4in2bc_test.c 0x00000000 Number 0 epd_4in2bc_test.o ABSOLUTE + ..\User\Examples\EPD_4in37g_test.c 0x00000000 Number 0 epd_4in37g_test.o ABSOLUTE ..\User\Examples\EPD_5in65f_test.c 0x00000000 Number 0 epd_5in65f_test.o ABSOLUTE ..\User\Examples\EPD_5in83_V2_test.c 0x00000000 Number 0 epd_5in83_v2_test.o ABSOLUTE ..\User\Examples\EPD_5in83_test.c 0x00000000 Number 0 epd_5in83_test.o ABSOLUTE @@ -1781,6 +1806,7 @@ Image Symbol Table ..\User\e-Paper\EPD_4in2.c 0x00000000 Number 0 epd_4in2.o ABSOLUTE ..\User\e-Paper\EPD_4in2b_V2.c 0x00000000 Number 0 epd_4in2b_v2.o ABSOLUTE ..\User\e-Paper\EPD_4in2bc.c 0x00000000 Number 0 epd_4in2bc.o ABSOLUTE + ..\User\e-Paper\EPD_4in37g.c 0x00000000 Number 0 epd_4in37g.o ABSOLUTE ..\User\e-Paper\EPD_5in65f.c 0x00000000 Number 0 epd_5in65f.o ABSOLUTE ..\User\e-Paper\EPD_5in83.c 0x00000000 Number 0 epd_5in83.o ABSOLUTE ..\User\e-Paper\EPD_5in83_V2.c 0x00000000 Number 0 epd_5in83_v2.o ABSOLUTE @@ -1825,6 +1851,7 @@ Image Symbol Table ..\\User\\Examples\\EPD_4in2_test.c 0x00000000 Number 0 epd_4in2_test.o ABSOLUTE ..\\User\\Examples\\EPD_4in2b_V2_test.c 0x00000000 Number 0 epd_4in2b_v2_test.o ABSOLUTE ..\\User\\Examples\\EPD_4in2bc_test.c 0x00000000 Number 0 epd_4in2bc_test.o ABSOLUTE + ..\\User\\Examples\\EPD_4in37g_test.c 0x00000000 Number 0 epd_4in37g_test.o ABSOLUTE ..\\User\\Examples\\EPD_5in65f_test.c 0x00000000 Number 0 epd_5in65f_test.o ABSOLUTE ..\\User\\Examples\\EPD_5in83_V2_test.c 0x00000000 Number 0 epd_5in83_v2_test.o ABSOLUTE ..\\User\\Examples\\EPD_5in83_test.c 0x00000000 Number 0 epd_5in83_test.o ABSOLUTE @@ -1869,6 +1896,7 @@ Image Symbol Table ..\\User\\e-Paper\\EPD_4in2.c 0x00000000 Number 0 epd_4in2.o ABSOLUTE ..\\User\\e-Paper\\EPD_4in2b_V2.c 0x00000000 Number 0 epd_4in2b_v2.o ABSOLUTE ..\\User\\e-Paper\\EPD_4in2bc.c 0x00000000 Number 0 epd_4in2bc.o ABSOLUTE + ..\\User\\e-Paper\\EPD_4in37g.c 0x00000000 Number 0 epd_4in37g.o ABSOLUTE ..\\User\\e-Paper\\EPD_5in65f.c 0x00000000 Number 0 epd_5in65f.o ABSOLUTE ..\\User\\e-Paper\\EPD_5in83.c 0x00000000 Number 0 epd_5in83.o ABSOLUTE ..\\User\\e-Paper\\EPD_5in83_V2.c 0x00000000 Number 0 epd_5in83_v2.o ABSOLUTE @@ -1904,86 +1932,87 @@ Image Symbol Table .text 0x0800031c Section 0 usart.o(.text) .text 0x080003f4 Section 0 stm32f1xx_it.o(.text) .text 0x08000424 Section 0 stm32f1xx_hal_msp.o(.text) - .text 0x08000460 Section 0 epd_7in3g_test.o(.text) - .text 0x080007dc Section 0 epd_7in3g.o(.text) - EPD_7IN3G_ReadBusyH 0x080007dd Thumb Code 40 epd_7in3g.o(.text) - EPD_7IN3G_SendCommand 0x08000a89 Thumb Code 46 epd_7in3g.o(.text) - EPD_7IN3G_SendData 0x08000ab7 Thumb Code 46 epd_7in3g.o(.text) - EPD_7IN3G_TurnOnDisplay 0x08000ae5 Thumb Code 36 epd_7in3g.o(.text) - .text 0x08000b44 Section 0 dev_config.o(.text) - .text 0x08000bac Section 0 gui_paint.o(.text) - .text 0x08001a1c Section 0 system_stm32f1xx.o(.text) - .text 0x08001ae0 Section 0 stm32f1xx_hal_spi.o(.text) - SPI_WaitFlagStateUntilTimeout 0x08001bc9 Thumb Code 210 stm32f1xx_hal_spi.o(.text) - SPI_EndRxTxTransaction 0x08001c9b Thumb Code 36 stm32f1xx_hal_spi.o(.text) - SPI_EndRxTransaction 0x08001e5b Thumb Code 112 stm32f1xx_hal_spi.o(.text) - SPI_CloseTx_ISR 0x0800223b Thumb Code 130 stm32f1xx_hal_spi.o(.text) - SPI_TxISR_8BIT 0x080022bd Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_TxISR_16BIT 0x080022db Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_CloseRx_ISR 0x0800239d Thumb Code 76 stm32f1xx_hal_spi.o(.text) - SPI_RxISR_8BIT 0x080023e9 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_RxISR_16BIT 0x08002407 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_CloseRxTx_ISR 0x08002427 Thumb Code 158 stm32f1xx_hal_spi.o(.text) - SPI_2linesTxISR_8BIT 0x080024c5 Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesRxISR_8BIT 0x080024f3 Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesTxISR_16BIT 0x08002521 Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesRxISR_16BIT 0x0800254f Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_DMAError 0x080026e9 Thumb Code 34 stm32f1xx_hal_spi.o(.text) - SPI_DMATransmitCplt 0x0800270b Thumb Code 102 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfTransmitCplt 0x08002773 Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_DMAReceiveCplt 0x0800284d Thumb Code 110 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfReceiveCplt 0x080028bd Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_DMATransmitReceiveCplt 0x080028c7 Thumb Code 92 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfTransmitReceiveCplt 0x08002925 Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_AbortRx_ISR 0x08002b73 Thumb Code 82 stm32f1xx_hal_spi.o(.text) - SPI_AbortTx_ISR 0x08002bc5 Thumb Code 28 stm32f1xx_hal_spi.o(.text) - SPI_DMARxAbortCallback 0x08002d05 Thumb Code 98 stm32f1xx_hal_spi.o(.text) - SPI_DMATxAbortCallback 0x08002d67 Thumb Code 114 stm32f1xx_hal_spi.o(.text) - SPI_DMAAbortOnError 0x08002fb1 Thumb Code 16 stm32f1xx_hal_spi.o(.text) - .text 0x080030c8 Section 0 stm32f1xx_hal.o(.text) - .text 0x08003250 Section 0 stm32f1xx_hal_rcc.o(.text) - RCC_Delay 0x0800334b Thumb Code 32 stm32f1xx_hal_rcc.o(.text) - .text 0x08003b18 Section 0 stm32f1xx_hal_gpio.o(.text) - .text 0x08003eec Section 0 stm32f1xx_hal_dma.o(.text) - DMA_SetConfig 0x08003ffb Thumb Code 56 stm32f1xx_hal_dma.o(.text) - .text 0x08004b34 Section 0 stm32f1xx_hal_cortex.o(.text) - .text 0x08004d58 Section 0 stm32f1xx_hal_uart.o(.text) - UART_SetConfig 0x08004d59 Thumb Code 194 stm32f1xx_hal_uart.o(.text) - UART_WaitOnFlagUntilTimeout 0x08005039 Thumb Code 120 stm32f1xx_hal_uart.o(.text) - UART_EndRxTransfer 0x080052e9 Thumb Code 28 stm32f1xx_hal_uart.o(.text) - UART_EndTxTransfer 0x08005305 Thumb Code 18 stm32f1xx_hal_uart.o(.text) - UART_DMAError 0x08005317 Thumb Code 74 stm32f1xx_hal_uart.o(.text) - UART_DMATxHalfCplt 0x08005363 Thumb Code 10 stm32f1xx_hal_uart.o(.text) - UART_DMATransmitCplt 0x0800536f Thumb Code 48 stm32f1xx_hal_uart.o(.text) - UART_DMARxHalfCplt 0x0800542b Thumb Code 10 stm32f1xx_hal_uart.o(.text) - UART_DMAReceiveCplt 0x08005437 Thumb Code 62 stm32f1xx_hal_uart.o(.text) - UART_DMARxAbortCallback 0x0800576b Thumb Code 44 stm32f1xx_hal_uart.o(.text) - UART_DMATxAbortCallback 0x08005797 Thumb Code 66 stm32f1xx_hal_uart.o(.text) - UART_DMATxOnlyAbortCallback 0x0800588d Thumb Code 20 stm32f1xx_hal_uart.o(.text) - UART_DMARxOnlyAbortCallback 0x08005901 Thumb Code 20 stm32f1xx_hal_uart.o(.text) - UART_EndTransmit_IT 0x0800597d Thumb Code 26 stm32f1xx_hal_uart.o(.text) - UART_Transmit_IT 0x08005997 Thumb Code 94 stm32f1xx_hal_uart.o(.text) - UART_DMAAbortOnError 0x080059f5 Thumb Code 16 stm32f1xx_hal_uart.o(.text) - UART_Receive_IT 0x08005a05 Thumb Code 146 stm32f1xx_hal_uart.o(.text) - .text 0x08005cf4 Section 0 memseta.o(.text) - .text 0x08005d18 Section 0 uidiv.o(.text) - .text 0x08005d44 Section 36 init.o(.text) - i.__0printf$3 0x08005d68 Section 0 printf3.o(i.__0printf$3) - i.__scatterload_copy 0x08005d88 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08005d96 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08005d98 Section 14 handlers.o(i.__scatterload_zeroinit) - i._printf_core 0x08005da8 Section 0 printf3.o(i._printf_core) - _printf_core 0x08005da9 Thumb Code 436 printf3.o(i._printf_core) - i.free 0x08005f60 Section 0 malloc.o(i.free) - i.malloc 0x08005fb0 Section 0 malloc.o(i.malloc) - .constdata 0x0800601c Section 1140 font12.o(.constdata) - .constdata 0x08006490 Section 3040 font16.o(.constdata) - .constdata 0x08007070 Section 4482 font24cn.o(.constdata) - .constdata 0x080081f2 Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x08008202 Section 8 system_stm32f1xx.o(.constdata) - .conststring 0x0800820c Section 233 gui_paint.o(.conststring) + .text 0x08000460 Section 0 epd_4in37g_test.o(.text) + .text 0x08000890 Section 0 epd_4in37g.o(.text) + EPD_4IN37G_ReadBusyH 0x08000891 Thumb Code 40 epd_4in37g.o(.text) + EPD_4IN37G_SendCommand 0x08000ac1 Thumb Code 46 epd_4in37g.o(.text) + EPD_4IN37G_SendData 0x08000aef Thumb Code 46 epd_4in37g.o(.text) + EPD_4IN37G_TurnOnDisplay 0x08000b1d Thumb Code 36 epd_4in37g.o(.text) + .text 0x08000b7c Section 0 dev_config.o(.text) + .text 0x08000be4 Section 0 gui_paint.o(.text) + .text 0x08001a90 Section 0 system_stm32f1xx.o(.text) + .text 0x08001b54 Section 0 stm32f1xx_hal_spi.o(.text) + SPI_WaitFlagStateUntilTimeout 0x08001c3d Thumb Code 210 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTxTransaction 0x08001d0f Thumb Code 36 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTransaction 0x08001ecf Thumb Code 112 stm32f1xx_hal_spi.o(.text) + SPI_CloseTx_ISR 0x080022af Thumb Code 130 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_8BIT 0x08002331 Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_16BIT 0x0800234f Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRx_ISR 0x08002411 Thumb Code 76 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_8BIT 0x0800245d Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_16BIT 0x0800247b Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRxTx_ISR 0x0800249b Thumb Code 158 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_8BIT 0x08002539 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_8BIT 0x08002567 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_16BIT 0x08002595 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_16BIT 0x080025c3 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_DMAError 0x0800275d Thumb Code 34 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitCplt 0x0800277f Thumb Code 102 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitCplt 0x080027e7 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMAReceiveCplt 0x080028c1 Thumb Code 110 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfReceiveCplt 0x08002931 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitReceiveCplt 0x0800293b Thumb Code 92 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitReceiveCplt 0x08002999 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_AbortRx_ISR 0x08002be7 Thumb Code 82 stm32f1xx_hal_spi.o(.text) + SPI_AbortTx_ISR 0x08002c39 Thumb Code 28 stm32f1xx_hal_spi.o(.text) + SPI_DMARxAbortCallback 0x08002d79 Thumb Code 98 stm32f1xx_hal_spi.o(.text) + SPI_DMATxAbortCallback 0x08002ddb Thumb Code 114 stm32f1xx_hal_spi.o(.text) + SPI_DMAAbortOnError 0x08003025 Thumb Code 16 stm32f1xx_hal_spi.o(.text) + .text 0x0800313c Section 0 stm32f1xx_hal.o(.text) + .text 0x080032c4 Section 0 stm32f1xx_hal_rcc.o(.text) + RCC_Delay 0x080033bf Thumb Code 32 stm32f1xx_hal_rcc.o(.text) + .text 0x08003b8c Section 0 stm32f1xx_hal_gpio.o(.text) + .text 0x08003f60 Section 0 stm32f1xx_hal_dma.o(.text) + DMA_SetConfig 0x0800406f Thumb Code 56 stm32f1xx_hal_dma.o(.text) + .text 0x08004ba8 Section 0 stm32f1xx_hal_cortex.o(.text) + .text 0x08004dcc Section 0 stm32f1xx_hal_uart.o(.text) + UART_SetConfig 0x08004dcd Thumb Code 194 stm32f1xx_hal_uart.o(.text) + UART_WaitOnFlagUntilTimeout 0x080050ad Thumb Code 120 stm32f1xx_hal_uart.o(.text) + UART_EndRxTransfer 0x0800535d Thumb Code 28 stm32f1xx_hal_uart.o(.text) + UART_EndTxTransfer 0x08005379 Thumb Code 18 stm32f1xx_hal_uart.o(.text) + UART_DMAError 0x0800538b Thumb Code 74 stm32f1xx_hal_uart.o(.text) + UART_DMATxHalfCplt 0x080053d7 Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMATransmitCplt 0x080053e3 Thumb Code 48 stm32f1xx_hal_uart.o(.text) + UART_DMARxHalfCplt 0x0800549f Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMAReceiveCplt 0x080054ab Thumb Code 62 stm32f1xx_hal_uart.o(.text) + UART_DMARxAbortCallback 0x080057df Thumb Code 44 stm32f1xx_hal_uart.o(.text) + UART_DMATxAbortCallback 0x0800580b Thumb Code 66 stm32f1xx_hal_uart.o(.text) + UART_DMATxOnlyAbortCallback 0x08005901 Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_DMARxOnlyAbortCallback 0x08005975 Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_EndTransmit_IT 0x080059f1 Thumb Code 26 stm32f1xx_hal_uart.o(.text) + UART_Transmit_IT 0x08005a0b Thumb Code 94 stm32f1xx_hal_uart.o(.text) + UART_DMAAbortOnError 0x08005a69 Thumb Code 16 stm32f1xx_hal_uart.o(.text) + UART_Receive_IT 0x08005a79 Thumb Code 146 stm32f1xx_hal_uart.o(.text) + .text 0x08005d68 Section 0 memseta.o(.text) + .text 0x08005d8c Section 0 uidiv.o(.text) + .text 0x08005db8 Section 36 init.o(.text) + i.__0printf$3 0x08005ddc Section 0 printf3.o(i.__0printf$3) + i.__scatterload_copy 0x08005dfc Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08005e0a Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08005e0c Section 14 handlers.o(i.__scatterload_zeroinit) + i._printf_core 0x08005e1c Section 0 printf3.o(i._printf_core) + _printf_core 0x08005e1d Thumb Code 436 printf3.o(i._printf_core) + i.free 0x08005fd4 Section 0 malloc.o(i.free) + i.malloc 0x08006024 Section 0 malloc.o(i.malloc) + .constdata 0x08006090 Section 47104 imagedata2.o(.constdata) + .constdata 0x08011890 Section 1140 font12.o(.constdata) + .constdata 0x08011d04 Section 3800 font20.o(.constdata) + .constdata 0x08012bdc Section 4482 font24cn.o(.constdata) + .constdata 0x08013d5e Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x08013d6e Section 8 system_stm32f1xx.o(.constdata) + .conststring 0x08013d78 Section 233 gui_paint.o(.conststring) .data 0x20000000 Section 8 font12.o(.data) - .data 0x20000008 Section 8 font16.o(.data) + .data 0x20000008 Section 8 font20.o(.data) .data 0x20000010 Section 12 font24cn.o(.data) .data 0x2000001c Section 4 system_stm32f1xx.o(.data) .data 0x20000020 Section 12 stm32f1xx_hal.o(.data) @@ -1993,8 +2022,8 @@ Image Symbol Table .bss 0x20000038 Section 88 spi.o(.bss) .bss 0x20000090 Section 64 usart.o(.bss) .bss 0x200000d0 Section 24 gui_paint.o(.bss) - HEAP 0x200000e8 Section 36864 startup_stm32f103xe.o(HEAP) - STACK 0x200090e8 Section 4096 startup_stm32f103xe.o(STACK) + HEAP 0x200000e8 Section 49152 startup_stm32f103xe.o(HEAP) + STACK 0x2000c0e8 Section 4096 startup_stm32f103xe.o(STACK) Global Symbols @@ -2142,201 +2171,201 @@ Image Symbol Table PendSV_Handler 0x08000409 Thumb Code 2 stm32f1xx_it.o(.text) SysTick_Handler 0x0800040b Thumb Code 4 stm32f1xx_it.o(.text) HAL_MspInit 0x08000425 Thumb Code 52 stm32f1xx_hal_msp.o(.text) - EPD_7in3g_test 0x08000461 Thumb Code 480 epd_7in3g_test.o(.text) - EPD_7IN3G_Init 0x08000805 Thumb Code 354 epd_7in3g.o(.text) - EPD_7IN3G_Clear 0x08000967 Thumb Code 62 epd_7in3g.o(.text) - EPD_7IN3G_Display 0x080009a5 Thumb Code 70 epd_7in3g.o(.text) - EPD_7IN3G_Display_part 0x080009eb Thumb Code 128 epd_7in3g.o(.text) - EPD_7IN3G_Sleep 0x08000a6b Thumb Code 30 epd_7in3g.o(.text) - DEV_SPI_WriteByte 0x08000b45 Thumb Code 18 dev_config.o(.text) - DEV_Module_Init 0x08000b57 Thumb Code 38 dev_config.o(.text) - DEV_Module_Exit 0x08000b7d Thumb Code 38 dev_config.o(.text) - Paint_NewImage 0x08000bad Thumb Code 56 gui_paint.o(.text) - Paint_SelectImage 0x08000be5 Thumb Code 6 gui_paint.o(.text) - Paint_SetRotate 0x08000beb Thumb Code 44 gui_paint.o(.text) - Paint_SetScale 0x08000c17 Thumb Code 80 gui_paint.o(.text) - Paint_SetMirroring 0x08000c67 Thumb Code 62 gui_paint.o(.text) - Paint_SetPixel 0x08000ca5 Thumb Code 238 gui_paint.o(.text) - Paint_Clear 0x08000d93 Thumb Code 104 gui_paint.o(.text) - Paint_ClearWindows 0x08000dfb Thumb Code 52 gui_paint.o(.text) - Paint_DrawPoint 0x08000e2f Thumb Code 180 gui_paint.o(.text) - Paint_DrawLine 0x08000ee3 Thumb Code 654 gui_paint.o(.text) - Paint_DrawRectangle 0x08001171 Thumb Code 170 gui_paint.o(.text) - Paint_DrawCircle 0x0800121b Thumb Code 528 gui_paint.o(.text) - Paint_DrawChar 0x0800142b Thumb Code 172 gui_paint.o(.text) - Paint_DrawString_EN 0x080014d7 Thumb Code 116 gui_paint.o(.text) - Paint_DrawString_CN 0x0800154b Thumb Code 518 gui_paint.o(.text) - Paint_DrawNum 0x08001751 Thumb Code 140 gui_paint.o(.text) - Paint_DrawTime 0x080017dd Thumb Code 282 gui_paint.o(.text) - Paint_DrawBitMap 0x080018f7 Thumb Code 46 gui_paint.o(.text) - Paint_DrawBitMap_Paste 0x08001925 Thumb Code 110 gui_paint.o(.text) - Paint_DrawBitMap_Block 0x08001993 Thumb Code 54 gui_paint.o(.text) - SystemInit 0x08001a1d Thumb Code 60 system_stm32f1xx.o(.text) - SystemCoreClockUpdate 0x08001a59 Thumb Code 108 system_stm32f1xx.o(.text) - HAL_SPI_Init 0x08001ae3 Thumb Code 180 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DeInit 0x08001b99 Thumb Code 48 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit 0x08001cbf Thumb Code 412 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive 0x08001ecb Thumb Code 510 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive 0x080020c9 Thumb Code 366 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxCpltCallback 0x08002237 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_ErrorCallback 0x08002239 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit_IT 0x080022f9 Thumb Code 162 stm32f1xx_hal_spi.o(.text) - HAL_SPI_RxCpltCallback 0x0800239b Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxRxCpltCallback 0x08002425 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive_IT 0x0800257d Thumb Code 188 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive_IT 0x08002639 Thumb Code 176 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxHalfCpltCallback 0x08002771 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit_DMA 0x0800277d Thumb Code 208 stm32f1xx_hal_spi.o(.text) - HAL_SPI_RxHalfCpltCallback 0x080028bb Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxRxHalfCpltCallback 0x08002923 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive_DMA 0x0800292f Thumb Code 302 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive_DMA 0x08002a5d Thumb Code 278 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Abort 0x08002be1 Thumb Code 290 stm32f1xx_hal_spi.o(.text) - HAL_SPI_AbortCpltCallback 0x08002d03 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Abort_IT 0x08002dd9 Thumb Code 328 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAPause 0x08002f21 Thumb Code 38 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAResume 0x08002f47 Thumb Code 38 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAStop 0x08002f6d Thumb Code 68 stm32f1xx_hal_spi.o(.text) - HAL_SPI_IRQHandler 0x08002fc1 Thumb Code 250 stm32f1xx_hal_spi.o(.text) - HAL_SPI_GetState 0x080030bb Thumb Code 6 stm32f1xx_hal_spi.o(.text) - HAL_SPI_GetError 0x080030c1 Thumb Code 4 stm32f1xx_hal_spi.o(.text) - HAL_InitTick 0x080030cb Thumb Code 58 stm32f1xx_hal.o(.text) - HAL_Init 0x08003105 Thumb Code 32 stm32f1xx_hal.o(.text) - HAL_MspDeInit 0x08003125 Thumb Code 2 stm32f1xx_hal.o(.text) - HAL_DeInit 0x08003127 Thumb Code 26 stm32f1xx_hal.o(.text) - HAL_IncTick 0x08003141 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_GetTick 0x0800314d Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetTickPrio 0x08003153 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_SetTickFreq 0x08003159 Thumb Code 30 stm32f1xx_hal.o(.text) - HAL_GetTickFreq 0x08003177 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_Delay 0x0800317d Thumb Code 34 stm32f1xx_hal.o(.text) - HAL_SuspendTick 0x0800319f Thumb Code 14 stm32f1xx_hal.o(.text) - HAL_ResumeTick 0x080031ad Thumb Code 14 stm32f1xx_hal.o(.text) - HAL_GetHalVersion 0x080031bb Thumb Code 4 stm32f1xx_hal.o(.text) - HAL_GetREVID 0x080031bf Thumb Code 8 stm32f1xx_hal.o(.text) - HAL_GetDEVID 0x080031c7 Thumb Code 10 stm32f1xx_hal.o(.text) - HAL_GetUIDw0 0x080031d1 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetUIDw1 0x080031d7 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetUIDw2 0x080031dd Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGSleepMode 0x080031e3 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGSleepMode 0x080031ef Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGStopMode 0x080031fb Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGStopMode 0x08003207 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGStandbyMode 0x08003213 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGStandbyMode 0x0800321f Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_RCC_DeInit 0x08003251 Thumb Code 250 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_OscConfig 0x0800336b Thumb Code 1080 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetSysClockFreq 0x080037a3 Thumb Code 88 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_ClockConfig 0x080037fb Thumb Code 364 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_MCOConfig 0x08003967 Thumb Code 64 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_EnableCSS 0x080039a7 Thumb Code 8 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_DisableCSS 0x080039af Thumb Code 8 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetHCLKFreq 0x080039b7 Thumb Code 6 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetPCLK1Freq 0x080039bd Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetPCLK2Freq 0x080039d3 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetOscConfig 0x080039e9 Thumb Code 168 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetClockConfig 0x08003a91 Thumb Code 52 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_CSSCallback 0x08003ac5 Thumb Code 2 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_NMI_IRQHandler 0x08003ac7 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_GPIO_Init 0x08003b19 Thumb Code 524 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_DeInit 0x08003d25 Thumb Code 320 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_ReadPin 0x08003e65 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_WritePin 0x08003e73 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_TogglePin 0x08003e81 Thumb Code 16 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_LockPin 0x08003e91 Thumb Code 42 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_EXTI_Callback 0x08003ebb Thumb Code 2 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_EXTI_IRQHandler 0x08003ebd Thumb Code 18 stm32f1xx_hal_gpio.o(.text) - HAL_DMA_Init 0x08003eed Thumb Code 144 stm32f1xx_hal_dma.o(.text) - HAL_DMA_DeInit 0x08003f7d Thumb Code 126 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Start 0x08004033 Thumb Code 88 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Start_IT 0x0800408b Thumb Code 124 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Abort 0x08004107 Thumb Code 72 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Abort_IT 0x0800414f Thumb Code 318 stm32f1xx_hal_dma.o(.text) - HAL_DMA_PollForTransfer 0x0800428d Thumb Code 1316 stm32f1xx_hal_dma.o(.text) - HAL_DMA_IRQHandler 0x080047b1 Thumb Code 672 stm32f1xx_hal_dma.o(.text) - HAL_DMA_RegisterCallback 0x08004a51 Thumb Code 80 stm32f1xx_hal_dma.o(.text) - HAL_DMA_UnRegisterCallback 0x08004aa1 Thumb Code 86 stm32f1xx_hal_dma.o(.text) - HAL_DMA_GetState 0x08004af7 Thumb Code 6 stm32f1xx_hal_dma.o(.text) - HAL_DMA_GetError 0x08004afd Thumb Code 4 stm32f1xx_hal_dma.o(.text) - HAL_NVIC_SetPriorityGrouping 0x08004b35 Thumb Code 30 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SetPriority 0x08004b53 Thumb Code 98 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_EnableIRQ 0x08004bb5 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_DisableIRQ 0x08004bd1 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SystemReset 0x08004bf5 Thumb Code 26 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_Config 0x08004c0f Thumb Code 36 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPriorityGrouping 0x08004c33 Thumb Code 10 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPriority 0x08004c3d Thumb Code 94 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SetPendingIRQ 0x08004c9b Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPendingIRQ 0x08004cb7 Thumb Code 42 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_ClearPendingIRQ 0x08004ce1 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetActive 0x08004cfd Thumb Code 42 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_CLKSourceConfig 0x08004d27 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_Callback 0x08004d43 Thumb Code 2 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_IRQHandler 0x08004d45 Thumb Code 8 stm32f1xx_hal_cortex.o(.text) - HAL_UART_Init 0x08004e1d Thumb Code 100 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_Init 0x08004e81 Thumb Code 110 stm32f1xx_hal_uart.o(.text) - HAL_LIN_Init 0x08004eef Thumb Code 130 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_Init 0x08004f71 Thumb Code 146 stm32f1xx_hal_uart.o(.text) - HAL_UART_DeInit 0x08005005 Thumb Code 52 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit 0x080050b1 Thumb Code 202 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive 0x0800517b Thumb Code 212 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit_IT 0x0800524f Thumb Code 66 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive_IT 0x08005291 Thumb Code 86 stm32f1xx_hal_uart.o(.text) - HAL_UART_ErrorCallback 0x080052e7 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_TxHalfCpltCallback 0x08005361 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_TxCpltCallback 0x0800536d Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit_DMA 0x0800539f Thumb Code 138 stm32f1xx_hal_uart.o(.text) - HAL_UART_RxHalfCpltCallback 0x08005429 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_RxCpltCallback 0x08005435 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive_DMA 0x08005475 Thumb Code 150 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAPause 0x0800550b Thumb Code 102 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAResume 0x08005571 Thumb Code 98 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAStop 0x080055d3 Thumb Code 88 stm32f1xx_hal_uart.o(.text) - HAL_UART_Abort 0x0800562b Thumb Code 148 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmit 0x080056bf Thumb Code 80 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceive 0x0800570f Thumb Code 90 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortCpltCallback 0x08005769 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Abort_IT 0x080057d9 Thumb Code 178 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmitCpltCallback 0x0800588b Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmit_IT 0x080058a1 Thumb Code 94 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceiveCpltCallback 0x080058ff Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceive_IT 0x08005915 Thumb Code 104 stm32f1xx_hal_uart.o(.text) - HAL_UART_IRQHandler 0x08005a97 Thumb Code 312 stm32f1xx_hal_uart.o(.text) - HAL_LIN_SendBreak 0x08005bcf Thumb Code 70 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_EnterMuteMode 0x08005c15 Thumb Code 50 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_ExitMuteMode 0x08005c47 Thumb Code 50 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_EnableTransmitter 0x08005c79 Thumb Code 54 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_EnableReceiver 0x08005caf Thumb Code 54 stm32f1xx_hal_uart.o(.text) - HAL_UART_GetState 0x08005ce5 Thumb Code 12 stm32f1xx_hal_uart.o(.text) - HAL_UART_GetError 0x08005cf1 Thumb Code 4 stm32f1xx_hal_uart.o(.text) - __aeabi_memset 0x08005cf5 Thumb Code 14 memseta.o(.text) - __aeabi_memset4 0x08005cf5 Thumb Code 0 memseta.o(.text) - __aeabi_memset8 0x08005cf5 Thumb Code 0 memseta.o(.text) - __aeabi_memclr 0x08005d03 Thumb Code 4 memseta.o(.text) - __aeabi_memclr4 0x08005d03 Thumb Code 0 memseta.o(.text) - __aeabi_memclr8 0x08005d03 Thumb Code 0 memseta.o(.text) - _memset$wrapper 0x08005d07 Thumb Code 18 memseta.o(.text) - __aeabi_uidiv 0x08005d19 Thumb Code 0 uidiv.o(.text) - __aeabi_uidivmod 0x08005d19 Thumb Code 44 uidiv.o(.text) - __scatterload 0x08005d45 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x08005d45 Thumb Code 0 init.o(.text) - __0printf$3 0x08005d69 Thumb Code 22 printf3.o(i.__0printf$3) - __1printf$3 0x08005d69 Thumb Code 0 printf3.o(i.__0printf$3) - __2printf 0x08005d69 Thumb Code 0 printf3.o(i.__0printf$3) - __scatterload_copy 0x08005d89 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08005d97 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08005d99 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - free 0x08005f61 Thumb Code 76 malloc.o(i.free) - malloc 0x08005fb1 Thumb Code 92 malloc.o(i.malloc) - Font12_Table 0x0800601c Data 1140 font12.o(.constdata) - Font16_Table 0x08006490 Data 3040 font16.o(.constdata) - Font24CN_Table 0x08007070 Data 4482 font24cn.o(.constdata) - AHBPrescTable 0x080081f2 Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x08008202 Data 8 system_stm32f1xx.o(.constdata) - Region$$Table$$Base 0x080082f8 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08008318 Number 0 anon$$obj.o(Region$$Table) + EPD_4in37g_test 0x08000461 Thumb Code 688 epd_4in37g_test.o(.text) + EPD_4IN37G_Init 0x080008b9 Thumb Code 344 epd_4in37g.o(.text) + EPD_4IN37G_Clear 0x08000a11 Thumb Code 74 epd_4in37g.o(.text) + EPD_4IN37G_Display 0x08000a5b Thumb Code 72 epd_4in37g.o(.text) + EPD_4IN37G_Sleep 0x08000aa3 Thumb Code 30 epd_4in37g.o(.text) + DEV_SPI_WriteByte 0x08000b7d Thumb Code 18 dev_config.o(.text) + DEV_Module_Init 0x08000b8f Thumb Code 38 dev_config.o(.text) + DEV_Module_Exit 0x08000bb5 Thumb Code 38 dev_config.o(.text) + Paint_NewImage 0x08000be5 Thumb Code 56 gui_paint.o(.text) + Paint_SelectImage 0x08000c1d Thumb Code 6 gui_paint.o(.text) + Paint_SetRotate 0x08000c23 Thumb Code 44 gui_paint.o(.text) + Paint_SetScale 0x08000c4f Thumb Code 80 gui_paint.o(.text) + Paint_SetMirroring 0x08000c9f Thumb Code 62 gui_paint.o(.text) + Paint_SetPixel 0x08000cdd Thumb Code 238 gui_paint.o(.text) + Paint_Clear 0x08000dcb Thumb Code 156 gui_paint.o(.text) + Paint_ClearWindows 0x08000e67 Thumb Code 52 gui_paint.o(.text) + Paint_DrawPoint 0x08000e9b Thumb Code 180 gui_paint.o(.text) + Paint_DrawLine 0x08000f4f Thumb Code 662 gui_paint.o(.text) + Paint_DrawRectangle 0x080011e5 Thumb Code 170 gui_paint.o(.text) + Paint_DrawCircle 0x0800128f Thumb Code 528 gui_paint.o(.text) + Paint_DrawChar 0x0800149f Thumb Code 172 gui_paint.o(.text) + Paint_DrawString_EN 0x0800154b Thumb Code 116 gui_paint.o(.text) + Paint_DrawString_CN 0x080015bf Thumb Code 518 gui_paint.o(.text) + Paint_DrawNum 0x080017c5 Thumb Code 140 gui_paint.o(.text) + Paint_DrawTime 0x08001851 Thumb Code 282 gui_paint.o(.text) + Paint_DrawBitMap 0x0800196b Thumb Code 46 gui_paint.o(.text) + Paint_DrawBitMap_Paste 0x08001999 Thumb Code 110 gui_paint.o(.text) + Paint_DrawBitMap_Block 0x08001a07 Thumb Code 54 gui_paint.o(.text) + SystemInit 0x08001a91 Thumb Code 60 system_stm32f1xx.o(.text) + SystemCoreClockUpdate 0x08001acd Thumb Code 108 system_stm32f1xx.o(.text) + HAL_SPI_Init 0x08001b57 Thumb Code 180 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DeInit 0x08001c0d Thumb Code 48 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit 0x08001d33 Thumb Code 412 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive 0x08001f3f Thumb Code 510 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive 0x0800213d Thumb Code 366 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxCpltCallback 0x080022ab Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_ErrorCallback 0x080022ad Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_IT 0x0800236d Thumb Code 162 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxCpltCallback 0x0800240f Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxCpltCallback 0x08002499 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_IT 0x080025f1 Thumb Code 188 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_IT 0x080026ad Thumb Code 176 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxHalfCpltCallback 0x080027e5 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_DMA 0x080027f1 Thumb Code 208 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxHalfCpltCallback 0x0800292f Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxHalfCpltCallback 0x08002997 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_DMA 0x080029a3 Thumb Code 302 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_DMA 0x08002ad1 Thumb Code 278 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort 0x08002c55 Thumb Code 290 stm32f1xx_hal_spi.o(.text) + HAL_SPI_AbortCpltCallback 0x08002d77 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort_IT 0x08002e4d Thumb Code 328 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAPause 0x08002f95 Thumb Code 38 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAResume 0x08002fbb Thumb Code 38 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAStop 0x08002fe1 Thumb Code 68 stm32f1xx_hal_spi.o(.text) + HAL_SPI_IRQHandler 0x08003035 Thumb Code 250 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetState 0x0800312f Thumb Code 6 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetError 0x08003135 Thumb Code 4 stm32f1xx_hal_spi.o(.text) + HAL_InitTick 0x0800313f Thumb Code 58 stm32f1xx_hal.o(.text) + HAL_Init 0x08003179 Thumb Code 32 stm32f1xx_hal.o(.text) + HAL_MspDeInit 0x08003199 Thumb Code 2 stm32f1xx_hal.o(.text) + HAL_DeInit 0x0800319b Thumb Code 26 stm32f1xx_hal.o(.text) + HAL_IncTick 0x080031b5 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_GetTick 0x080031c1 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetTickPrio 0x080031c7 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_SetTickFreq 0x080031cd Thumb Code 30 stm32f1xx_hal.o(.text) + HAL_GetTickFreq 0x080031eb Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_Delay 0x080031f1 Thumb Code 34 stm32f1xx_hal.o(.text) + HAL_SuspendTick 0x08003213 Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_ResumeTick 0x08003221 Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_GetHalVersion 0x0800322f Thumb Code 4 stm32f1xx_hal.o(.text) + HAL_GetREVID 0x08003233 Thumb Code 8 stm32f1xx_hal.o(.text) + HAL_GetDEVID 0x0800323b Thumb Code 10 stm32f1xx_hal.o(.text) + HAL_GetUIDw0 0x08003245 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetUIDw1 0x0800324b Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetUIDw2 0x08003251 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGSleepMode 0x08003257 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGSleepMode 0x08003263 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStopMode 0x0800326f Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStopMode 0x0800327b Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStandbyMode 0x08003287 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStandbyMode 0x08003293 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_RCC_DeInit 0x080032c5 Thumb Code 250 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_OscConfig 0x080033df Thumb Code 1080 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetSysClockFreq 0x08003817 Thumb Code 88 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_ClockConfig 0x0800386f Thumb Code 364 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_MCOConfig 0x080039db Thumb Code 64 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_EnableCSS 0x08003a1b Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_DisableCSS 0x08003a23 Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetHCLKFreq 0x08003a2b Thumb Code 6 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK1Freq 0x08003a31 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK2Freq 0x08003a47 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetOscConfig 0x08003a5d Thumb Code 168 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetClockConfig 0x08003b05 Thumb Code 52 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_CSSCallback 0x08003b39 Thumb Code 2 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_NMI_IRQHandler 0x08003b3b Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_GPIO_Init 0x08003b8d Thumb Code 524 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_DeInit 0x08003d99 Thumb Code 320 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_ReadPin 0x08003ed9 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_WritePin 0x08003ee7 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_TogglePin 0x08003ef5 Thumb Code 16 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_LockPin 0x08003f05 Thumb Code 42 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_Callback 0x08003f2f Thumb Code 2 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_IRQHandler 0x08003f31 Thumb Code 18 stm32f1xx_hal_gpio.o(.text) + HAL_DMA_Init 0x08003f61 Thumb Code 144 stm32f1xx_hal_dma.o(.text) + HAL_DMA_DeInit 0x08003ff1 Thumb Code 126 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start 0x080040a7 Thumb Code 88 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start_IT 0x080040ff Thumb Code 124 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort 0x0800417b Thumb Code 72 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort_IT 0x080041c3 Thumb Code 318 stm32f1xx_hal_dma.o(.text) + HAL_DMA_PollForTransfer 0x08004301 Thumb Code 1316 stm32f1xx_hal_dma.o(.text) + HAL_DMA_IRQHandler 0x08004825 Thumb Code 672 stm32f1xx_hal_dma.o(.text) + HAL_DMA_RegisterCallback 0x08004ac5 Thumb Code 80 stm32f1xx_hal_dma.o(.text) + HAL_DMA_UnRegisterCallback 0x08004b15 Thumb Code 86 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetState 0x08004b6b Thumb Code 6 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetError 0x08004b71 Thumb Code 4 stm32f1xx_hal_dma.o(.text) + HAL_NVIC_SetPriorityGrouping 0x08004ba9 Thumb Code 30 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPriority 0x08004bc7 Thumb Code 98 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_EnableIRQ 0x08004c29 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_DisableIRQ 0x08004c45 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SystemReset 0x08004c69 Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Config 0x08004c83 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriorityGrouping 0x08004ca7 Thumb Code 10 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriority 0x08004cb1 Thumb Code 94 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPendingIRQ 0x08004d0f Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPendingIRQ 0x08004d2b Thumb Code 42 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_ClearPendingIRQ 0x08004d55 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetActive 0x08004d71 Thumb Code 42 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_CLKSourceConfig 0x08004d9b Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Callback 0x08004db7 Thumb Code 2 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_IRQHandler 0x08004db9 Thumb Code 8 stm32f1xx_hal_cortex.o(.text) + HAL_UART_Init 0x08004e91 Thumb Code 100 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_Init 0x08004ef5 Thumb Code 110 stm32f1xx_hal_uart.o(.text) + HAL_LIN_Init 0x08004f63 Thumb Code 130 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_Init 0x08004fe5 Thumb Code 146 stm32f1xx_hal_uart.o(.text) + HAL_UART_DeInit 0x08005079 Thumb Code 52 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit 0x08005125 Thumb Code 202 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive 0x080051ef Thumb Code 212 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_IT 0x080052c3 Thumb Code 66 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_IT 0x08005305 Thumb Code 86 stm32f1xx_hal_uart.o(.text) + HAL_UART_ErrorCallback 0x0800535b Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxHalfCpltCallback 0x080053d5 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxCpltCallback 0x080053e1 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_DMA 0x08005413 Thumb Code 138 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxHalfCpltCallback 0x0800549d Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxCpltCallback 0x080054a9 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_DMA 0x080054e9 Thumb Code 150 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAPause 0x0800557f Thumb Code 102 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAResume 0x080055e5 Thumb Code 98 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAStop 0x08005647 Thumb Code 88 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort 0x0800569f Thumb Code 148 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit 0x08005733 Thumb Code 80 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive 0x08005783 Thumb Code 90 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortCpltCallback 0x080057dd Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort_IT 0x0800584d Thumb Code 178 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmitCpltCallback 0x080058ff Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit_IT 0x08005915 Thumb Code 94 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceiveCpltCallback 0x08005973 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive_IT 0x08005989 Thumb Code 104 stm32f1xx_hal_uart.o(.text) + HAL_UART_IRQHandler 0x08005b0b Thumb Code 312 stm32f1xx_hal_uart.o(.text) + HAL_LIN_SendBreak 0x08005c43 Thumb Code 70 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_EnterMuteMode 0x08005c89 Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_ExitMuteMode 0x08005cbb Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableTransmitter 0x08005ced Thumb Code 54 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableReceiver 0x08005d23 Thumb Code 54 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetState 0x08005d59 Thumb Code 12 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetError 0x08005d65 Thumb Code 4 stm32f1xx_hal_uart.o(.text) + __aeabi_memset 0x08005d69 Thumb Code 14 memseta.o(.text) + __aeabi_memset4 0x08005d69 Thumb Code 0 memseta.o(.text) + __aeabi_memset8 0x08005d69 Thumb Code 0 memseta.o(.text) + __aeabi_memclr 0x08005d77 Thumb Code 4 memseta.o(.text) + __aeabi_memclr4 0x08005d77 Thumb Code 0 memseta.o(.text) + __aeabi_memclr8 0x08005d77 Thumb Code 0 memseta.o(.text) + _memset$wrapper 0x08005d7b Thumb Code 18 memseta.o(.text) + __aeabi_uidiv 0x08005d8d Thumb Code 0 uidiv.o(.text) + __aeabi_uidivmod 0x08005d8d Thumb Code 44 uidiv.o(.text) + __scatterload 0x08005db9 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08005db9 Thumb Code 0 init.o(.text) + __0printf$3 0x08005ddd Thumb Code 22 printf3.o(i.__0printf$3) + __1printf$3 0x08005ddd Thumb Code 0 printf3.o(i.__0printf$3) + __2printf 0x08005ddd Thumb Code 0 printf3.o(i.__0printf$3) + __scatterload_copy 0x08005dfd Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08005e0b Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08005e0d Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + free 0x08005fd5 Thumb Code 76 malloc.o(i.free) + malloc 0x08006025 Thumb Code 92 malloc.o(i.malloc) + Image4color 0x08006090 Data 47104 imagedata2.o(.constdata) + Font12_Table 0x08011890 Data 1140 font12.o(.constdata) + Font20_Table 0x08011d04 Data 3800 font20.o(.constdata) + Font24CN_Table 0x08012bdc Data 4482 font24cn.o(.constdata) + AHBPrescTable 0x08013d5e Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x08013d6e Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x08013e64 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08013e84 Number 0 anon$$obj.o(Region$$Table) Font12 0x20000000 Data 8 font12.o(.data) - Font16 0x20000008 Data 8 font16.o(.data) + Font20 0x20000008 Data 8 font20.o(.data) Font24CN 0x20000010 Data 12 font24cn.o(.data) SystemCoreClock 0x2000001c Data 4 system_stm32f1xx.o(.data) uwTickFreq 0x20000020 Data 1 stm32f1xx_hal.o(.data) @@ -2349,8 +2378,8 @@ Image Symbol Table huart1 0x20000090 Data 64 usart.o(.bss) Paint 0x200000d0 Data 24 gui_paint.o(.bss) __heap_base 0x200000e8 Data 0 startup_stm32f103xe.o(HEAP) - __heap_limit 0x200090e8 Data 0 startup_stm32f103xe.o(HEAP) - __initial_sp 0x2000a0e8 Data 0 startup_stm32f103xe.o(STACK) + __heap_limit 0x2000c0e8 Data 0 startup_stm32f103xe.o(HEAP) + __initial_sp 0x2000d0e8 Data 0 startup_stm32f103xe.o(STACK) @@ -2360,22 +2389,22 @@ Memory Map of the image Image Entry point : 0x08000131 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008350, Max: 0x00080000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00013ebc, Max: 0x00080000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008318, Max: 0x00080000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00013e84, Max: 0x00080000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x00000130 Data RO 3 RESET startup_stm32f103xe.o - 0x08000130 0x08000130 0x00000000 Code RO 3199 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x08000130 0x08000130 0x00000004 Code RO 3499 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x08000134 0x08000134 0x00000004 Code RO 3502 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x08000138 0x08000138 0x00000000 Code RO 3504 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x08000138 0x08000138 0x00000000 Code RO 3506 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x08000138 0x08000138 0x00000008 Code RO 3507 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x08000140 0x08000140 0x00000000 Code RO 3509 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x08000140 0x08000140 0x00000000 Code RO 3511 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x08000140 0x08000140 0x00000004 Code RO 3500 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000130 0x08000130 0x00000000 Code RO 3251 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x08000130 0x08000130 0x00000004 Code RO 3551 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x08000134 0x08000134 0x00000004 Code RO 3554 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x08000138 0x08000138 0x00000000 Code RO 3556 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x08000138 0x08000138 0x00000000 Code RO 3558 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x08000138 0x08000138 0x00000008 Code RO 3559 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x08000140 0x08000140 0x00000000 Code RO 3561 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x08000140 0x08000140 0x00000000 Code RO 3563 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x08000140 0x08000140 0x00000004 Code RO 3552 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x08000144 0x08000144 0x00000024 Code RO 4 .text startup_stm32f103xe.o 0x08000168 0x08000168 0x00000098 Code RO 13 .text main.o 0x08000200 0x08000200 0x00000060 Code RO 162 .text gpio.o @@ -2383,57 +2412,58 @@ Memory Map of the image 0x0800031c 0x0800031c 0x000000d8 Code RO 216 .text usart.o 0x080003f4 0x080003f4 0x00000030 Code RO 246 .text stm32f1xx_it.o 0x08000424 0x08000424 0x0000003c Code RO 273 .text stm32f1xx_hal_msp.o - 0x08000460 0x08000460 0x0000037c Code RO 1513 .text epd_7in3g_test.o - 0x080007dc 0x080007dc 0x00000368 Code RO 2625 .text epd_7in3g.o - 0x08000b44 0x08000b44 0x00000068 Code RO 2649 .text dev_config.o - 0x08000bac 0x08000bac 0x00000e70 Code RO 2674 .text gui_paint.o - 0x08001a1c 0x08001a1c 0x000000c4 Code RO 2808 .text system_stm32f1xx.o - 0x08001ae0 0x08001ae0 0x000015e8 Code RO 2864 .text stm32f1xx_hal_spi.o - 0x080030c8 0x080030c8 0x00000188 Code RO 2888 .text stm32f1xx_hal.o - 0x08003250 0x08003250 0x000008c8 Code RO 2918 .text stm32f1xx_hal_rcc.o - 0x08003b18 0x08003b18 0x000003d4 Code RO 2966 .text stm32f1xx_hal_gpio.o - 0x08003eec 0x08003eec 0x00000c48 Code RO 2990 .text stm32f1xx_hal_dma.o - 0x08004b34 0x08004b34 0x00000224 Code RO 3014 .text stm32f1xx_hal_cortex.o - 0x08004d58 0x08004d58 0x00000f9c Code RO 3178 .text stm32f1xx_hal_uart.o - 0x08005cf4 0x08005cf4 0x00000024 Code RO 3206 .text mc_w.l(memseta.o) - 0x08005d18 0x08005d18 0x0000002c Code RO 3514 .text mc_w.l(uidiv.o) - 0x08005d44 0x08005d44 0x00000024 Code RO 3531 .text mc_w.l(init.o) - 0x08005d68 0x08005d68 0x00000020 Code RO 3299 i.__0printf$3 mc_w.l(printf3.o) - 0x08005d88 0x08005d88 0x0000000e Code RO 3541 i.__scatterload_copy mc_w.l(handlers.o) - 0x08005d96 0x08005d96 0x00000002 Code RO 3542 i.__scatterload_null mc_w.l(handlers.o) - 0x08005d98 0x08005d98 0x0000000e Code RO 3543 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08005da6 0x08005da6 0x00000002 PAD - 0x08005da8 0x08005da8 0x000001b8 Code RO 3306 i._printf_core mc_w.l(printf3.o) - 0x08005f60 0x08005f60 0x00000050 Code RO 3471 i.free mc_w.l(malloc.o) - 0x08005fb0 0x08005fb0 0x0000006c Code RO 3472 i.malloc mc_w.l(malloc.o) - 0x0800601c 0x0800601c 0x00000474 Data RO 2721 .constdata font12.o - 0x08006490 0x08006490 0x00000be0 Data RO 2749 .constdata font16.o - 0x08007070 0x08007070 0x00001182 Data RO 2791 .constdata font24cn.o - 0x080081f2 0x080081f2 0x00000010 Data RO 2809 .constdata system_stm32f1xx.o - 0x08008202 0x08008202 0x00000008 Data RO 2810 .constdata system_stm32f1xx.o - 0x0800820a 0x0800820a 0x00000002 PAD - 0x0800820c 0x0800820c 0x000000e9 Data RO 2676 .conststring gui_paint.o - 0x080082f5 0x080082f5 0x00000003 PAD - 0x080082f8 0x080082f8 0x00000020 Data RO 3539 Region$$Table anon$$obj.o + 0x08000460 0x08000460 0x00000430 Code RO 1514 .text epd_4in37g_test.o + 0x08000890 0x08000890 0x000002ec Code RO 2653 .text epd_4in37g.o + 0x08000b7c 0x08000b7c 0x00000068 Code RO 2701 .text dev_config.o + 0x08000be4 0x08000be4 0x00000eac Code RO 2726 .text gui_paint.o + 0x08001a90 0x08001a90 0x000000c4 Code RO 2860 .text system_stm32f1xx.o + 0x08001b54 0x08001b54 0x000015e8 Code RO 2916 .text stm32f1xx_hal_spi.o + 0x0800313c 0x0800313c 0x00000188 Code RO 2940 .text stm32f1xx_hal.o + 0x080032c4 0x080032c4 0x000008c8 Code RO 2970 .text stm32f1xx_hal_rcc.o + 0x08003b8c 0x08003b8c 0x000003d4 Code RO 3018 .text stm32f1xx_hal_gpio.o + 0x08003f60 0x08003f60 0x00000c48 Code RO 3042 .text stm32f1xx_hal_dma.o + 0x08004ba8 0x08004ba8 0x00000224 Code RO 3066 .text stm32f1xx_hal_cortex.o + 0x08004dcc 0x08004dcc 0x00000f9c Code RO 3230 .text stm32f1xx_hal_uart.o + 0x08005d68 0x08005d68 0x00000024 Code RO 3258 .text mc_w.l(memseta.o) + 0x08005d8c 0x08005d8c 0x0000002c Code RO 3566 .text mc_w.l(uidiv.o) + 0x08005db8 0x08005db8 0x00000024 Code RO 3583 .text mc_w.l(init.o) + 0x08005ddc 0x08005ddc 0x00000020 Code RO 3351 i.__0printf$3 mc_w.l(printf3.o) + 0x08005dfc 0x08005dfc 0x0000000e Code RO 3593 i.__scatterload_copy mc_w.l(handlers.o) + 0x08005e0a 0x08005e0a 0x00000002 Code RO 3594 i.__scatterload_null mc_w.l(handlers.o) + 0x08005e0c 0x08005e0c 0x0000000e Code RO 3595 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08005e1a 0x08005e1a 0x00000002 PAD + 0x08005e1c 0x08005e1c 0x000001b8 Code RO 3358 i._printf_core mc_w.l(printf3.o) + 0x08005fd4 0x08005fd4 0x00000050 Code RO 3523 i.free mc_w.l(malloc.o) + 0x08006024 0x08006024 0x0000006c Code RO 3524 i.malloc mc_w.l(malloc.o) + 0x08006090 0x08006090 0x0000b800 Data RO 356 .constdata imagedata2.o + 0x08011890 0x08011890 0x00000474 Data RO 2773 .constdata font12.o + 0x08011d04 0x08011d04 0x00000ed8 Data RO 2815 .constdata font20.o + 0x08012bdc 0x08012bdc 0x00001182 Data RO 2843 .constdata font24cn.o + 0x08013d5e 0x08013d5e 0x00000010 Data RO 2861 .constdata system_stm32f1xx.o + 0x08013d6e 0x08013d6e 0x00000008 Data RO 2862 .constdata system_stm32f1xx.o + 0x08013d76 0x08013d76 0x00000002 PAD + 0x08013d78 0x08013d78 0x000000e9 Data RO 2728 .conststring gui_paint.o + 0x08013e61 0x08013e61 0x00000003 PAD + 0x08013e64 0x08013e64 0x00000020 Data RO 3591 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008318, Size: 0x0000a0e8, Max: 0x00010000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08013e84, Size: 0x0000d0e8, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08008318 0x00000008 Data RW 2722 .data font12.o - 0x20000008 0x08008320 0x00000008 Data RW 2750 .data font16.o - 0x20000010 0x08008328 0x0000000c Data RW 2792 .data font24cn.o - 0x2000001c 0x08008334 0x00000004 Data RW 2811 .data system_stm32f1xx.o - 0x20000020 0x08008338 0x0000000c Data RW 2889 .data stm32f1xx_hal.o - 0x2000002c 0x08008344 0x00000004 Data RW 3513 .data mc_w.l(stdout.o) - 0x20000030 0x08008348 0x00000004 Data RW 3518 .data mc_w.l(mvars.o) - 0x20000034 0x0800834c 0x00000004 Data RW 3519 .data mc_w.l(mvars.o) + 0x20000000 0x08013e84 0x00000008 Data RW 2774 .data font12.o + 0x20000008 0x08013e8c 0x00000008 Data RW 2816 .data font20.o + 0x20000010 0x08013e94 0x0000000c Data RW 2844 .data font24cn.o + 0x2000001c 0x08013ea0 0x00000004 Data RW 2863 .data system_stm32f1xx.o + 0x20000020 0x08013ea4 0x0000000c Data RW 2941 .data stm32f1xx_hal.o + 0x2000002c 0x08013eb0 0x00000004 Data RW 3565 .data mc_w.l(stdout.o) + 0x20000030 0x08013eb4 0x00000004 Data RW 3570 .data mc_w.l(mvars.o) + 0x20000034 0x08013eb8 0x00000004 Data RW 3571 .data mc_w.l(mvars.o) 0x20000038 - 0x00000058 Zero RW 187 .bss spi.o 0x20000090 - 0x00000040 Zero RW 217 .bss usart.o - 0x200000d0 - 0x00000018 Zero RW 2675 .bss gui_paint.o - 0x200000e8 - 0x00009000 Zero RW 2 HEAP startup_stm32f103xe.o - 0x200090e8 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o + 0x200000d0 - 0x00000018 Zero RW 2727 .bss gui_paint.o + 0x200000e8 - 0x0000c000 Zero RW 2 HEAP startup_stm32f103xe.o + 0x2000c0e8 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o ============================================================================== @@ -2443,31 +2473,32 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 104 10 0 0 0 792 dev_config.o - 872 60 0 0 0 3330 epd_7in3g.o - 892 412 0 0 0 1233 epd_7in3g_test.o - 0 0 1140 8 0 1389 font12.o - 0 0 3040 8 0 1389 font16.o - 0 0 4482 12 0 1391 font24cn.o - 96 10 0 0 0 827 gpio.o - 3696 660 233 0 24 14500 gui_paint.o - 152 20 0 0 0 462020 main.o - 188 18 0 0 88 1473 spi.o - 36 8 304 0 40960 804 startup_stm32f103xe.o - 392 38 0 12 0 7697 stm32f1xx_hal.o - 548 12 0 0 0 30706 stm32f1xx_hal_cortex.o - 3144 164 0 0 0 7133 stm32f1xx_hal_dma.o - 980 30 0 0 0 4415 stm32f1xx_hal_gpio.o - 60 8 0 0 0 854 stm32f1xx_hal_msp.o - 2248 88 0 0 0 6583 stm32f1xx_hal_rcc.o - 5608 106 0 0 0 19649 stm32f1xx_hal_spi.o - 3996 46 0 0 0 17460 stm32f1xx_hal_uart.o - 48 22 0 0 0 1258 stm32f1xx_it.o - 196 28 24 4 0 1553 system_stm32f1xx.o - 216 18 0 0 64 1777 usart.o + 104 10 0 0 0 780 dev_config.o + 748 60 0 0 0 2703 epd_4in37g.o + 1072 384 0 0 0 1478 epd_4in37g_test.o + 0 0 1140 8 0 1353 font12.o + 0 0 3800 8 0 1353 font20.o + 0 0 4482 12 0 1363 font24cn.o + 96 10 0 0 0 803 gpio.o + 3756 662 233 0 24 14608 gui_paint.o + 0 0 47104 0 0 842 imagedata2.o + 152 20 0 0 0 461928 main.o + 188 18 0 0 88 1429 spi.o + 36 8 304 0 53248 796 startup_stm32f103xe.o + 392 38 0 12 0 7649 stm32f1xx_hal.o + 548 12 0 0 0 30674 stm32f1xx_hal_cortex.o + 3144 164 0 0 0 7109 stm32f1xx_hal_dma.o + 980 30 0 0 0 4391 stm32f1xx_hal_gpio.o + 60 8 0 0 0 826 stm32f1xx_hal_msp.o + 2248 88 0 0 0 6559 stm32f1xx_hal_rcc.o + 5608 106 0 0 0 19625 stm32f1xx_hal_spi.o + 3996 46 0 0 0 17432 stm32f1xx_hal_uart.o + 48 22 0 0 0 1246 stm32f1xx_it.o + 196 28 24 4 0 1509 system_stm32f1xx.o + 216 18 0 0 64 1753 usart.o ---------------------------------------------------------------------- - 23472 1758 9260 44 41136 588233 Object Totals + 23588 1732 57124 44 53424 588209 Object Totals 0 0 32 0 0 0 (incl. Generated) 0 0 5 0 0 0 (incl. Padding) @@ -2512,15 +2543,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 24300 1808 9260 56 41136 587113 Grand Totals - 24300 1808 9260 56 41136 587113 ELF Image Totals - 24300 1808 9260 56 0 0 ROM Totals + 24416 1782 57124 56 53424 587089 Grand Totals + 24416 1782 57124 56 53424 587089 ELF Image Totals + 24416 1782 57124 56 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 33560 ( 32.77kB) - Total RW Size (RW Data + ZI Data) 41192 ( 40.23kB) - Total ROM Size (Code + RO Data + RW Data) 33616 ( 32.83kB) + Total RO Size (Code + RO Data) 81540 ( 79.63kB) + Total RW Size (RW Data + ZI Data) 53480 ( 52.23kB) + Total ROM Size (Code + RO Data + RW Data) 81596 ( 79.68kB) ============================================================================== diff --git a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst index 8833178..6221f22 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst +++ b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst @@ -102,23 +102,23 @@ ARM Macro Assembler Page 2 57 00001000 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> 58 00001000 ; 59 00001000 - 60 00001000 00009000 + 60 00001000 0000C000 Heap_Size - EQU 0x9000 + EQU 0xC000 61 00001000 62 00001000 AREA HEAP, NOINIT, READWRITE, ALIGN= 3 63 00000000 __heap_base 64 00000000 Heap_Mem SPACE Heap_Size - 65 00009000 __heap_limit - 66 00009000 - 67 00009000 PRESERVE8 - 68 00009000 THUMB - 69 00009000 - 70 00009000 - 71 00009000 ; Vector Table Mapped to Address 0 at Reset - 72 00009000 AREA RESET, DATA, READONLY + 65 0000C000 __heap_limit + 66 0000C000 + 67 0000C000 PRESERVE8 + 68 0000C000 THUMB + 69 0000C000 + 70 0000C000 + 71 0000C000 ; Vector Table Mapped to Address 0 at Reset + 72 0000C000 AREA RESET, DATA, READONLY 73 00000000 EXPORT __Vectors 74 00000000 EXPORT __Vectors_End 75 00000000 EXPORT __Vectors_Size @@ -580,17 +580,17 @@ ARM Macro Assembler Page 9 00000000 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw ork --depend=epd-demo\startup_stm32f103xe.d -oepd-demo\startup_stm32f103xe.o -I -.\RTE\_epd-demo -ID:\KEIL\azwz\ARM\PACK\ARM\CMSIS\5.9.0\CMSIS\Core\Include -ID: -\KEIL\azwz\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include --predefine="__MICR -OLIB SETA 1" --predefine="__UVISION_VERSION SETA 526" --predefine="_RTE_ SETA 1 +.\RTE\_epd-demo -I"D:\Program Files\keil5\ARM\PACK\ARM\CMSIS\5.7.0\CMSIS\Core\I +nclude" -I"D:\Program Files\keil5\ARM\PACK\Keil\STM32F1xx_DFP\2.3.0\Device\Incl +ude" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 525" - ARM Macro Assembler Page 10 -" --predefine="STM32F10X_HD SETA 1" --list=startup_stm32f103xe.lst startup_stm3 -2f103xe.s +-predefine="_RTE_ SETA 1" --predefine="STM32F10X_HD SETA 1" --list=startup_stm3 +2f103xe.lst startup_stm32f103xe.s @@ -653,7 +653,7 @@ Symbol: __heap_base Uses At line 351 in file startup_stm32f103xe.s Comment: __heap_base used once -__heap_limit 00009000 +__heap_limit 0000C000 Symbol: __heap_limit Definitions @@ -1414,7 +1414,7 @@ Symbol: WWDG_IRQHandler ARM Macro Assembler Page 1 Alphabetic symbol ordering Absolute symbols -Heap_Size 00009000 +Heap_Size 0000C000 Symbol: Heap_Size Definitions diff --git a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.s b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.s index dc20c01..b348830 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.s +++ b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.s @@ -57,7 +57,7 @@ __initial_sp ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; -Heap_Size EQU 0x9000 +Heap_Size EQU 0xC000 AREA HEAP, NOINIT, READWRITE, ALIGN=3 __heap_base diff --git a/STM32/STM32-F103ZET6/Src/main.c b/STM32/STM32-F103ZET6/Src/main.c index b8a09ad..901029e 100644 --- a/STM32/STM32-F103ZET6/Src/main.c +++ b/STM32/STM32-F103ZET6/Src/main.c @@ -94,61 +94,62 @@ int main(void) MX_SPI1_Init(); /* USER CODE BEGIN 2 */ -// EPD_1in64g_test(); -// EPD_3in0g_test(); -// EPD_7in3g_test(); - -// EPD_1in02d_test(); - -// EPD_1in54_test(); -// EPD_1in54_V2_test(); -// EPD_1in54b_test(); -// EPD_1in54b_V2_test(); -// EPD_1in54c_test(); + // EPD_1in64g_test(); + // EPD_3in0g_test(); + // EPD_4in37g_test(); + // EPD_7in3g_test(); -// EPD_2in7_test(); -// EPD_2in7b_test(); -// EPD_2in7b_V2_test(); + // EPD_1in02d_test(); -// EPD_2in9_test(); -// EPD_2in9_V2_test(); -// EPD_2in9bc_test(); -// EPD_2in9b_V3_test(); -// EPD_2in9d_test(); + // EPD_1in54_test(); + // EPD_1in54_V2_test(); + // EPD_1in54b_test(); + // EPD_1in54b_V2_test(); + // EPD_1in54c_test(); -// EPD_2in13_test(); -// EPD_2in13_V2_test(); -// EPD_2in13_V3_test(); -// EPD_2in13bc_test(); -// EPD_2in13b_V3_test(); -// EPD_2in13b_V4_test(); -// EPD_2in13d_test(); - -// EPD_2in66_test(); -// EPD_2in66b_test(); - -// EPD_3in52_test(); -// EPD_3in7_test(); - -// EPD_4in01f_test(); - -// EPD_4in2_test(); -// EPD_4in2bc_test(); -// EPD_4in2b_V2_test(); -// EPD_5in65f_test(); - -// EPD_5in83_test(); -// EPD_5in83_V2_test(); -// EPD_5in83bc_test(); -// EPD_5in83b_V2_test(); + // EPD_2in7_test(); + // EPD_2in7b_test(); + // EPD_2in7b_V2_test(); -// EPD_7in5_test(); -// EPD_7in5_V2_test(); -// EPD_7in5bc_test(); -// EPD_7in5b_V2_test(); + // EPD_2in9_test(); + // EPD_2in9_V2_test(); + // EPD_2in9bc_test(); + // EPD_2in9b_V3_test(); + // EPD_2in9d_test(); -// EPD_7in5_HD_test(); -// EPD_7in5b_HD_test(); + // EPD_2in13_test(); + // EPD_2in13_V2_test(); + // EPD_2in13_V3_test(); + // EPD_2in13bc_test(); + // EPD_2in13b_V3_test(); + // EPD_2in13b_V4_test(); + // EPD_2in13d_test(); + + // EPD_2in66_test(); + // EPD_2in66b_test(); + + // EPD_3in52_test(); + // EPD_3in7_test(); + + // EPD_4in01f_test(); + + // EPD_4in2_test(); + // EPD_4in2bc_test(); + // EPD_4in2b_V2_test(); + // EPD_5in65f_test(); + + // EPD_5in83_test(); + // EPD_5in83_V2_test(); + // EPD_5in83bc_test(); + // EPD_5in83b_V2_test(); + + // EPD_7in5_test(); + // EPD_7in5_V2_test(); + // EPD_7in5bc_test(); + // EPD_7in5b_V2_test(); + + // EPD_7in5_HD_test(); + // EPD_7in5b_HD_test(); /* USER CODE END 2 */ diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_1in64g_test.c b/STM32/STM32-F103ZET6/User/Examples/EPD_1in64g_test.c index 9afcc98..92e28e3 100644 --- a/STM32/STM32-F103ZET6/User/Examples/EPD_1in64g_test.c +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_1in64g_test.c @@ -29,7 +29,6 @@ ******************************************************************************/ #include "EPD_Test.h" #include "EPD_1in64g.h" -#include "time.h" int EPD_1in64g_test(void) { @@ -40,9 +39,7 @@ int EPD_1in64g_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_1IN64G_Init(); - - printf("White \r\n"); - EPD_1IN64G_Clear(EPD_1IN64G_WHITE); // While + EPD_1IN64G_Clear(EPD_1IN64G_WHITE); DEV_Delay_ms(2000); //Create a new image cache @@ -57,40 +54,39 @@ int EPD_1in64g_test(void) Paint_NewImage(BlackImage, EPD_1IN64G_WIDTH, EPD_1IN64G_HEIGHT, 0, EPD_1IN64G_WHITE); Paint_SetScale(4); -#if 1 // show bmp - printf("show BMP-----------------\r\n"); +#if 1 // show image for array + printf("show image for array\r\n"); Paint_SelectImage(BlackImage); - Paint_Clear(WHITE); - Paint_DrawBitMap(gImage_1in64g); + Paint_Clear(EPD_1IN64G_WHITE); + Paint_DrawBitMap(gImage_1in64g); EPD_1IN64G_Display(BlackImage); DEV_Delay_ms(2000); - #endif #if 1 // Drawing on the image //1.Select Image printf("SelectImage:BlackImage\r\n"); Paint_SelectImage(BlackImage); - Paint_Clear(0x55); + Paint_Clear(EPD_1IN64G_WHITE); // 2.Drawing on the image printf("Drawing:BlackImage\r\n"); - Paint_DrawPoint(10, 80, Red_4Color, DOT_PIXEL_1X1, DOT_STYLE_DFT); - Paint_DrawPoint(10, 90, Yellow_4Color, DOT_PIXEL_2X2, DOT_STYLE_DFT); - Paint_DrawPoint(10, 100, Black_4Color, DOT_PIXEL_3X3, DOT_STYLE_DFT); - Paint_DrawLine(20, 70, 70, 120, Red_4Color, DOT_PIXEL_1X1, LINE_STYLE_SOLID); - Paint_DrawLine(70, 70, 20, 120, Red_4Color, DOT_PIXEL_1X1, LINE_STYLE_SOLID); - Paint_DrawRectangle(20, 70, 70, 120, Yellow_4Color, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); - Paint_DrawRectangle(80, 70, 130, 120, Yellow_4Color, DOT_PIXEL_1X1, DRAW_FILL_FULL); - Paint_DrawCircle(45, 95, 20, Black_4Color, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); - Paint_DrawCircle(105, 95, 20, Black_4Color, DOT_PIXEL_1X1, DRAW_FILL_FULL); - Paint_DrawLine(85, 95, 125, 95, Red_4Color, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); - Paint_DrawLine(105, 75, 105, 115, Yellow_4Color, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); - Paint_DrawString_EN(10, 0, "Red, yellow, white and black", &Font16, Red_4Color, Yellow_4Color); - Paint_DrawString_EN(10, 35, "Four color e-Paper", &Font12, Yellow_4Color, Black_4Color); - Paint_DrawString_CN(10, 125, "微雪电å­", &Font24CN, Red_4Color, White_4Color); - Paint_DrawNum(10, 50, 123456, &Font12, Red_4Color, White_4Color); + Paint_DrawPoint(10, 80, EPD_1IN64G_RED, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, EPD_1IN64G_YELLOW, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, EPD_1IN64G_BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, EPD_1IN64G_RED, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, EPD_1IN64G_RED, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, EPD_1IN64G_YELLOW, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, EPD_1IN64G_YELLOW, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, EPD_1IN64G_BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, EPD_1IN64G_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, EPD_1IN64G_RED, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, EPD_1IN64G_YELLOW, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "Red, yellow, white and black", &Font16, EPD_1IN64G_RED, EPD_1IN64G_YELLOW); + Paint_DrawString_EN(10, 35, "Four color e-Paper", &Font12, EPD_1IN64G_YELLOW, EPD_1IN64G_BLACK); + Paint_DrawString_CN(10, 125, "微雪电å­", &Font24CN, EPD_1IN64G_RED, EPD_1IN64G_WHITE); + Paint_DrawNum(10, 50, 123456, &Font12, EPD_1IN64G_RED, EPD_1IN64G_WHITE); printf("EPD_Display\r\n"); EPD_1IN64G_Display(BlackImage); @@ -101,13 +97,13 @@ int EPD_1in64g_test(void) //1.Select Image printf("SelectImage:BlackImage\r\n"); Paint_SelectImage(BlackImage); - Paint_Clear(0x55); + Paint_Clear(EPD_1IN64G_WHITE); // 2.Drawing on the image printf("Drawing:BlackImage\r\n"); - Paint_DrawRectangle(1, 1, 168, 55, Red_4Color, DOT_PIXEL_1X1, DRAW_FILL_FULL); - Paint_DrawRectangle(1, 112, 167, 167, Yellow_4Color, DOT_PIXEL_1X1, DRAW_FILL_FULL); - Paint_DrawRectangle(59, 1, 109, 167, Black_4Color, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawRectangle(1, 1, 168, 55, EPD_1IN64G_RED, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawRectangle(1, 112, 167, 167, EPD_1IN64G_YELLOW, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawRectangle(59, 1, 109, 167, EPD_1IN64G_BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); printf("EPD_Display\r\n"); EPD_1IN64G_Display(BlackImage); @@ -118,33 +114,24 @@ int EPD_1in64g_test(void) //1.Select Image printf("SelectImage:BlackImage\r\n"); Paint_SelectImage(BlackImage); - Paint_Clear(0x55); + Paint_Clear(EPD_1IN64G_WHITE); + + int hNumber, hWidth, vNumber, vWidth; + hNumber = 8; + hWidth = EPD_1IN64G_HEIGHT/hNumber; // 168/16=21 + vNumber = 8; + vWidth = EPD_1IN64G_WIDTH/vNumber; // 168/16=21 - int wNumber, lNumber; - wNumber = (EPD_1IN64G_WIDTH/80)==0 ? (EPD_1IN64G_WIDTH/80) : (EPD_1IN64G_WIDTH/80)+1; - lNumber = (EPD_1IN64G_HEIGHT/20)==0 ? (EPD_1IN64G_HEIGHT/20) : (EPD_1IN64G_HEIGHT/20)+1; // 2.Drawing on the image printf("Drawing:BlackImage\r\n"); - for(int j=0; j=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { + if(i=ystart && j<(image_width+xstart)/4 && j>=xstart/4) { EPD_7IN3G_SendData(Image[(j-xstart/4) + (image_width/4*(i-ystart))]); } else diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.h b/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.h index a0c1bf3..cc2741e 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.h +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in3g.h @@ -38,16 +38,16 @@ #define EPD_7IN3G_WIDTH 800 #define EPD_7IN3G_HEIGHT 480 -//colour -#define EPD_7IN3G_BLACK 0x00 -#define EPD_7IN3G_WHITE 0x55 -#define EPD_7IN3G_YELLOW 0xAA -#define EPD_7IN3G_RED 0xFF +// Color +#define EPD_7IN3G_BLACK 0x0 +#define EPD_7IN3G_WHITE 0x1 +#define EPD_7IN3G_YELLOW 0x2 +#define EPD_7IN3G_RED 0x3 void EPD_7IN3G_Init(void); void EPD_7IN3G_Clear(UBYTE color); -void EPD_7IN3G_Display(UBYTE *Image); -void EPD_7IN3G_Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_heigh); +void EPD_7IN3G_Display(const UBYTE *Image); +void EPD_7IN3G_Display_part(UBYTE *Image, UWORD xstart, UWORD ystart, UWORD image_width, UWORD image_height); void EPD_7IN3G_Sleep(void); #endif