diff --git a/Arduino/epd2in66g/epd2in66g.cpp b/Arduino/epd2in66g/epd2in66g.cpp new file mode 100644 index 000000000..34c8acc9f --- /dev/null +++ b/Arduino/epd2in66g/epd2in66g.cpp @@ -0,0 +1,248 @@ +/** + * @filename : epd2in66g.cpp + * @brief : Implements for e-paper library + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/17 + * + * 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 "epd2in66g.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(); + ReadBusyH(); + + SendCommand(0x4D); + SendData(0x78); + + SendCommand(0x00); //PSR + SendData(0x0F); + SendData(0x29); + + SendCommand(0x01); //PWRR + SendData(0x07); + SendData(0x00); + + SendCommand(0x03); //POFS + SendData(0x10); + SendData(0x54); + SendData(0x44); + + SendCommand(0x06); //BTST_P + SendData(0x05); + SendData(0x00); + SendData(0x3F); + SendData(0x0A); + SendData(0x25); + SendData(0x12); + SendData(0x1A); + + SendCommand(0x50); //CDI + SendData(0x37); + + SendCommand(0x60); //TCON + SendData(0x02); + SendData(0x02); + + SendCommand(0x61); //TRES + SendData(WIDTH/256); // Source_BITS_H + SendData(WIDTH%256); // Source_BITS_L + SendData(HEIGHT/256); // Gate_BITS_H + SendData(HEIGHT%256); // Gate_BITS_L + + SendCommand(0xE7); + SendData(0x1C); + + SendCommand(0xE3); + SendData(0x22); + + SendCommand(0xB4); + SendData(0xD0); + SendCommand(0xB5); + SendData(0x03); + + SendCommand(0xE9); + SendData(0x01); + + SendCommand(0x30); + SendData(0x08); + + SendCommand(0x04); + ReadBusyH(); + 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(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void Epd::Clear(UBYTE color) +{ + UWORD Width, Height; + Width = (WIDTH % 4 == 0)? (WIDTH / 4 ): (WIDTH / 4 + 1); + Height = HEIGHT; + + 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(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(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); + ReadBusyH(); + + SendCommand(0x07); // DEEP_SLEEP + SendData(0XA5); +} + +/* END OF FILE */ + + diff --git a/Arduino/epd2in66g/epd2in66g.h b/Arduino/epd2in66g/epd2in66g.h new file mode 100644 index 000000000..c6dcc472a --- /dev/null +++ b/Arduino/epd2in66g/epd2in66g.h @@ -0,0 +1,74 @@ +/** + * @filename : epd2in66g.h + * @brief : Header file for e-paper display library epd4in37g.cpp + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/17 + * + * 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 EPD2IN66G_H +#define EPD2IN66G_H + +#include "epdif.h" + +// Display resolution +#define EPD_WIDTH 184 +#define EPD_HEIGHT 360 + +// 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/epd2in66g/epd2in66g.ino b/Arduino/epd2in66g/epd2in66g.ino new file mode 100644 index 000000000..7276ad401 --- /dev/null +++ b/Arduino/epd2in66g/epd2in66g.ino @@ -0,0 +1,60 @@ +/** + * @filename : epd2in66g-demo.ino + * @brief : 2.66inch e-Paper (G) display demo + * @author : Waveshare + * + * Copyright (C) Waveshare 2022/08/17 + * + * 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 "epd2in66g.h" +#include "imagedata.h" + +Epd epd; + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.print("e-Paper init \r\n"); + 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, 10, 96, 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/epd2in66g/epdif.cpp b/Arduino/epd2in66g/epdif.cpp new file mode 100644 index 000000000..46c387f43 --- /dev/null +++ b/Arduino/epd2in66g/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; +} diff --git a/Arduino/epd2in66g/epdif.h b/Arduino/epd2in66g/epdif.h new file mode 100644 index 000000000..c19591083 --- /dev/null +++ b/Arduino/epd2in66g/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/epd2in66g/imagedata.cpp b/Arduino/epd2in66g/imagedata.cpp new file mode 100644 index 000000000..2a1593e1e --- /dev/null +++ b/Arduino/epd2in66g/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/epd2in66g/imagedata.h b/Arduino/epd2in66g/imagedata.h new file mode 100644 index 000000000..ac66d7f3b --- /dev/null +++ b/Arduino/epd2in66g/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/epd2in9_V2/epd2in9_V2.cpp b/Arduino/epd2in9_V2/epd2in9_V2.cpp index 0d8703595..8a60c4be2 100644 --- a/Arduino/epd2in9_V2/epd2in9_V2.cpp +++ b/Arduino/epd2in9_V2/epd2in9_V2.cpp @@ -73,6 +73,52 @@ unsigned char WS_20_30[159] = 0x22, 0x17, 0x41, 0x0, 0x32, 0x36 }; +unsigned char Gray4[159] = +{ +0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 //2.28s +0x20, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 +0x28, 0x60, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 +0x2A, 0x60, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 +0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 +0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group0 +0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x01, //TP, SR, RP of Group1 +0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group2 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group4 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group5 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group6 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group7 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group8 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group9 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group10 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 +0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON +0x22, 0x17, 0x41, 0xAE, 0x32, 0x28, //EOPT VGH VSH1 VSH2 VSL VCOM +}; + +unsigned char WF_FULL[159] = +{ +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 1.00S +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 +0x19, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group0 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group1 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group2 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group4 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group5 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group6 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group7 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group8 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group9 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group10 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 +0x24, 0x42, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON +0x22, 0x17, 0x41, 0xAE, 0x32, 0x38, //EOPT VGH VSH1 VSH2 VSL VCOM +}; + Epd::~Epd() { }; @@ -120,6 +166,78 @@ int Epd::Init() { return 0; } +int Epd::Init_Fast() { + /* this calls the peripheral hardware interface, see epdif */ + if (IfInit() != 0) { + return -1; + } + + Reset(); + + /* EPD hardware init start */ + WaitUntilIdle(); + SendCommand(0x12); //SWRESET + WaitUntilIdle(); + + SendCommand(0x01); //Driver output control + SendData(0x27); + SendData(0x01); + SendData(0x00); + + SendCommand(0x11); //data entry mode + SendData(0x03); + + SetMemoryArea(0, 0, width-1, height-1); + + SendCommand(0x3C); + SendData(0x05); + + SendCommand(0x21); // Display update control + SendData(0x00); + SendData(0x80); + + SetMemoryPointer(0, 0); + WaitUntilIdle(); + + SetLut_by_host(WF_FULL); + /* EPD hardware init end */ + return 0; +} + +int Epd::Init_4Gray() { + /* this calls the peripheral hardware interface, see epdif */ + if (IfInit() != 0) { + return -1; + } + + Reset(); + + /* EPD hardware init start */ + WaitUntilIdle(); + SendCommand(0x12); //SWRESET + WaitUntilIdle(); + + SendCommand(0x01); //Driver output control + SendData(0x27); + SendData(0x01); + SendData(0x00); + + SendCommand(0x11); //data entry mode + SendData(0x03); + + SetMemoryArea(8, 0, width, height-1); + + SendCommand(0x3C); + SendData(0x04); + + SetMemoryPointer(8, 0); + WaitUntilIdle(); + + SetLut_by_host(Gray4); + /* EPD hardware init end */ + return 0; +} + /** * @brief: basic function for sending commands */ @@ -331,6 +449,100 @@ void Epd::ClearFrameMemory(unsigned char color) { for (int i = 0; i < this->width / 8 * this->height; i++) { SendData(color); } + + SendCommand(0x26); + /* send the color data */ + for (int i = 0; i < this->width / 8 * this->height; i++) { + SendData(color); + } +} + +void Epd::Display4Gray(const unsigned char *Image) +{ + int i,j,k; + unsigned char temp1,temp2,temp3; + + SendCommand(0x24); + for(i=0;i<4736;i++) + { + temp3=0; + for(j=0;j<2;j++) + { + temp1 = pgm_read_byte(&Image[i*2+j]); + for(k=0;k<2;k++) + { + temp2 = temp1&0xC0 ; + if(temp2 == 0xC0) + temp3 |= 0x00;//white + else if(temp2 == 0x00) + temp3 |= 0x01; //black + else if(temp2 == 0x80) + temp3 |= 0x01; //gray1 + else //0x40 + temp3 |= 0x00; //gray2 + temp3 <<= 1; + + temp1 <<= 2; + temp2 = temp1&0xC0 ; + if(temp2 == 0xC0) //white + temp3 |= 0x00; + else if(temp2 == 0x00) //black + temp3 |= 0x01; + else if(temp2 == 0x80) + temp3 |= 0x01; //gray1 + else //0x40 + temp3 |= 0x00; //gray2 + if(j!=1 || k!=1) + temp3 <<= 1; + + temp1 <<= 2; + } + + } + SendData(temp3); + } + // new data + SendCommand(0x26); + for(i=0;i<4736;i++) + { + temp3=0; + for(j=0;j<2;j++) + { + temp1 = pgm_read_byte(&Image[i*2+j]); + for(k=0;k<2;k++) + { + temp2 = temp1&0xC0 ; + if(temp2 == 0xC0) + temp3 |= 0x00;//white + else if(temp2 == 0x00) + temp3 |= 0x01; //black + else if(temp2 == 0x80) + temp3 |= 0x00; //gray1 + else //0x40 + temp3 |= 0x01; //gray2 + temp3 <<= 1; + + temp1 <<= 2; + temp2 = temp1&0xC0 ; + if(temp2 == 0xC0) //white + temp3 |= 0x00; + else if(temp2 == 0x00) //black + temp3 |= 0x01; + else if(temp2 == 0x80) + temp3 |= 0x00; //gray1 + else //0x40 + temp3 |= 0x01; //gray2 + if(j!=1 || k!=1) + temp3 <<= 1; + + temp1 <<= 2; + } + + } + SendData(temp3); + } + + DisplayFrame(); } /** diff --git a/Arduino/epd2in9_V2/epd2in9_V2.h b/Arduino/epd2in9_V2/epd2in9_V2.h index a384fface..3175d61f6 100644 --- a/Arduino/epd2in9_V2/epd2in9_V2.h +++ b/Arduino/epd2in9_V2/epd2in9_V2.h @@ -41,6 +41,8 @@ class Epd : EpdIf { Epd(); ~Epd(); int Init(); + int Init_Fast(); + int Init_4Gray(void); void SendCommand(unsigned char command); void SendData(unsigned char data); void WaitUntilIdle(void); @@ -63,7 +65,8 @@ class Epd : EpdIf { void SetFrameMemory_Base(const unsigned char* image_buffer); void ClearFrameMemory(unsigned char color); void DisplayFrame(void); - void DisplayFrame_Partial(void); + void DisplayFrame_Partial(void); + void Display4Gray(const unsigned char *Image); void Sleep(void); private: diff --git a/Arduino/epd2in9_V2/epd2in9_V2.ino b/Arduino/epd2in9_V2/epd2in9_V2.ino index 12e2afae5..b25007667 100644 --- a/Arduino/epd2in9_V2/epd2in9_V2.ino +++ b/Arduino/epd2in9_V2/epd2in9_V2.ino @@ -1,4 +1,4 @@ -/** + /** * @filename : epd2in9_V2-demo.ino * @brief : 2.9inch e-paper V2 display demo * @author : Yehui from Waveshare @@ -43,6 +43,7 @@ Paint paint(image, 0, 0); // width should be the multiple of 8 Epd epd; unsigned long time_start_ms; unsigned long time_now_s; +char time_string[] = {'0', '0', ':', '0', '0', '\0'}; void setup() { // put your setup code here, to run once: @@ -51,7 +52,8 @@ void setup() { Serial.print("e-Paper init failed"); return; } - + +#if 1 epd.ClearFrameMemory(0xFF); // bit set = white, bit reset = black epd.DisplayFrame(); @@ -91,7 +93,9 @@ void setup() { epd.DisplayFrame(); delay(2000); +#endif +#if 1 if (epd.Init() != 0) { Serial.print("e-Paper init failed "); return; @@ -105,27 +109,72 @@ void setup() { */ epd.SetFrameMemory_Base(IMAGE_DATA); epd.DisplayFrame(); +#endif + +#if 0 + // Quick brush demo + if (epd.Init_Fast() != 0) { + Serial.print("e-Paper init failed "); + return; + } + + /** + * there are 2 memory areas embedded in the e-paper display + * and once the display is refreshed, the memory area will be auto-toggled, + * i.e. the next action of SetFrameMemory will set the other memory area + * therefore you have to set the frame memory and refresh the display twice. + */ + epd.SetFrameMemory_Base(IMAGE_DATA); + epd.DisplayFrame(); +#endif + +#if 0 + Serial.print("show 4-gray image\r\n"); + if (epd.Init_4Gray() != 0) { + Serial.print("e-Paper init failed "); + return; + } + epd.Display4Gray(IMAGE_DATA_4Gray); +#endif + +#if 0 + if (epd.Init() != 0) { + Serial.print("e-Paper init failed"); + return; + } + epd.ClearFrameMemory(0xFF); // bit set = white, bit reset = black + epd.DisplayFrame(); + time_start_ms = millis(); + + // put your main code here, to run repeatedly: + + for(;;){ + time_now_s = (millis() - time_start_ms) / 1000; + time_string[0] = time_now_s / 60 / 10 + '0'; + time_string[1] = time_now_s / 60 % 10 + '0'; + time_string[3] = time_now_s % 60 / 10 + '0'; + time_string[4] = time_now_s % 60 % 10 + '0'; + + paint.SetWidth(32); + paint.SetHeight(96); + paint.SetRotate(ROTATE_90); + + paint.Clear(UNCOLORED); + paint.DrawStringAt(0, 4, time_string, &Font24, COLORED); + epd.SetFrameMemory_Partial(paint.GetImage(), 80, 72, paint.GetWidth(), paint.GetHeight()); + epd.DisplayFrame_Partial(); + } +#endif + + /* Deep sleep */ + Serial.print("sleep..."); + epd.Sleep(); } void loop() { - // put your main code here, to run repeatedly: - time_now_s = (millis() - time_start_ms) / 1000; - char time_string[] = {'0', '0', ':', '0', '0', '\0'}; - time_string[0] = time_now_s / 60 / 10 + '0'; - time_string[1] = time_now_s / 60 % 10 + '0'; - time_string[3] = time_now_s % 60 / 10 + '0'; - time_string[4] = time_now_s % 60 % 10 + '0'; - paint.SetWidth(32); - paint.SetHeight(96); - paint.SetRotate(ROTATE_90); - - paint.Clear(UNCOLORED); - paint.DrawStringAt(0, 4, time_string, &Font24, COLORED); - epd.SetFrameMemory_Partial(paint.GetImage(), 80, 72, paint.GetWidth(), paint.GetHeight()); - epd.DisplayFrame_Partial(); // delay(300); } diff --git a/Arduino/epd2in9b_V4/epd2in9b_V4.cpp b/Arduino/epd2in9b_V4/epd2in9b_V4.cpp new file mode 100644 index 000000000..7d898c789 --- /dev/null +++ b/Arduino/epd2in9b_V4/epd2in9b_V4.cpp @@ -0,0 +1,369 @@ +/** + * @filename : epd2in9b_V4.cpp + * @brief : Implements for e-paper library + * @author : Waveshare + * + * Copyright (C) Waveshare 2023-12-20 + * + * 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 "epd2in9b_V4.h" +#include "imagedata.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(void) { + if (IfInit() != 0) { + return -1; + } + Reset(); + + ReadBusy(); + SendCommand(0x12); + ReadBusy(); + + SendCommand(0x01); //Driver output control + SendData((height-1)%256); + SendData((height-1)/256); + SendData(0x00); + + SendCommand(0x11); //data entry mode + SendData(0x03); + + SendCommand(0x44); //set Ram-X address start/end position + SendData(0x00); + SendData(width/8-1); + + SendCommand(0x45); //set Ram-Y address start/end position + SendData(0x00); + SendData(0x00); + SendData((height-1)%256); + SendData((height-1)/256); + + SendCommand(0x3C); //BorderWavefrom + SendData(0x05); + + SendCommand(0x21); // Display update control + SendData(0x00); + SendData(0x80); + + SendCommand(0x18); //Read built-in temperature sensor + SendData(0x80); + + SendCommand(0x4E); // set RAM x address count to 0; + SendData(0x00); + SendCommand(0x4F); // set RAM y address count to 0X199; + SendData(0x00); + SendData(0x00); + ReadBusy(); + + return 0; +} + +int Epd::Init_Fast(void) { + if (IfInit() != 0) { + return -1; + } + Reset(); + + ReadBusy(); + SendCommand(0x12); //SWRESET + ReadBusy(); + + SendCommand(0x18); //Read built-in temperature sensor + SendData(0x80); + + SendCommand(0x22); // Load temperature value + SendData(0xB1); + SendCommand(0x20); + ReadBusy(); + + SendCommand(0x1A); // Write to temperature register + SendData(0x5a); // 90 + SendData(0x00); + + SendCommand(0x22); // Load temperature value + SendData(0x91); + SendCommand(0x20); + ReadBusy(); + + SendCommand(0x01); //Driver output control + SendData((height-1)%256); + SendData((height-1)/256); + SendData(0x00); + + SendCommand(0x11); //data entry mode + SendData(0x03); + + SendCommand(0x44); //set Ram-X address start/end position + SendData(0x00); + SendData(width/8-1); + + SendCommand(0x45); //set Ram-Y address start/end position + SendData(0x00); + SendData(0x00); + SendData((height-1)%256); + SendData((height-1)/256); + + SendCommand(0x4E); // set RAM x address count to 0; + SendData(0x00); + SendCommand(0x4F); // set RAM y address count to 0X199; + SendData(0x00); + SendData(0x00); + ReadBusy(); + + 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 HIGH + */ +void Epd::ReadBusy(void) { + unsigned char busy; + Serial.print("e-Paper busy \r\n "); + while(1) + { + if(DigitalRead(busy_pin) == 0) + break; + DelayMs(50); + } + Serial.print("e-Paper busy release \r\n "); + DelayMs(200); +} + +/** + * @brief: module reset. + * often used to awaken the module in deep sleep, + * see Epd::Sleep(); + */ +void Epd::Reset(void) { + DigitalWrite(reset_pin, HIGH); + DelayMs(200); + DigitalWrite(reset_pin, LOW); //module reset + DelayMs(5); + DigitalWrite(reset_pin, HIGH); + DelayMs(200); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +void Epd::TurnOnDisplay(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xF7); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_Base(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xF4); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_Partial(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0x1C); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_Fast(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xC7); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::Display(const UBYTE *blackimage, const UBYTE *ryimage) { + UBYTE k; + SendCommand(0x24); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(pgm_read_byte(&blackimage[i + (j*width/8)])); + } + } + + SendCommand(0x26); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + k = pgm_read_byte(&ryimage[i + (j*width/8)]); + SendData(~k); + } + } + TurnOnDisplay(); +} + +void Epd::Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage) { + UBYTE k; + SendCommand(0x24); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(pgm_read_byte(&blackimage[i + (j*width/8)])); + } + } + + SendCommand(0x26); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + k = pgm_read_byte(&ryimage[i + (j*width/8)]); + SendData(~k); + } + } + TurnOnDisplay_Fast(); +} + + + +void Epd::Clear() { + //send black data + SendCommand(0x24); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(0xff); + } + } + //send red data + SendCommand(0x26); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(0x00); + } + } + TurnOnDisplay_Base(); + SendCommand(0x26); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(0xff); + } + } +} + +void Epd::Clear_Base() { + //send black data + SendCommand(0x10); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(0xff); + } + } + //send red data + SendCommand(0x26); + for (UWORD j = 0; j < height; j++) { + for (UWORD i = 0; i < width/8; i++) { + SendData(0x00); + } + } + TurnOnDisplay(); +} + +//Partial refresh display +void Epd::Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + if((Xstart % 8 + Xend % 8 == 8 && Xstart % 8 > Xend % 8) || Xstart % 8 + Xend % 8 == 0 || (Xend - Xstart)%8 == 0) + { + Xstart = Xstart / 8 ; + Xend = Xend / 8; + } + else + { + Xstart = Xstart / 8 ; + Xend = Xend % 8 == 0 ? Xend / 8 : Xend / 8 + 1; + } + + + UWORD i, Width; + Width = Xend - Xstart; + UWORD IMAGE_COUNTER = Width * (Yend-Ystart); + + Xend -= 1; + Yend -= 1; + + SendCommand(0x44); // set RAM x address start/end, in page 35 + SendData(Xstart & 0xff); // RAM x address start at 00h; + SendData(Xend & 0xff); // RAM x address end at 0fh(15+1)*8->128 + SendCommand(0x45); // set RAM y address start/end, in page 35 + SendData(Ystart & 0xff); // RAM y address start at 0127h; + SendData((Ystart>>8) & 0x01); // RAM y address start at 0127h; + SendData(Yend & 0xff); // RAM y address end at 00h; + SendData((Yend>>8) & 0x01); + + SendCommand(0x4E); // set RAM x address count to 0; + SendData(Xstart & 0xff); + SendCommand(0x4F); // set RAM y address count to 0X127; + SendData(Ystart & 0xff); + SendData((Ystart>>8) & 0x01); + + + SendCommand(0x24); //Write Black and White image to RAM + for (i = 0; i < IMAGE_COUNTER; i++) { + SendData(pgm_read_byte(&Image[i])); + } + TurnOnDisplay_Partial(); + +} +/** + * @brief: After this command is transmitted, the chip would enter the + * deep-sleep mode to save power. + * The deep sleep mode would return to standby by hardware reset. + * The only one parameter is a check code, the command would be + * You can use EPD_Reset() to awaken + */ +void Epd::Sleep(void) { + SendCommand(0x10); // DEEP_SLEEP + SendData(0x01); // check code +} + + + +/* END OF FILE */ diff --git a/Arduino/epd2in9b_V4/epd2in9b_V4.h b/Arduino/epd2in9b_V4/epd2in9b_V4.h new file mode 100644 index 000000000..3a5e1f81a --- /dev/null +++ b/Arduino/epd2in9b_V4/epd2in9b_V4.h @@ -0,0 +1,71 @@ +/** + * @filename : epd2in9b_V4.h + * @brief : Header file for e-paper library epd2in9b_V4.cpp + * @author : Waveshare + * + * Copyright (C) Waveshare 2023-12-20 + * + * 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 EPD2IN9B_V4_H +#define EPD2IN9B_V4_H + +#include "epdif.h" + +// Display resolution +#define EPD_WIDTH 128 +#define EPD_HEIGHT 296 + +#define UWORD unsigned int +#define UBYTE unsigned char + +class Epd : EpdIf { +public: + Epd(); + ~Epd(); + int Init(void); + int Init_Fast(void); + void ReadBusy(void); + void Reset(void); + void TurnOnDisplay(void); + void TurnOnDisplay_Base(void); + void TurnOnDisplay_Partial(void); + void TurnOnDisplay_Fast(void); + void Display(const UBYTE *blackimage, const UBYTE *ryimage); + void Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage); + void Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend); + void Clear_Base(); + void SendCommand(unsigned char command); + void SendData(unsigned char data); + void Sleep(void); + void Clear(void); + +private: + unsigned int reset_pin; + unsigned int dc_pin; + unsigned int cs_pin; + unsigned int busy_pin; + unsigned long width; + unsigned long height; +}; + +#endif + +/* END OF FILE */ diff --git a/Arduino/epd2in9b_V4/epd2in9b_V4.ino b/Arduino/epd2in9b_V4/epd2in9b_V4.ino new file mode 100644 index 000000000..b68c6a0e9 --- /dev/null +++ b/Arduino/epd2in9b_V4/epd2in9b_V4.ino @@ -0,0 +1,64 @@ +/** + * @filename : epd2in9b_V4-demo.ino + * @brief : 2.9inch e-paper display demo + * @author : Waveshare + * + * Copyright (C) Waveshare 2023-12-20 + * + * 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 "epd2in9b_V4.h" +#include "imagedata.h" + +Epd epd; + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.print("2.9inch b V4 e-Paper init \r\n "); + if (epd.Init() != 0) { + Serial.print("e-Paper init failed\r\n "); + return; + } + Serial.print("e-Paper Clear\r\n "); + epd.Clear(); + +#if 0 + Serial.print("draw image\r\n "); + epd.Display(IMAGE_DATA, IMAGE_DATA); +#else + epd.Init_Fast(); + Serial.print("draw image\r\n "); + epd.Display_Fast(IMAGE_DATA, IMAGE_DATA); +#endif + + delay(2000); + Serial.print("e-Paper Clear\r\n "); + epd.Init(); + epd.Clear(); + + Serial.print("Goto Sleep...\r\n"); + epd.Sleep(); +} + +void loop() { + // put your main code here, to run repeatedly: +} diff --git a/Arduino/epd2in9b_V4/epdif.cpp b/Arduino/epd2in9b_V4/epdif.cpp new file mode 100644 index 000000000..b1f89c954 --- /dev/null +++ b/Arduino/epd2in9b_V4/epdif.cpp @@ -0,0 +1,68 @@ +/** + * @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); + + pinMode(PWR_PIN, OUTPUT); + DigitalWrite(PWR_PIN, 1); + + SPI.begin(); + SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0)); + return 0; +} + diff --git a/Arduino/epd2in9b_V4/epdif.h b/Arduino/epd2in9b_V4/epdif.h new file mode 100644 index 000000000..e328397ef --- /dev/null +++ b/Arduino/epd2in9b_V4/epdif.h @@ -0,0 +1,52 @@ +/** + * @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 +#define PWR_PIN 6 + +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/epd2in9b_V4/imagedata.cpp b/Arduino/epd2in9b_V4/imagedata.cpp new file mode 100644 index 000000000..f36e31375 --- /dev/null +++ b/Arduino/epd2in9b_V4/imagedata.cpp @@ -0,0 +1,325 @@ +/** + * @filename : imagedata.cpp + * @brief : data file for epd demo + * + * Copyright (C) Waveshare July 3 2020 + * + * 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 + +const unsigned char IMAGE_DATA[] PROGMEM = { //0X00,0X01,0XF0,0X00,0X67,0X00, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X00,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X00,0X38,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X0F,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X7F,0XF8,0X03,0XF0,0X1F,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0X80,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X3F,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X07,0XFF,0XC0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFF,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XFC,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X1F,0XFF,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X03,0XFF,0XE0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0XFF,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X3F,0XFF,0X80,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X07,0XFF,0XC0,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X00,0X01,0XFF,0XE0,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7C,0X00,0X7F,0XF0,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0X00,0X0F,0XF8,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XC0,0X07,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XE0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X7F,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X3F,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X07,0XFF,0XC0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X00,0X01,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X83,0XFF,0X00,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X81,0XFE,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0XFF,0X00,0X1F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X7F,0XC0,0X7F,0XF8,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0X80,0X3F,0XF9,0XFF,0XF0,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0X1F,0XFF,0XFF,0X80,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X0B,0XFF,0XFE,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0XFF,0XF8,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X3F,0XE0,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X0F,0X80,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X02,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X3F,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X18,0XFF,0XFF,0XFE,0X7F,0XF9,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0XF8,0XFF,0XFF,0XF8,0X1F,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X3F,0XF8,0XFF,0XFF,0XE0,0X0F,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XE0,0XFF,0XFF,0XE0,0X07,0X80,0X7F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XFF,0XFF,0XF0,0X03,0XC0,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XFF,0XFF,0XF8,0X00,0XE0,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X3F,0XF0,0XC0,0X00,0X00,0X00,0X70,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X03,0XF8,0XC0,0X00,0X00,0X00,0X18,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X07,0XF8,0XC0,0X00,0X00,0X00,0X04,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0XE0,0XC0,0X00,0X00,0X00,0X06,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XC0,0X00,0X00,0X00,0X07,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XFF,0XFF,0XFF,0XFC,0X07,0XC3,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XE0,0XF8,0XFF,0XFF,0XFE,0X0F,0XE3,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1F,0XF8,0XF8,0X3F,0XFF,0X06,0X00,0X13,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0XF8,0XE0,0X03,0XFF,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X18,0XE0,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X70,0X00,0XF8,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XF9,0X80,0XFE,0X00,0X01,0X06,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XF9,0XC0,0XFF,0XC0,0X01,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFF,0X8F,0XC1,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XFC,0X00,0X01,0X06,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XFE,0X00,0X01,0X06,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFE,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X40,0XFD,0X00,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X03,0XC0,0XF8,0X80,0X01,0X06,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1F,0XC0,0XE0,0X40,0XFF,0X02,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XC0,0X40,0XFF,0X00,0X00,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XC0,0X20,0X7E,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0X00,0XE0,0X00,0X7E,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X07,0XF0,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1F,0XC0,0XF8,0X03,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X03,0XC0,0XFC,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X40,0XFE,0X00,0X00,0X01,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0X00,0X00,0X7F,0X80,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0X00,0X00,0X7F,0X83,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFC,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XF8,0X00,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X03,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XE0,0X07,0XE0,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XE0,0X1F,0XFC,0X00,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XE0,0X3F,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XF8,0X7F,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFC,0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X43,0X00,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC7,0X80,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X78,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X30,0X40,0XFF,0XFF,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X7F,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X7F,0X83,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X70,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XF9,0X80,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XF9,0XC0,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X00,0X00,0X03,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF0,0X60,0X83,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XC0,0X00,0X03,0X84,0X20,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XC0,0X00,0X03,0XFF,0XE0,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XC0,0X00,0X03,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XC0,0X00,0X03,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XFF,0XE0,0X00,0X83,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XE0,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC3,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0X18,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XF0,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XFC,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFE,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XED,0XC0,0XFF,0XFE,0X07,0X03,0XC0,0X7F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFC,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XF8,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XF0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0X80,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X0E,0X00,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X00,0X01,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XE0,0X3E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X40,0XC0,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X7E,0X07,0X83,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0XF0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XE0,0X7E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XF0,0XE0,0X3E,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X02,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XE0,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF0,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XF8,0X01,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFE,0X03,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0XC0,0XFF,0XC3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XFC,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X01,0X80,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XC0,0XC0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X80,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0X00,0XE0,0X7F,0XF8,0X1F,0XFC,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X3C,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XE0,0X00,0X00,0X00,0X3C,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XE0,0X00,0X00,0X00,0X1C,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XF0,0X00,0X00,0X00,0X1C,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFF,0XD8,0XF0,0X00,0X00,0X00,0X0C,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XF8,0X00,0X00,0X00,0X04,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1C,0X04,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X1E,0X00,0XFF,0XFF,0XF8,0X1E,0X00,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1E,0X00,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X7F,0X80,0XFF,0XFF,0XF8,0X1F,0X00,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XE1,0XC0,0XFF,0XFF,0XF8,0X1F,0X00,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0X80,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XC0,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC0,0XC0,0XFF,0XFF,0XF8,0X1F,0XC0,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X40,0XC0,0XFF,0XFF,0XF8,0X1F,0XE0,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XF0,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X43,0X00,0XFF,0XFF,0XF8,0X1F,0XF8,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XC7,0X80,0XFF,0XFF,0XF8,0X1F,0XF8,0X07,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCF,0XC0,0XFF,0XFF,0XF8,0X1F,0XFC,0X0F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XCC,0XC0,0XFF,0XFF,0XF8,0X1F,0XFE,0X1F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0XFC,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0X3F,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X78,0XC0,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X30,0X40,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XF8,0X1F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XF0,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF}; diff --git a/Arduino/epd2in9b_V4/imagedata.h b/Arduino/epd2in9b_V4/imagedata.h new file mode 100644 index 000000000..75cec9f19 --- /dev/null +++ b/Arduino/epd2in9b_V4/imagedata.h @@ -0,0 +1,28 @@ +/** + * @filename : imagedata.h + * @brief : head file for imagedata.cpp + * + * Copyright (C) Waveshare July 3 2020 + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documnetation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +extern const unsigned char IMAGE_DATA[]; + +/* FILE END */ diff --git a/Arduino/epd4in26/epd4in26.cpp b/Arduino/epd4in26/epd4in26.cpp new file mode 100644 index 000000000..e622763e5 --- /dev/null +++ b/Arduino/epd4in26/epd4in26.cpp @@ -0,0 +1,434 @@ +/** + * @filename : epd4in26.cpp + * @brief : Implements for e-paper library + * @author : Yehui from Waveshare + * + * Copyright (C) Waveshare 23-12-20 + * + * 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 "epd4in26.h" + +const unsigned char LUT_DATA_4Gray[112] = //112bytes +{ +0x80, 0x48, 0x4A, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x88, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xA8, 0x48, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x1E, 0x1C, 0x02, 0x00, +0x05, 0x01, 0x05, 0x01, 0x02, +0x08, 0x01, 0x01, 0x04, 0x04, +0x00, 0x02, 0x00, 0x02, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, +0x22, 0x22, 0x22, 0x22, 0x22, +0x17, 0x41, 0xA8, 0x32, 0x30, +0x00, 0x00, +}; + +Epd::~Epd() { +}; + +Epd::Epd() { + reset_pin = RST_PIN; + dc_pin = DC_PIN; + cs_pin = CS_PIN; + busy_pin = BUSY_PIN; + WIDTH = EPD_WIDTH; + HEIGHT = EPD_HEIGHT; +}; + +int Epd::Init(void) { + if (IfInit() != 0) { + return -1; + } + Reset(); + DelayMs(100); + + ReadBusy(); + SendCommand(0x12); //SWRESET + ReadBusy(); + + SendCommand(0x18); // use the internal temperature sensor + SendData(0x80); + + SendCommand(0x0C); //set soft start + SendData(0xAE); + SendData(0xC7); + SendData(0xC3); + SendData(0xC0); + SendData(0x80); + + SendCommand(0x01); // drive output control + SendData((HEIGHT-1)%256); // Y + SendData((HEIGHT-1)/256); // Y + SendData(0x02); + + SendCommand(0x3C); // Border Border setting + SendData(0x01); + + SendCommand(0x11); // data entry mode + SendData(0x01); // X-mode x+ y- + + SetWindows(0, HEIGHT-1, WIDTH-1, 0); + + SetCursor(0, 0); + + ReadBusy(); + + return 0; +} + +int Epd::Init_Fast(void) { + if (IfInit() != 0) { + return -1; + } + Reset(); + DelayMs(100); + + ReadBusy(); + SendCommand(0x12); //SWRESET + ReadBusy(); + + SendCommand(0x18); // use the internal temperature sensor + SendData(0x80); + + SendCommand(0x0C); //set soft start + SendData(0xAE); + SendData(0xC7); + SendData(0xC3); + SendData(0xC0); + SendData(0x80); + + SendCommand(0x01); // drive output control + SendData((HEIGHT-1)%256); // Y + SendData((HEIGHT-1)/256); // Y + SendData(0x02); + + SendCommand(0x3C); // Border Border setting + SendData(0x01); + + SendCommand(0x11); // data entry mode + SendData(0x01); // X-mode x+ y- + + SetWindows(0, HEIGHT-1, WIDTH-1, 0); + + SetCursor(0, 0); + + ReadBusy(); + + //TEMP (1.5s) + SendCommand(0x1A); + SendData(0x5A); + + SendCommand(0x22); + SendData(0x91); + SendCommand(0x20); + + ReadBusy(); + + return 0; +} + +int Epd::Init_4GRAY(void) { + if (IfInit() != 0) { + return -1; + } + Reset(); + DelayMs(100); + + ReadBusy(); + SendCommand(0x12); //SWRESET + ReadBusy(); + + SendCommand(0x18); // use the internal temperature sensor + SendData(0x80); + + SendCommand(0x0C); //set soft start + SendData(0xAE); + SendData(0xC7); + SendData(0xC3); + SendData(0xC0); + SendData(0x80); + + SendCommand(0x01); // drive output control + SendData((WIDTH-1)%256); // Y + SendData((WIDTH-1)/256); // Y + SendData(0x02); + + SendCommand(0x3C); // Border Border setting + SendData(0x01); + + SendCommand(0x11); // data entry mode + SendData(0x01); // X-mode x+ y- + + SetWindows(0, HEIGHT-1, WIDTH-1, 0); + + SetCursor(0, 0); + + ReadBusy(); + + SetLut(); + + return 0; +} + +/****************************************************************************** +function : Setting the display window +parameter: +******************************************************************************/ +void Epd::SetWindows(unsigned long Xstart, unsigned long Ystart, unsigned long Xend, unsigned long Yend) +{ + SendCommand(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + SendData(Xstart & 0xFF); + SendData((Xstart>>8) & 0x03); + SendData(Xend & 0xFF); + SendData((Xend>>8) & 0x03); + + SendCommand(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + SendData(Ystart & 0xFF); + SendData((Ystart>>8) & 0x03); + SendData(Yend & 0xFF); + SendData((Yend>>8) & 0x03); +} + +/****************************************************************************** +function : Set Cursor +parameter: +******************************************************************************/ +void Epd::SetCursor(unsigned long Xstart, unsigned long Ystart) +{ + SendCommand(0x4E); // SET_RAM_X_ADDRESS_COUNTER + SendData(Xstart & 0xFF); + SendData((Xstart>>8) & 0x03); + + SendCommand(0x4F); // SET_RAM_Y_ADDRESS_COUNTER + SendData(Ystart & 0xFF); + SendData((Ystart>>8) & 0x03); +} + +/** + * @brief: basic function for sending commands + */ +void Epd::SendCommand(unsigned char command) { + DigitalWrite(dc_pin, LOW); + SpiTransfer(command); +} + +/** + * @brief: basic function for sending data + */ +void Epd::SendData(unsigned char data) { + DigitalWrite(dc_pin, HIGH); + SpiTransfer(data); +} + +/** + * @brief: Wait until the busy_pin goes HIGH + */ +void Epd::ReadBusy(void) { + unsigned char busy; + Serial.print("e-Paper Busy\r\n "); + while(1) + { //=1 BUSY + if(DigitalRead(busy_pin)==0) + break; + DelayMs(20); + } + Serial.print("e-Paper Busy Release\r\n "); + DelayMs(20); +} + +/** + * @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(4); + DigitalWrite(reset_pin, HIGH); + DelayMs(20); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +void Epd::TurnOnDisplay(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xF7); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_Fast(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xC7); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_Part(void) +{ + SendCommand(0x22); //Display Update Control + SendData(0xFF); + SendCommand(0x20); //Activate Display Update Sequence + ReadBusy(); +} + +void Epd::TurnOnDisplay_4GRAY(void) +{ + SendCommand(0x22); + SendData(0xC7); + SendCommand(0x20); + ReadBusy(); +} + +void Epd::Display(const unsigned char* frame_buffer) { + + SendCommand(0x24); + for (unsigned long j = 0; j < HEIGHT; j++) { + for (unsigned long i = 0; i < WIDTH/8; i++) { + SendData(frame_buffer[i + j * WIDTH/8]); + } + } + + TurnOnDisplay(); +} + +void Epd::Displaypart(const unsigned char* pbuffer, unsigned long xStart, unsigned long yStart,unsigned long Picture_Width,unsigned long Picture_Height) { + SendCommand(0x24); + // xStart = xStart/8; + // xStart = xStart*8; + for (unsigned long j = 0; j < HEIGHT; j++) { + for (unsigned long i = 0; i < WIDTH/8; i++) { + if( (j>=yStart) && (j=xStart) && (i*8 +#include "epd4in26.h" +#include "imagedata.h" + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Epd epd; + Serial.print("e-Paper init \r\n "); + if (epd.Init() != 0) { + Serial.print("e-Paper init failed\r\n "); + return; + } + + Serial.print("e-Paper Clear\r\n "); + epd.Clear(); + + Serial.print("e-Paper Display\r\n "); + epd.Displaypart(IMAGE_DATA,250, 200,240,103); + + Serial.print("e-Paper Clear\r\n "); + epd.Clear(); + + epd.Sleep(); +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/Arduino/epd4in26/epdif.cpp b/Arduino/epd4in26/epdif.cpp new file mode 100644 index 000000000..b1f89c954 --- /dev/null +++ b/Arduino/epd4in26/epdif.cpp @@ -0,0 +1,68 @@ +/** + * @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); + + pinMode(PWR_PIN, OUTPUT); + DigitalWrite(PWR_PIN, 1); + + SPI.begin(); + SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0)); + return 0; +} + diff --git a/Arduino/epd4in26/epdif.h b/Arduino/epd4in26/epdif.h new file mode 100644 index 000000000..e328397ef --- /dev/null +++ b/Arduino/epd4in26/epdif.h @@ -0,0 +1,52 @@ +/** + * @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 +#define PWR_PIN 6 + +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/epd4in26/imagedata.cpp b/Arduino/epd4in26/imagedata.cpp new file mode 100644 index 000000000..c32ac0661 --- /dev/null +++ b/Arduino/epd4in26/imagedata.cpp @@ -0,0 +1,223 @@ +/** + * @filename : imagedata.cpp + * @brief : data file for epd demo + * + * Copyright (C) Waveshare August 16 2017 + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documnetation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "imagedata.h" +#include + +const unsigned char IMAGE_DATA[3096] PROGMEM = { //0X00,0X01,0XF0,0X00,0X67,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,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,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,0X01,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,0X01, +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,0X01,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,0X01,0XFF,0XC0,0X00,0X00, +0X00,0X00,0X01,0XF8,0X78,0X0F,0X00,0X0F,0XFF,0XFF,0XFF,0XC0,0X00,0X01,0XF0,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XC0,0X00,0X00,0X00,0X00, +0X01,0XF8,0X78,0X0F,0X00,0X0F,0XFF,0XFF,0XFF,0XC0,0X00,0X01,0XF0,0X00,0X00,0X1F, +0XFF,0XFF,0XF0,0X00,0X00,0X00,0X00,0X01,0XF8,0X3F,0XFF,0XFF,0XFF,0XFC,0X03,0XF0, +0X78,0X0F,0X00,0X0F,0XFF,0XFF,0XFF,0XC0,0X00,0X01,0XF0,0X00,0X00,0X3F,0XFF,0XFF, +0XF8,0X00,0X00,0X00,0X00,0X01,0XF8,0X3F,0XFF,0XFF,0XFF,0XFC,0X07,0XEF,0X7B,0XCF, +0X00,0X0F,0XFF,0XFF,0XFF,0XC0,0X00,0X01,0XF0,0X00,0X00,0X3F,0XFF,0XFF,0XFC,0X00, +0X00,0X00,0X00,0X01,0XF8,0X3F,0XFF,0XFF,0XFF,0XFC,0X0F,0XEF,0X7B,0XCF,0X00,0X00, +0X00,0X7C,0X00,0X00,0X00,0X03,0XF0,0X00,0X00,0X3F,0XFF,0XFF,0XFE,0X00,0X00,0X00, +0X00,0X01,0XF8,0X3F,0XFF,0XFF,0XFF,0XFC,0X1F,0XCF,0X7B,0XDF,0X00,0X3F,0XFF,0XFF, +0XFF,0XF0,0X1F,0XFF,0XFF,0XFF,0X00,0X3F,0XFF,0XFF,0XFC,0X00,0X00,0X00,0X00,0X01, +0XF8,0X3F,0XFF,0XFF,0XFF,0XFC,0X3F,0X8F,0X7B,0XDF,0X00,0X3F,0XFF,0XFF,0XFF,0XF0, +0X1F,0XFF,0XFF,0XFF,0X00,0X1F,0XFF,0XFF,0XF8,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF, +0XFF,0XFE,0XFF,0XFC,0X3F,0X0F,0X7B,0XDF,0XFE,0X3F,0XFF,0XFF,0XFF,0XF0,0X1F,0XFF, +0XFF,0XFF,0X00,0X00,0X00,0X1F,0XF0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFC, +0XFF,0XFC,0X1E,0XFF,0XFF,0XFF,0XFE,0X3F,0XFF,0XFF,0XFF,0XF0,0X1F,0XFF,0XFF,0XFF, +0X00,0X00,0X00,0X7F,0XC0,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XF8,0XFF,0XFC, +0X1D,0XFF,0XFF,0XFF,0XFE,0X3C,0X00,0X7C,0X01,0XF0,0X1F,0XFF,0XFF,0XFF,0X00,0X00, +0X00,0XFF,0X80,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XF0,0XFF,0XFC,0X09,0XFF, +0XFF,0XFF,0XFE,0X3D,0XFE,0X7F,0XFF,0XF0,0X1F,0X01,0XF0,0X1F,0X00,0X00,0X03,0XFF, +0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XE0,0XFF,0XFC,0X03,0XFF,0XFF,0XFE, +0XF8,0X3D,0XFE,0X7F,0XFF,0XF0,0X1F,0X01,0XF0,0X1F,0X00,0X00,0X03,0XFE,0X00,0X00, +0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XE0,0XFF,0XFC,0X03,0XF0,0X00,0X7E,0XF8,0X3D, +0XFE,0X7F,0XFF,0XF0,0X1F,0X01,0XF0,0X1F,0X00,0X00,0X03,0XF0,0X00,0X00,0X00,0X00, +0X00,0X00,0X0F,0XFF,0XFF,0XE0,0XFF,0XFC,0X07,0XE0,0X00,0XFE,0XF8,0X3C,0X00,0X7C, +0X01,0XF0,0X1F,0XFF,0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00, +0X0E,0X0F,0X0F,0XC1,0XF1,0XFC,0X0F,0XEF,0XFF,0XFE,0XF8,0X3D,0XFE,0X7F,0XFF,0XF0, +0X1F,0XFF,0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0E,0X0F, +0X07,0XC3,0XE0,0XFC,0X1F,0XEF,0XFF,0XFE,0XF8,0X3D,0XFE,0X7F,0XFE,0XF0,0X1F,0XFF, +0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0E,0X0F,0X07,0X83, +0XE0,0XFC,0X3F,0XEF,0XFF,0XFE,0XF8,0X01,0XFE,0X7F,0XFE,0X00,0X1F,0XFF,0XFF,0XFF, +0X03,0XFF,0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,0X0F,0X07,0X07,0X83,0XC0,0X7C, +0X3F,0XEF,0XFF,0XFF,0XF8,0X00,0X00,0X7C,0X00,0X00,0X1F,0X03,0XF0,0X1F,0X03,0XFF, +0XFF,0XFF,0XFF,0XC0,0X00,0X00,0X00,0X00,0X0F,0X07,0X03,0X87,0XC0,0X7C,0X3F,0XE0, +0X00,0X3F,0XF8,0X00,0X00,0X00,0X00,0X00,0X1F,0X01,0XF0,0X1F,0X03,0XFF,0XFF,0XFF, +0XFF,0XC0,0X00,0X00,0X00,0X00,0X0F,0X06,0X03,0X07,0X80,0X3C,0X3F,0XE3,0XFF,0X0F, +0XF0,0X00,0X00,0X00,0X00,0X00,0X1F,0X01,0XF0,0X1F,0X03,0XFF,0XFF,0XFF,0XFF,0XC0, +0X00,0X00,0X00,0X00,0X0F,0X00,0X01,0X0F,0X80,0X3C,0X1F,0XE3,0XFF,0X0F,0XF0,0X07, +0XFF,0XFF,0XFF,0X80,0X1F,0XFF,0XFF,0XFF,0X00,0X00,0X07,0XE0,0X00,0X00,0X00,0X00, +0X00,0X00,0X0F,0X80,0X00,0X0F,0X80,0X3C,0X19,0XE3,0XFF,0X0F,0XF0,0X07,0XFF,0XFF, +0XFF,0X80,0X1F,0XFF,0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00, +0X0F,0X80,0X60,0X0F,0X04,0X1C,0X01,0XE3,0XFF,0X0F,0XE0,0X07,0XFF,0XFF,0XFF,0X80, +0X1F,0XFF,0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X80, +0X60,0X1E,0X04,0X1C,0X01,0XE3,0XCF,0X0F,0XE0,0X03,0XFF,0XFF,0XFF,0X80,0X1F,0XFF, +0XFF,0XFF,0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XC0,0X70,0X1E, +0X0E,0X0C,0X01,0XE3,0XCF,0XF7,0XE0,0X00,0X00,0X00,0X0F,0X80,0X1F,0XFF,0XFF,0XFF, +0X00,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XC0,0XF0,0X3C,0X1F,0X04, +0X01,0XE3,0XCF,0XF7,0XC0,0X03,0XFF,0XFF,0XFF,0X80,0X1F,0X01,0XF0,0X01,0XC0,0X00, +0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XE0,0XF0,0X78,0X1F,0X0C,0X01,0XE7, +0XCF,0XFF,0XE0,0X03,0XFF,0XFF,0XFF,0X80,0X1F,0X01,0XF0,0X03,0XF0,0X00,0X03,0XE0, +0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XE0,0XF0,0X78,0X3E,0X0C,0X01,0XE7,0XCF,0XFF, +0XF0,0X03,0XFF,0XFF,0XFF,0X80,0X1F,0X01,0XF0,0X03,0XF0,0X00,0X03,0XE0,0X00,0X00, +0X00,0X00,0X00,0X00,0X0F,0XE0,0XF8,0X78,0X3E,0X1C,0X01,0XE7,0XCF,0XFF,0XF0,0X01, +0XFF,0XFF,0XFF,0X80,0X00,0X01,0XF0,0X03,0XF0,0X00,0X03,0XE0,0X00,0X00,0X00,0X00, +0X00,0X00,0X0F,0XF1,0XF8,0X78,0X3C,0X1C,0X01,0XEF,0X8F,0XBF,0XF8,0X00,0X00,0X00, +0X0F,0X80,0X00,0X01,0XF0,0X03,0XE0,0X00,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00, +0X0F,0XFF,0XFF,0XFF,0XFC,0X3C,0X01,0XEF,0X8F,0XFF,0XFC,0X07,0XFF,0XFF,0XFF,0X80, +0X00,0X01,0XFF,0XFF,0XE0,0X03,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF, +0XFF,0XFF,0XF0,0X3C,0X01,0XFF,0X8F,0XFE,0XFF,0X07,0XFF,0XFF,0XFF,0X80,0X00,0X01, +0XFF,0XFF,0XE0,0X01,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF, +0XF0,0X7C,0X01,0XFF,0X01,0XFC,0X7E,0X07,0XFF,0XFF,0XFF,0X80,0X00,0X01,0XFF,0XFF, +0XC0,0X01,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XF0,0X7C, +0X01,0XE7,0X00,0XF8,0X3C,0X07,0XFF,0XFF,0XFF,0X80,0X00,0X00,0XFF,0XFF,0XC0,0X01, +0XFF,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XF0,0X7C,0X01,0XE6, +0X00,0XF0,0X18,0X00,0X00,0X00,0X0F,0X80,0X00,0X00,0X7F,0XFF,0X80,0X01,0XFF,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XF0,0XFC,0X01,0XE0,0X00,0X60, +0X00,0X00,0X00,0X00,0X0F,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0XF0,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XF1,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,0X0F,0XFF,0XFF,0XFF,0XF3,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00, +0X0F,0XFF,0XFF,0XFF,0XF7,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00,0X0F,0XFF, +0XFF,0XFF,0XFF,0X83,0XFF,0XFF,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF, +0XFF,0X83,0XCE,0X71,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0X03,0X3F,0XFF,0XFF, +0XFF,0XFF,0XFE,0X3F,0XFF,0XFE,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0X83, +0XC6,0X33,0XFF,0XFF,0XFF,0XF8,0XFF,0XFF,0XFF,0XFF,0X3F,0X3F,0XFF,0XF3,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00,0X0F,0XFF,0XFF,0XFF,0XFF,0XFF,0XC6,0X23, +0X8E,0X79,0X8F,0X80,0X1F,0X1E,0X1E,0X3F,0X3F,0X3C,0X7C,0X20,0X83,0X8E,0X4F,0X3C, +0X30,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XC4,0X23,0X07,0X33, +0X07,0X08,0X0E,0X0C,0X18,0X1F,0X3F,0X30,0X38,0X20,0X82,0X06,0X06,0X30,0X30,0XFE, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XE4,0X03,0X33,0X32,0X32,0X78, +0XC6,0X44,0X39,0X9F,0X07,0X31,0XB1,0XF3,0X8E,0X66,0X22,0X31,0XE7,0XFE,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XE0,0X07,0XC3,0X02,0X03,0X18,0XC7,0X84, +0X70,0X1F,0X3F,0X30,0X13,0XF3,0X9C,0X62,0X62,0X33,0XE1,0XFE,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0XFF,0XE1,0X87,0X03,0X06,0X03,0X88,0XC6,0X04,0X70,0X1F, +0X3F,0X30,0X13,0XF3,0X9C,0X62,0X62,0X33,0XF0,0XFE,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0XFF,0XE1,0X86,0X33,0X06,0X7F,0XC0,0XC4,0X44,0X71,0XFF,0X3F,0X33, +0XF3,0XF3,0X9C,0X62,0X62,0X33,0XFC,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0XFF,0XE1,0X8E,0X23,0X8F,0X3F,0XC8,0XC4,0X44,0X78,0XFF,0X3F,0X31,0XF9,0XF1, +0X9E,0X06,0X62,0X31,0XFC,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF, +0XF1,0X8F,0X03,0X8F,0X86,0X18,0XC6,0X04,0X7C,0X1F,0X03,0X3C,0X3C,0X30,0X9F,0X0E, +0X62,0X3C,0X61,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF, +0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFE,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, +0X00,0X00,}; diff --git a/Arduino/epd4in26/imagedata.h b/Arduino/epd4in26/imagedata.h new file mode 100644 index 000000000..123e6448f --- /dev/null +++ b/Arduino/epd4in26/imagedata.h @@ -0,0 +1,30 @@ +/** + * @filename : imagedata.h + * @brief : head file for imagedata.cpp + * + * Copyright (C) Waveshare July 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. + */ + +extern const unsigned char IMAGE_DATA[]; + +/* FILE END */ + + diff --git a/RaspberryPi_JetsonNano/c/Makefile b/RaspberryPi_JetsonNano/c/Makefile index 01929f940..eb105d5aa 100644 --- a/RaspberryPi_JetsonNano/c/Makefile +++ b/RaspberryPi_JetsonNano/c/Makefile @@ -54,6 +54,9 @@ else ifeq ($(EPD), epd2in66) else ifeq ($(EPD), epd2in66b) OBJ_C_EPD = ${DIR_EPD}/EPD_2in66b.c OBJ_C_Examples = ${DIR_Examples}/EPD_2in66b_test.c +else ifeq ($(EPD), epd2in66g) + OBJ_C_EPD = ${DIR_EPD}/EPD_2in66g.c + OBJ_C_Examples = ${DIR_Examples}/EPD_2in66g_test.c else ifeq ($(EPD), epd2in7) OBJ_C_EPD = ${DIR_EPD}/EPD_2in7.c OBJ_C_Examples = ${DIR_Examples}/EPD_2in7_test.c @@ -78,6 +81,9 @@ else ifeq ($(EPD), epd2in9bc) else ifeq ($(EPD), epd2in9bV3) OBJ_C_EPD = ${DIR_EPD}/EPD_2in9b_V3.c OBJ_C_Examples = ${DIR_Examples}/EPD_2in9b_V3_test.c +else ifeq ($(EPD), epd2in9bV4) + OBJ_C_EPD = ${DIR_EPD}/EPD_2in9b_V4.c + OBJ_C_Examples = ${DIR_Examples}/EPD_2in9b_V4_test.c else ifeq ($(EPD), epd2in9d) OBJ_C_EPD = ${DIR_EPD}/EPD_2in9d.c OBJ_C_Examples = ${DIR_Examples}/EPD_2in9d_test.c @@ -129,6 +135,9 @@ else ifeq ($(EPD), epd4in2bc) else ifeq ($(EPD), epd4in2bV2) OBJ_C_EPD = ${DIR_EPD}/EPD_4in2b_V2.c OBJ_C_Examples = ${DIR_Examples}/EPD_4in2b_V2_test.c +else ifeq ($(EPD), epd4in26) + OBJ_C_EPD = ${DIR_EPD}/EPD_4in26.c + OBJ_C_Examples = ${DIR_Examples}/EPD_4in26_test.c else ifeq ($(EPD), epd4in37b) OBJ_C_EPD = ${DIR_EPD}/EPD_4in37b.c OBJ_C_Examples = ${DIR_Examples}/EPD_4in37b_test.c @@ -159,6 +168,9 @@ else ifeq ($(EPD), epd7in5) else ifeq ($(EPD), epd7in5V2) OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_V2.c OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_V2_test.c +else ifeq ($(EPD), epd7in5V2_old) + OBJ_C_EPD = ${DIR_EPD}/EPD_7in5_V2_old.c + OBJ_C_Examples = ${DIR_Examples}/EPD_7in5_V2_test_old.c else ifeq ($(EPD), epd7in5bc) OBJ_C_EPD = ${DIR_EPD}/EPD_7in5bc.c OBJ_C_Examples = ${DIR_Examples}/EPD_7in5bc_test.c @@ -192,13 +204,16 @@ DEBUG = -D DEBUG # USELIB_RPI = USE_BCM2835_LIB # USELIB_RPI = USE_WIRINGPI_LIB -USELIB_RPI = USE_DEV_LIB +USELIB_RPI = USE_LGPIO_LIB +# USELIB_RPI = USE_DEV_LIB LIB_RPI=-Wl,--gc-sections ifeq ($(USELIB_RPI), USE_BCM2835_LIB) LIB_RPI += -lbcm2835 -lm else ifeq ($(USELIB_RPI), USE_WIRINGPI_LIB) LIB_RPI += -lwiringPi -lm +else ifeq ($(USELIB_RPI), USE_LGPIO_LIB) + LIB_RPI += -llgpio -lm else ifeq ($(USELIB_RPI), USE_DEV_LIB) LIB_RPI += -lgpiod -lm endif diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_2in66g_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_2in66g_test.c new file mode 100644 index 000000000..fe14ca807 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/examples/EPD_2in66g_test.c @@ -0,0 +1,142 @@ +/***************************************************************************** +* | File : EPD_2in66g_test.c +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_2in66g.h" +#include "time.h" + +int EPD_2in66g_test(void) +{ + printf("EPD_2IN66g_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_2IN66g_Init(); + + struct timespec start={0,0}, finish={0,0}; + clock_gettime(CLOCK_REALTIME, &start); + EPD_2IN66g_Clear(EPD_2IN66g_WHITE); // White + clock_gettime(CLOCK_REALTIME, &finish); + printf("%ld S\r\n", finish.tv_sec-start.tv_sec); + DEV_Delay_ms(2000); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UWORD Imagesize = ((EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1)) * EPD_2IN66g_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_2IN66g_WIDTH, EPD_2IN66g_HEIGHT, 0, WHITE); + Paint_SetScale(4); + +#if 1 // show bmp + printf("show window BMP-----------------\r\n"); + Paint_SelectImage(BlackImage); + GUI_ReadBmp_RGB_4Color("./pic/2in66g.bmp", 0, 0); + EPD_2IN66g_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(EPD_2IN66g_WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, EPD_2IN66g_WHITE, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, EPD_2IN66g_RED, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, EPD_2IN66g_RED, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, EPD_2IN66g_RED, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "Red, yellow, white and black", &Font16, EPD_2IN66g_BLACK, EPD_2IN66g_WHITE); + Paint_DrawString_EN(10, 35, "Four color e-Paper", &Font12, EPD_2IN66g_WHITE, EPD_2IN66g_RED); + Paint_DrawString_CN(10, 125, "΢ѩ����", &Font24CN, EPD_2IN66g_BLACK, EPD_2IN66g_YELLOW); + Paint_DrawNum(10, 50, 123456, &Font12, EPD_2IN66g_BLACK, EPD_2IN66g_YELLOW); + + printf("EPD_Display\r\n"); + EPD_2IN66g_Display(BlackImage); + DEV_Delay_ms(3000); +#endif + +#if 1 // Drawing on the image + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(EPD_2IN66g_WHITE); + + int hNumber, hWidth, vNumber, vWidth; + hNumber = 16; + hWidth = EPD_2IN66g_HEIGHT/hNumber; // 368/16=23 + vNumber = 16; + vWidth = EPD_2IN66g_WIDTH/vNumber; // 512/16=32 + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + for(int i=0; i + +int EPD_2in9b_V4_test(void) +{ + printf("EPD_2IN9B_V4_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_2IN9B_V4_Init(); + + struct timespec start={0,0}, finish={0,0}; + clock_gettime(CLOCK_REALTIME,&start); + EPD_2IN9B_V4_Clear(); + clock_gettime(CLOCK_REALTIME,&finish); + printf("%ld S\r\n",finish.tv_sec-start.tv_sec); + + DEV_Delay_ms(500); + + + //Create a new image cache named IMAGE_BW and fill it with white + UBYTE *BlackImage, *RYImage; // Red or Yellow + UWORD Imagesize = ((EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1)) * EPD_2IN9B_V4_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + if((RYImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for red memory...\r\n"); + return -1; + } + printf("NewImage:BlackImage and RYImage\r\n"); + Paint_NewImage(BlackImage, EPD_2IN9B_V4_WIDTH, EPD_2IN9B_V4_HEIGHT, 270, WHITE); + Paint_NewImage(RYImage, EPD_2IN9B_V4_WIDTH, EPD_2IN9B_V4_HEIGHT, 270, WHITE); + + //Select Image + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_SelectImage(RYImage); + Paint_Clear(WHITE); + +#if 1 // show bmp + printf("show window BMP-----------------\r\n"); + Paint_SelectImage(BlackImage); + GUI_ReadBmp("./pic/100x100.bmp", 50, 10); + Paint_SelectImage(RYImage); + Paint_Clear(WHITE); + EPD_2IN9B_V4_Display(BlackImage, RYImage); + DEV_Delay_ms(2000); + + printf("show red bmp------------------------\r\n"); + Paint_SelectImage(BlackImage); + GUI_ReadBmp("./pic/2in9bc-b.bmp", 0, 0); + Paint_SelectImage(RYImage); + GUI_ReadBmp("./pic/2in9bc-ry.bmp", 0, 0); + EPD_2IN9B_V4_Display(BlackImage, RYImage); + // DEV_Delay_ms(2000); + +#endif + +#if 1 // show image for array + EPD_2IN9B_V4_Init_Fast(); + printf("show image for array\r\n"); + EPD_2IN9B_V4_Display_Fast(gImage_2in9bc_b, gImage_2in9bc_ry); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + /*Horizontal screen*/ + //1.Draw black image + EPD_2IN9B_V4_Init(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawPoint(10, 110, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + + //2.Draw red image + Paint_SelectImage(RYImage); + Paint_Clear(WHITE); + // Paint_DrawCircle(160, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + // Paint_DrawCircle(210, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_CN(130, 0,"���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + + printf("EPD_Display\r\n"); + EPD_2IN9B_V4_Display_Base(BlackImage, RYImage); + // EPD_2IN9B_V4_Display(BlackImage, RYImage); + DEV_Delay_ms(2000); +#endif + +#if 1 //Partial refresh, example shows time + // If you didn't use the EPD_2IN9B_V4_Display_Base() function to refresh the image before, + // use the EPD_2IN9B_V4_Display_Base_color() function to refresh the background color, + // otherwise the background color will be garbled + // EPD_2IN9B_V4_Init(); + // EPD_2IN9B_V4_Display_Base(BlackImage, RYImage); + // EPD_2IN9B_V4_Display_Base_color(WHITE); + Paint_NewImage(BlackImage, 50, 120, 270, WHITE); + + printf("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_SetScale(2); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 15; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + + Paint_Clear(WHITE); + Paint_DrawRectangle(1, 1, 120, 50, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawTime(10, 15, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + printf("Part refresh...\r\n"); + EPD_2IN9B_V4_Display_Partial(BlackImage, 70, 35, 120, 155); // Xstart must be a multiple of 8 + DEV_Delay_ms(500); + } +#endif + + printf("Clear...\r\n"); + EPD_2IN9B_V4_Init(); + EPD_2IN9B_V4_Clear(); + + printf("Goto Sleep...\r\n"); + EPD_2IN9B_V4_Sleep(); + free(BlackImage); + free(RYImage); + BlackImage = NULL; + RYImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_4in26_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_4in26_test.c new file mode 100644 index 000000000..1d23af461 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/examples/EPD_4in26_test.c @@ -0,0 +1,215 @@ +/***************************************************************************** +* | File : EPD_4in26_test.c +* | Author : Waveshare team +* | Function : 4.26inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-19 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_4in26.h" +#include + +int EPD_4in26_test(void) +{ + printf("EPD_4in26_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_4in26_Init(); + struct timespec start={0,0}, finish={0,0}; + clock_gettime(CLOCK_REALTIME,&start); + EPD_4in26_Clear(); + clock_gettime(CLOCK_REALTIME,&finish); + Debug("%ld S\r\n",finish.tv_sec-start.tv_sec); + DEV_Delay_ms(500); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UDOUBLE Imagesize = ((EPD_4in26_WIDTH % 8 == 0)? (EPD_4in26_WIDTH / 8 ): (EPD_4in26_WIDTH / 8 + 1)) * EPD_4in26_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT, 0, WHITE); + +#if 1 // show bmp + printf("show window BMP-----------------\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + GUI_ReadBmp("./pic/100x100.bmp", 10, 10); + EPD_4in26_Display(BlackImage); + DEV_Delay_ms(2000); + + // EPD_4in26_Init_Fast(); + // printf("show bmp------------------------\r\n"); + // Paint_SelectImage(BlackImage); + // GUI_ReadBmp("./pic/800x480.bmp", 0, 0); + // EPD_4in26_Display_Fast(BlackImage); + // DEV_Delay_ms(2000); +#endif + +#if 1 // show image for array + EPD_4in26_Init_Fast(); + printf("show image for array\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawBitMap(gImage_7in5_V2); + EPD_4in26_Display_Fast(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + + EPD_4in26_Init(); + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 1, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + Paint_DrawString_CN(130, 1, "���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + + printf("EPD_Display\r\n"); + // EPD_4in26_Display(BlackImage); + EPD_4in26_Display_Base(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 + printf("Partial refresh\r\n"); + Paint_NewImage(BlackImage, 200, 50, 0, WHITE); + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_Clear(WHITE); + Paint_DrawTime(20, 10, &sPaint_time, &Font20, WHITE, BLACK); + EPD_4in26_Display_Part(BlackImage, 80, 200, 200, 50); + DEV_Delay_ms(500);//Analog clock 1s + num = num - 1; + if(num == 0) { + break; + } + } +#endif + +#if 1 // show image for array + free(BlackImage); + printf("show Gray------------------------\r\n"); + Imagesize = ((EPD_4in26_WIDTH % 4 == 0)? (EPD_4in26_WIDTH / 4 ): (EPD_4in26_WIDTH / 4 + 1)) * EPD_4in26_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + EPD_4in26_Init_4GRAY(); + printf("4 grayscale display\r\n"); + Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT, 90, WHITE); + Paint_SetScale(4); + Paint_Clear(0xff); + + Paint_DrawPoint(10, 80, GRAY4, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, GRAY4, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, GRAY4, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, GRAY2, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, GRAY4, GRAY1); + Paint_DrawString_EN(10, 20, "hello world", &Font12, GRAY3, GRAY1); + Paint_DrawNum(10, 33, 123456789, &Font12, GRAY4, GRAY2); + Paint_DrawNum(10, 50, 987654321, &Font16, GRAY1, GRAY4); + Paint_DrawString_CN(150, 0,"���abc", &Font12CN, GRAY4, GRAY1); + Paint_DrawString_CN(150, 20,"���abc", &Font12CN, GRAY3, GRAY2); + Paint_DrawString_CN(150, 40,"���abc", &Font12CN, GRAY2, GRAY3); + Paint_DrawString_CN(150, 60,"���abc", &Font12CN, GRAY1, GRAY4); + Paint_DrawString_CN(10, 130, "΢ѩ����", &Font24CN, GRAY1, GRAY4); + EPD_4in26_4GrayDisplay(BlackImage); + DEV_Delay_ms(3000); + + Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT, 0, WHITE); + Paint_SetScale(4); + Paint_Clear(WHITE); + GUI_ReadBmp_4Gray("./pic/4in26_Scale.bmp", 0, 0); + EPD_4in26_4GrayDisplay(BlackImage); + DEV_Delay_ms(3000); + +#endif + + EPD_4in26_Init(); + EPD_4in26_Clear(); + printf("Goto Sleep...\r\n"); + EPD_4in26_Sleep(); + free(BlackImage); + BlackImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test.c index 248fa2b2b..a0e50a58e 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test.c @@ -4,8 +4,8 @@ * | Function : 7.5inch e-paper test demo * | Info : *---------------- -* | This version: V1.0 -* | Date : 2019-06-13 +* | This version: V3.0 +* | Date : 2023-12-18 * | Info : # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -76,6 +76,7 @@ int EPD_7in5_V2_test(void) #endif #if 1 // show image for array + EPD_7IN5_V2_Init_Fast(); printf("show image for array\r\n"); Paint_SelectImage(BlackImage); Paint_Clear(WHITE); @@ -86,6 +87,7 @@ int EPD_7in5_V2_test(void) #if 1 // Drawing on the image //1.Select Image + // EPD_7IN5_V2_Init(); printf("SelectImage:BlackImage\r\n"); Paint_SelectImage(BlackImage); Paint_Clear(WHITE); @@ -115,13 +117,53 @@ int EPD_7in5_V2_test(void) DEV_Delay_ms(2000); #endif +#if 1 //Partial refresh, example shows time + EPD_7IN5_V2_Init_Part(); + Paint_NewImage(BlackImage, Font20.Width * 7, Font20.Height, 0, WHITE); + Debug("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_ClearWindows(0, 0, Font20.Width * 7, Font20.Height, WHITE); + Paint_DrawTime(0, 0, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + EPD_7IN5_V2_Display_Part(BlackImage, 150, 80, 150 + Font20.Width * 7, 80 + Font20.Height); + DEV_Delay_ms(500);//Analog clock 1s + } +#endif + printf("Clear...\r\n"); + EPD_7IN5_V2_Init(); EPD_7IN5_V2_Clear(); printf("Goto Sleep...\r\n"); EPD_7IN5_V2_Sleep(); - free(BlackImage); - BlackImage = NULL; + // free(BlackImage); + // BlackImage = NULL; DEV_Delay_ms(2000);//important, at least 2s // close 5V printf("close 5V, Module enters 0 power consumption ...\r\n"); diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test_old.c b/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test_old.c new file mode 100644 index 000000000..45f3a7f23 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/examples/EPD_7in5_V2_test_old.c @@ -0,0 +1,175 @@ +/***************************************************************************** +* | File : EPD_7in5_V2_test.c +* | Author : Waveshare team +* | Function : 7.5inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_7in5_V2_old.h" +#include + +int EPD_7in5_V2_test_old(void) +{ + printf("EPD_7IN5_V2_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_7IN5_V2_Init(); + + struct timespec start={0,0}, finish={0,0}; + clock_gettime(CLOCK_REALTIME,&start); + EPD_7IN5_V2_Clear(); + clock_gettime(CLOCK_REALTIME,&finish); + printf("%ld S\r\n",finish.tv_sec-start.tv_sec); + DEV_Delay_ms(500); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UWORD Imagesize = ((EPD_7IN5_V2_WIDTH % 8 == 0)? (EPD_7IN5_V2_WIDTH / 8 ): (EPD_7IN5_V2_WIDTH / 8 + 1)) * EPD_7IN5_V2_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_7IN5_V2_WIDTH, EPD_7IN5_V2_HEIGHT, 0, WHITE); + +#if 1 // show bmp + printf("show window BMP-----------------\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + GUI_ReadBmp("./pic/800x480.bmp", 0, 0); + EPD_7IN5_V2_Display(BlackImage); + DEV_Delay_ms(2000); + + printf("show bmp------------------------\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + GUI_ReadBmp("./pic/100x100.bmp", 0, 0); + EPD_7IN5_V2_Display(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 0 // show image for array + printf("show image for array\r\n"); + EPD_7IN5_V2_Init_Fast(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawBitMap(gImage_7in5_V2); + EPD_7IN5_V2_Display_Fast(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + EPD_7IN5_V2_Init_Fast(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + Paint_DrawString_CN(130, 0, "���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + + printf("EPD_Display\r\n"); + EPD_7IN5_V2_Display(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 //Partial refresh, example shows time + EPD_7IN5_V2_Init_Partial(); + Paint_NewImage(BlackImage, Font20.Width * 7, Font20.Height, 0, WHITE); + Debug("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_ClearWindows(0, 0, Font20.Width * 7, Font20.Height, WHITE); + Paint_DrawTime(0, 0, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + EPD_7IN5_V2_Display_Partial(BlackImage, 150, 80, 150 + Font20.Width * 7, 80 + Font20.Height); + DEV_Delay_ms(500);//Analog clock 1s + + } +#endif + + printf("Clear...\r\n"); + EPD_7IN5_V2_Init(); + EPD_7IN5_V2_Clear(); + + printf("Goto Sleep...\r\n"); + EPD_7IN5_V2_Sleep(); + free(BlackImage); + BlackImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_Test.h b/RaspberryPi_JetsonNano/c/examples/EPD_Test.h index 1a56516c3..af2d96153 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_Test.h +++ b/RaspberryPi_JetsonNano/c/examples/EPD_Test.h @@ -57,6 +57,8 @@ int EPD_1in54c_test(void); int EPD_2in66_test(void); int EPD_2in66b_test(void); +int EPD_2in66g_test(void); + int EPD_2in7_test(void); int EPD_2in7_V2_test(void); int EPD_2in7b_test(void); @@ -66,6 +68,7 @@ int EPD_2in9_test(void); int EPD_2in9_V2_test(void); int EPD_2in9bc_test(void); int EPD_2in9b_V3_test(void); +int EPD_2in9b_V4_test(void); int EPD_2in9d_test(void); int EPD_2in13_test(void); @@ -89,6 +92,8 @@ int EPD_4in2_V2_test(void); int EPD_4in2bc_test(void); int EPD_4in2b_V2_test(void); +int EPD_4in26_test(void); + int EPD_4in37b_test(void); int EPD_5in65f_test(void); @@ -105,6 +110,7 @@ int EPD_7in3f_test(void); int EPD_7in5_test(void); int EPD_7in5_HD_test(void); int EPD_7in5_V2_test(void); +int EPD_7in5_V2_test_old(void); int EPD_7in5bc_test(void); int EPD_7in5b_V2_test(void); int EPD_7in5b_HD_test(void); diff --git a/RaspberryPi_JetsonNano/c/examples/main.c b/RaspberryPi_JetsonNano/c/examples/main.c index 83729bb7a..54c55be1a 100644 --- a/RaspberryPi_JetsonNano/c/examples/main.c +++ b/RaspberryPi_JetsonNano/c/examples/main.c @@ -64,6 +64,9 @@ int main(void) #elif epd2in66b EPD_2in66b_test(); +#elif epd2in66g + EPD_2in66g_test(); + #elif epd2in7 EPD_2in7_test(); @@ -87,6 +90,9 @@ int main(void) #elif epd2in9bV3 EPD_2in9b_V3_test(); + +#elif epd2in9bV4 + EPD_2in9b_V4_test(); #elif epd2in9d EPD_2in9d_test(); @@ -138,6 +144,9 @@ int main(void) #elif epd4in2bV2 EPD_4in2b_V2_test(); + +#elif epd4in26 + EPD_4in26_test(); #elif epd4in37b EPD_4in37b_test(); @@ -168,6 +177,8 @@ int main(void) #elif epd7in5V2 EPD_7in5_V2_test(); +#elif epd7in5V2_old + EPD_7in5_V2_test_old(); #elif epd7in5bc EPD_7in5bc_test(); diff --git a/RaspberryPi_JetsonNano/c/lib/Config/DEV_Config.c b/RaspberryPi_JetsonNano/c/lib/Config/DEV_Config.c index a7a449ce2..d1c5cfa52 100644 --- a/RaspberryPi_JetsonNano/c/lib/Config/DEV_Config.c +++ b/RaspberryPi_JetsonNano/c/lib/Config/DEV_Config.c @@ -29,6 +29,12 @@ ******************************************************************************/ #include "DEV_Config.h" #include "RPI_gpiod.h" + +#if USE_LGPIO_LIB +int GPIO_Handle; +int SPI_Handle; +#endif + /** * GPIO **/ @@ -48,6 +54,8 @@ void DEV_Digital_Write(UWORD Pin, UBYTE Value) bcm2835_gpio_write(Pin, Value); #elif USE_WIRINGPI_LIB digitalWrite(Pin, Value); +#elif USE_LGPIO_LIB + lgGpioWrite(GPIO_Handle, Pin, Value); #elif USE_DEV_LIB GPIOD_Write(Pin, Value); #endif @@ -70,6 +78,8 @@ UBYTE DEV_Digital_Read(UWORD Pin) Read_value = bcm2835_gpio_lev(Pin); #elif USE_WIRINGPI_LIB Read_value = digitalRead(Pin); +#elif USE_LGPIO_LIB + Read_value = lgGpioRead(GPIO_Handle,Pin); #elif USE_DEV_LIB Read_value = GPIOD_Read(Pin); #endif @@ -95,6 +105,8 @@ void DEV_SPI_WriteByte(uint8_t Value) bcm2835_spi_transfer(Value); #elif USE_WIRINGPI_LIB wiringPiSPIDataRW(0,&Value,1); +#elif USE_LGPIO_LIB + lgSpiWrite(SPI_Handle,(char*)&Value, 1); #elif USE_DEV_LIB DEV_HARDWARE_SPI_TransferByte(Value); #endif @@ -117,6 +129,8 @@ void DEV_SPI_Write_nByte(uint8_t *pData, uint32_t Len) bcm2835_spi_transfernb((char *)pData,rData,Len); #elif USE_WIRINGPI_LIB wiringPiSPIDataRW(0, pData, Len); +#elif USE_LGPIO_LIB + lgSpiWrite(SPI_Handle,(char*)pData, Len); #elif USE_DEV_LIB DEV_HARDWARE_SPI_Transfer(pData, Len); #endif @@ -125,7 +139,10 @@ void DEV_SPI_Write_nByte(uint8_t *pData, uint32_t Len) #ifdef JETSON #ifdef USE_DEV_LIB //JETSON nano waits for hardware SPI - Debug("not support"); + // Debug("not support"); + uint32_t i; + for(i = 0; i #include + #elif USE_LGPIO_LIB + #include + #define LFLAGS 0 + #define NUM_MAXBUF 4 #elif USE_DEV_LIB #include "RPI_gpiod.h" #include "dev_hardware_SPI.h" diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.c new file mode 100644 index 000000000..642b01b9a --- /dev/null +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.c @@ -0,0 +1,219 @@ +/***************************************************************************** +* | File : EPD_2in66g.c +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_2in66g.h" +#include "Debug.h" + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_2IN66g_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_2IN66g_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_2IN66g_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +static void EPD_2IN66g_ReadBusyH(void) +{ + Debug("e-Paper busy H\r\n"); + while(!DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy + DEV_Delay_ms(5); + } + Debug("e-Paper busy H release\r\n"); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_2IN66g_TurnOnDisplay(void) +{ + EPD_2IN66g_SendCommand(0x12); // DISPLAY_REFRESH + EPD_2IN66g_SendData(0x01); + EPD_2IN66g_ReadBusyH(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_2IN66g_Init(void) +{ + EPD_2IN66g_Reset(); + EPD_2IN66g_ReadBusyH(); + + EPD_2IN66g_SendCommand(0x4D); + EPD_2IN66g_SendData(0x78); + + EPD_2IN66g_SendCommand(0x00); //PSR + EPD_2IN66g_SendData(0x0F); + EPD_2IN66g_SendData(0x29); + + EPD_2IN66g_SendCommand(0x01); //PWRR + EPD_2IN66g_SendData(0x07); + EPD_2IN66g_SendData(0x00); + + EPD_2IN66g_SendCommand(0x03); //POFS + EPD_2IN66g_SendData(0x10); + EPD_2IN66g_SendData(0x54); + EPD_2IN66g_SendData(0x44); + + EPD_2IN66g_SendCommand(0x06); //BTST_P + EPD_2IN66g_SendData(0x05); + EPD_2IN66g_SendData(0x00); + EPD_2IN66g_SendData(0x3F); + EPD_2IN66g_SendData(0x0A); + EPD_2IN66g_SendData(0x25); + EPD_2IN66g_SendData(0x12); + EPD_2IN66g_SendData(0x1A); + + EPD_2IN66g_SendCommand(0x50); //CDI + EPD_2IN66g_SendData(0x37); + + EPD_2IN66g_SendCommand(0x60); //TCON + EPD_2IN66g_SendData(0x02); + EPD_2IN66g_SendData(0x02); + + EPD_2IN66g_SendCommand(0x61); //TRES + EPD_2IN66g_SendData(EPD_2IN66g_WIDTH/256); // Source_BITS_H + EPD_2IN66g_SendData(EPD_2IN66g_WIDTH%256); // Source_BITS_L + EPD_2IN66g_SendData(EPD_2IN66g_HEIGHT/256); // Gate_BITS_H + EPD_2IN66g_SendData(EPD_2IN66g_HEIGHT%256); // Gate_BITS_L + + EPD_2IN66g_SendCommand(0xE7); + EPD_2IN66g_SendData(0x1C); + + EPD_2IN66g_SendCommand(0xE3); + EPD_2IN66g_SendData(0x22); + + EPD_2IN66g_SendCommand(0xB4); + EPD_2IN66g_SendData(0xD0); + EPD_2IN66g_SendCommand(0xB5); + EPD_2IN66g_SendData(0x03); + + EPD_2IN66g_SendCommand(0xE9); + EPD_2IN66g_SendData(0x01); + + EPD_2IN66g_SendCommand(0x30); + EPD_2IN66g_SendData(0x08); + + EPD_2IN66g_SendCommand(0x04); + EPD_2IN66g_ReadBusyH(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_2IN66g_Clear(UBYTE color) +{ + UWORD Width, Height; + Width = (EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1); + Height = EPD_2IN66g_HEIGHT; + + EPD_2IN66g_SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN66g_SendData((color << 6) | (color << 4) | (color << 2) | color); + } + } + + EPD_2IN66g_TurnOnDisplay(); +} + +/****************************************************************************** +function : Sends the image buffer in RAM to e-Paper and displays +parameter: +******************************************************************************/ +void EPD_2IN66g_Display(UBYTE *Image) +{ + UWORD Width, Height; + Width = (EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1); + Height = EPD_2IN66g_HEIGHT; + + EPD_2IN66g_SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN66g_SendData(Image[i + j * Width]); + } + } + + EPD_2IN66g_TurnOnDisplay(); +} + +/****************************************************************************** +function : Enter sleep mode +parameter: +******************************************************************************/ +void EPD_2IN66g_Sleep(void) +{ + EPD_2IN66g_SendCommand(0x02); // POWER_OFF + EPD_2IN66g_SendData(0X00); + EPD_2IN66g_ReadBusyH(); + + EPD_2IN66g_SendCommand(0x07); // DEEP_SLEEP + EPD_2IN66g_SendData(0XA5); +} + diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.h b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.h new file mode 100644 index 000000000..5a8217bd3 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in66g.h @@ -0,0 +1,51 @@ +/***************************************************************************** +* | File : EPD_2in66g.h +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#ifndef __EPD_2IN66g_H_ +#define __EPD_2IN66g_H_ + +#include "DEV_Config.h" + +// Display resolution +#define EPD_2IN66g_WIDTH 184 +#define EPD_2IN66g_HEIGHT 360 + +// Color +#define EPD_2IN66g_BLACK 0x0 +#define EPD_2IN66g_WHITE 0x1 +#define EPD_2IN66g_YELLOW 0x2 +#define EPD_2IN66g_RED 0x3 + +void EPD_2IN66g_Init(void); +void EPD_2IN66g_Clear(UBYTE color); +void EPD_2IN66g_Display(UBYTE *Image); +void EPD_2IN66g_Sleep(void); + +#endif diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c index 44f31baf5..ae48fdc99 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c @@ -4,8 +4,8 @@ * | Function : 2.9inch e-paper V2 * | Info : *---------------- -* | This version: V1.1 -* | Date : 2023-08-30 +* | This version: V1.2 +* | Date : 2023-12-21 * | Info : * ----------------------------------------------------------------------------- # @@ -79,14 +79,37 @@ UBYTE WS_20_30[159] = unsigned char Gray4[159] = { -0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 //2.28s -0x20, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 -0x28, 0x60, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 -0x2A, 0x60, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 -0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 -0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group0 -0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x01, //TP, SR, RP of Group1 -0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group2 + 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 //2.28s + 0x20, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 + 0x28, 0x60, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 + 0x2A, 0x60, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 + 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 + 0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group0 + 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x01, //TP, SR, RP of Group1 + 0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, //TP, SR, RP of Group2 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group3 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group4 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group5 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group6 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group8 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group9 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group10 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 + 0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON + 0x22, 0x17, 0x41, 0xAE, 0x32, 0x28, //EOPT VGH VSH1 VSH2 VSL VCOM +}; + +unsigned char WF_FULL[159] = +{ +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 1.00S +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 +0x19, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group0 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group1 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group2 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group3 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group4 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group5 @@ -96,9 +119,9 @@ unsigned char Gray4[159] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group9 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 -0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON -0x22, 0x17, 0x41, 0xAE, 0x32, 0x28, //EOPT VGH VSH1 VSH2 VSL VCOM -}; +0x24, 0x42, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON +0x22, 0x17, 0x41, 0xAE, 0x32, 0x38, //EOPT VGH VSH1 VSH2 VSL VCOM +}; /****************************************************************************** function : Software reset @@ -189,7 +212,7 @@ function : Turn On Display static void EPD_2IN9_V2_TurnOnDisplay(void) { EPD_2IN9_V2_SendCommand(0x22); //Display Update Control - EPD_2IN9_V2_SendData(0xc7); + EPD_2IN9_V2_SendData(0xC7); EPD_2IN9_V2_SendCommand(0x20); //Activate Display Update Sequence EPD_2IN9_V2_ReadBusy(); } @@ -266,6 +289,38 @@ void EPD_2IN9_V2_Init(void) EPD_2IN9_V2_LUT_by_host(WS_20_30); } +void EPD_2IN9_V2_Init_Fast(void) +{ + EPD_2IN9_V2_Reset(); + DEV_Delay_ms(100); + + EPD_2IN9_V2_ReadBusy(); + EPD_2IN9_V2_SendCommand(0x12); // soft reset + EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_SendCommand(0x01); //Driver output control + EPD_2IN9_V2_SendData(0x27); + EPD_2IN9_V2_SendData(0x01); + EPD_2IN9_V2_SendData(0x00); + + EPD_2IN9_V2_SendCommand(0x11); //data entry mode + EPD_2IN9_V2_SendData(0x03); + + EPD_2IN9_V2_SetWindows(0, 0, EPD_2IN9_V2_WIDTH-1, EPD_2IN9_V2_HEIGHT-1); + + EPD_2IN9_V2_SendCommand(0x3C); + EPD_2IN9_V2_SendData(0x05); + + EPD_2IN9_V2_SendCommand(0x21); // Display update control + EPD_2IN9_V2_SendData(0x00); + EPD_2IN9_V2_SendData(0x80); + + EPD_2IN9_V2_SetCursor(0, 0); + EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_LUT_by_host(WF_FULL); +} + void EPD_2IN9_V2_Gray4_Init(void) { EPD_2IN9_V2_Reset(); @@ -274,6 +329,11 @@ void EPD_2IN9_V2_Gray4_Init(void) EPD_2IN9_V2_ReadBusy(); EPD_2IN9_V2_SendCommand(0x12); // soft reset EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_SendCommand(0x74); //set analog block control + EPD_2IN9_V2_SendData(0x54); + EPD_2IN9_V2_SendCommand(0x7E); //set digital block control + EPD_2IN9_V2_SendData(0x3B); EPD_2IN9_V2_SendCommand(0x01); //Driver output control EPD_2IN9_V2_SendData(0x27); @@ -283,12 +343,16 @@ void EPD_2IN9_V2_Gray4_Init(void) EPD_2IN9_V2_SendCommand(0x11); //data entry mode EPD_2IN9_V2_SendData(0x03); - EPD_2IN9_V2_SetWindows(8, 0, EPD_2IN9_V2_WIDTH, EPD_2IN9_V2_HEIGHT-1); + EPD_2IN9_V2_SetWindows(0, 0, EPD_2IN9_V2_WIDTH-1, EPD_2IN9_V2_HEIGHT-1); EPD_2IN9_V2_SendCommand(0x3C); - EPD_2IN9_V2_SendData(0x04); + EPD_2IN9_V2_SendData(0x00); - EPD_2IN9_V2_SetCursor(1, 0); + EPD_2IN9_V2_SendCommand(0x21); // Display update control + EPD_2IN9_V2_SendData(0x00); + EPD_2IN9_V2_SendData(0x80); + + EPD_2IN9_V2_SetCursor(0, 0); EPD_2IN9_V2_ReadBusy(); EPD_2IN9_V2_LUT_by_host(Gray4); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.h b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.h index 7074a8f96..f62de4ec7 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.h +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.h @@ -4,8 +4,8 @@ * | Function : 2.9inch e-paper V2 * | Info : *---------------- -* | This version: V1.1 -* | Date : 2023-08-30 +* | This version: V1.2 +* | Date : 2023-12-21 * | Info : * ----------------------------------------------------------------------------- # @@ -38,9 +38,11 @@ #define EPD_2IN9_V2_HEIGHT 296 void EPD_2IN9_V2_Init(void); +void EPD_2IN9_V2_Init_Fast(void); void EPD_2IN9_V2_Gray4_Init(void); void EPD_2IN9_V2_Clear(void); void EPD_2IN9_V2_Display(UBYTE *Image); +void EPD_2IN9_V2_Display_Fast(UBYTE *Image); void EPD_2IN9_V2_Display_Base(UBYTE *Image); void EPD_2IN9_V2_4GrayDisplay(UBYTE *Image); void EPD_2IN9_V2_Display_Partial(UBYTE *Image); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.c new file mode 100644 index 000000000..9ecc59064 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.c @@ -0,0 +1,465 @@ +/***************************************************************************** +* | File : EPD_2in9b_V4.c +* | Author : Waveshare team +* | Function : 2.9inch e-paper b V4 +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_2in9b_V4.h" +#include "Debug.h" +#include + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_2IN9B_V4_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(200); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(200); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_2IN9B_V4_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_2IN9B_V4_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_ReadBusy(void) +{ + Debug("e-Paper busy\r\n"); + while(1) + { //=1 BUSY + if(DEV_Digital_Read(EPD_BUSY_PIN)==0) + break; + DEV_Delay_ms(50); + } + Debug("e-Paper busy release\r\n"); + DEV_Delay_ms(200); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_2IN9B_V4_TurnOnDisplay(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xF7); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Base(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xF4); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Partial(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0x1C); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Fast(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xC7); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Init(void) +{ + EPD_2IN9B_V4_Reset(); + + EPD_2IN9B_V4_ReadBusy(); + EPD_2IN9B_V4_SendCommand(0x12); //SWRESET + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x01); //Driver output control + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x11); //data entry mode + EPD_2IN9B_V4_SendData(0x03); + + EPD_2IN9B_V4_SendCommand(0x44); //set Ram-X address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(EPD_2IN9B_V4_WIDTH/8-1); + + EPD_2IN9B_V4_SendCommand(0x45); //set Ram-Y address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + + EPD_2IN9B_V4_SendCommand(0x3C); //BorderWavefrom + EPD_2IN9B_V4_SendData(0x05); + + EPD_2IN9B_V4_SendCommand(0x21); // Display update control + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x18); //Read built-in temperature sensor + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X199; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_ReadBusy(); +} + +void EPD_2IN9B_V4_Init_Fast(void) +{ + EPD_2IN9B_V4_Reset(); + + EPD_2IN9B_V4_ReadBusy(); + EPD_2IN9B_V4_SendCommand(0x12); //SWRESET + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x18); //Read built-in temperature sensor + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x22); // Load temperature value + EPD_2IN9B_V4_SendData(0xB1); + EPD_2IN9B_V4_SendCommand(0x20); + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x1A); // Write to temperature register + EPD_2IN9B_V4_SendData(0x5a); // 90 + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x22); // Load temperature value + EPD_2IN9B_V4_SendData(0x91); + EPD_2IN9B_V4_SendCommand(0x20); + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x01); //Driver output control + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x11); //data entry mode + EPD_2IN9B_V4_SendData(0x03); + + EPD_2IN9B_V4_SendCommand(0x44); //set Ram-X address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(EPD_2IN9B_V4_WIDTH/8-1); + + EPD_2IN9B_V4_SendCommand(0x45); //set Ram-Y address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X199; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_ReadBusy(); + +} + + + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Clear(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay(); +} + +void EPD_2IN9B_V4_Clear_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Clear_Black_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Clear_Red_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +/****************************************************************************** +function : Sends the image buffer in RAM to e-Paper and displays +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Display(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay(); +} + +void EPD_2IN9B_V4_Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Display_Base(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Base(); + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } +} + +//Partial refresh display +void EPD_2IN9B_V4_Display_Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + if((Xstart % 8 + Xend % 8 == 8 && Xstart % 8 > Xend % 8) || Xstart % 8 + Xend % 8 == 0 || (Xend - Xstart)%8 == 0) + { + Xstart = Xstart / 8 ; + Xend = Xend / 8; + } + else + { + Xstart = Xstart / 8 ; + Xend = Xend % 8 == 0 ? Xend / 8 : Xend / 8 + 1; + } + + + UWORD i, Width; + Width = Xend - Xstart; + UWORD IMAGE_COUNTER = Width * (Yend-Ystart); + + Xend -= 1; + Yend -= 1; + + EPD_2IN9B_V4_SendCommand(0x44); // set RAM x address start/end, in page 35 + EPD_2IN9B_V4_SendData(Xstart & 0xff); // RAM x address start at 00h; + EPD_2IN9B_V4_SendData(Xend & 0xff); // RAM x address end at 0fh(15+1)*8->128 + EPD_2IN9B_V4_SendCommand(0x45); // set RAM y address start/end, in page 35 + EPD_2IN9B_V4_SendData(Ystart & 0xff); // RAM y address start at 0127h; + EPD_2IN9B_V4_SendData((Ystart>>8) & 0x01); // RAM y address start at 0127h; + EPD_2IN9B_V4_SendData(Yend & 0xff); // RAM y address end at 00h; + EPD_2IN9B_V4_SendData((Yend>>8) & 0x01); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(Xstart & 0xff); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X127; + EPD_2IN9B_V4_SendData(Ystart & 0xff); + EPD_2IN9B_V4_SendData((Ystart>>8) & 0x01); + + + EPD_2IN9B_V4_SendCommand(0x24); //Write Black and White image to RAM + for (i = 0; i < IMAGE_COUNTER; i++) { + EPD_2IN9B_V4_SendData(Image[i]); + } + EPD_2IN9B_V4_TurnOnDisplay_Partial(); + +} + +/****************************************************************************** +function : Enter sleep mode +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Sleep(void) +{ + EPD_2IN9B_V4_SendCommand(0x10); //enter deep sleep + EPD_2IN9B_V4_SendData(0x01); + DEV_Delay_ms(100); +} diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.h b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.h new file mode 100644 index 000000000..70eb30518 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9b_V4.h @@ -0,0 +1,52 @@ +/***************************************************************************** +* | File : EPD_2in9b V4.h +* | Author : Waveshare team +* | Function : 2.9inch e-paper b V4 +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#ifndef __EPD_2IN9B_V4_H_ +#define __EPD_2IN9B_V4_H_ + +#include "DEV_Config.h" + +// Display resolution +#define EPD_2IN9B_V4_WIDTH 128 +#define EPD_2IN9B_V4_HEIGHT 296 + +void EPD_2IN9B_V4_Init(void); +void EPD_2IN9B_V4_Init_Fast(void); +void EPD_2IN9B_V4_Clear_Fast(void); +void EPD_2IN9B_V4_Clear_Black_Fast(void); +void EPD_2IN9B_V4_Clear_Red_Fast(void); +void EPD_2IN9B_V4_Clear(void); +void EPD_2IN9B_V4_Display(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Base(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend); +void EPD_2IN9B_V4_Sleep(void); + +#endif diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in26.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in26.c new file mode 100644 index 000000000..0415ee577 --- /dev/null +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in26.c @@ -0,0 +1,541 @@ +/***************************************************************************** +* | File : EPD_4in26.c +* | Author : Waveshare team +* | Function : 4.26inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-19 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_4in26.h" +#include "Debug.h" + +const unsigned char LUT_DATA_4Gray[112] = //112bytes +{ +0x80, 0x48, 0x4A, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x88, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xA8, 0x48, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x1E, 0x1C, 0x02, 0x00, +0x05, 0x01, 0x05, 0x01, 0x02, +0x08, 0x01, 0x01, 0x04, 0x04, +0x00, 0x02, 0x00, 0x02, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, +0x22, 0x22, 0x22, 0x22, 0x22, +0x17, 0x41, 0xA8, 0x32, 0x30, +0x00, 0x00, +}; + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_4in26_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(100); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(100); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_4in26_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_4in26_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +static void EPD_4in26_SendData2(UBYTE *pData, UDOUBLE len) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_Write_nByte(pData, len); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +void EPD_4in26_ReadBusy(void) +{ + Debug("e-Paper busy\r\n"); + while(1) + { //=1 BUSY + if(DEV_Digital_Read(EPD_BUSY_PIN)==0) + break; + DEV_Delay_ms(20); + } + DEV_Delay_ms(20); + Debug("e-Paper busy release\r\n"); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_4in26_TurnOnDisplay(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xF7); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_Fast(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xC7); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_Part(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xFF); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_4GRAY(void) +{ + EPD_4in26_SendCommand(0x22); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendCommand(0x20); + EPD_4in26_ReadBusy(); +} + +/****************************************************************************** +function : set the look-up tables +parameter: +******************************************************************************/ +static void EPD_4in26_Lut(void) +{ + unsigned int count; + EPD_4in26_SendCommand(0x32); //vcom + for(count = 0; count < 105 ; count++) { + EPD_4in26_SendData(LUT_DATA_4Gray[count]); + } + + EPD_4in26_SendCommand(0x03); //VGH + EPD_4in26_SendData(LUT_DATA_4Gray[105]); + + EPD_4in26_SendCommand(0x04); // + EPD_4in26_SendData(LUT_DATA_4Gray[106]); //VSH1 + EPD_4in26_SendData(LUT_DATA_4Gray[107]); //VSH2 + EPD_4in26_SendData(LUT_DATA_4Gray[108]); //VSL + + EPD_4in26_SendCommand(0x2C); //VCOM Voltage + EPD_4in26_SendData(LUT_DATA_4Gray[109]); //0x1C +} + +/****************************************************************************** +function : Setting the display window +parameter: +******************************************************************************/ +static void EPD_4in26_SetWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + EPD_4in26_SendCommand(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + EPD_4in26_SendData(Xstart & 0xFF); + EPD_4in26_SendData((Xstart>>8) & 0x03); + EPD_4in26_SendData(Xend & 0xFF); + EPD_4in26_SendData((Xend>>8) & 0x03); + + EPD_4in26_SendCommand(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + EPD_4in26_SendData(Ystart & 0xFF); + EPD_4in26_SendData((Ystart>>8) & 0x03); + EPD_4in26_SendData(Yend & 0xFF); + EPD_4in26_SendData((Yend>>8) & 0x03); +} + +/****************************************************************************** +function : Set Cursor +parameter: +******************************************************************************/ +static void EPD_4in26_SetCursor(UWORD Xstart, UWORD Ystart) +{ + EPD_4in26_SendCommand(0x4E); // SET_RAM_X_ADDRESS_COUNTER + EPD_4in26_SendData(Xstart & 0xFF); + EPD_4in26_SendData((Xstart>>8) & 0x03); + + EPD_4in26_SendCommand(0x4F); // SET_RAM_Y_ADDRESS_COUNTER + EPD_4in26_SendData(Ystart & 0xFF); + EPD_4in26_SendData((Ystart>>8) & 0x03); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_4in26_Init(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); +} + +void EPD_4in26_Init_Fast(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); + + //TEMP (1.5s) + EPD_4in26_SendCommand(0x1A); + EPD_4in26_SendData(0x5A); + + EPD_4in26_SendCommand(0x22); + EPD_4in26_SendData(0x91); + EPD_4in26_SendCommand(0x20); + + EPD_4in26_ReadBusy(); +} + +void EPD_4in26_Init_4GRAY(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_WIDTH-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_WIDTH-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); + + EPD_4in26_Lut(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_4in26_Clear(void) +{ + UWORD i; + UWORD height = EPD_4in26_HEIGHT; + UWORD width = EPD_4in26_WIDTH/8; + UBYTE image[EPD_4in26_WIDTH / 8] = {0x00}; + for(i=0; i + +UBYTE Voltage_Frame_7IN5_V2[]={ + 0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17, +}; + +UBYTE LUT_VCOM_7IN5_V2[]={ + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_WW_7IN5_V2[]={ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_BW_7IN5_V2[]={ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_WB_7IN5_V2[]={ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_BB_7IN5_V2[]={ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +const unsigned char +Lut_all_fresh[]={0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, +//VCOM +0x00, 0x32, 0x32, 0x00, 0x00, 0x01, +0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x00, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WW +0x60, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x80, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BW +0x60, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x80, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WB +0x90, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x40, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BB +0x90, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x40, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//Reserved +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, +}; + + + +const unsigned char +Lut_partial[]={0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, +//VCOM +0x00, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WW +0x20, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BW +0x80, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WB +0x40, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BB +0x00, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//Reserved +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, +}; + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +static void EPD_SendData2(UBYTE *pData, UDOUBLE len) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_Write_nByte(pData, len); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +static void EPD_WaitUntilIdle(void) +{ + Debug("e-Paper busy\r\n"); + do{ + DEV_Delay_ms(5); + }while(!(DEV_Digital_Read(EPD_BUSY_PIN))); + DEV_Delay_ms(5); + Debug("e-Paper busy release\r\n"); +} + +static void EPD_7IN5_V2_LUT(UBYTE* lut_vcom, UBYTE* lut_ww, UBYTE* lut_bw, UBYTE* lut_wb, UBYTE* lut_bb) +{ + UBYTE count; + + EPD_SendCommand(0x20); //VCOM + for(count=0; count<42; count++) + EPD_SendData(lut_vcom[count]); + + EPD_SendCommand(0x21); //LUTBW + for(count=0; count<42; count++) + EPD_SendData(lut_ww[count]); + + EPD_SendCommand(0x22); //LUTBW + for(count=0; count<42; count++) + EPD_SendData(lut_bw[count]); + + EPD_SendCommand(0x23); //LUTWB + for(count=0; count<42; count++) + EPD_SendData(lut_wb[count]); + + EPD_SendCommand(0x24); //LUTBB + for(count=0; count<42; count++) + EPD_SendData(lut_bb[count]); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_7IN5_V2_TurnOnDisplay(void) +{ + EPD_SendCommand(0x12); //DISPLAY REFRESH + DEV_Delay_ms(100); //!!!The delay here is necessary, 200uS at least!!! + EPD_WaitUntilIdle(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +UBYTE EPD_7IN5_V2_Init(void) +{ + EPD_Reset(); + + // EPD_SendCommand(0x01); //POWER SETTING + // EPD_SendData(0x07); + // EPD_SendData(0x07); //VGH=20V,VGL=-20V + // EPD_SendData(0x3f); //VDH=15V + // EPD_SendData(0x3f); //VDL=-15V + + EPD_SendCommand(0x01); // power setting + EPD_SendData(0x17); // 1-0=11: internal power + EPD_SendData(*(Voltage_Frame_7IN5_V2+6)); // VGH&VGL + EPD_SendData(*(Voltage_Frame_7IN5_V2+1)); // VSH + EPD_SendData(*(Voltage_Frame_7IN5_V2+2)); // VSL + EPD_SendData(*(Voltage_Frame_7IN5_V2+3)); // VSHR + + EPD_SendCommand(0x82); // VCOM DC Setting + EPD_SendData(*(Voltage_Frame_7IN5_V2+4)); // VCOM + + EPD_SendCommand(0x06); // Booster Setting + EPD_SendData(0x27); + EPD_SendData(0x27); + EPD_SendData(0x2F); + EPD_SendData(0x17); + + EPD_SendCommand(0x30); // OSC Setting + EPD_SendData(*(Voltage_Frame_7IN5_V2+0)); // 2-0=100: N=4 ; 5-3=111: M=7 ; 3C=50Hz 3A=100HZ + + EPD_SendCommand(0x04); //POWER ON + DEV_Delay_ms(100); + EPD_WaitUntilIdle(); + + EPD_SendCommand(0X00); //PANNEL SETTING + EPD_SendData(0x3F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + + EPD_SendCommand(0x61); //tres + EPD_SendData(0x03); //source 800 + EPD_SendData(0x20); + EPD_SendData(0x01); //gate 480 + EPD_SendData(0xE0); + + EPD_SendCommand(0X15); + EPD_SendData(0x00); + + EPD_SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING + EPD_SendData(0x10); + EPD_SendData(0x00); + + EPD_SendCommand(0X60); //TCON SETTING + EPD_SendData(0x22); + + EPD_SendCommand(0x65); // Resolution setting + EPD_SendData(0x00); + EPD_SendData(0x00);//800*480 + EPD_SendData(0x00); + EPD_SendData(0x00); + + EPD_7IN5_V2_LUT(LUT_VCOM_7IN5_V2, LUT_WW_7IN5_V2, LUT_BW_7IN5_V2, LUT_WB_7IN5_V2, LUT_BB_7IN5_V2); + + return 0; +} + +void Epaper_LUT_By_MCU( UBYTE* wavedata) +{ + UBYTE count; + UBYTE VCEND,BDEND,EVS,XON,PLL; + + VCEND=wavedata[0]&0x08; + BDEND=(wavedata[1]&0xC0)>>6; + EVS=VCEND|BDEND; + PLL=(wavedata[0]&0xF0)>>4; + XON=wavedata[2]&0xC0; + + EPD_SendCommand(0x52); //EVS + EPD_SendData(EVS); + + EPD_SendCommand(0x30); //PLL setting + EPD_SendData(PLL); + + EPD_SendCommand(0x01); //Set VGH VGL VSH VSL VSHR + EPD_SendData (0x17); + EPD_SendData ((*wavedata++)&0x07); //VGH/VGL Voltage Level selection + EPD_SendData ((*wavedata++)&0x3F); //VSH for black + EPD_SendData ((*wavedata++)&0x3F); //VSL for white + EPD_SendData ((*wavedata++)&0x3F); //VSHR for red + + EPD_SendCommand(0x2A); //LUTOPT + EPD_SendData(XON); + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x82); //VCOM_DC setting + EPD_SendData (*wavedata++); //Vcom value + + + EPD_SendCommand(0x20); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x21); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x22); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x23); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x24); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + +} + +UBYTE EPD_7IN5_V2_Init2(void) +{ + EPD_Reset(); + + EPD_SendCommand(0x00); // Panel setting + EPD_SendData(0x3F); + + EPD_SendCommand(0x06); // Booster Setting + EPD_SendData(0x17); + EPD_SendData(0x17); + EPD_SendData(0x28); + EPD_SendData(0x18); + + EPD_SendCommand(0x50); // VCOM and DATA interval setting + EPD_SendData(0x22); + EPD_SendData(0x07); + + EPD_SendCommand(0x60); // TCON setting + EPD_SendData(0x22); // S-G G-S + + EPD_SendCommand(0x61); // Resolution setting + EPD_SendData(0x03);//800*480 + EPD_SendData(0x20); + EPD_SendData(0x01); + EPD_SendData(0xE0); + + EPD_SendCommand(0x65); // Resolution setting + EPD_SendData(0x00); + EPD_SendData(0x00); + EPD_SendData(0x00); + EPD_SendData(0x00); + + EPD_SendCommand(0x04); //POWER ON + DEV_Delay_ms(100); + EPD_WaitUntilIdle(); + + return 0; +} + +UBYTE EPD_7IN5_V2_Init_Fast(void) +{ + EPD_7IN5_V2_Init2(); + Epaper_LUT_By_MCU((UBYTE*)Lut_all_fresh); + return 0; +} + +UBYTE EPD_7IN5_V2_Init_Partial(void) +{ + EPD_7IN5_V2_Init2(); + Epaper_LUT_By_MCU((UBYTE*)Lut_partial); + return 0; +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_7IN5_V2_Clear(void) +{ + UWORD Width, Height; + Width =(EPD_7IN5_V2_WIDTH % 8 == 0)?(EPD_7IN5_V2_WIDTH / 8 ):(EPD_7IN5_V2_WIDTH / 8 + 1); + Height = EPD_7IN5_V2_HEIGHT; + UBYTE image[EPD_7IN5_V2_WIDTH / 8] = {0x00}; + + UWORD i; + EPD_SendCommand(0x10); + for(i=0; i 24 由于本工程是一个综合工程,对于使用而言,你可能需要阅读以下内容: 你可以在main.c中看到许多测试函数和宏定义设置,在编译时指定屏幕对应的宏定义可以直接编译对应的测试程序。 请注意你购买的是哪一款的墨水屏。具体的对应关系可以查阅我们的Wiki和list.txt文件。 -栗子1: +例子1: 如果你购买的3.7inch e-paper (V1),那么你应该在编译时加上 EPD=epd3in7 sudo make clean sudo make EPD=epd3in7 -栗子2: +例子2: 如果你购买的2.9inch e-paper (B) (V1),由于2.9寸的B型和C型是公用的驱动代码,那么你应该在编译时加上 EPD=epd2in9bc sudo make clean sudo make EPD=epd2in9bc -栗子3: +例子3: 如果你购买的是7.5inch e-Paper (V2),那么你应该在编译时加上 EPD=epd7in5V2 sudo make clean sudo make EPD=epd7in5V2 diff --git a/RaspberryPi_JetsonNano/python/examples/epd_13in3k_test.py b/RaspberryPi_JetsonNano/python/examples/epd_13in3k_test.py index dedcb8f65..635302447 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_13in3k_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_13in3k_test.py @@ -86,5 +86,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5_V2.epdconfig.module_exit() + epd13in3k.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in02_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in02_test.py index 87d3f16c5..b5e730ea7 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in02_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in02_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54.epdconfig.module_exit() + epd1in02.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py index 3ba558910..af37d5cbd 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py @@ -92,5 +92,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54_V2.epdconfig.module_exit() + epd1in54_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54_test.py index 76efcf7ef..bb0c8fe61 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54_test.py @@ -89,5 +89,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54.epdconfig.module_exit() + epd1in54.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54b_V2_test.py index b76278d6f..cc62e413b 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54b_V2_test.py @@ -76,5 +76,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54b_V2.epdconfig.module_exit() + epd1in54b_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54b_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54b_test.py index 95492531b..fade08345 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54b_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54b_test.py @@ -77,5 +77,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54b.epdconfig.module_exit() + epd1in54b.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54c_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54c_test.py index 4559c9cc3..ffa4c3718 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54c_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54c_test.py @@ -74,5 +74,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in54c.epdconfig.module_exit() + epd1in54c.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in64g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in64g_test.py index 4b925b9cb..7b8887e5c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in64g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in64g_test.py @@ -66,5 +66,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd1in64g.epdconfig.module_exit() + epd1in64g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V2_test.py index 224761a22..7dbd02c94 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V2_test.py @@ -91,5 +91,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13_V2.epdconfig.module_exit() + epd2in13_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V3_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V3_test.py index b9c9a96f7..8d9bd1f4c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V3_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V3_test.py @@ -89,5 +89,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13_V3.epdconfig.module_exit() + epd2in13_V3.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V4_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V4_test.py index 1be0ea875..c517a3d0a 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13_V4_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13_V4_test.py @@ -129,5 +129,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13_V4.epdconfig.module_exit() + epd2in13_V4.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13_test.py index f72cf6de2..f8aa82907 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13_test.py @@ -89,5 +89,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13.epdconfig.module_exit() + epd2in13.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V3_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V3_test.py index 08af405a6..ffaf42768 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V3_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V3_test.py @@ -92,5 +92,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13b_V3.epdconfig.module_exit() + epd2in13b_V3.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V4_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V4_test.py index 809e1b28a..fdf14b2d0 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V4_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13b_V4_test.py @@ -92,5 +92,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13b_V4.epdconfig.module_exit() + epd2in13b_V4.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13bc_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13bc_test.py index d1b74de7e..d65447af3 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13bc_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13bc_test.py @@ -93,5 +93,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13bc.epdconfig.module_exit() + epd2in13bc.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13d_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13d_test.py index 62c3ca483..85be816f7 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13d_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13d_test.py @@ -86,5 +86,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13d.epdconfig.module_exit() + epd2in13d.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in13g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in13g_test.py index c87cfd516..28fbe1887 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in13g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in13g_test.py @@ -64,5 +64,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in13g.epdconfig.module_exit() + epd2in13g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in36g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in36g_test.py index ba25138ea..4275003ad 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in36g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in36g_test.py @@ -69,5 +69,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in36g.epdconfig.module_exit() + epd2in36g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in66_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in66_test.py index 982cb64ec..f9a48cae8 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in66_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in66_test.py @@ -101,5 +101,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in66.epdconfig.module_exit() + epd2in66.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in66b_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in66b_test.py index 88cc2a8fe..f1cf3b83b 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in66b_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in66b_test.py @@ -93,5 +93,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in66b.epdconfig.module_exit() + epd2in66b.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in66g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in66g_test.py new file mode 100644 index 000000000..bb124811c --- /dev/null +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in66g_test.py @@ -0,0 +1,69 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- +import sys +import os +picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic') +libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') +if os.path.exists(libdir): + sys.path.append(libdir) + +import logging +from waveshare_epd import epd2in66g +import time +from PIL import Image,ImageDraw,ImageFont +import traceback + +logging.basicConfig(level=logging.DEBUG) + +try: + logging.info("epd2in9g Demo") + + epd = epd2in66g.EPD() + logging.info("init and Clear") + epd.init() + epd.Clear() + font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) + font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) + font40 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 40) + + # Drawing on the image + logging.info("1.Drawing on the image...") + Himage = Image.new('RGB', (epd.width, epd.height), epd.WHITE) + draw = ImageDraw.Draw(Himage) + draw.text((5, 0), 'hello world', font = font18, fill = epd.RED) + draw.text((5, 20), '2.66inch G', font = font18, fill = epd.YELLOW) + draw.text((5, 50), u'微雪电子', font = font40, fill = epd.BLACK) + draw.text((5, 100), u'微雪电子', font = font40, fill = epd.YELLOW) + draw.text((5, 150), u'微雪电子', font = font40, fill = epd.RED) + + draw.rectangle((5, 200, 75, 270), outline = epd.BLACK) + draw.line((5, 200, 75, 270), fill = epd.RED) + draw.line((75, 200, 5, 270), fill = epd.YELLOW) + draw.rectangle((90, 200, 160, 270), fill = epd.BLACK) + + draw.arc((5, 300, 45, 340), 0, 360, fill = epd.BLACK) + draw.chord((45, 300, 85, 340), 0, 360, fill = epd.BLACK) + draw.chord((85, 300, 125, 340), 0, 360, fill = epd.YELLOW) + draw.chord((125, 300, 165, 340), 0, 360, fill = epd.RED) + epd.display(epd.getbuffer(Himage)) + time.sleep(3) + + # read bmp file + logging.info("2.read bmp file") + Himage = Image.open(os.path.join(picdir, '2in66g.bmp')) + epd.display(epd.getbuffer(Himage)) + time.sleep(3) + + logging.info("Clear...") + epd.Clear() + + logging.info("Goto Sleep...") + epd.sleep() + +except IOError as e: + logging.info(e) + +except KeyboardInterrupt: + logging.info("ctrl + c:") + epd2in66g.epdconfig.module_exit(cleanup=True) + exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in7_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in7_V2_test.py index 1ce5ff75a..629cf1bb0 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in7_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in7_V2_test.py @@ -155,5 +155,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in7.epdconfig.module_exit() + epd2in7_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in7_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in7_test.py index 637466953..138e24b48 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in7_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in7_test.py @@ -109,5 +109,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in7.epdconfig.module_exit() + epd2in7.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in7b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in7b_V2_test.py index f99a3de45..4d8a9a12e 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in7b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in7b_V2_test.py @@ -99,5 +99,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in7b_V2.epdconfig.module_exit() + epd2in7b_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in7b_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in7b_test.py index b8ad50182..35cf2724c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in7b_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in7b_test.py @@ -99,5 +99,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in7b.epdconfig.module_exit() + epd2in7b.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py index b8b4a7e26..24f694157 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py @@ -69,7 +69,8 @@ epd.display(epd.getbuffer(Himage)) time.sleep(2) - logging.info("4.read bmp file on window") + logging.info("4.read bmp file on window,Quick brush demo") + epd.init_Fast() Himage2 = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame bmp = Image.open(os.path.join(picdir, '100x100.bmp')) Himage2.paste(bmp, (50,10)) @@ -132,5 +133,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in9_V2.epdconfig.module_exit() + epd2in9_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9_test.py index 6ac61150c..48ed1ce9a 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9_test.py @@ -104,5 +104,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in9.epdconfig.module_exit() + epd2in9.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V3_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V3_test.py index b7b653682..eb2e27d08 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V3_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V3_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in9b_V3.epdconfig.module_exit() + epd2in9b_V3.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V4_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V4_test.py new file mode 100644 index 000000000..bb5d0f6a5 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9b_V4_test.py @@ -0,0 +1,118 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- +import sys +import os +picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic') +libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') +if os.path.exists(libdir): + sys.path.append(libdir) + +import logging +from waveshare_epd import epd2in9b_V4 +import time +from PIL import Image,ImageDraw,ImageFont +import traceback + +logging.basicConfig(level=logging.DEBUG) + +try: + logging.info("epd2in9b V4 Demo") + + epd = epd2in9b_V4.EPD() + logging.info("init and Clear") + epd.init() + epd.Clear() + time.sleep(1) + + # Drawing on the image + logging.info("Drawing") + font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) + font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) + + logging.info("read bmp file") + HBlackimage = Image.open(os.path.join(picdir, '2in9bc-b.bmp')) + HRYimage = Image.open(os.path.join(picdir, '2in9bc-ry.bmp')) + epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage)) + time.sleep(2) + + # Drawing on the Horizontal image + logging.info("Drawing on the Horizontal image...") + epd.init_Fast() + HBlackimage = Image.new('1', (epd.height, epd.width), 255) # 298*126 + HRYimage = Image.new('1', (epd.height, epd.width), 255) # 298*126 ryimage: red or yellow image + drawblack = ImageDraw.Draw(HBlackimage) + drawry = ImageDraw.Draw(HRYimage) + drawblack.text((10, 0), 'hello world', font = font24, fill = 0) + drawblack.text((10, 20), '2.9inch e-Paper b V4', font = font24, fill = 0) + drawblack.text((150, 0), u'微雪电子', font = font24, fill = 0) + drawblack.line((20, 50, 70, 100), fill = 0) + drawblack.line((70, 50, 20, 100), fill = 0) + drawblack.rectangle((20, 50, 70, 100), outline = 0) + drawry.line((165, 50, 165, 100), fill = 0) + drawry.line((140, 75, 190, 75), fill = 0) + drawry.arc((140, 50, 190, 100), 0, 360, fill = 0) + drawry.rectangle((80, 50, 130, 100), fill = 0) + drawry.chord((200, 50, 250, 100), 0, 360, fill = 0) + epd.display_Fast(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage)) + time.sleep(2) + + ''' + # If you didn't use the display_Base() function to refresh the image before, + # use the display_Base_color() function to refresh the background color, + # otherwise the background color will be garbled + # epd.init() + # epd.display_Base(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage)) + # epd.display_Base_color(0xFF) + ''' + # partial update + logging.info("5.show time") + epd.init() + epd.display_Base_color(0xFF) + HBlackimage = Image.new('1', (epd.height, epd.width), 255) + drawblack = ImageDraw.Draw(HBlackimage) + num = 0 + while (True): + drawblack.rectangle((10, 10, 120, 50), fill = 255) + drawblack.text((10, 10), time.strftime('%H:%M:%S'), font = font24, fill = 0) + newimage = HBlackimage.crop([10, 10, 120, 50]) + HBlackimage.paste(newimage, (10,10)) + epd.display_Partial(epd.getbuffer(HBlackimage),10, epd.height - 120, 50, epd.height - 10) + num = num + 1 + if(num == 10): + break + + # # Drawing on the Vertical image + # logging.info("Drawing on the Vertical image...") + # LBlackimage = Image.new('1', (epd.width, epd.height), 255) # 126*298 + # LRYimage = Image.new('1', (epd.width, epd.height), 255) # 126*298 + # drawblack = ImageDraw.Draw(LBlackimage) + # drawry = ImageDraw.Draw(LRYimage) + + # drawblack.text((2, 0), 'hello world', font = font18, fill = 0) + # drawblack.text((2, 20), '2.9inch epd b V4', font = font18, fill = 0) + # drawblack.text((20, 50), u'微雪电子', font = font18, fill = 0) + # drawblack.line((10, 90, 60, 140), fill = 0) + # drawblack.line((60, 90, 10, 140), fill = 0) + # drawblack.rectangle((10, 90, 60, 140), outline = 0) + # drawry.line((95, 90, 95, 140), fill = 0) + # drawry.line((70, 115, 120, 115), fill = 0) + # drawry.arc((70, 90, 120, 140), 0, 360, fill = 0) + # drawry.rectangle((10, 150, 60, 200), fill = 0) + # drawry.chord((70, 150, 120, 200), 0, 360, fill = 0) + # epd.display(epd.getbuffer(LBlackimage), epd.getbuffer(LRYimage)) + # time.sleep(2) + + logging.info("Clear...") + epd.init() + epd.Clear() + + logging.info("Goto Sleep...") + epd.sleep() + +except IOError as e: + logging.info(e) + +except KeyboardInterrupt: + logging.info("ctrl + c:") + epd2in9b_V4.epdconfig.module_exit(cleanup=True) + exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9bc_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9bc_test.py index 1060bbf92..4558f536f 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9bc_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9bc_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in9bc.epdconfig.module_exit() + epd2in9bc.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9d_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9d_test.py index 8a0c92c71..89af4804c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9d_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9d_test.py @@ -104,5 +104,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd2in9d.epdconfig.module_exit() + epd2in9d.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_3in0g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_3in0g_test.py index a7184e247..0a13bca2b 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_3in0g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_3in0g_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd3in0g.epdconfig.module_exit() + epd3in0g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_3in52_test.py b/RaspberryPi_JetsonNano/python/examples/epd_3in52_test.py index 22c81853d..8d0ae2fe9 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_3in52_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_3in52_test.py @@ -115,5 +115,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd3in52.epdconfig.module_exit() + epd3in52.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_3in7_test.py b/RaspberryPi_JetsonNano/python/examples/epd_3in7_test.py index 2920c2e96..25db8d347 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_3in7_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_3in7_test.py @@ -111,5 +111,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd3in7.epdconfig.module_exit() + epd3in7.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in01f_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in01f_test.py index 075f179d9..5532b9368 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in01f_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in01f_test.py @@ -102,5 +102,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in01f.epdconfig.module_exit() + epd4in01f.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in26_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in26_test.py new file mode 100644 index 000000000..a1b689011 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in26_test.py @@ -0,0 +1,135 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- +import sys +import os +picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic') +libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') +if os.path.exists(libdir): + sys.path.append(libdir) + +import logging +from waveshare_epd import epd4in26 +import time +from PIL import Image,ImageDraw,ImageFont +import traceback + +logging.basicConfig(level=logging.DEBUG) + +try: + logging.info("epd4in26 Demo") + epd = epd4in26.EPD() + + logging.info("init and Clear") + epd.init() + epd.Clear() + + font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) + font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) + font35 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 35) + + # Drawing on the Vertical image + logging.info("Drawing on the Vertical image...") + Limage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame + draw = ImageDraw.Draw(Limage) + draw.text((2, 0), 'hello world', font = font18, fill = 0) + draw.text((2, 20), '4.26inch e-Paper', font = font18, fill = 0) + draw.text((20, 50), u'微雪电子', font = font18, fill = 0) + draw.line((10, 90, 60, 140), fill = 0) + draw.line((60, 90, 10, 140), fill = 0) + draw.rectangle((10, 90, 60, 140), outline = 0) + draw.line((95, 90, 95, 140), fill = 0) + draw.line((70, 115, 120, 115), fill = 0) + draw.arc((70, 90, 120, 140), 0, 360, fill = 0) + draw.rectangle((10, 150, 60, 200), fill = 0) + draw.chord((70, 150, 120, 200), 0, 360, fill = 0) + epd.display(epd.getbuffer(Limage)) + time.sleep(2) + + logging.info("read bmp file") + epd.init_Fast() + Himage = Image.open(os.path.join(picdir, '7in5_V2.bmp')) + epd.display_Fast(epd.getbuffer(Himage)) + time.sleep(2) + + logging.info("read bmp file on window") + Himage2 = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame + bmp = Image.open(os.path.join(picdir, '100x100.bmp')) + Himage2.paste(bmp, (50,10)) + epd.display_Fast(epd.getbuffer(Himage2)) + time.sleep(2) + + # Drawing on the Horizontal image + logging.info("Drawing on the Horizontal image...") + epd.init() + Himage = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame + draw = ImageDraw.Draw(Himage) + draw.text((10, 0), 'hello world', font = font24, fill = 0) + draw.text((10, 20), '4.26inch e-Paper', font = font24, fill = 0) + draw.text((150, 0), u'微雪电子', font = font24, fill = 0) + draw.line((20, 50, 70, 100), fill = 0) + draw.line((70, 50, 20, 100), fill = 0) + draw.rectangle((20, 50, 70, 100), outline = 0) + draw.line((165, 50, 165, 100), fill = 0) + draw.line((140, 75, 190, 75), fill = 0) + draw.arc((140, 50, 190, 100), 0, 360, fill = 0) + draw.rectangle((80, 50, 130, 100), fill = 0) + draw.chord((200, 50, 250, 100), 0, 360, fill = 0) + epd.display_Base(epd.getbuffer(Himage)) + time.sleep(2) + + # partial update + logging.info("5.show time") + # epd.init() + # epd.Clear() + # Himage = Image.new('1', (epd.width, epd.height), 255) + # draw = ImageDraw.Draw(Himage) + num = 0 + while (True): + draw.rectangle((10, 120, 130, 170), fill = 255) + draw.text((10, 120), time.strftime('%H:%M:%S'), font = font24, fill = 0) + epd.display_Partial(epd.getbuffer(Himage)) + num = num + 1 + if(num == 10): + break + + '''4Gray display''' + logging.info("4Gray display--------------------------------") + epd.init_4GRAY() + + Limage = Image.new('L', (epd.width, epd.height), 0) # 255: clear the frame + draw = ImageDraw.Draw(Limage) + draw.text((20, 0), u'微雪电子', font = font35, fill = epd.GRAY1) + draw.text((20, 35), u'微雪电子', font = font35, fill = epd.GRAY2) + draw.text((20, 70), u'微雪电子', font = font35, fill = epd.GRAY3) + draw.text((40, 110), 'hello world', font = font18, fill = epd.GRAY1) + draw.line((10, 140, 60, 190), fill = epd.GRAY1) + draw.line((60, 140, 10, 190), fill = epd.GRAY1) + draw.rectangle((10, 140, 60, 190), outline = epd.GRAY1) + draw.line((95, 140, 95, 190), fill = epd.GRAY1) + draw.line((70, 165, 120, 165), fill = epd.GRAY1) + draw.arc((70, 140, 120, 190), 0, 360, fill = epd.GRAY1) + draw.rectangle((10, 200, 60, 250), fill = epd.GRAY1) + draw.chord((70, 200, 120, 250), 0, 360, fill = epd.GRAY1) + epd.display_4Gray(epd.getbuffer_4Gray(Limage)) + time.sleep(2) + + #display 4Gra bmp + Himage = Image.open(os.path.join(picdir, '4in26_Scale.bmp')) + epd.display_4Gray(epd.getbuffer_4Gray(Himage)) + time.sleep(2) + + + logging.info("Clear...") + epd.init() + epd.Clear() + + logging.info("Goto Sleep...") + epd.sleep() + +except IOError as e: + logging.info(e) + +except KeyboardInterrupt: + logging.info("ctrl + c:") + epd4in26.epdconfig.module_exit(cleanup=True) + exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in2_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in2_V2_test.py index 574cb3705..02b491ea0 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in2_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in2_V2_test.py @@ -179,5 +179,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in2_V2.epdconfig.module_exit() + epd4in2_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in2_test.py index 0e70de9c5..d56b6ec7c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in2_test.py @@ -127,5 +127,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in2.epdconfig.module_exit() + epd4in2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in2b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in2b_V2_test.py index 5b0b61987..bb93764f8 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in2b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in2b_V2_test.py @@ -97,5 +97,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in2b_V2.epdconfig.module_exit() + epd4in2b_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in2bc_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in2bc_test.py index 2e45ba3af..837186cfe 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in2bc_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in2bc_test.py @@ -97,5 +97,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in2bc.epdconfig.module_exit() + epd4in2bc.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_4in37g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_4in37g_test.py index 61b3fd8eb..05968d9b8 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_4in37g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_4in37g_test.py @@ -72,5 +72,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd4in37g.epdconfig.module_exit() + epd4in37g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in65f_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in65f_test.py index 7b7944902..d6d62835c 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in65f_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in65f_test.py @@ -89,5 +89,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd5in65f.epdconfig.module_exit() + epd5in65f.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in83_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in83_V2_test.py index d63746e91..173da9c29 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in83_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in83_V2_test.py @@ -85,5 +85,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd5in83_V2.epdconfig.module_exit() + epd5in83_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in83_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in83_test.py index ef69892af..fd481a316 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in83_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in83_test.py @@ -86,5 +86,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd5in83.epdconfig.module_exit() + epd5in83.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py index 6ffa112d1..6af478dea 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd5in83b_V2.epdconfig.module_exit() + epd5in83b_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in83bc_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in83bc_test.py index 5f12bfc28..eb0608d6b 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in83bc_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in83bc_test.py @@ -95,5 +95,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd5in83bc.epdconfig.module_exit() + epd5in83bc.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in3f_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in3f_test.py index b53276103..3758ff6a9 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in3f_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in3f_test.py @@ -67,5 +67,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in3f.epdconfig.module_exit() + epd7in3f.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in3g_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in3g_test.py index e70cc9208..98034e25a 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in3g_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in3g_test.py @@ -72,5 +72,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in3g.epdconfig.module_exit() + epd7in3g.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5_HD_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5_HD_test.py index 3f7b77c9d..cdf135461 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5_HD_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5_HD_test.py @@ -86,5 +86,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5_HD.epdconfig.module_exit() + epd7in5_HD.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py index 38b0c78bc..c6bfdd93d 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test.py @@ -26,8 +26,21 @@ font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) + logging.info("read bmp file") + Himage = Image.open(os.path.join(picdir, '7in5_V2.bmp')) + epd.display(epd.getbuffer(Himage)) + time.sleep(2) + + logging.info("read bmp file on window") + Himage2 = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame + bmp = Image.open(os.path.join(picdir, '100x100.bmp')) + Himage2.paste(bmp, (50,10)) + epd.display(epd.getbuffer(Himage2)) + time.sleep(2) + # Drawing on the Horizontal image - logging.info("1.Drawing on the Horizontal image...") + logging.info("Drawing on the Horizontal image...") + epd.init_fast() Himage = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame draw = ImageDraw.Draw(Himage) draw.text((10, 0), 'hello world', font = font24, fill = 0) @@ -44,35 +57,42 @@ epd.display(epd.getbuffer(Himage)) time.sleep(2) - # Drawing on the Vertical image - logging.info("2.Drawing on the Vertical image...") - Limage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame - draw = ImageDraw.Draw(Limage) - draw.text((2, 0), 'hello world', font = font18, fill = 0) - draw.text((2, 20), '7.5inch epd', font = font18, fill = 0) - draw.text((20, 50), u'微雪电子', font = font18, fill = 0) - draw.line((10, 90, 60, 140), fill = 0) - draw.line((60, 90, 10, 140), fill = 0) - draw.rectangle((10, 90, 60, 140), outline = 0) - draw.line((95, 90, 95, 140), fill = 0) - draw.line((70, 115, 120, 115), fill = 0) - draw.arc((70, 90, 120, 140), 0, 360, fill = 0) - draw.rectangle((10, 150, 60, 200), fill = 0) - draw.chord((70, 150, 120, 200), 0, 360, fill = 0) - epd.display(epd.getbuffer(Limage)) - time.sleep(2) + # partial update + logging.info("5.show time") + epd.init_part() + # Himage = Image.new('1', (epd.width, epd.height), 0) + # draw = ImageDraw.Draw(Himage) + num = 0 + while (True): + draw.rectangle((10, 120, 130, 170), fill = 255) + draw.text((10, 120), time.strftime('%H:%M:%S'), font = font24, fill = 0) + epd.display_Partial(epd.getbuffer(Himage),0, 0, epd.width, epd.height) + num = num + 1 + if(num == 10): + break - logging.info("3.read bmp file") - Himage = Image.open(os.path.join(picdir, '7in5_V2.bmp')) - epd.display(epd.getbuffer(Himage)) - time.sleep(2) - logging.info("4.read bmp file on window") - Himage2 = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame - bmp = Image.open(os.path.join(picdir, '100x100.bmp')) - Himage2.paste(bmp, (50,10)) - epd.display(epd.getbuffer(Himage2)) - time.sleep(2) + + # # Drawing on the Vertical image + # logging.info("2.Drawing on the Vertical image...") + # epd.init() + # Limage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame + # draw = ImageDraw.Draw(Limage) + # draw.text((2, 0), 'hello world', font = font18, fill = 0) + # draw.text((2, 20), '7.5inch epd', font = font18, fill = 0) + # draw.text((20, 50), u'微雪电子', font = font18, fill = 0) + # draw.line((10, 90, 60, 140), fill = 0) + # draw.line((60, 90, 10, 140), fill = 0) + # draw.rectangle((10, 90, 60, 140), outline = 0) + # draw.line((95, 90, 95, 140), fill = 0) + # draw.line((70, 115, 120, 115), fill = 0) + # draw.arc((70, 90, 120, 140), 0, 360, fill = 0) + # draw.rectangle((10, 150, 60, 200), fill = 0) + # draw.chord((70, 150, 120, 200), 0, 360, fill = 0) + # epd.display(epd.getbuffer(Limage)) + # time.sleep(2) + + logging.info("Clear...") epd.init() @@ -86,5 +106,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5_V2.epdconfig.module_exit() + epd7in5_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test_old.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test_old.py new file mode 100644 index 000000000..77802e922 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5_V2_test_old.py @@ -0,0 +1,110 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- +import sys +import os +picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic') +libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') +if os.path.exists(libdir): + sys.path.append(libdir) + +import logging +from waveshare_epd import epd7in5_V2_old +import time +from PIL import Image,ImageDraw,ImageFont +import traceback + +logging.basicConfig(level=logging.DEBUG) + +try: + logging.info("epd7in5_V2 Demo") + epd = epd7in5_V2_old.EPD() + + logging.info("init and Clear") + epd.init() + epd.Clear() + + font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24) + font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) + + logging.info("read bmp file") + Himage = Image.open(os.path.join(picdir, '7in5_V2.bmp')) + epd.display(epd.getbuffer(Himage)) + time.sleep(2) + + logging.info("read bmp file on window") + Himage2 = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame + bmp = Image.open(os.path.join(picdir, '100x100.bmp')) + Himage2.paste(bmp, (50,10)) + epd.display(epd.getbuffer(Himage2)) + time.sleep(2) + + # Drawing on the Horizontal image + logging.info("Drawing on the Horizontal image...") + epd.init_fast() + Himage = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame + draw = ImageDraw.Draw(Himage) + draw.text((10, 0), 'hello world', font = font24, fill = 0) + draw.text((10, 20), '7.5inch e-Paper', font = font24, fill = 0) + draw.text((150, 0), u'微雪电子', font = font24, fill = 0) + draw.line((20, 50, 70, 100), fill = 0) + draw.line((70, 50, 20, 100), fill = 0) + draw.rectangle((20, 50, 70, 100), outline = 0) + draw.line((165, 50, 165, 100), fill = 0) + draw.line((140, 75, 190, 75), fill = 0) + draw.arc((140, 50, 190, 100), 0, 360, fill = 0) + draw.rectangle((80, 50, 130, 100), fill = 0) + draw.chord((200, 50, 250, 100), 0, 360, fill = 0) + epd.display(epd.getbuffer(Himage)) + time.sleep(2) + + # partial update + logging.info("5.show time") + epd.init_part() + # Himage = Image.new('1', (epd.width, epd.height), 0) + # draw = ImageDraw.Draw(Himage) + num = 0 + while (True): + draw.rectangle((10, 120, 130, 170), fill = 255) + draw.text((10, 120), time.strftime('%H:%M:%S'), font = font24, fill = 0) + epd.display_Partial(epd.getbuffer(Himage),0, 0, epd.width, epd.height) + num = num + 1 + if(num == 10): + break + + + + # # Drawing on the Vertical image + # logging.info("2.Drawing on the Vertical image...") + # epd.init() + # Limage = Image.new('1', (epd.height, epd.width), 255) # 255: clear the frame + # draw = ImageDraw.Draw(Limage) + # draw.text((2, 0), 'hello world', font = font18, fill = 0) + # draw.text((2, 20), '7.5inch epd', font = font18, fill = 0) + # draw.text((20, 50), u'微雪电子', font = font18, fill = 0) + # draw.line((10, 90, 60, 140), fill = 0) + # draw.line((60, 90, 10, 140), fill = 0) + # draw.rectangle((10, 90, 60, 140), outline = 0) + # draw.line((95, 90, 95, 140), fill = 0) + # draw.line((70, 115, 120, 115), fill = 0) + # draw.arc((70, 90, 120, 140), 0, 360, fill = 0) + # draw.rectangle((10, 150, 60, 200), fill = 0) + # draw.chord((70, 150, 120, 200), 0, 360, fill = 0) + # epd.display(epd.getbuffer(Limage)) + # time.sleep(2) + + + + logging.info("Clear...") + epd.init() + epd.Clear() + + logging.info("Goto Sleep...") + epd.sleep() + +except IOError as e: + logging.info(e) + +except KeyboardInterrupt: + logging.info("ctrl + c:") + epd7in5_V2_old.epdconfig.module_exit(cleanup=True) + exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5_test.py index 10dc1f2da..c61dc1698 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5_test.py @@ -86,5 +86,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5.epdconfig.module_exit() + epd7in5.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_HD_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_HD_test.py index 432277b0e..a77409f73 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_HD_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_HD_test.py @@ -94,5 +94,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5b_HD.epdconfig.module_exit() + epd7in5b_HD.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py index 096e762d2..27807414f 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py @@ -93,5 +93,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5b_V2.epdconfig.module_exit() + epd7in5b_V2.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5bc_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5bc_test.py index fbde0d4ef..0a1b6a8ad 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5bc_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5bc_test.py @@ -98,5 +98,5 @@ except KeyboardInterrupt: logging.info("ctrl + c:") - epd7in5bc.epdconfig.module_exit() + epd7in5bc.epdconfig.module_exit(cleanup=True) exit() diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc new file mode 100644 index 000000000..5df3fabc2 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__init__.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 000000000..6be821bfc Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/__init__.cpython-37.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in9_V2.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in9_V2.cpython-37.pyc new file mode 100644 index 000000000..e8a5bee45 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epd2in9_V2.cpython-37.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc new file mode 100644 index 000000000..7c81bb4b3 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/__pycache__/epdconfig.cpython-37.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in66g.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in66g.py new file mode 100644 index 000000000..18d11f5a2 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in66g.py @@ -0,0 +1,228 @@ +# ***************************************************************************** +# * | File : epd2in9g.py +# * | Author : Waveshare team +# * | Function : Electronic paper driver +# * | Info : +# *---------------- +# * | This version: V1.0 +# * | Date : 2023-03-08 +# # | Info : python demo +# ----------------------------------------------------------------------------- +# ******************************************************************************/ +# 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. +# + +import logging +from . import epdconfig + +import PIL +from PIL import Image +import io + +# Display resolution +EPD_WIDTH = 184 +EPD_HEIGHT = 360 + +logger = logging.getLogger(__name__) + +class EPD: + def __init__(self): + self.reset_pin = epdconfig.RST_PIN + self.dc_pin = epdconfig.DC_PIN + self.busy_pin = epdconfig.BUSY_PIN + self.cs_pin = epdconfig.CS_PIN + self.width = EPD_WIDTH + self.height = EPD_HEIGHT + self.BLACK = 0x000000 # 00 BGR + self.WHITE = 0xffffff # 01 + self.YELLOW = 0x00ffff # 10 + self.RED = 0x0000ff # 11 + + # Hardware reset + def reset(self): + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(200) + epdconfig.digital_write(self.reset_pin, 0) # module reset + epdconfig.delay_ms(2) + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(200) + + def send_command(self, command): + epdconfig.digital_write(self.dc_pin, 0) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([command]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([data]) + epdconfig.digital_write(self.cs_pin, 1) + + def ReadBusyH(self): + logger.debug("e-Paper busy H") + while(epdconfig.digital_read(self.busy_pin) == 0): # 0: idle, 1: busy + epdconfig.delay_ms(5) + logger.debug("e-Paper busy H release") + + def ReadBusyL(self): + logger.debug("e-Paper busy L") + while(epdconfig.digital_read(self.busy_pin) == 1): # 0: busy, 1: idle + epdconfig.delay_ms(5) + logger.debug("e-Paper busy L release") + + def TurnOnDisplay(self): + self.send_command(0x12) # DISPLAY_REFRESH + self.send_data(0x00) + self.ReadBusyH() + + def init(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + + self.reset() + self.ReadBusyH() + self.send_command(0x4D) + self.send_data(0x78) + + self.send_command(0x00) #PSR + self.send_data(0x0F) + self.send_data(0x29) + + self.send_command(0x01) #PWRR + self.send_data(0x07) + self.send_data(0x00) + + self.send_command(0x03) #POFS + self.send_data(0x10) + self.send_data(0x54) + self.send_data(0x44) + + self.send_command(0x06) #BTST_P + self.send_data(0x05) + self.send_data(0x00) + self.send_data(0x3F) + self.send_data(0x0A) + self.send_data(0x25) + self.send_data(0x12) + self.send_data(0x1A) + + self.send_command(0x50) #CDI + self.send_data(0x37) + + self.send_command(0x60) #TCON + self.send_data(0x02) + self.send_data(0x02) + + self.send_command(0x61) #TRES + self.send_data(self.width//256) # Source_BITS_H + self.send_data(self.width%256) # Source_BITS_L + self.send_data(self.height//256) # Gate_BITS_H + self.send_data(self.height%256) # Gate_BITS_L + + self.send_command(0xE7) + self.send_data(0x1C) + + self.send_command(0xE3) + self.send_data(0x22) + + self.send_command(0xB4) + self.send_data(0xD0) + self.send_command(0xB5) + self.send_data(0x03) + + self.send_command(0xE9) + self.send_data(0x01) + + self.send_command(0x30) + self.send_data(0x08) + + self.send_command(0x04) + self.ReadBusyH() + return 0 + + def getbuffer(self, image): + # Create a pallette with the 4 colors supported by the panel + pal_image = Image.new("P", (1,1)) + pal_image.putpalette( (0,0,0, 255,255,255, 255,255,0, 255,0,0) + (0,0,0)*252) + + # Check if we need to rotate the image + imwidth, imheight = image.size + if(imwidth == self.width and imheight == self.height): + image_temp = image + elif(imwidth == self.height and imheight == self.width): + image_temp = image.rotate(90, expand=True) + else: + logger.warning("Invalid image dimensions: %d x %d, expected %d x %d" % (imwidth, imheight, self.width, self.height)) + + # Convert the soruce image to the 4 colors, dithering if needed + image_4color = image_temp.convert("RGB").quantize(palette=pal_image) + buf_4color = bytearray(image_4color.tobytes('raw')) + + # into a single byte to transfer to the panel + buf = [0x00] * int(self.width * self.height / 4) + idx = 0 + for i in range(0, len(buf_4color), 4): + buf[idx] = (buf_4color[i] << 6) + (buf_4color[i+1] << 4) + (buf_4color[i+2] << 2) + buf_4color[i+3] + idx += 1 + + return buf + + def display(self, image): + if self.width % 4 == 0 : + Width = self.width // 4 + else : + Width = self.width // 4 + 1 + Height = self.height + + self.send_command(0x10) + for j in range(0, Height): + for i in range(0, Width): + self.send_data(image[i + j * Width]) + + self.TurnOnDisplay() + + def Clear(self, color=0x55): + if self.width % 4 == 0 : + Width = self.width // 4 + else : + Width = self.width // 4 + 1 + Height = self.height + + self.send_command(0x10) + for j in range(0, Height): + for i in range(0, Width): + self.send_data(color) + + self.TurnOnDisplay() + + def sleep(self): + self.send_command(0x02) # POWER_OFF + self.send_data(0X00) + self.ReadBusyH() + epdconfig.delay_ms(2000) + + self.send_command(0x07) # DEEP_SLEEP + self.send_data(0XA5) + + epdconfig.delay_ms(2000) + epdconfig.module_exit() +### END OF FILE ### + diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in7_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in7_V2.py index 30074a6db..195fdfc4c 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in7_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in7_V2.py @@ -444,7 +444,7 @@ def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): def display_4Gray(self, image): self.send_command(0x24) - for i in range(0, 5808): #5808*4 46464 + for i in range(0, 48000): #5808*4 46464 temp3=0 for j in range(0, 2): temp1 = image[i*2+j] @@ -476,7 +476,7 @@ def display_4Gray(self, image): self.send_data(temp3) self.send_command(0x26) - for i in range(0, 5808): #5808*4 46464 + for i in range(0, 48000): #5808*4 46464 temp3=0 for j in range(0, 2): temp1 = image[i*2+j] diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py index d67ea0a6f..d84510b3c 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.py @@ -99,25 +99,46 @@ def __init__(self): Gray4 = [ 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x28, 0x60, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2A, 0x60, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, - 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x02, 0x00, 0x05, 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, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x60, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x60, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x05, 0x14, 0x00, 0x00, + 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x02, 0x00, 0x05, 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, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, + 0x22, 0x17, 0x41, 0xAE, 0x32, 0x28, + ] + + WF_FULL = [ + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x19, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, - 0x22, 0x17, 0x41, 0xAE, 0x32, 0x28 - ] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x24, 0x42, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, + 0x22, 0x17, 0x41, 0xAE, 0x32, 0x38] # Hardware reset def reset(self): @@ -235,6 +256,40 @@ def init(self): # EPD hardware init end return 0 + def init_Fast(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + + self.ReadBusy() + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x01) #Driver output control + self.send_data(0x27) + self.send_data(0x01) + self.send_data(0x00) + + self.send_command(0x11) #data entry mode + self.send_data(0x03) + + self.SetWindow(0, 0, self.width-1, self.height-1) + + self.send_command(0x3C) + self.send_data(0x05) + + self.send_command(0x21) # Display update control + self.send_data(0x00) + self.send_data(0x80) + + self.SetCursor(0, 0) + self.ReadBusy() + + self.SetLut(self.WF_FULL) + # EPD hardware init end + return 0 + def Init_4Gray(self): if (epdconfig.module_init() != 0): return -1 diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc new file mode 100644 index 000000000..c003b70b8 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9_V2.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py new file mode 100644 index 000000000..d202466a8 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd2in9b_V4.py @@ -0,0 +1,388 @@ +# ***************************************************************************** +# * | File : epd2in9b_V4.py +# * | Author : Waveshare team +# * | Function : Electronic paper driver +# * | Info : +# *---------------- +# * | This version: V1.0 +# * | Date : 2023-12-18 +# # | Info : python demo +# ----------------------------------------------------------------------------- +# 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. +# + + +import logging +from . import epdconfig + +# Display resolution +EPD_WIDTH = 128 +EPD_HEIGHT = 296 + +logger = logging.getLogger(__name__) + +class EPD: + def __init__(self): + self.reset_pin = epdconfig.RST_PIN + self.dc_pin = epdconfig.DC_PIN + self.busy_pin = epdconfig.BUSY_PIN + self.cs_pin = epdconfig.CS_PIN + self.width = EPD_WIDTH + self.height = EPD_HEIGHT + + # Hardware reset + def reset(self): + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(200) + epdconfig.digital_write(self.reset_pin, 0) + epdconfig.delay_ms(2) + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(200) + + def send_command(self, command): + epdconfig.digital_write(self.dc_pin, 0) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([command]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([data]) + epdconfig.digital_write(self.cs_pin, 1) + + # send a lot of data + def send_data2(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte2(data) + epdconfig.digital_write(self.cs_pin, 1) + + def ReadBusy(self): + logger.debug("e-Paper busy") + self.send_command(0X71) + while(epdconfig.digital_read(self.busy_pin) == 1): # 0: idle, 1: busy + epdconfig.delay_ms(200) + logger.debug("e-Paper busy release") + + + def TurnOnDisplay(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xF7) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_Base(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xF4) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_Fast(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xC7) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_Partial(self): + self.send_command(0x22) #Display Update Control + self.send_data(0x1C) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + + def init(self): + if (epdconfig.module_init() != 0): + return -1 + + # EPD hardware init start + self.reset() + + self.ReadBusy() + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x01) #Driver output control + self.send_data((self.height-1)%256) + self.send_data((self.height-1)//256) + self.send_data(0x00) + + self.send_command(0x11) #data entry mode + self.send_data(0x03) + + self.send_command(0x44) #set Ram-X address start/end position + self.send_data(0x00) + self.send_data(self.width//8-1) + + self.send_command(0x45) #set Ram-Y address start/end position + self.send_data(0x00) + self.send_data(0x00) + self.send_data((self.height-1)%256) + self.send_data((self.height-1)//256) + + self.send_command(0x3C) #BorderWavefrom + self.send_data(0x05) + + self.send_command(0x21) # Display update control + self.send_data(0x00) + self.send_data(0x80) + + self.send_command(0x18) #Read built-in temperature sensor + self.send_data(0x80) + + self.send_command(0x4E) # set RAM x address count to 0 + self.send_data(0x00) + self.send_command(0x4F) # set RAM y address count to 0X199 + self.send_data(0x00) + self.send_data(0x00) + self.ReadBusy() + + return 0 + + def init_Fast(self): + if (epdconfig.module_init() != 0): + return -1 + + # EPD hardware init start + self.reset() + + self.ReadBusy() + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x18) #Read built-in temperature sensor + self.send_data(0x80) + + self.send_command(0x22) # Load temperature value + self.send_data(0xB1) + self.send_command(0x20) + self.ReadBusy() + + self.send_command(0x1A) # Write to temperature register + self.send_data(0x5a) # 90 + self.send_data(0x00) + + self.send_command(0x22) # Load temperature value + self.send_data(0x91) + self.send_command(0x20) + self.ReadBusy() + + self.send_command(0x01) #Driver output control + self.send_data((self.height-1)%256) + self.send_data((self.height-1)/256) + self.send_data(0x00) + + self.send_command(0x11) #data entry mode + self.send_data(0x03) + + self.send_command(0x44) #set Ram-X address start/end position + self.send_data(0x00) + self.send_data(self.width//8-1) + + self.send_command(0x45) #set Ram-Y address start/end position + self.send_data(0x00) + self.send_data(0x00) + self.send_data((self.height-1)%256) + self.send_data((self.height-1)//256) + + self.send_command(0x4E) # set RAM x address count to 0 + self.send_data(0x00) + self.send_command(0x4F) # set RAM y address count to 0X199 + self.send_data(0x00) + self.send_data(0x00) + self.ReadBusy() + + return 0 + + def getbuffer(self, image): + # logger.debug("bufsiz = ",int(self.width/8) * self.height) + buf = [0xFF] * (int(self.width/8) * self.height) + image_monocolor = image.convert('1') + imwidth, imheight = image_monocolor.size + pixels = image_monocolor.load() + # logger.debug("imwidth = %d, imheight = %d",imwidth,imheight) + if(imwidth == self.width and imheight == self.height): + logger.debug("Vertical") + for y in range(imheight): + for x in range(imwidth): + # Set the bits for the column of pixels at the current position. + if pixels[x, y] == 0: + buf[int((x + y * self.width) / 8)] &= ~(0x80 >> (x % 8)) + elif(imwidth == self.height and imheight == self.width): + logger.debug("Horizontal") + for y in range(imheight): + for x in range(imwidth): + newx = y + newy = self.height - x - 1 + if pixels[x, y] == 0: + buf[int((newx + newy*self.width) / 8)] &= ~(0x80 >> (y % 8)) + return buf + + def display(self, blackimage, ryimage): # ryimage: red or yellow image + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + if (blackimage != None): + self.send_command(0x24) + self.send_data2(blackimage) + if (ryimage != None): + for j in range(Height): + for i in range(Width): + ryimage[i + j * Width] = ~ryimage[i + j * Width] + self.send_command(0x26) + self.send_data2(ryimage) + + self.TurnOnDisplay() + + def display_Fast(self, blackimage, ryimage): # ryimage: red or yellow image + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + if (blackimage != None): + self.send_command(0x24) + self.send_data2(blackimage) + if (ryimage != None): + for j in range(Height): + for i in range(Width): + ryimage[i + j * Width] = ~ryimage[i + j * Width] + self.send_command(0x26) + self.send_data2(ryimage) + + self.TurnOnDisplay_Fast() + + def Clear(self): + self.send_command(0x24) + self.send_data2([0xff] * int(self.width * self.height // 8)) + self.send_command(0x26) + self.send_data2([0x00] * int(self.width * self.height // 8)) + + self.TurnOnDisplay() + + def Clear_Fast(self): + self.send_command(0x24) + self.send_data2([0xff] * int(self.width * self.height // 8)) + self.send_command(0x26) + self.send_data2([0x00] * int(self.width * self.height // 8)) + + self.TurnOnDisplay_Fast() + + def display_Base(self, blackimage, ryimage): + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + if (blackimage != None): + self.send_command(0x24) + self.send_data2(blackimage) + if (ryimage != None): + for j in range(Height): + for i in range(Width): + ryimage[i + j * Width] = ~ryimage[i + j * Width] + self.send_command(0x26) + self.send_data2(ryimage) + + self.TurnOnDisplay_Base() + + if (blackimage != None): + for j in range(Height): + for i in range(Width): + blackimage[i + j * Width] = ~blackimage[i + j * Width] + self.send_command(0x26) + self.send_data2(blackimage) + else: + self.send_command(0x26) + self.send_data2(blackimage) + + def display_Base_color(self, color): + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + self.send_command(0x24) #Write Black and White image to RAM + for j in range(Height): + for i in range(Width): + self.send_data(color) + + self.send_command(0x26) #Write Black and White image to RAM + for j in range(Height): + for i in range(Width): + self.send_data(~color) + + self.TurnOnDisplay_Base() + self.send_command(0x26) #Write Black and White image to RAM + for j in range(Height): + for i in range(Width): + self.send_data(color) + + def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): + if((Xstart % 8 + Xend % 8 == 8 & Xstart % 8 > Xend % 8) | Xstart % 8 + Xend % 8 == 0 | (Xend - Xstart)%8 == 0): + Xstart = Xstart // 8 + Xend = Xend // 8 + else: + Xstart = Xstart // 8 + if Xend % 8 == 0: + Xend = Xend // 8 + else: + Xend = Xend // 8 + 1 + + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + + Xend -= 1 + Yend -= 1 + + self.send_command(0x44) # set RAM x address start/end, in page 35 + self.send_data(Xstart & 0xff) # RAM x address start at 00h + self.send_data(Xend & 0xff) # RAM x address end at 0fh(15+1)*8->128 + self.send_command(0x45) # set RAM y address start/end, in page 35 + self.send_data(Ystart & 0xff) # RAM y address start at 0127h + self.send_data((Ystart>>8) & 0x01) # RAM y address start at 0127h + self.send_data(Yend & 0xff) # RAM y address end at 00h + self.send_data((Yend>>8) & 0x01) + + self.send_command(0x4E) # set RAM x address count to 0 + self.send_data(Xstart & 0xff) + self.send_command(0x4F) # set RAM y address count to 0X127 + self.send_data(Ystart & 0xff) + self.send_data((Ystart>>8) & 0x01) + + self.send_command(0x24) #Write Black and White image to RAM + for j in range(Height): + for i in range(Width): + if((j > Ystart-1) & (j < (Yend + 1)) & (i > Xstart-1) & (i < (Xend + 1))): + self.send_data(Image[i + j * Width]) + self.TurnOnDisplay_Partial() + + def sleep(self): + self.send_command(0x10) # deep sleep + self.send_data(0x01) + + epdconfig.delay_ms(2000) + epdconfig.module_exit() +### END OF FILE ### + diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd4in26.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd4in26.py new file mode 100644 index 000000000..ef895b524 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd4in26.py @@ -0,0 +1,510 @@ +# ***************************************************************************** +# * | File : epd4in26.py +# * | Author : Waveshare team +# * | Function : Electronic paper driver +# * | Info : +# *---------------- +# * | This version: V1.0 +# * | Date : 2023-12-20 +# # | Info : python demo +# ----------------------------------------------------------------------------- +# 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. +# + + +import logging +from . import epdconfig + +# Display resolution +EPD_WIDTH = 800 +EPD_HEIGHT = 480 + +GRAY1 = 0xff #white +GRAY2 = 0xC0 +GRAY3 = 0x80 #gray +GRAY4 = 0x00 #Blackest + +logger = logging.getLogger(__name__) + +class EPD: + def __init__(self): + self.reset_pin = epdconfig.RST_PIN + self.dc_pin = epdconfig.DC_PIN + self.busy_pin = epdconfig.BUSY_PIN + self.cs_pin = epdconfig.CS_PIN + self.width = EPD_WIDTH + self.height = EPD_HEIGHT + self.GRAY1 = GRAY1 #white + self.GRAY2 = GRAY2 + self.GRAY3 = GRAY3 #gray + self.GRAY4 = GRAY4 #Blackest + + LUT_DATA_4Gray = [# #112bytes + 0x80, 0x48, 0x4A, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA8, 0x48, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x1E, 0x1C, 0x02, 0x00, + 0x05, 0x01, 0x05, 0x01, 0x02, + 0x08, 0x01, 0x01, 0x04, 0x04, + 0x00, 0x02, 0x00, 0x02, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, + 0x22, 0x22, 0x22, 0x22, 0x22, + 0x17, 0x41, 0xA8, 0x32, 0x30, + 0x00, 0x00 ] + + # Hardware reset + def reset(self): + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(20) + epdconfig.digital_write(self.reset_pin, 0) + epdconfig.delay_ms(2) + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(20) + + def send_command(self, command): + epdconfig.digital_write(self.dc_pin, 0) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([command]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([data]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data2(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.SPI.writebytes2(data) + epdconfig.digital_write(self.cs_pin, 1) + + def ReadBusy(self): + logger.debug("e-Paper busy") + busy = epdconfig.digital_read(self.busy_pin) + while(busy == 1): + busy = epdconfig.digital_read(self.busy_pin) + epdconfig.delay_ms(20) + epdconfig.delay_ms(20) + logger.debug("e-Paper busy release") + + def TurnOnDisplay(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xF7) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_Fast(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xC7) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_Part(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xFF) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + def TurnOnDisplay_4GRAY(self): + self.send_command(0x22) #Display Update Control + self.send_data(0xC7) + self.send_command(0x20) #Activate Display Update Sequence + self.ReadBusy() + + ''' + function : Setting the display window + parameter: + xstart : X-axis starting position + ystart : Y-axis starting position + xend : End position of X-axis + yend : End position of Y-axis + ''' + def SetWindow(self, x_start, y_start, x_end, y_end): + self.send_command(0x44) # SET_RAM_X_ADDRESS_START_END_POSITION + self.send_data(x_start & 0xFF) + self.send_data((x_start>>8) & 0x03) + self.send_data(x_end & 0xFF) + self.send_data((x_end>>8) & 0x03) + + self.send_command(0x45) # SET_RAM_Y_ADDRESS_START_END_POSITION + self.send_data(y_start & 0xFF) + self.send_data((y_start >> 8) & 0xFF) + self.send_data(y_end & 0xFF) + self.send_data((y_end >> 8) & 0xFF) + + ''' + function : Set Cursor + parameter: + x : X-axis starting position + y : Y-axis starting position + ''' + def SetCursor(self, x, y): + self.send_command(0x4E) # SET_RAM_X_ADDRESS_COUNTER + # x point must be the multiple of 8 or the last 3 bits will be ignored + self.send_data(x & 0xFF) + self.send_data((x>>8) & 0x03) + + self.send_command(0x4F) # SET_RAM_Y_ADDRESS_COUNTER + self.send_data(y & 0xFF) + self.send_data((y >> 8) & 0xFF) + + def init(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + self.ReadBusy() + + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x18) # use the internal temperature sensor + self.send_data(0x80) + + self.send_command(0x0C) #set soft start + self.send_data(0xAE) + self.send_data(0xC7) + self.send_data(0xC3) + self.send_data(0xC0) + self.send_data(0x80) + + self.send_command(0x01) # drive output control + self.send_data((self.height-1)%256) # Y + self.send_data((self.height-1)//256) # Y + self.send_data(0x02) + + self.send_command(0x3C) # Border Border setting + self.send_data(0x01) + + self.send_command(0x11) # data entry mode + self.send_data(0x01) # X-mode x+ y- + + self.SetWindow(0, self.height-1, self.width-1, 0) + + self.SetCursor(0, 0) + self.ReadBusy() + + # EPD hardware init end + return 0 + + def init_Fast(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + self.ReadBusy() + + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x18) # use the internal temperature sensor + self.send_data(0x80) + + self.send_command(0x0C) #set soft start + self.send_data(0xAE) + self.send_data(0xC7) + self.send_data(0xC3) + self.send_data(0xC0) + self.send_data(0x80) + + self.send_command(0x01) # drive output control + self.send_data((self.height-1)%256) # Y + self.send_data((self.height-1)//256) # Y + self.send_data(0x02) + + self.send_command(0x3C) # Border Border setting + self.send_data(0x01) + + self.send_command(0x11) # data entry mode + self.send_data(0x01) # X-mode x+ y- + + self.SetWindow(0, self.height-1, self.width-1, 0) + + self.SetCursor(0, 0) + self.ReadBusy() + + #TEMP (1.5s) + self.send_command(0x1A) + self.send_data(0x5A) + + self.send_command(0x22) + self.send_data(0x91) + self.send_command(0x20) + + self.ReadBusy() + + # EPD hardware init end + return 0 + + def Lut(self): + self.send_command(0x32) + for count in range(0, 105): + self.send_data(self.LUT_DATA_4Gray[count]) + + self.send_command(0x03) #VGH + self.send_data(self.LUT_DATA_4Gray[105]) + + self.send_command(0x04) # + self.send_data(self.LUT_DATA_4Gray[106]) #VSH1 + self.send_data(self.LUT_DATA_4Gray[107]) #VSH2 + self.send_data(self.LUT_DATA_4Gray[108]) #VSL + + self.send_command(0x2C) #VCOM Voltage + self.send_data(self.LUT_DATA_4Gray[109]) #0x1C + + def init_4GRAY(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + self.ReadBusy() + + self.send_command(0x12) #SWRESET + self.ReadBusy() + + self.send_command(0x18) # use the internal temperature sensor + self.send_data(0x80) + + self.send_command(0x0C) #set soft start + self.send_data(0xAE) + self.send_data(0xC7) + self.send_data(0xC3) + self.send_data(0xC0) + self.send_data(0x80) + + self.send_command(0x01) # drive output control + self.send_data((self.height-1)%256) # Y + self.send_data((self.height-1)//256) # Y + self.send_data(0x02) + + self.send_command(0x3C) # Border Border setting + self.send_data(0x01) + + self.send_command(0x11) # data entry mode + self.send_data(0x01) # X-mode x+ y- + + self.SetWindow(0, self.height-1, self.width-1, 0) + + self.SetCursor(0, 0) + self.ReadBusy() + + self.Lut() + # EPD hardware init end + return 0 + + + def getbuffer(self, image): + # logger.debug("bufsiz = ",int(self.width/8) * self.height) + buf = [0xFF] * (int(self.width / 8) * self.height) + image_monocolor = image.convert('1') + imwidth, imheight = image_monocolor.size + pixels = image_monocolor.load() + # logger.debug("imwidth = %d, imheight = %d",imwidth,imheight) + if imwidth == self.width and imheight == self.height: + logger.debug("Horizontal") + for y in range(imheight): + for x in range(imwidth): + # Set the bits for the column of pixels at the current position. + if pixels[x, y] == 0: + buf[int((x + y * self.width) / 8)] &= ~(0x80 >> (x % 8)) + elif imwidth == self.height and imheight == self.width: + logger.debug("Vertical") + for y in range(imheight): + for x in range(imwidth): + newx = y + newy = self.height - x - 1 + if pixels[x, y] == 0: + buf[int((newx + newy * self.width) / 8)] &= ~(0x80 >> (y % 8)) + return buf + + def getbuffer_4Gray(self, image): + # logger.debug("bufsiz = ",int(self.width/8) * self.height) + buf = [0xFF] * (int(self.width / 4) * self.height) + image_monocolor = image.convert('L') + imwidth, imheight = image_monocolor.size + pixels = image_monocolor.load() + i=0 + # logger.debug("imwidth = %d, imheight = %d",imwidth,imheight) + if(imwidth == self.width and imheight == self.height): + logger.debug("Vertical") + for y in range(imheight): + for x in range(imwidth): + # Set the bits for the column of pixels at the current position. + if(pixels[x, y] == 0xC0): + pixels[x, y] = 0x80 + elif (pixels[x, y] == 0x80): + pixels[x, y] = 0x40 + i= i+1 + if(i%4 == 0): + buf[int((x + (y * self.width))/4)] = ((pixels[x-3, y]&0xc0) | (pixels[x-2, y]&0xc0)>>2 | (pixels[x-1, y]&0xc0)>>4 | (pixels[x, y]&0xc0)>>6) + + elif(imwidth == self.height and imheight == self.width): + logger.debug("Horizontal") + for x in range(imwidth): + for y in range(imheight): + newx = y + newy = self.height - x - 1 + if(pixels[x, y] == 0xC0): + pixels[x, y] = 0x80 + elif (pixels[x, y] == 0x80): + pixels[x, y] = 0x40 + i= i+1 + if(i%4 == 0): + buf[int((newx + (newy * self.width))/4)] = ((pixels[x, y-3]&0xc0) | (pixels[x, y-2]&0xc0)>>2 | (pixels[x, y-1]&0xc0)>>4 | (pixels[x, y]&0xc0)>>6) + return buf + + def display(self, image): + self.send_command(0x24) + self.send_data2(image) + + self.TurnOnDisplay() + + def display_Base(self, image): + self.send_command(0x24) + self.send_data2(image) + + self.send_command(0x26) + self.send_data2(image) + + self.TurnOnDisplay() + + def display_Fast(self, image): + self.send_command(0x24) + self.send_data2(image) + + self.TurnOnDisplay_Fast() + + def display_Partial(self, Image): + + # Reset + self.reset() + + self.send_command(0x18) #BorderWavefrom + self.send_data(0x80) + + self.send_command(0x3C) #BorderWavefrom + self.send_data(0x80) + + self.send_command(0x01) # drive output control + self.send_data((self.height-1)%256) # Y + self.send_data((self.height-1)//256) # Y + + self.send_command(0x11) # data entry mode + self.send_data(0x01) # X-mode x+ y- + + self.SetWindow(0, self.height-1, self.width-1, 0) + + self.SetCursor(0, 0) + + self.send_command(0x24) #Write Black and White image to RAM + self.send_data2(Image) + + self.TurnOnDisplay_Part() + + def display_4Gray(self, image): + self.send_command(0x24) + for i in range(0, 48000): #5808*4 46464 + temp3=0 + for j in range(0, 2): + temp1 = image[i*2+j] + for k in range(0, 2): + temp2 = temp1&0xC0 + if(temp2 == 0xC0): + temp3 |= 0x00 + elif(temp2 == 0x00): + temp3 |= 0x01 + elif(temp2 == 0x80): + temp3 |= 0x01 + else: #0x40 + temp3 |= 0x00 + temp3 <<= 1 + + temp1 <<= 2 + temp2 = temp1&0xC0 + if(temp2 == 0xC0): + temp3 |= 0x00 + elif(temp2 == 0x00): + temp3 |= 0x01 + elif(temp2 == 0x80): + temp3 |= 0x01 + else : #0x40 + temp3 |= 0x00 + if(j!=1 or k!=1): + temp3 <<= 1 + temp1 <<= 2 + self.send_data(temp3) + + self.send_command(0x26) + for i in range(0, 48000): #5808*4 46464 + temp3=0 + for j in range(0, 2): + temp1 = image[i*2+j] + for k in range(0, 2): + temp2 = temp1&0xC0 + if(temp2 == 0xC0): + temp3 |= 0x00 + elif(temp2 == 0x00): + temp3 |= 0x01 + elif(temp2 == 0x80): + temp3 |= 0x00 + else: #0x40 + temp3 |= 0x01 + temp3 <<= 1 + + temp1 <<= 2 + temp2 = temp1&0xC0 + if(temp2 == 0xC0): + temp3 |= 0x00 + elif(temp2 == 0x00): + temp3 |= 0x01 + elif(temp2 == 0x80): + temp3 |= 0x00 + else: #0x40 + temp3 |= 0x01 + if(j!=1 or k!=1): + temp3 <<= 1 + temp1 <<= 2 + self.send_data(temp3) + + self.TurnOnDisplay_4GRAY() + + def Clear(self): + self.send_command(0x24) + self.send_data2([0xFF] * (int(self.width/8) * self.height)) + + self.send_command(0x26) + self.send_data2([0xFF] * (int(self.width/8) * self.height)) + + self.TurnOnDisplay() + + def sleep(self): + self.send_command(0x10) # DEEP_SLEEP + self.send_data(0x01) + + epdconfig.delay_ms(2000) + epdconfig.module_exit() +### END OF FILE ### diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py index e4a366ca8..c8c8c485c 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.py @@ -126,6 +126,59 @@ def init(self): # EPD hardware init end return 0 + + def init_fast(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + + self.send_command(0X00) #PANNEL SETTING + self.send_data(0x1F) #KW-3f KWR-2F BWROTP 0f BWOTP 1f + + self.send_command(0X50) #VCOM AND DATA INTERVAL SETTING + self.send_data(0x10) + self.send_data(0x07) + + self.send_command(0x04) #POWER ON + epdconfig.delay_ms(100) + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + #Enhanced display drive(Add 0x06 command) + self.send_command(0x06) #Booster Soft Start + self.send_data (0x27) + self.send_data (0x27) + self.send_data (0x18) + self.send_data (0x17) + + self.send_command(0xE0) + self.send_data(0x02) + self.send_command(0xE5) + self.send_data(0x5A) + + # EPD hardware init end + return 0 + + def init_part(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + + self.send_command(0X00) #PANNEL SETTING + self.send_data(0x1F) #KW-3f KWR-2F BWROTP 0f BWOTP 1f + + self.send_command(0x04) #POWER ON + epdconfig.delay_ms(100) + self.ReadBusy() #waiting for the electronic paper IC to release the idle signal + + self.send_command(0xE0) + self.send_data(0x02) + self.send_command(0xE5) + self.send_data(0x6E) + + # EPD hardware init end + return 0 def getbuffer(self, image): img = image @@ -148,6 +201,18 @@ def getbuffer(self, image): return buf def display(self, image): + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + image1 = [0xFF] * int(self.width * self.height / 8) + for j in range(Height): + for i in range(Width): + image1[i + j * Width] = ~image[i + j * Width] + self.send_command(0x10) + self.send_data2(image1) + self.send_command(0x13) self.send_data2(image) @@ -156,11 +221,56 @@ def display(self, image): self.ReadBusy() def Clear(self): - buf = [0x00] * (int(self.width/8) * self.height) self.send_command(0x10) - self.send_data2(buf) + self.send_data2([0xFF] * int(self.width * self.height / 8)) self.send_command(0x13) - self.send_data2(buf) + self.send_data2([0x00] * int(self.width * self.height / 8)) + + self.send_command(0x12) + epdconfig.delay_ms(100) + self.ReadBusy() + + def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): + if((Xstart % 8 + Xend % 8 == 8 & Xstart % 8 > Xend % 8) | Xstart % 8 + Xend % 8 == 0 | (Xend - Xstart)%8 == 0): + Xstart = Xstart // 8 * 8 + Xend = Xend // 8 * 8 + else: + Xstart = Xstart // 8 * 8 + if Xend % 8 == 0: + Xend = Xend // 8 * 8 + else: + Xend = Xend // 8 * 8 + 1 + + Width = (Xend - Xstart) / 8 + Height = Yend - Ystart + + self.send_command(0x50) + self.send_data(0xA9) + self.send_data(0x07) + + self.send_command(0x91) #This command makes the display enter partial mode + self.send_command(0x90) #resolution setting + self.send_data (Xstart//256) + self.send_data (Xstart%256) #x-start + + self.send_data ((Xend-1)//256) + self.send_data ((Xend-1)%256) #x-end + + self.send_data (Ystart//256) # + self.send_data (Ystart%256) #y-start + + self.send_data ((Yend-1)//256) + self.send_data ((Yend-1)%256) #y-end + self.send_data (0x01) + + image1 = [0xFF] * int(self.width * self.height / 8) + for j in range(Height): + for i in range(Width): + image1[i + j * Width] = ~Image[i + j * Width] + + self.send_command(0x13) #Write Black and White image to RAM + self.send_data2(image1) + self.send_command(0x12) epdconfig.delay_ms(100) self.ReadBusy() diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc new file mode 100644 index 000000000..4bb5add73 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py new file mode 100644 index 000000000..fc76158d0 --- /dev/null +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.py @@ -0,0 +1,530 @@ +# ***************************************************************************** +# * | File : epd7in5.py +# * | Author : Waveshare team +# * | Function : Electronic paper driver +# * | Info : +# *---------------- +# * | This version: V4.0 +# * | Date : 2019-06-20 +# # | Info : python demo +# ----------------------------------------------------------------------------- +# 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. +# + + +import logging +from . import epdconfig + +# Display resolution +EPD_WIDTH = 800 +EPD_HEIGHT = 480 + +logger = logging.getLogger(__name__) + +class EPD: + def __init__(self): + self.reset_pin = epdconfig.RST_PIN + self.dc_pin = epdconfig.DC_PIN + self.busy_pin = epdconfig.BUSY_PIN + self.cs_pin = epdconfig.CS_PIN + self.width = EPD_WIDTH + self.height = EPD_HEIGHT + + Voltage_Frame_7IN5_V2 = [ + 0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17, + ] + + LUT_VCOM_7IN5_V2 = [ + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + ] + + LUT_WW_7IN5_V2 = [ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + ] + + LUT_BW_7IN5_V2 = [ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + ] + + LUT_WB_7IN5_V2 = [ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + ] + + LUT_BB_7IN5_V2 = [ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + ] + + Lut_all_fresh=[0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, + #VCOM + 0x00, 0x32, 0x32, 0x00, 0x00, 0x01, + 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, + 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #WW + 0x60, 0x32, 0x32, 0x00, 0x00, 0x01, + 0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, + 0x80, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #BW + 0x60, 0x32, 0x32, 0x00, 0x00, 0x01, + 0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, + 0x80, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #WB + 0x90, 0x32, 0x32, 0x00, 0x00, 0x01, + 0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, + 0x40, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #BB + 0x90, 0x32, 0x32, 0x00, 0x00, 0x01, + 0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, + 0x40, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #Reserved + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, + ] + + Lut_partial=[0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, + #VCOM + 0x00, 0x14, 0x02, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #WW + 0x20, 0x14, 0x02, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #BW + 0x80, 0x14, 0x02, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #WB + 0x40, 0x14, 0x02, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #BB + 0x00, 0x14, 0x02, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + #Reserved + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, + ] + + # Hardware reset + def reset(self): + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(20) + epdconfig.digital_write(self.reset_pin, 0) + epdconfig.delay_ms(2) + epdconfig.digital_write(self.reset_pin, 1) + epdconfig.delay_ms(20) + + def send_command(self, command): + epdconfig.digital_write(self.dc_pin, 0) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([command]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte([data]) + epdconfig.digital_write(self.cs_pin, 1) + + def send_data2(self, data): + epdconfig.digital_write(self.dc_pin, 1) + epdconfig.digital_write(self.cs_pin, 0) + epdconfig.spi_writebyte2(data) + epdconfig.digital_write(self.cs_pin, 1) + + def ReadBusy(self): + logger.debug("e-Paper busy") + self.send_command(0x71) + busy = epdconfig.digital_read(self.busy_pin) + while(busy == 0): + self.send_command(0x71) + busy = epdconfig.digital_read(self.busy_pin) + epdconfig.delay_ms(20) + logger.debug("e-Paper busy release") + + def SetLut(self, lut_vcom, lut_ww, lut_bw, lut_wb, lut_bb): + self.send_command(0x20) + for count in range(0, 42): + self.send_data(lut_vcom[count]) + + self.send_command(0x21) + for count in range(0, 42): + self.send_data(lut_ww[count]) + + self.send_command(0x22) + for count in range(0, 42): + self.send_data(lut_bw[count]) + + self.send_command(0x23) + for count in range(0, 42): + self.send_data(lut_wb[count]) + + self.send_command(0x24) + for count in range(0, 42): + self.send_data(lut_bb[count]) + + def init(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + + # self.send_command(0x06) # btst + # self.send_data(0x17) + # self.send_data(0x17) + # self.send_data(0x28) # If an exception is displayed, try using 0x38 + # self.send_data(0x17) + + # self.send_command(0x01) #POWER SETTING + # self.send_data(0x07) + # self.send_data(0x07) #VGH=20V,VGL=-20V + # self.send_data(0x3f) #VDH=15V + # self.send_data(0x3f) #VDL=-15V + + self.send_command(0x01) # power setting + self.send_data(0x17) # 1-0=11: internal power + self.send_data(self.Voltage_Frame_7IN5_V2[6]) # VGH&VGL + self.send_data(self.Voltage_Frame_7IN5_V2[1]) # VSH + self.send_data(self.Voltage_Frame_7IN5_V2[2]) # VSL + self.send_data(self.Voltage_Frame_7IN5_V2[3]) # VSHR + + self.send_command(0x82) # VCOM DC Setting + self.send_data(self.Voltage_Frame_7IN5_V2[4]) # VCOM + + self.send_command(0x06) # Booster Setting + self.send_data(0x27) + self.send_data(0x27) + self.send_data(0x2F) + self.send_data(0x17) + + self.send_command(0x30) # OSC Setting + self.send_data(self.Voltage_Frame_7IN5_V2[0]) # 3C=50Hz, 3A=100HZ + + self.send_command(0x04) # POWER ON + epdconfig.delay_ms(100) + self.ReadBusy() + + self.send_command(0X00) # PANNEL SETTING + self.send_data(0x3F) # KW-3f KWR-2F BWROTP-0f BWOTP-1f + + self.send_command(0x61) # tres + self.send_data(0x03) # source 800 + self.send_data(0x20) + self.send_data(0x01) # gate 480 + self.send_data(0xE0) + + self.send_command(0X15) + self.send_data(0x00) + + self.send_command(0X50) # VCOM AND DATA INTERVAL SETTING + self.send_data(0x10) + self.send_data(0x07) + + self.send_command(0X60) # TCON SETTING + self.send_data(0x22) + + self.send_command(0x65) # Resolution setting + self.send_data(0x00) + self.send_data(0x00) # 800*480 + self.send_data(0x00) + self.send_data(0x00) + + self.SetLut(self.LUT_VCOM_7IN5_V2, self.LUT_WW_7IN5_V2, self.LUT_BW_7IN5_V2, self.LUT_WB_7IN5_V2, self.LUT_BB_7IN5_V2) + # EPD hardware init end + return 0 + + def Epaper_LUT_By_MCU(self,wavedata): + + VCEND=wavedata[0]&0x08 + BDEND=(wavedata[1]&0xC0)>>6 + EVS=VCEND|BDEND + PLL=(wavedata[0]&0xF0)>>4 + XON=wavedata[2]&0xC0 + + self.send_command(0x52) #EVS + self.send_data(EVS) + + self.send_command(0x30) #PLL setting + self.send_data(PLL) + + self.send_command(0x01) #Set VGH VGL VSH VSL VSHR + self.send_data (0x17) + self.send_data (wavedata[0]&0x07) #VGH/VGL Voltage Level selection + self.send_data (wavedata[1]&0x3F) #VSH for black + self.send_data (wavedata[2]&0x3F) #VSL for white + self.send_data (wavedata[3]&0x3F) #VSHR for red + + self.send_command(0x2A) #LUTOPT + self.send_data(XON) + self.send_data(wavedata[4]) + + self.send_command(0x82) #VCOM_DC setting + self.send_data (wavedata[5]) #Vcom value + + + self.send_command(0x20) + self.send_data2(wavedata[6:48]) + + self.send_command(0x21) + self.send_data2(wavedata[48:90]) + + self.send_command(0x22) + self.send_data2(wavedata[90:132]) + + self.send_command(0x23) + self.send_data2(wavedata[132:174]) + + self.send_command(0x24) + self.send_data2(wavedata[174:216]) + + def init2(self): + if (epdconfig.module_init() != 0): + return -1 + # EPD hardware init start + self.reset() + + self.send_command(0x00) # Panel setting + self.send_data(0x3F) + + self.send_command(0x06) # Booster Setting + self.send_data(0x17) + self.send_data(0x17) + self.send_data(0x28) + self.send_data(0x18) + + self.send_command(0x50) # VCOM and DATA interval setting + self.send_data(0x22) + self.send_data(0x07) + + self.send_command(0x60) # TCON setting + self.send_data(0x22) # S-G G-S + + self.send_command(0x61) # Resolution setting + self.send_data(0x03)#800*480 + self.send_data(0x20) + self.send_data(0x01) + self.send_data(0xE0) + + self.send_command(0x65) # Resolution setting + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + + self.send_command(0x04) #POWER ON + epdconfig.delay_ms(100) + self.ReadBusy() + + return 0 + + def init_fast(self): + self.init2() + self.Epaper_LUT_By_MCU(self.Lut_all_fresh) + return 0 + + + def init_part(self): + self.init2() + self.Epaper_LUT_By_MCU(self.Lut_partial) + return 0 + + + def getbuffer(self, image): + img = image + imwidth, imheight = img.size + if(imwidth == self.width and imheight == self.height): + img = img.convert('1') + elif(imwidth == self.height and imheight == self.width): + # image has correct dimensions, but needs to be rotated + img = img.rotate(90, expand=True).convert('1') + else: + logger.warning("Wrong image dimensions: must be " + str(self.width) + "x" + str(self.height)) + # return a blank buffer + return [0x00] * (int(self.width/8) * self.height) + + buf = bytearray(img.tobytes('raw')) + # The bytes need to be inverted, because in the PIL world 0=black and 1=white, but + # in the e-paper world 0=white and 1=black. + for i in range(len(buf)): + buf[i] ^= 0xFF + return buf + + def display(self, image): + if(self.width % 8 == 0): + Width = self.width // 8 + else: + Width = self.width // 8 +1 + Height = self.height + image1 = [0xFF] * int(self.width * self.height / 8) + for j in range(Height): + for i in range(Width): + image1[i + j * Width] = ~image[i + j * Width] + self.send_command(0x10) + self.send_data2(image1) + + self.send_command(0x13) + self.send_data2(image) + + self.send_command(0x12) + epdconfig.delay_ms(100) + self.ReadBusy() + + def Clear(self): + self.send_command(0x10) + self.send_data2([0xFF] * int(self.width * self.height / 8)) + self.send_command(0x13) + self.send_data2([0x00] * int(self.width * self.height / 8)) + self.send_command(0x12) + epdconfig.delay_ms(100) + self.ReadBusy() + + def display_Partial(self, Image, Xstart, Ystart, Xend, Yend): + if((Xstart % 8 + Xend % 8 == 8 & Xstart % 8 > Xend % 8) | Xstart % 8 + Xend % 8 == 0 | (Xend - Xstart)%8 == 0): + Xstart = Xstart // 8 * 8 + Xend = Xend // 8 * 8 + else: + Xstart = Xstart // 8 * 8 + if Xend % 8 == 0: + Xend = Xend // 8 * 8 + else: + Xend = Xend // 8 * 8 + 1 + + Width = (Xend - Xstart) / 8 + Height = Yend - Ystart + + self.send_command(0x50) + self.send_data(0xA9) + self.send_data(0x07) + + self.send_command(0x91) #This command makes the display enter partial mode + self.send_command(0x90) #resolution setting + self.send_data (Xstart//256) + self.send_data (Xstart%256) #x-start + + self.send_data ((Xend-1)//256) + self.send_data ((Xend-1)%256) #x-end + + self.send_data (Ystart//256) # + self.send_data (Ystart%256) #y-start + + self.send_data ((Yend-1)//256) + self.send_data ((Yend-1)%256) #y-end + self.send_data (0x01) + + image1 = [0xFF] * int(self.width * self.height / 8) + for j in range(Height): + for i in range(Width): + image1[i + j * Width] = ~Image[i + j * Width] + + self.send_command(0x13) #Write Black and White image to RAM + self.send_data2(image1) + + self.send_command(0x12) + epdconfig.delay_ms(100) + self.ReadBusy() + + def sleep(self): + self.send_command(0x02) # POWER_OFF + self.ReadBusy() + + self.send_command(0x07) # DEEP_SLEEP + self.send_data(0XA5) + + epdconfig.delay_ms(2000) + epdconfig.module_exit() +### END OF FILE ### diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc new file mode 100644 index 000000000..c19eeb46e Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd7in5_V2_old.pyc differ diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.py index 60f0d8fb4..d1f512005 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.py @@ -107,7 +107,7 @@ def module_init(self): self.SPI.mode = 0b00 return 0 - def module_exit(self): + def module_exit(self, cleanup=False): logger.debug("spi end") self.SPI.close() @@ -115,14 +115,16 @@ def module_exit(self): self.GPIO_RST_PIN.off() self.GPIO_DC_PIN.off() self.GPIO_PWR_PIN.off() - - self.GPIO_RST_PIN.close() - self.GPIO_DC_PIN.close() - # self.GPIO_CS_PIN.close() - self.GPIO_PWR_PIN.close() - self.GPIO_BUSY_PIN.close() - logger.debug("close 5V, Module enters 0 power consumption ...") + + if cleanup: + self.GPIO_RST_PIN.close() + self.GPIO_DC_PIN.close() + # self.GPIO_CS_PIN.close() + self.GPIO_PWR_PIN.close() + self.GPIO_BUSY_PIN.close() + + @@ -262,7 +264,6 @@ def module_exit(self): self.GPIO.cleanup([self.RST_PIN, self.DC_PIN, self.CS_PIN, self.BUSY_PIN], self.PWR_PIN) - if sys.version_info[0] == 2: process = subprocess.Popen("cat /proc/cpuinfo | grep Raspberry", shell=True, stdout=subprocess.PIPE) else: diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc new file mode 100644 index 000000000..686570728 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyc differ diff --git a/RaspberryPi_JetsonNano/python/pic/2in66g.bmp b/RaspberryPi_JetsonNano/python/pic/2in66g.bmp new file mode 100644 index 000000000..2744d01ba Binary files /dev/null and b/RaspberryPi_JetsonNano/python/pic/2in66g.bmp differ diff --git a/RaspberryPi_JetsonNano/python/pic/4in26_Scale.bmp b/RaspberryPi_JetsonNano/python/pic/4in26_Scale.bmp new file mode 100644 index 000000000..c25945352 Binary files /dev/null and b/RaspberryPi_JetsonNano/python/pic/4in26_Scale.bmp differ diff --git a/RaspberryPi_JetsonNano/python/readme_jetson_CN.txt b/RaspberryPi_JetsonNano/python/readme_jetson_CN.txt index 081908b1e..1d7c92e6e 100644 --- a/RaspberryPi_JetsonNano/python/readme_jetson_CN.txt +++ b/RaspberryPi_JetsonNano/python/readme_jetson_CN.txt @@ -47,10 +47,10 @@ BUSY -> 24 由于本工程是一个综合工程,对于使用而言,你可能需要阅读以下内容: 你可以在examples\目录中查看测试程序 请注意你购买的是哪一款的墨水屏。 -栗子1: +例子1: 如果你购买的5.83inch e-paper,那么你应该执行命令: sudo python epd_5in83_test.py -栗子2: +例子2: 如果你购买的2.9inch e-paper (B),由于2.9寸的B型和C型是公用的驱动代码, 那么你应该执行命令: sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/readme_jetson_EN.txt b/RaspberryPi_JetsonNano/python/readme_jetson_EN.txt index 5f6717978..a01149f36 100644 --- a/RaspberryPi_JetsonNano/python/readme_jetson_EN.txt +++ b/RaspberryPi_JetsonNano/python/readme_jetson_EN.txt @@ -51,10 +51,10 @@ or Since this project is a comprehensive project, you may need to read the following for use: You can view the test program in the examples\ directory. Please note which ink screen you purchased. -Chestnut 1: +Example 1:      If you purchased 5.83inch e-paper, then you should execute the command:      Sudo python epd_5in83_test.py -Chestnut 2: +Example 2:      If you buy a 2.9inch e-paper (B), since the 2.9-inch Type B and Type C are common driver codes,      Then you should execute the command:      Sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/readme_rpi_CN.txt b/RaspberryPi_JetsonNano/python/readme_rpi_CN.txt index 2c2e1b639..dfc96c4b3 100644 --- a/RaspberryPi_JetsonNano/python/readme_rpi_CN.txt +++ b/RaspberryPi_JetsonNano/python/readme_rpi_CN.txt @@ -46,10 +46,10 @@ BUSY -> 24 由于本工程是一个综合工程,对于使用而言,你可能需要阅读以下内容: 你可以在examples\目录中查看测试程序 请注意你购买的是哪一款的墨水屏。 -栗子1: +例子1: 如果你购买的5.83inch e-paper,那么你应该执行命令: sudo python epd_5in83_test.py -栗子2: +例子2: 如果你购买的2.9inch e-paper (B),由于2.9寸的B型和C型是公用的驱动代码, 那么你应该执行命令: sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/readme_rpi_EN.txt b/RaspberryPi_JetsonNano/python/readme_rpi_EN.txt index 20e1890d8..379ef53bf 100644 --- a/RaspberryPi_JetsonNano/python/readme_rpi_EN.txt +++ b/RaspberryPi_JetsonNano/python/readme_rpi_EN.txt @@ -47,10 +47,10 @@ or Since this project is a comprehensive project, you may need to read the following for use: You can view the test program in the examples\ directory. Please note which ink screen you purchased. -Chestnut 1: +Example 1:      If you purchased 5.83inch e-paper, then you should execute the command:      Sudo python epd_5in83_test.py -Chestnut 2: +Example 2:      If you buy a 2.9inch e-paper (B), since the 2.9-inch Type B and Type C are common driver codes,      Then you should execute the command:      Sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/readme_sunrise_CN.txt b/RaspberryPi_JetsonNano/python/readme_sunrise_CN.txt index 179703564..adc47b723 100644 --- a/RaspberryPi_JetsonNano/python/readme_sunrise_CN.txt +++ b/RaspberryPi_JetsonNano/python/readme_sunrise_CN.txt @@ -36,10 +36,10 @@ BUSY -> 24 由于本工程是一个综合工程,对于使用而言,你可能需要阅读以下内容: 你可以在examples\目录中查看测试程序 请注意你购买的是哪一款的墨水屏。 -栗子1: +例子1: 如果你购买的5.83inch e-paper,那么你应该执行命令: sudo python epd_5in83_test.py -栗子2: +例子2: 如果你购买的2.9inch e-paper (B),由于2.9寸的B型和C型是公用的驱动代码, 那么你应该执行命令: sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/readme_sunrise_EN.txt b/RaspberryPi_JetsonNano/python/readme_sunrise_EN.txt index c69d8149f..6b972e2da 100644 --- a/RaspberryPi_JetsonNano/python/readme_sunrise_EN.txt +++ b/RaspberryPi_JetsonNano/python/readme_sunrise_EN.txt @@ -36,10 +36,10 @@ The system has built-in libraries, so you do not need to install them Since this project is a comprehensive project, you may need to read the following for use: You can view the test program in the examples\ directory. Please note which ink screen you purchased. -Chestnut 1: +Example 1:      If you purchased 5.83inch e-paper, then you should execute the command:      Sudo python epd_5in83_test.py -Chestnut 2: +Example 2:      If you buy a 2.9inch e-paper (B), since the 2.9-inch Type B and Type C are common driver codes,      Then you should execute the command:      Sudo python epd_2in9bc_test.py diff --git a/RaspberryPi_JetsonNano/python/setup.py b/RaspberryPi_JetsonNano/python/setup.py index ca1efaa1c..37d998efc 100644 --- a/RaspberryPi_JetsonNano/python/setup.py +++ b/RaspberryPi_JetsonNano/python/setup.py @@ -1,21 +1,9 @@ import sys, os from setuptools import setup -from pathlib import Path -import re dependencies = ['Pillow'] -def is_raspberry_pi(): - # https://raspberrypi.stackexchange.com/a/139704/540 - CPUINFO_PATH = Path("/proc/cpuinfo") - - if not CPUINFO_PATH.exists(): - return False - with open(CPUINFO_PATH) as f: - cpuinfo = f.read() - return re.search(r"^Model\s*:\s*Raspberry Pi", cpuinfo, flags=re.M) is not None - -if is_raspberry_pi(): +if os.path.exists('/sys/bus/platform/drivers/gpiomem-bcm2835'): dependencies += ['RPi.GPIO', 'spidev'] elif os.path.exists('/sys/bus/platform/drivers/gpio-x3'): dependencies += ['Hobot.GPIO', 'spidev'] diff --git a/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in66g_test_STM32F103ZE.dbgconf b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in66g_test_STM32F103ZE.dbgconf new file mode 100644 index 000000000..90dabd803 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in66g_test_STM32F103ZE.dbgconf @@ -0,0 +1,97 @@ +// <<< Use Configuration Wizard in Context Menu >>> +// Debug MCU Configuration +// DBG_SLEEP +// Debug Sleep Mode +// 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled +// 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK +// DBG_STOP +// Debug Stop Mode +// 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks +// 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_STANDBY +// Debug Standby Mode +// 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered. +// 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_IWDG_STOP +// Debug independent watchdog stopped when core is halted +// 0: The watchdog counter clock continues even if the core is halted +// 1: The watchdog counter clock is stopped when the core is halted +// DBG_WWDG_STOP +// Debug window watchdog stopped when core is halted +// 0: The window watchdog counter clock continues even if the core is halted +// 1: The window watchdog counter clock is stopped when the core is halted +// DBG_TIM1_STOP +// Timer 1 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM2_STOP +// Timer 2 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM3_STOP +// Timer 3 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM4_STOP +// Timer 4 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_CAN1_STOP +// Debug CAN1 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN1 receive registers are frozen +// DBG_I2C1_SMBUS_TIMEOUT +// I2C1 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_I2C2_SMBUS_TIMEOUT +// I2C2 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_TIM8_STOP +// Timer 8 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM5_STOP +// Timer 5 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM6_STOP +// Timer 6 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM7_STOP +// Timer 7 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_CAN2_STOP +// Debug CAN2 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN2 receive registers are frozen +// DBG_TIM12_STOP +// Timer 12 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM13_STOP +// Timer 13 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM14_STOP +// Timer 14 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM9_STOP +// Timer 9 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM10_STOP +// Timer 10 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM11_STOP +// Timer 11 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// +DbgMCU_CR = 0x00000007; +// <<< end of configuration section >>> \ No newline at end of file diff --git a/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in9b_V4_test_STM32F103ZE.dbgconf b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in9b_V4_test_STM32F103ZE.dbgconf new file mode 100644 index 000000000..90dabd803 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_2in9b_V4_test_STM32F103ZE.dbgconf @@ -0,0 +1,97 @@ +// <<< Use Configuration Wizard in Context Menu >>> +// Debug MCU Configuration +// DBG_SLEEP +// Debug Sleep Mode +// 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled +// 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK +// DBG_STOP +// Debug Stop Mode +// 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks +// 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_STANDBY +// Debug Standby Mode +// 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered. +// 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_IWDG_STOP +// Debug independent watchdog stopped when core is halted +// 0: The watchdog counter clock continues even if the core is halted +// 1: The watchdog counter clock is stopped when the core is halted +// DBG_WWDG_STOP +// Debug window watchdog stopped when core is halted +// 0: The window watchdog counter clock continues even if the core is halted +// 1: The window watchdog counter clock is stopped when the core is halted +// DBG_TIM1_STOP +// Timer 1 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM2_STOP +// Timer 2 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM3_STOP +// Timer 3 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM4_STOP +// Timer 4 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_CAN1_STOP +// Debug CAN1 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN1 receive registers are frozen +// DBG_I2C1_SMBUS_TIMEOUT +// I2C1 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_I2C2_SMBUS_TIMEOUT +// I2C2 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_TIM8_STOP +// Timer 8 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM5_STOP +// Timer 5 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM6_STOP +// Timer 6 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM7_STOP +// Timer 7 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_CAN2_STOP +// Debug CAN2 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN2 receive registers are frozen +// DBG_TIM12_STOP +// Timer 12 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM13_STOP +// Timer 13 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM14_STOP +// Timer 14 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM9_STOP +// Timer 9 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM10_STOP +// Timer 10 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM11_STOP +// Timer 11 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// +DbgMCU_CR = 0x00000007; +// <<< end of configuration section >>> \ No newline at end of file diff --git a/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_4in26_test_STM32F103ZE.dbgconf b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_4in26_test_STM32F103ZE.dbgconf new file mode 100644 index 000000000..90dabd803 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_4in26_test_STM32F103ZE.dbgconf @@ -0,0 +1,97 @@ +// <<< Use Configuration Wizard in Context Menu >>> +// Debug MCU Configuration +// DBG_SLEEP +// Debug Sleep Mode +// 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled +// 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK +// DBG_STOP +// Debug Stop Mode +// 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks +// 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_STANDBY +// Debug Standby Mode +// 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered. +// 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_IWDG_STOP +// Debug independent watchdog stopped when core is halted +// 0: The watchdog counter clock continues even if the core is halted +// 1: The watchdog counter clock is stopped when the core is halted +// DBG_WWDG_STOP +// Debug window watchdog stopped when core is halted +// 0: The window watchdog counter clock continues even if the core is halted +// 1: The window watchdog counter clock is stopped when the core is halted +// DBG_TIM1_STOP +// Timer 1 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM2_STOP +// Timer 2 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM3_STOP +// Timer 3 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM4_STOP +// Timer 4 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_CAN1_STOP +// Debug CAN1 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN1 receive registers are frozen +// DBG_I2C1_SMBUS_TIMEOUT +// I2C1 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_I2C2_SMBUS_TIMEOUT +// I2C2 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_TIM8_STOP +// Timer 8 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM5_STOP +// Timer 5 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM6_STOP +// Timer 6 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM7_STOP +// Timer 7 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_CAN2_STOP +// Debug CAN2 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN2 receive registers are frozen +// DBG_TIM12_STOP +// Timer 12 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM13_STOP +// Timer 13 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM14_STOP +// Timer 14 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM9_STOP +// Timer 9 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM10_STOP +// Timer 10 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM11_STOP +// Timer 11 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// +DbgMCU_CR = 0x00000007; +// <<< end of configuration section >>> \ No newline at end of file diff --git a/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_7in5_V2_tset_old_STM32F103ZE.dbgconf b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_7in5_V2_tset_old_STM32F103ZE.dbgconf new file mode 100644 index 000000000..90dabd803 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/DebugConfig/EPD_7in5_V2_tset_old_STM32F103ZE.dbgconf @@ -0,0 +1,97 @@ +// <<< Use Configuration Wizard in Context Menu >>> +// Debug MCU Configuration +// DBG_SLEEP +// Debug Sleep Mode +// 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled +// 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK +// DBG_STOP +// Debug Stop Mode +// 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks +// 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_STANDBY +// Debug Standby Mode +// 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered. +// 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active +// DBG_IWDG_STOP +// Debug independent watchdog stopped when core is halted +// 0: The watchdog counter clock continues even if the core is halted +// 1: The watchdog counter clock is stopped when the core is halted +// DBG_WWDG_STOP +// Debug window watchdog stopped when core is halted +// 0: The window watchdog counter clock continues even if the core is halted +// 1: The window watchdog counter clock is stopped when the core is halted +// DBG_TIM1_STOP +// Timer 1 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM2_STOP +// Timer 2 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM3_STOP +// Timer 3 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_TIM4_STOP +// Timer 4 counter stopped when core is halted +// 0: The clock of the involved Timer Counter is fed even if the core is halted +// 1: The clock of the involved Timer counter is stopped when the core is halted +// DBG_CAN1_STOP +// Debug CAN1 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN1 receive registers are frozen +// DBG_I2C1_SMBUS_TIMEOUT +// I2C1 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_I2C2_SMBUS_TIMEOUT +// I2C2 SMBUS timeout mode stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: The SMBUS timeout is frozen +// DBG_TIM8_STOP +// Timer 8 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM5_STOP +// Timer 5 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM6_STOP +// Timer 6 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM7_STOP +// Timer 7 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_CAN2_STOP +// Debug CAN2 stopped when Core is halted +// 0: Same behavior as in normal mode +// 1: CAN2 receive registers are frozen +// DBG_TIM12_STOP +// Timer 12 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM13_STOP +// Timer 13 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM14_STOP +// Timer 14 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM9_STOP +// Timer 9 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM10_STOP +// Timer 10 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// DBG_TIM11_STOP +// Timer 11 counter stopped when core is halted +// 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally. +// 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event). +// +DbgMCU_CR = 0x00000007; +// <<< end of configuration section >>> \ No newline at end of file diff --git a/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in66g_test/RTE_Components.h b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in66g_test/RTE_Components.h new file mode 100644 index 000000000..fc74e7126 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in66g_test/RTE_Components.h @@ -0,0 +1,20 @@ + +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: 'epd-demo' + * Target: 'EPD_2in66g_test' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in9b_V4_test/RTE_Components.h b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in9b_V4_test/RTE_Components.h new file mode 100644 index 000000000..edd87b12b --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_2in9b_V4_test/RTE_Components.h @@ -0,0 +1,20 @@ + +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: 'epd-demo' + * Target: 'EPD_2in9b_V4_test' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_4in26_test/RTE_Components.h b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_4in26_test/RTE_Components.h new file mode 100644 index 000000000..34f66a439 --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_4in26_test/RTE_Components.h @@ -0,0 +1,20 @@ + +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: 'epd-demo' + * Target: 'EPD_4in26_test' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_7in5_V2_tset_old/RTE_Components.h b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_7in5_V2_tset_old/RTE_Components.h new file mode 100644 index 000000000..600af5d9c --- /dev/null +++ b/STM32/STM32-F103ZET6/MDK-ARM/RTE/_EPD_7in5_V2_tset_old/RTE_Components.h @@ -0,0 +1,20 @@ + +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: 'epd-demo' + * Target: 'EPD_7in5_V2_tset_old' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32f10x.h" + + +#endif /* RTE_COMPONENTS_H */ diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.liuyujian b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.liuyujian index 511a61551..e02eb740d 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.liuyujian +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.liuyujian @@ -98,9 +98,9 @@ 0 - 1206 - 2244 - 742 + -7 + 2567 + 1407 @@ -1801,8 +1801,8 @@ 59392 File - 2574 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000000000000100000001000000960000000200205000000000054445425547960000000000000014000544454255470434494E321C457863656564696E6720646973706C617920626F756E6461726965730E5061696E745F4E6577496D61676502563305526573657405736C6565700E73656C662E73656E645F646174611173656C662E73656E645F636F6D6D616E64164550445F32494E39475F56325F5265616442757379480532494E39470B4550445F32494E375F563203636F6D0B4550445F32494E3133563204307866390B6D6561737572654D6F646511495438393531446973706C6179417265610F506C6561736520617070726F61636834506C6561736520617070726F61636820746865652D7061706572206F72207072657373206261636B206B657920746F20657869740B7A6F6F5F3830305F3630300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 + 2529 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000004000000000000000000000000000000000000010000000100000096000000020020500000000007626173656D61709600000000000000140007626173656D6170034E756D0870617274466C6167104550445F4469735F506172745F52414D114550445F4469735F506172745F54696D650D4550445F496E69745F50617274134550445F576869746553637265656E5F414C4C0D4550445F496E69745F46617374055363616C650B5061696E745F436C6561720B5061696E742E496D616765095769647468427974650256330544454255470434494E321C457863656564696E6720646973706C617920626F756E6461726965730E5061696E745F4E6577496D61676505526573657405736C6565700E73656C662E73656E645F646174610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 1423 @@ -1817,8 +1817,8 @@ 59399 Build - 2022 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050330000000F4550445F3133696E336B5F7465737496000000000000003400086570642D64656D6F0F4550445F31696E3032645F746573740E4550445F31696E35345F74657374114550445F31696E35345F56325F746573740F4550445F31696E3534625F74657374124550445F31696E3534625F56325F746573740F4550445F31696E3534635F746573740F4550445F31696E3634675F746573740D4550445F32696E375F74657374104550445F32696E375F56325F746573740E4550445F32696E37625F74657374114550445F32696E37625F56325F746573740D4550445F32696E395F74657374104550445F32696E395F56325F746573740F4550445F32696E3962635F74657374114550445F32696E39625F56335F746573740E4550445F32696E39645F746573740E4550445F32696E31335F74657374114550445F32696E31335F56325F74657374114550445F32696E31335F56335F74657374114550445F32696E31335F56345F74657374104550445F32696E313362635F74657374124550445F32696E3133625F56335F74657374124550445F32696E3133625F56345F746573740F4550445F32696E3133645F746573740F4550445F32696E3133675F746573740F4550445F32696E3336675F746573740E4550445F32696E36365F746573740F4550445F32696E3636625F746573740E4550445F33696E30675F746573740E4550445F33696E35325F746573740D4550445F33696E375F746573740F4550445F34696E3031665F746573740D4550445F34696E325F74657374104550445F34696E325F56325F746573740F4550445F34696E3262635F74657374114550445F34696E32625F56325F746573740F4550445F34696E3337675F746573740F4550445F35696E3635665F746573740E4550445F35696E38335F74657374114550445F35696E38335F56325F74657374104550445F35696E383362635F74657374124550445F35696E3833625F56325F746573740E4550445F37696E33665F746573740E4550445F37696E33675F746573740D4550445F37696E355F74657374104550445F37696E355F56325F74657374104550445F37696E355F48445F746573740F4550445F37696E3562635F74657374114550445F37696E35625F56325F74657374114550445F37696E35625F48445F746573740F4550445F3133696E336B5F74657374000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 2107 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050270000000E4550445F34696E32365F7465737496000000000000003800086570642D64656D6F0F4550445F31696E3032645F746573740E4550445F31696E35345F74657374114550445F31696E35345F56325F746573740F4550445F31696E3534625F74657374124550445F31696E3534625F56325F746573740F4550445F31696E3534635F746573740F4550445F31696E3634675F746573740D4550445F32696E375F74657374104550445F32696E375F56325F746573740E4550445F32696E37625F74657374114550445F32696E37625F56325F746573740D4550445F32696E395F74657374104550445F32696E395F56325F746573740F4550445F32696E3962635F74657374114550445F32696E39625F56335F74657374114550445F32696E39625F56345F746573740E4550445F32696E39645F746573740E4550445F32696E31335F74657374114550445F32696E31335F56325F74657374114550445F32696E31335F56335F74657374114550445F32696E31335F56345F74657374104550445F32696E313362635F74657374124550445F32696E3133625F56335F74657374124550445F32696E3133625F56345F746573740F4550445F32696E3133645F746573740F4550445F32696E3133675F746573740F4550445F32696E3336675F746573740E4550445F32696E36365F746573740F4550445F32696E3636625F746573740F4550445F32696E3636675F746573740E4550445F33696E30675F746573740E4550445F33696E35325F746573740D4550445F33696E375F746573740F4550445F34696E3031665F746573740D4550445F34696E325F74657374104550445F34696E325F56325F746573740F4550445F34696E3262635F74657374114550445F34696E32625F56325F746573740E4550445F34696E32365F746573740F4550445F34696E3337675F746573740F4550445F35696E3635665F746573740E4550445F35696E38335F74657374114550445F35696E38335F56325F74657374104550445F35696E383362635F74657374124550445F35696E3833625F56325F746573740E4550445F37696E33665F746573740E4550445F37696E33675F746573740D4550445F37696E355F74657374104550445F37696E355F56325F74657374144550445F37696E355F56325F747365745F6F6C64104550445F37696E355F48445F746573740F4550445F37696E3562635F74657374114550445F37696E35625F56325F74657374114550445F37696E35625F48445F746573740F4550445F3133696E336B5F7465737400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1834,7 +1834,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx index 87103f655..d18597dd4 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx @@ -3492,7 +3492,7 @@ - EPD_2in9d_test + EPD_2in9b_V4_test 0x4 ARM-ADS @@ -3713,7 +3713,7 @@ - EPD_2in13_test + EPD_2in9d_test 0x4 ARM-ADS @@ -3934,7 +3934,7 @@ - EPD_2in13_V2_test + EPD_2in13_test 0x4 ARM-ADS @@ -4155,7 +4155,7 @@ - EPD_2in13_V3_test + EPD_2in13_V2_test 0x4 ARM-ADS @@ -4376,7 +4376,7 @@ - EPD_2in13_V4_test + EPD_2in13_V3_test 0x4 ARM-ADS @@ -4597,7 +4597,7 @@ - EPD_2in13bc_test + EPD_2in13_V4_test 0x4 ARM-ADS @@ -4818,7 +4818,7 @@ - EPD_2in13b_V3_test + EPD_2in13bc_test 0x4 ARM-ADS @@ -5039,7 +5039,7 @@ - EPD_2in13b_V4_test + EPD_2in13b_V3_test 0x4 ARM-ADS @@ -5260,7 +5260,7 @@ - EPD_2in13d_test + EPD_2in13b_V4_test 0x4 ARM-ADS @@ -5481,7 +5481,7 @@ - EPD_2in13g_test + EPD_2in13d_test 0x4 ARM-ADS @@ -5607,7 +5607,40 @@ -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) - + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
1 @@ -5669,7 +5702,7 @@
- EPD_2in36g_test + EPD_2in13g_test 0x4 ARM-ADS @@ -5795,40 +5828,7 @@ -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) - - - 0 - 0 - 67 - 1 -
134218758
- 0 - 0 - 0 - 0 - 0 - 1 - ../Src/stm32f1xx_it.c - - \\epd_demo\../Src/stm32f1xx_it.c\67 -
- - 1 - 0 - 69 - 1 -
134218764
- 0 - 0 - 0 - 0 - 0 - 1 - ../Src/stm32f1xx_it.c - - \\epd_demo\../Src/stm32f1xx_it.c\69 -
-
+ 1 @@ -5890,7 +5890,7 @@
- EPD_2in66_test + EPD_2in36g_test 0x4 ARM-ADS @@ -6111,7 +6111,7 @@ - EPD_2in66b_test + EPD_2in66_test 0x4 ARM-ADS @@ -6332,7 +6332,7 @@ - EPD_3in0g_test + EPD_2in66b_test 0x4 ARM-ADS @@ -6553,7 +6553,7 @@ - EPD_3in52_test + EPD_2in66g_test 0x4 ARM-ADS @@ -6774,7 +6774,7 @@ - EPD_3in7_test + EPD_3in0g_test 0x4 ARM-ADS @@ -6995,7 +6995,7 @@ - EPD_4in01f_test + EPD_3in52_test 0x4 ARM-ADS @@ -7216,7 +7216,7 @@ - EPD_4in2_test + EPD_3in7_test 0x4 ARM-ADS @@ -7437,7 +7437,7 @@ - EPD_4in2_V2_test + EPD_4in01f_test 0x4 ARM-ADS @@ -7658,7 +7658,7 @@ - EPD_4in2bc_test + EPD_4in2_test 0x4 ARM-ADS @@ -7879,7 +7879,7 @@ - EPD_4in2b_V2_test + EPD_4in2_V2_test 0x4 ARM-ADS @@ -8100,7 +8100,7 @@ - EPD_4in37g_test + EPD_4in2bc_test 0x4 ARM-ADS @@ -8321,7 +8321,7 @@ - EPD_5in65f_test + EPD_4in2b_V2_test 0x4 ARM-ADS @@ -8542,7 +8542,7 @@ - EPD_5in83_test + EPD_4in26_test 0x4 ARM-ADS @@ -8595,7 +8595,7 @@ 1 0 - 0 + 1 18 @@ -8763,7 +8763,7 @@ - EPD_5in83_V2_test + EPD_4in37g_test 0x4 ARM-ADS @@ -8984,7 +8984,7 @@ - EPD_5in83bc_test + EPD_5in65f_test 0x4 ARM-ADS @@ -9205,7 +9205,7 @@ - EPD_5in83b_V2_test + EPD_5in83_test 0x4 ARM-ADS @@ -9426,7 +9426,7 @@ - EPD_7in3f_test + EPD_5in83_V2_test 0x4 ARM-ADS @@ -9552,7 +9552,40 @@ -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) - + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
1 @@ -9614,7 +9647,7 @@
- EPD_7in3g_test + EPD_5in83bc_test 0x4 ARM-ADS @@ -9835,7 +9868,7 @@ - EPD_7in5_test + EPD_5in83b_V2_test 0x4 ARM-ADS @@ -10056,7 +10089,7 @@ - EPD_7in5_V2_test + EPD_7in3f_test 0x4 ARM-ADS @@ -10182,40 +10215,7 @@ -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) - - - 0 - 0 - 67 - 1 -
134218758
- 0 - 0 - 0 - 0 - 0 - 1 - ../Src/stm32f1xx_it.c - - \\epd_demo\../Src/stm32f1xx_it.c\67 -
- - 1 - 0 - 69 - 1 -
134218764
- 0 - 0 - 0 - 0 - 0 - 1 - ../Src/stm32f1xx_it.c - - \\epd_demo\../Src/stm32f1xx_it.c\69 -
-
+ 1 @@ -10277,7 +10277,7 @@
- EPD_7in5_HD_test + EPD_7in3g_test 0x4 ARM-ADS @@ -10498,7 +10498,7 @@ - EPD_7in5bc_test + EPD_7in5_test 0x4 ARM-ADS @@ -10719,7 +10719,7 @@ - EPD_7in5b_V2_test + EPD_7in5_V2_test 0x4 ARM-ADS @@ -10940,7 +10940,7 @@ - EPD_7in5b_HD_test + EPD_7in5_V2_tset_old 0x4 ARM-ADS @@ -11161,7 +11161,7 @@ - EPD_13in3k_test + EPD_7in5_HD_test 0x4 ARM-ADS @@ -11214,7 +11214,7 @@ 1 0 - 1 + 0 18 @@ -11381,50 +11381,934 @@ - - Application/MDK-ARM - 0 - 0 - 0 - 0 - - 1 - 1 - 2 - 0 - 0 - 0 - startup_stm32f103xe.s - startup_stm32f103xe.s - 0 - 0 - - - - - Application/User - 0 - 0 - 0 - 0 - - 2 - 2 - 1 - 0 - 0 - 0 - ../Src/main.c - main.c - 0 - 0 - - - 2 - 3 - 1 - 0 - 0 + + EPD_7in5bc_test + 0x4 + ARM-ADS + + 72000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + 0 + ST-LINKIII-KEIL_SWO + -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
+ + + 1 + 0 + 0x2000A09C + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 10000000 + +
+
+ + + EPD_7in5b_V2_test + 0x4 + ARM-ADS + + 72000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + 0 + ST-LINKIII-KEIL_SWO + -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
+ + + 1 + 0 + 0x2000A09C + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 10000000 + +
+
+ + + EPD_7in5b_HD_test + 0x4 + ARM-ADS + + 72000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + 0 + ST-LINKIII-KEIL_SWO + -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
+ + + 1 + 0 + 0x2000A09C + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 10000000 + +
+
+ + + EPD_13in3k_test + 0x4 + ARM-ADS + + 72000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 0 + + 18 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 6 + + + + + + + + + + + STLink\ST-LINKIII-KEIL_SWO.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + (105=-1,-1,-1,-1,0) + + + 0 + UL2CM3 + -UAny -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + 0 + ST-LINKIII-KEIL_SWO + -U49FF6F066572485414310687 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) + + + + + 0 + 0 + 67 + 1 +
134218758
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\67 +
+ + 1 + 0 + 69 + 1 +
134218764
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Src/stm32f1xx_it.c + + \\epd_demo\../Src/stm32f1xx_it.c\69 +
+
+ + + 1 + 0 + 0x2000A09C + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 0 + 0 + 2 + 10000000 + +
+
+ + + Application/MDK-ARM + 0 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + startup_stm32f103xe.s + startup_stm32f103xe.s + 0 + 0 + + + + + Application/User + 0 + 0 + 0 + 0 + + 2 + 2 + 1 + 0 + 0 + 0 + ../Src/main.c + main.c + 0 + 0 + + + 2 + 3 + 1 + 0 + 0 0 ../Src/gpio.c gpio.c @@ -11698,6 +12582,18 @@ 0 0 0 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9b_V4_test.c + 0 + 0 + + + 3 + 26 + 1 + 0 + 0 + 0 ..\User\Examples\EPD_2in9d_test.c EPD_2in9d_test.c 0 @@ -11705,7 +12601,7 @@ 3 - 26 + 27 1 0 0 @@ -11717,7 +12613,7 @@ 3 - 27 + 28 1 0 0 @@ -11729,7 +12625,7 @@ 3 - 28 + 29 1 0 0 @@ -11741,7 +12637,7 @@ 3 - 29 + 30 1 0 0 @@ -11753,7 +12649,7 @@ 3 - 30 + 31 1 0 0 @@ -11765,7 +12661,7 @@ 3 - 31 + 32 1 0 0 @@ -11777,7 +12673,7 @@ 3 - 32 + 33 1 0 0 @@ -11789,7 +12685,7 @@ 3 - 33 + 34 1 0 0 @@ -11801,7 +12697,7 @@ 3 - 34 + 35 1 0 0 @@ -11813,7 +12709,7 @@ 3 - 35 + 36 1 0 0 @@ -11825,7 +12721,7 @@ 3 - 36 + 37 1 0 0 @@ -11837,7 +12733,7 @@ 3 - 37 + 38 1 0 0 @@ -11849,7 +12745,19 @@ 3 - 38 + 39 + 1 + 0 + 0 + 0 + ..\User\Examples\EPD_2in66g_test.c + EPD_2in66g_test.c + 0 + 0 + + + 3 + 40 1 0 0 @@ -11861,7 +12769,7 @@ 3 - 39 + 41 1 0 0 @@ -11873,7 +12781,7 @@ 3 - 40 + 42 1 0 0 @@ -11885,7 +12793,7 @@ 3 - 41 + 43 1 0 0 @@ -11897,7 +12805,7 @@ 3 - 42 + 44 1 0 0 @@ -11909,7 +12817,7 @@ 3 - 43 + 45 1 0 0 @@ -11921,7 +12829,7 @@ 3 - 44 + 46 1 0 0 @@ -11933,7 +12841,7 @@ 3 - 45 + 47 1 0 0 @@ -11945,7 +12853,19 @@ 3 - 46 + 48 + 1 + 0 + 0 + 0 + ..\User\Examples\EPD_4in26_test.c + EPD_4in26_test.c + 0 + 0 + + + 3 + 49 1 0 0 @@ -11957,7 +12877,7 @@ 3 - 47 + 50 1 0 0 @@ -11969,7 +12889,7 @@ 3 - 48 + 51 1 0 0 @@ -11981,7 +12901,7 @@ 3 - 49 + 52 1 0 0 @@ -11993,7 +12913,7 @@ 3 - 50 + 53 1 0 0 @@ -12005,7 +12925,7 @@ 3 - 51 + 54 1 0 0 @@ -12017,7 +12937,7 @@ 3 - 52 + 55 1 0 0 @@ -12029,7 +12949,7 @@ 3 - 53 + 56 1 0 0 @@ -12041,7 +12961,7 @@ 3 - 54 + 57 1 0 0 @@ -12053,7 +12973,7 @@ 3 - 55 + 58 1 0 0 @@ -12065,7 +12985,19 @@ 3 - 56 + 59 + 1 + 0 + 0 + 0 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_V2_test_old.c + 0 + 0 + + + 3 + 60 1 0 0 @@ -12077,7 +13009,7 @@ 3 - 57 + 61 1 0 0 @@ -12089,7 +13021,7 @@ 3 - 58 + 62 1 0 0 @@ -12101,7 +13033,7 @@ 3 - 59 + 63 1 0 0 @@ -12113,7 +13045,7 @@ 3 - 60 + 64 1 0 0 @@ -12127,13 +13059,13 @@ e-Paper - 0 + 1 0 0 0 4 - 61 + 65 1 0 0 @@ -12145,7 +13077,7 @@ 4 - 62 + 66 1 0 0 @@ -12157,7 +13089,7 @@ 4 - 63 + 67 1 0 0 @@ -12169,7 +13101,7 @@ 4 - 64 + 68 1 0 0 @@ -12181,7 +13113,7 @@ 4 - 65 + 69 1 0 0 @@ -12193,7 +13125,7 @@ 4 - 66 + 70 1 0 0 @@ -12205,7 +13137,7 @@ 4 - 67 + 71 1 0 0 @@ -12217,7 +13149,7 @@ 4 - 68 + 72 1 0 0 @@ -12229,7 +13161,7 @@ 4 - 69 + 73 1 0 0 @@ -12241,7 +13173,7 @@ 4 - 70 + 74 1 0 0 @@ -12253,7 +13185,7 @@ 4 - 71 + 75 1 0 0 @@ -12265,7 +13197,7 @@ 4 - 72 + 76 1 0 0 @@ -12277,7 +13209,7 @@ 4 - 73 + 77 1 0 0 @@ -12289,7 +13221,7 @@ 4 - 74 + 78 1 0 0 @@ -12301,7 +13233,7 @@ 4 - 75 + 79 1 0 0 @@ -12313,7 +13245,19 @@ 4 - 76 + 80 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9b_V4.c + 0 + 0 + + + 4 + 81 1 0 0 @@ -12325,7 +13269,7 @@ 4 - 77 + 82 1 0 0 @@ -12337,7 +13281,7 @@ 4 - 78 + 83 1 0 0 @@ -12349,7 +13293,7 @@ 4 - 79 + 84 1 0 0 @@ -12361,7 +13305,7 @@ 4 - 80 + 85 1 0 0 @@ -12373,7 +13317,7 @@ 4 - 81 + 86 1 0 0 @@ -12385,7 +13329,7 @@ 4 - 82 + 87 1 0 0 @@ -12397,7 +13341,7 @@ 4 - 83 + 88 1 0 0 @@ -12409,7 +13353,7 @@ 4 - 84 + 89 1 0 0 @@ -12421,7 +13365,7 @@ 4 - 85 + 90 1 0 0 @@ -12433,7 +13377,7 @@ 4 - 86 + 91 1 0 0 @@ -12445,7 +13389,7 @@ 4 - 87 + 92 1 0 0 @@ -12457,7 +13401,7 @@ 4 - 88 + 93 1 0 0 @@ -12469,7 +13413,19 @@ 4 - 89 + 94 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_2in66g.c + EPD_2in66g.c + 0 + 0 + + + 4 + 95 1 0 0 @@ -12481,7 +13437,7 @@ 4 - 90 + 96 1 0 0 @@ -12493,7 +13449,7 @@ 4 - 91 + 97 1 0 0 @@ -12505,7 +13461,7 @@ 4 - 92 + 98 1 0 0 @@ -12517,7 +13473,7 @@ 4 - 93 + 99 1 0 0 @@ -12529,7 +13485,7 @@ 4 - 94 + 100 1 0 0 @@ -12541,7 +13497,19 @@ 4 - 95 + 101 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_4in26.c + EPD_4in26.c + 0 + 0 + + + 4 + 102 1 0 0 @@ -12553,7 +13521,7 @@ 4 - 96 + 103 1 0 0 @@ -12565,7 +13533,7 @@ 4 - 97 + 104 1 0 0 @@ -12577,7 +13545,7 @@ 4 - 98 + 105 1 0 0 @@ -12589,7 +13557,7 @@ 4 - 99 + 106 1 0 0 @@ -12601,7 +13569,7 @@ 4 - 100 + 107 1 0 0 @@ -12613,7 +13581,7 @@ 4 - 101 + 108 1 0 0 @@ -12625,7 +13593,7 @@ 4 - 102 + 109 1 0 0 @@ -12637,7 +13605,7 @@ 4 - 103 + 110 1 0 0 @@ -12649,7 +13617,7 @@ 4 - 104 + 111 1 0 0 @@ -12661,7 +13629,7 @@ 4 - 105 + 112 1 0 0 @@ -12673,7 +13641,7 @@ 4 - 106 + 113 1 0 0 @@ -12685,7 +13653,19 @@ 4 - 107 + 114 + 1 + 0 + 0 + 0 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_V2_old.c + 0 + 0 + + + 4 + 115 1 0 0 @@ -12697,7 +13677,7 @@ 4 - 108 + 116 1 0 0 @@ -12709,7 +13689,7 @@ 4 - 109 + 117 1 0 0 @@ -12721,7 +13701,7 @@ 4 - 110 + 118 1 0 0 @@ -12733,7 +13713,7 @@ 4 - 111 + 119 1 0 0 @@ -12753,7 +13733,7 @@ 0 5 - 112 + 120 1 0 0 @@ -12773,7 +13753,7 @@ 0 6 - 113 + 121 1 0 0 @@ -12793,7 +13773,7 @@ 0 7 - 114 + 122 1 0 0 @@ -12805,7 +13785,7 @@ 7 - 115 + 123 1 0 0 @@ -12817,7 +13797,7 @@ 7 - 116 + 124 1 0 0 @@ -12829,7 +13809,7 @@ 7 - 117 + 125 1 0 0 @@ -12841,7 +13821,7 @@ 7 - 118 + 126 1 0 0 @@ -12853,7 +13833,7 @@ 7 - 119 + 127 1 0 0 @@ -12865,7 +13845,7 @@ 7 - 120 + 128 1 0 0 @@ -12885,7 +13865,7 @@ 0 8 - 121 + 129 5 0 0 @@ -12897,7 +13877,7 @@ 8 - 122 + 130 5 0 0 @@ -12911,13 +13891,13 @@ Drivers/CMSIS - 0 + 1 0 0 0 9 - 123 + 131 1 0 0 @@ -12937,7 +13917,7 @@ 0 10 - 124 + 132 1 0 0 @@ -12949,7 +13929,7 @@ 10 - 125 + 133 1 0 0 @@ -12961,7 +13941,7 @@ 10 - 126 + 134 1 0 0 @@ -12973,7 +13953,7 @@ 10 - 127 + 135 1 0 0 @@ -12985,7 +13965,7 @@ 10 - 128 + 136 1 0 0 @@ -12997,7 +13977,7 @@ 10 - 129 + 137 1 0 0 @@ -13009,7 +13989,7 @@ 10 - 130 + 138 1 0 0 @@ -13021,7 +14001,7 @@ 10 - 131 + 139 1 0 0 @@ -13033,7 +14013,7 @@ 10 - 132 + 140 1 0 0 @@ -13045,7 +14025,7 @@ 10 - 133 + 141 1 0 0 @@ -13057,7 +14037,7 @@ 10 - 134 + 142 1 0 0 @@ -13069,7 +14049,7 @@ 10 - 135 + 143 1 0 0 @@ -13081,7 +14061,7 @@ 10 - 136 + 144 1 0 0 @@ -13093,7 +14073,7 @@ 10 - 137 + 145 1 0 0 @@ -13105,7 +14085,7 @@ 10 - 138 + 146 1 0 0 diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx index eb52c5f35..b8e88bdde 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx @@ -1295,6 +1295,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -1921,6 +1926,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -2318,6 +2328,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -2827,6 +2842,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -3919,6 +3939,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -4545,6 +4570,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -4830,6 +4860,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -5451,6 +5486,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -8197,6 +8237,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -8823,6 +8868,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -9220,6 +9270,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -9729,6 +9784,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -10821,6 +10881,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -11447,6 +11512,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -11732,6 +11802,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -12353,6 +12428,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -14334,6 +14414,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -14960,6 +15045,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -15357,6 +15447,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -15866,6 +15961,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -16958,6 +17058,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -17584,6 +17689,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -17869,6 +17979,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -18490,6 +18605,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -20471,6 +20591,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -21097,6 +21222,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -21494,6 +21624,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -22003,6 +22138,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -23095,6 +23235,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -23721,6 +23866,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -24006,6 +24156,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -24627,6 +24782,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -26608,6 +26768,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -27234,6 +27399,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -27631,6 +27801,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -28140,6 +28315,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -29232,6 +29412,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -29858,6 +30043,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -30143,6 +30333,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -30764,6 +30959,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -32745,6 +32945,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -33371,6 +33576,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -33768,6 +33978,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -34277,6 +34492,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -35369,6 +35589,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -35995,6 +36220,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -36280,6 +36510,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -36901,6 +37136,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -38882,6 +39122,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -39508,6 +39753,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -39905,6 +40155,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -40414,6 +40669,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -41506,6 +41766,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -42132,6 +42397,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -42417,6 +42687,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -43038,6 +43313,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -45019,6 +45299,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -45645,6 +45930,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -46042,6 +46332,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -46551,6 +46846,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -47643,6 +47943,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -48269,6 +48574,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -48554,6 +48864,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -49175,6 +49490,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -51156,6 +51476,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -51782,6 +52107,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -52179,6 +52509,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -52688,6 +53023,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -53780,6 +54120,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -54406,6 +54751,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -54691,6 +55041,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -55312,6 +55667,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -57293,6 +57653,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -57919,6 +58284,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -58316,6 +58686,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -58825,6 +59200,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -59968,6 +60348,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -60594,6 +60979,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -60879,6 +61269,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -61500,6 +61895,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -63412,6 +63812,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -64038,6 +64443,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -64435,6 +64845,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -64944,6 +65359,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -66036,6 +66456,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -66662,6 +67087,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -66947,6 +67377,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -67568,6 +68003,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -69549,6 +69989,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -70175,6 +70620,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -70572,6 +71022,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -71081,6 +71536,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -72173,6 +72633,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -72799,6 +73264,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -73084,6 +73554,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -73705,6 +74180,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -75686,6 +76166,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -76312,6 +76797,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -76709,6 +77199,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -77218,6 +77713,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -78310,6 +78810,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -78936,6 +79441,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -79221,6 +79731,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -79842,6 +80357,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -81823,6 +82343,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -82449,6 +82974,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -82846,6 +83376,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -83355,6 +83890,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -84447,6 +84987,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -85073,6 +85618,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -85358,6 +85908,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -85979,6 +86534,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -87960,6 +88520,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -88586,6 +89151,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -88983,6 +89553,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -89492,6 +90067,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -90584,6 +91164,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -91210,6 +91795,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -91495,6 +92085,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -92116,6 +92711,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -94097,6 +94697,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -94723,6 +95328,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -95120,6 +95730,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -95629,6 +96244,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -96721,6 +97341,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -97347,6 +97972,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -97632,6 +98262,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -98253,6 +98888,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -98844,7 +99484,7 @@ - EPD_2in9d_test + EPD_2in9b_V4_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -99152,7 +99792,7 @@ 4 0 0 - 0 + 1 0 0 0 @@ -99393,57 +100033,6 @@ ImageData2.c 1 ..\User\Examples\ImageData2.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - EPD_1in02_test.c @@ -100235,9 +100824,9 @@ - EPD_2in9d_test.c + EPD_2in9b_V4_test.c 1 - ..\User\Examples\EPD_2in9d_test.c + ..\User\Examples\EPD_2in9b_V4_test.c 2 @@ -100291,9 +100880,9 @@ - EPD_2in13_test.c + EPD_2in9d_test.c 1 - ..\User\Examples\EPD_2in13_test.c + ..\User\Examples\EPD_2in9d_test.c 2 @@ -100347,9 +100936,9 @@ - EPD_2in13_V2_test.c + EPD_2in13_test.c 1 - ..\User\Examples\EPD_2in13_V2_test.c + ..\User\Examples\EPD_2in13_test.c 2 @@ -100403,9 +100992,9 @@ - EPD_2in13_V3_test.c + EPD_2in13_V2_test.c 1 - ..\User\Examples\EPD_2in13_V3_test.c + ..\User\Examples\EPD_2in13_V2_test.c 2 @@ -100459,14 +101048,9 @@ - EPD_2in13_V4_test.c - 1 - ..\User\Examples\EPD_2in13_V4_test.c - - - EPD_2in13b_V3_test.c + EPD_2in13_V3_test.c 1 - ..\User\Examples\EPD_2in13b_V3_test.c + ..\User\Examples\EPD_2in13_V3_test.c 2 @@ -100520,9 +101104,14 @@ - EPD_2in13b_V4_test.c + EPD_2in13_V4_test.c 1 - ..\User\Examples\EPD_2in13b_V4_test.c + ..\User\Examples\EPD_2in13_V4_test.c + + + EPD_2in13b_V3_test.c + 1 + ..\User\Examples\EPD_2in13b_V3_test.c 2 @@ -100576,9 +101165,9 @@ - EPD_2in13bc_test.c + EPD_2in13b_V4_test.c 1 - ..\User\Examples\EPD_2in13bc_test.c + ..\User\Examples\EPD_2in13b_V4_test.c 2 @@ -100632,9 +101221,9 @@ - EPD_2in13d_test.c + EPD_2in13bc_test.c 1 - ..\User\Examples\EPD_2in13d_test.c + ..\User\Examples\EPD_2in13bc_test.c 2 @@ -100688,14 +101277,9 @@ - EPD_2in13g_test.c - 1 - ..\User\Examples\EPD_2in13g_test.c - - - EPD_2in36g_test.c + EPD_2in13d_test.c 1 - ..\User\Examples\EPD_2in36g_test.c + ..\User\Examples\EPD_2in13d_test.c 2 @@ -100749,9 +101333,14 @@ - EPD_2in66_test.c + EPD_2in13g_test.c 1 - ..\User\Examples\EPD_2in66_test.c + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c 2 @@ -100805,9 +101394,9 @@ - EPD_2in66b_test.c + EPD_2in66_test.c 1 - ..\User\Examples\EPD_2in66b_test.c + ..\User\Examples\EPD_2in66_test.c 2 @@ -100861,9 +101450,9 @@ - EPD_3in0g_test.c + EPD_2in66b_test.c 1 - ..\User\Examples\EPD_3in0g_test.c + ..\User\Examples\EPD_2in66b_test.c 2 @@ -100917,9 +101506,14 @@ - EPD_3in52_test.c + EPD_2in66g_test.c 1 - ..\User\Examples\EPD_3in52_test.c + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c 2 @@ -100973,9 +101567,65 @@ - EPD_3in7_test.c + EPD_3in52_test.c 1 - ..\User\Examples\EPD_3in7_test.c + ..\User\Examples\EPD_3in52_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7_test.c + 1 + ..\User\Examples\EPD_3in7_test.c 2 @@ -101257,6 +101907,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -101766,6 +102421,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -102858,6 +103518,62 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + EPD_2in9d.c 1 @@ -102869,7 +103585,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -103484,6 +104200,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -103769,6 +104490,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -104390,6 +105116,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -104981,7 +105712,7 @@ - EPD_2in13_test + EPD_2in9d_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -106371,6 +107102,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -106382,7 +107118,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -106438,7 +107174,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -106997,6 +107733,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -107394,6 +108135,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -107903,6 +108649,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -108996,65 +109747,14 @@ - EPD_2in9d.c + EPD_2in9b_V4.c 1 - ..\User\e-Paper\EPD_2in9d.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\e-Paper\EPD_2in9b_V4.c - EPD_2in13.c + EPD_2in9d.c 1 - ..\User\e-Paper\EPD_2in13.c + ..\User\e-Paper\EPD_2in9d.c 2 @@ -109108,62 +109808,118 @@ - EPD_2in13_V2.c - 1 - ..\User\e-Paper\EPD_2in13_V2.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - + EPD_2in13.c + 1 + ..\User\e-Paper\EPD_2in13.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2.c + 1 + ..\User\e-Paper\EPD_2in13_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + EPD_2in13_V3.c 1 ..\User\e-Paper\EPD_2in13_V3.c @@ -109621,6 +110377,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -109906,6 +110667,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -110527,6 +111293,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -111118,7 +111889,7 @@ - EPD_2in13_V2_test + EPD_2in13_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -112508,6 +113279,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -112575,7 +113351,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -112631,7 +113407,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -113134,6 +113910,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -113531,6 +114312,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -114040,6 +114826,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -115132,6 +115923,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -115199,7 +115995,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -115255,7 +116051,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -115758,6 +116554,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -116043,6 +116844,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -116664,6 +117470,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -117255,7 +118066,7 @@ - EPD_2in13_V3_test + EPD_2in13_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -118645,6 +119456,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -118768,7 +119584,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -118824,7 +119640,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -119271,6 +120087,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -119668,6 +120489,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -120177,6 +121003,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -121269,6 +122100,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -121392,7 +122228,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -121448,7 +122284,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -121895,6 +122731,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -122180,6 +123021,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -122801,6 +123647,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -123392,7 +124243,7 @@ - EPD_2in13_V4_test + EPD_2in13_V3_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -124618,11 +125469,6 @@ EPD_2in9_V2_test.c 1 ..\User\Examples\EPD_2in9_V2_test.c - - - EPD_2in9bc_test.c - 1 - ..\User\Examples\EPD_2in9bc_test.c 2 @@ -124676,9 +125522,9 @@ - EPD_2in9b_V3_test.c + EPD_2in9bc_test.c 1 - ..\User\Examples\EPD_2in9b_V3_test.c + ..\User\Examples\EPD_2in9bc_test.c 2 @@ -124732,9 +125578,9 @@ - EPD_2in9d_test.c + EPD_2in9b_V3_test.c 1 - ..\User\Examples\EPD_2in9d_test.c + ..\User\Examples\EPD_2in9b_V3_test.c 2 @@ -124788,9 +125634,14 @@ - EPD_2in13_test.c + EPD_2in9b_V4_test.c 1 - ..\User\Examples\EPD_2in13_test.c + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c 2 @@ -124844,9 +125695,9 @@ - EPD_2in13_V2_test.c + EPD_2in13_test.c 1 - ..\User\Examples\EPD_2in13_V2_test.c + ..\User\Examples\EPD_2in13_test.c 2 @@ -124900,9 +125751,9 @@ - EPD_2in13_V3_test.c + EPD_2in13_V2_test.c 1 - ..\User\Examples\EPD_2in13_V3_test.c + ..\User\Examples\EPD_2in13_V2_test.c 2 @@ -124956,9 +125807,9 @@ - EPD_2in13_V4_test.c + EPD_2in13_V3_test.c 1 - ..\User\Examples\EPD_2in13_V4_test.c + ..\User\Examples\EPD_2in13_V3_test.c 2 @@ -125011,6 +125862,11 @@ + + EPD_2in13_V4_test.c + 1 + ..\User\Examples\EPD_2in13_V4_test.c + EPD_2in13b_V3_test.c 1 @@ -125408,6 +126264,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -125805,6 +126666,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -126314,6 +127180,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -127242,11 +128113,6 @@ EPD_2in9_V2.c 1 ..\User\e-Paper\EPD_2in9_V2.c - - - EPD_2in9bc.c - 1 - ..\User\e-Paper\EPD_2in9bc.c 2 @@ -127300,9 +128166,9 @@ - EPD_2in9b_V3.c + EPD_2in9bc.c 1 - ..\User\e-Paper\EPD_2in9b_V3.c + ..\User\e-Paper\EPD_2in9bc.c 2 @@ -127356,9 +128222,9 @@ - EPD_2in9d.c + EPD_2in9b_V3.c 1 - ..\User\e-Paper\EPD_2in9d.c + ..\User\e-Paper\EPD_2in9b_V3.c 2 @@ -127412,9 +128278,14 @@ - EPD_2in13.c + EPD_2in9b_V4.c 1 - ..\User\e-Paper\EPD_2in13.c + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c 2 @@ -127468,9 +128339,9 @@ - EPD_2in13_V2.c + EPD_2in13.c 1 - ..\User\e-Paper\EPD_2in13_V2.c + ..\User\e-Paper\EPD_2in13.c 2 @@ -127524,9 +128395,9 @@ - EPD_2in13_V3.c + EPD_2in13_V2.c 1 - ..\User\e-Paper\EPD_2in13_V3.c + ..\User\e-Paper\EPD_2in13_V2.c 2 @@ -127580,9 +128451,9 @@ - EPD_2in13_V4.c + EPD_2in13_V3.c 1 - ..\User\e-Paper\EPD_2in13_V4.c + ..\User\e-Paper\EPD_2in13_V3.c 2 @@ -127635,6 +128506,11 @@ + + EPD_2in13_V4.c + 1 + ..\User\e-Paper\EPD_2in13_V4.c + EPD_2in13bc.c 1 @@ -128032,6 +128908,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -128317,6 +129198,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -128938,6 +129824,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -129529,7 +130420,7 @@ - EPD_2in13bc_test + EPD_2in13_V4_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -130755,6 +131646,11 @@ EPD_2in9_V2_test.c 1 ..\User\Examples\EPD_2in9_V2_test.c + + + EPD_2in9bc_test.c + 1 + ..\User\Examples\EPD_2in9bc_test.c 2 @@ -130808,9 +131704,9 @@ - EPD_2in9bc_test.c + EPD_2in9b_V3_test.c 1 - ..\User\Examples\EPD_2in9bc_test.c + ..\User\Examples\EPD_2in9b_V3_test.c 2 @@ -130864,9 +131760,14 @@ - EPD_2in9b_V3_test.c + EPD_2in9b_V4_test.c 1 - ..\User\Examples\EPD_2in9b_V3_test.c + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c 2 @@ -130920,9 +131821,9 @@ - EPD_2in9d_test.c + EPD_2in13_test.c 1 - ..\User\Examples\EPD_2in9d_test.c + ..\User\Examples\EPD_2in13_test.c 2 @@ -130976,9 +131877,9 @@ - EPD_2in13_test.c + EPD_2in13_V2_test.c 1 - ..\User\Examples\EPD_2in13_test.c + ..\User\Examples\EPD_2in13_V2_test.c 2 @@ -131032,9 +131933,9 @@ - EPD_2in13_V2_test.c + EPD_2in13_V3_test.c 1 - ..\User\Examples\EPD_2in13_V2_test.c + ..\User\Examples\EPD_2in13_V3_test.c 2 @@ -131088,9 +131989,9 @@ - EPD_2in13_V3_test.c + EPD_2in13_V4_test.c 1 - ..\User\Examples\EPD_2in13_V3_test.c + ..\User\Examples\EPD_2in13_V4_test.c 2 @@ -131098,7 +131999,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -131143,11 +132044,6 @@ - - EPD_2in13_V4_test.c - 1 - ..\User\Examples\EPD_2in13_V4_test.c - EPD_2in13b_V3_test.c 1 @@ -131271,7 +132167,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -131545,6 +132441,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -131942,6 +132843,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -132451,6 +133357,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -133379,6 +134290,11 @@ EPD_2in9_V2.c 1 ..\User\e-Paper\EPD_2in9_V2.c + + + EPD_2in9bc.c + 1 + ..\User\e-Paper\EPD_2in9bc.c 2 @@ -133432,9 +134348,9 @@ - EPD_2in9bc.c + EPD_2in9b_V3.c 1 - ..\User\e-Paper\EPD_2in9bc.c + ..\User\e-Paper\EPD_2in9b_V3.c 2 @@ -133488,9 +134404,14 @@ - EPD_2in9b_V3.c + EPD_2in9b_V4.c 1 - ..\User\e-Paper\EPD_2in9b_V3.c + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c 2 @@ -133544,9 +134465,9 @@ - EPD_2in9d.c + EPD_2in13.c 1 - ..\User\e-Paper\EPD_2in9d.c + ..\User\e-Paper\EPD_2in13.c 2 @@ -133600,9 +134521,9 @@ - EPD_2in13.c + EPD_2in13_V2.c 1 - ..\User\e-Paper\EPD_2in13.c + ..\User\e-Paper\EPD_2in13_V2.c 2 @@ -133656,9 +134577,9 @@ - EPD_2in13_V2.c + EPD_2in13_V3.c 1 - ..\User\e-Paper\EPD_2in13_V2.c + ..\User\e-Paper\EPD_2in13_V3.c 2 @@ -133712,9 +134633,9 @@ - EPD_2in13_V3.c + EPD_2in13_V4.c 1 - ..\User\e-Paper\EPD_2in13_V3.c + ..\User\e-Paper\EPD_2in13_V4.c 2 @@ -133722,7 +134643,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -133767,11 +134688,6 @@ - - EPD_2in13_V4.c - 1 - ..\User\e-Paper\EPD_2in13_V4.c - EPD_2in13bc.c 1 @@ -133783,7 +134699,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -134169,6 +135085,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -134454,6 +135375,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -135075,6 +136001,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -135666,7 +136597,7 @@ - EPD_2in13b_V3_test + EPD_2in13bc_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -137056,6 +137987,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -137296,7 +138232,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -137408,7 +138344,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -137682,6 +138618,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -138079,6 +139020,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -138588,6 +139534,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -139680,6 +140631,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -139920,7 +140876,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -139976,7 +140932,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -140306,6 +141262,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -140591,6 +141552,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -141212,6 +142178,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -141803,7 +142774,7 @@ - EPD_2in13b_V4_test + EPD_2in13b_V3_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -142303,7 +143274,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -142359,7 +143330,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -143193,6 +144164,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -143433,7 +144409,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -143489,7 +144465,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -143819,6 +144795,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -144216,6 +145197,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -144725,6 +145711,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -145817,6 +146808,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -146113,7 +147109,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -146169,7 +147165,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -146443,6 +147439,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -146728,6 +147729,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -147349,6 +148355,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -147940,7 +148951,7 @@ - EPD_2in13d_test + EPD_2in13b_V4_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -148440,7 +149451,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -148496,7 +149507,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -149330,6 +150341,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -149626,7 +150642,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -149738,7 +150754,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -149956,6 +150972,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -150353,6 +151374,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -150862,6 +151888,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -151954,6 +152985,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -152306,7 +153342,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -152362,7 +153398,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -152580,6 +153616,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -152865,6 +153906,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -153486,6 +154532,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -154077,7 +155128,7 @@ - EPD_2in13g_test + EPD_2in13d_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -154570,11 +155621,6 @@ ImageData.c 1 ..\User\Examples\ImageData.c - - - ImageData2.c - 1 - ..\User\Examples\ImageData2.c 2 @@ -154628,9 +155674,9 @@ - EPD_1in02_test.c + ImageData2.c 1 - ..\User\Examples\EPD_1in02_test.c + ..\User\Examples\ImageData2.c 2 @@ -154684,9 +155730,9 @@ - EPD_1in54_test.c + EPD_1in02_test.c 1 - ..\User\Examples\EPD_1in54_test.c + ..\User\Examples\EPD_1in02_test.c 2 @@ -154740,9 +155786,9 @@ - EPD_1in54_V2_test.c + EPD_1in54_test.c 1 - ..\User\Examples\EPD_1in54_V2_test.c + ..\User\Examples\EPD_1in54_test.c 2 @@ -154796,9 +155842,9 @@ - EPD_1in54b_test.c + EPD_1in54_V2_test.c 1 - ..\User\Examples\EPD_1in54b_test.c + ..\User\Examples\EPD_1in54_V2_test.c 2 @@ -154852,9 +155898,9 @@ - EPD_1in54b_V2_test.c + EPD_1in54b_test.c 1 - ..\User\Examples\EPD_1in54b_V2_test.c + ..\User\Examples\EPD_1in54b_test.c 2 @@ -154908,9 +155954,9 @@ - EPD_1in54c_test.c + EPD_1in54b_V2_test.c 1 - ..\User\Examples\EPD_1in54c_test.c + ..\User\Examples\EPD_1in54b_V2_test.c 2 @@ -154964,9 +156010,9 @@ - EPD_1in64g_test.c + EPD_1in54c_test.c 1 - ..\User\Examples\EPD_1in64g_test.c + ..\User\Examples\EPD_1in54c_test.c 2 @@ -155020,9 +156066,9 @@ - EPD_2in7_test.c + EPD_1in64g_test.c 1 - ..\User\Examples\EPD_2in7_test.c + ..\User\Examples\EPD_1in64g_test.c 2 @@ -155076,14 +156122,9 @@ - EPD_2in7_V2_test.c - 1 - ..\User\Examples\EPD_2in7_V2_test.c - - - EPD_2in7b_test.c + EPD_2in7_test.c 1 - ..\User\Examples\EPD_2in7b_test.c + ..\User\Examples\EPD_2in7_test.c 2 @@ -155137,65 +156178,14 @@ - EPD_2in7b_V2_test.c + EPD_2in7_V2_test.c 1 - ..\User\Examples\EPD_2in7b_V2_test.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\Examples\EPD_2in7_V2_test.c - EPD_2in9_test.c + EPD_2in7b_test.c 1 - ..\User\Examples\EPD_2in9_test.c + ..\User\Examples\EPD_2in7b_test.c 2 @@ -155249,9 +156239,9 @@ - EPD_2in9_V2_test.c + EPD_2in7b_V2_test.c 1 - ..\User\Examples\EPD_2in9_V2_test.c + ..\User\Examples\EPD_2in7b_V2_test.c 2 @@ -155305,9 +156295,9 @@ - EPD_2in9bc_test.c + EPD_2in9_test.c 1 - ..\User\Examples\EPD_2in9bc_test.c + ..\User\Examples\EPD_2in9_test.c 2 @@ -155361,9 +156351,9 @@ - EPD_2in9b_V3_test.c + EPD_2in9_V2_test.c 1 - ..\User\Examples\EPD_2in9b_V3_test.c + ..\User\Examples\EPD_2in9_V2_test.c 2 @@ -155417,9 +156407,9 @@ - EPD_2in9d_test.c + EPD_2in9bc_test.c 1 - ..\User\Examples\EPD_2in9d_test.c + ..\User\Examples\EPD_2in9bc_test.c 2 @@ -155473,9 +156463,9 @@ - EPD_2in13_test.c + EPD_2in9b_V3_test.c 1 - ..\User\Examples\EPD_2in13_test.c + ..\User\Examples\EPD_2in9b_V3_test.c 2 @@ -155529,65 +156519,14 @@ - EPD_2in13_V2_test.c + EPD_2in9b_V4_test.c 1 - ..\User\Examples\EPD_2in13_V2_test.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\Examples\EPD_2in9b_V4_test.c - EPD_2in13_V3_test.c + EPD_2in9d_test.c 1 - ..\User\Examples\EPD_2in13_V3_test.c + ..\User\Examples\EPD_2in9d_test.c 2 @@ -155641,14 +156580,9 @@ - EPD_2in13_V4_test.c - 1 - ..\User\Examples\EPD_2in13_V4_test.c - - - EPD_2in13b_V3_test.c + EPD_2in13_test.c 1 - ..\User\Examples\EPD_2in13b_V3_test.c + ..\User\Examples\EPD_2in13_test.c 2 @@ -155702,9 +156636,9 @@ - EPD_2in13b_V4_test.c + EPD_2in13_V2_test.c 1 - ..\User\Examples\EPD_2in13b_V4_test.c + ..\User\Examples\EPD_2in13_V2_test.c 2 @@ -155758,9 +156692,9 @@ - EPD_2in13bc_test.c + EPD_2in13_V3_test.c 1 - ..\User\Examples\EPD_2in13bc_test.c + ..\User\Examples\EPD_2in13_V3_test.c 2 @@ -155814,65 +156748,14 @@ - EPD_2in13d_test.c + EPD_2in13_V4_test.c 1 - ..\User\Examples\EPD_2in13d_test.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\Examples\EPD_2in13_V4_test.c - EPD_2in13g_test.c + EPD_2in13b_V3_test.c 1 - ..\User\Examples\EPD_2in13g_test.c + ..\User\Examples\EPD_2in13b_V3_test.c 2 @@ -155880,7 +156763,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -155926,9 +156809,9 @@ - EPD_2in36g_test.c + EPD_2in13b_V4_test.c 1 - ..\User\Examples\EPD_2in36g_test.c + ..\User\Examples\EPD_2in13b_V4_test.c 2 @@ -155982,9 +156865,9 @@ - EPD_2in66_test.c + EPD_2in13bc_test.c 1 - ..\User\Examples\EPD_2in66_test.c + ..\User\Examples\EPD_2in13bc_test.c 2 @@ -156038,9 +156921,9 @@ - EPD_2in66b_test.c + EPD_2in13d_test.c 1 - ..\User\Examples\EPD_2in66b_test.c + ..\User\Examples\EPD_2in13d_test.c 2 @@ -156048,7 +156931,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -156093,6 +156976,184 @@ + + EPD_2in13g_test.c + 1 + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b_test.c + 1 + ..\User\Examples\EPD_2in66b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -156490,6 +157551,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -156999,6 +158065,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -158091,6 +159162,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -158499,7 +159575,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -158548,6 +159624,11 @@ EPD_2in13g.c 1 ..\User\e-Paper\EPD_2in13g.c + + + EPD_2in36g.c + 1 + ..\User\e-Paper\EPD_2in36g.c 2 @@ -158555,7 +159636,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -158601,9 +159682,9 @@ - EPD_2in36g.c + EPD_2in66.c 1 - ..\User\e-Paper\EPD_2in36g.c + ..\User\e-Paper\EPD_2in66.c 2 @@ -158657,9 +159738,9 @@ - EPD_2in66.c + EPD_2in66b.c 1 - ..\User\e-Paper\EPD_2in66.c + ..\User\e-Paper\EPD_2in66b.c 2 @@ -158713,9 +159794,14 @@ - EPD_2in66b.c + EPD_2in66g.c 1 - ..\User\e-Paper\EPD_2in66b.c + ..\User\e-Paper\EPD_2in66g.c + + + EPD_3in0g.c + 1 + ..\User\e-Paper\EPD_3in0g.c 2 @@ -158769,9 +159855,9 @@ - EPD_3in0g.c + EPD_3in52.c 1 - ..\User\e-Paper\EPD_3in0g.c + ..\User\e-Paper\EPD_3in52.c 2 @@ -158825,9 +159911,9 @@ - EPD_3in52.c + EPD_3in7.c 1 - ..\User\e-Paper\EPD_3in52.c + ..\User\e-Paper\EPD_3in7.c 2 @@ -158881,9 +159967,9 @@ - EPD_3in7.c + EPD_4in01f.c 1 - ..\User\e-Paper\EPD_3in7.c + ..\User\e-Paper\EPD_4in01f.c 2 @@ -158937,9 +160023,9 @@ - EPD_4in01f.c + EPD_4in2.c 1 - ..\User\e-Paper\EPD_4in01f.c + ..\User\e-Paper\EPD_4in2.c 2 @@ -158993,9 +160079,19 @@ - EPD_4in2.c + EPD_4in2_V2.c 1 - ..\User\e-Paper\EPD_4in2.c + ..\User\e-Paper\EPD_4in2_V2.c + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + EPD_4in2bc.c + 1 + ..\User\e-Paper\EPD_4in2bc.c 2 @@ -159049,14 +160145,9 @@ - EPD_4in2_V2.c - 1 - ..\User\e-Paper\EPD_4in2_V2.c - - - EPD_4in2bc.c + EPD_4in2b_V2.c 1 - ..\User\e-Paper\EPD_4in2bc.c + ..\User\e-Paper\EPD_4in2b_V2.c 2 @@ -159110,9 +160201,9 @@ - EPD_4in2b_V2.c + EPD_4in37g.c 1 - ..\User\e-Paper\EPD_4in2b_V2.c + ..\User\e-Paper\EPD_4in37g.c 2 @@ -159166,9 +160257,9 @@ - EPD_4in37g.c + EPD_5in65f.c 1 - ..\User\e-Paper\EPD_4in37g.c + ..\User\e-Paper\EPD_5in65f.c 2 @@ -159222,65 +160313,9 @@ - EPD_5in65f.c + EPD_5in83.c 1 - ..\User\e-Paper\EPD_5in65f.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_5in83.c - 1 - ..\User\e-Paper\EPD_5in83.c + ..\User\e-Paper\EPD_5in83.c 2 @@ -159674,6 +160709,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -160192,11 +161232,80 @@ ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + - EPD_2in36g_test + EPD_2in13g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -160689,57 +161798,6 @@ ImageData.c 1 ..\User\Examples\ImageData.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - ImageData2.c @@ -161586,6 +162644,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -162043,11 +163106,6 @@ EPD_2in13g_test.c 1 ..\User\Examples\EPD_2in13g_test.c - - - EPD_2in36g_test.c - 1 - ..\User\Examples\EPD_2in36g_test.c 2 @@ -162101,9 +163159,9 @@ - EPD_2in66_test.c + EPD_2in36g_test.c 1 - ..\User\Examples\EPD_2in66_test.c + ..\User\Examples\EPD_2in36g_test.c 2 @@ -162157,9 +163215,9 @@ - EPD_2in66b_test.c + EPD_2in66_test.c 1 - ..\User\Examples\EPD_2in66b_test.c + ..\User\Examples\EPD_2in66_test.c 2 @@ -162213,9 +163271,9 @@ - EPD_3in0g_test.c + EPD_2in66b_test.c 1 - ..\User\Examples\EPD_3in0g_test.c + ..\User\Examples\EPD_2in66b_test.c 2 @@ -162269,9 +163327,14 @@ - EPD_3in52_test.c + EPD_2in66g_test.c 1 - ..\User\Examples\EPD_3in52_test.c + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c 2 @@ -162325,9 +163388,9 @@ - EPD_3in7_test.c + EPD_3in52_test.c 1 - ..\User\Examples\EPD_3in7_test.c + ..\User\Examples\EPD_3in52_test.c 2 @@ -162381,9 +163444,9 @@ - EPD_4in01f_test.c + EPD_3in7_test.c 1 - ..\User\Examples\EPD_4in01f_test.c + ..\User\Examples\EPD_3in7_test.c 2 @@ -162437,9 +163500,9 @@ - EPD_4in2_test.c + EPD_4in01f_test.c 1 - ..\User\Examples\EPD_4in2_test.c + ..\User\Examples\EPD_4in01f_test.c 2 @@ -162493,14 +163556,9 @@ - EPD_4in2_V2_test.c - 1 - ..\User\Examples\EPD_4in2_V2_test.c - - - EPD_4in2bc_test.c + EPD_4in2_test.c 1 - ..\User\Examples\EPD_4in2bc_test.c + ..\User\Examples\EPD_4in2_test.c 2 @@ -162554,9 +163612,14 @@ - EPD_4in2b_V2_test.c + EPD_4in2_V2_test.c 1 - ..\User\Examples\EPD_4in2b_V2_test.c + ..\User\Examples\EPD_4in2_V2_test.c + + + EPD_4in2bc_test.c + 1 + ..\User\Examples\EPD_4in2bc_test.c 2 @@ -162610,9 +163673,9 @@ - EPD_4in37g_test.c + EPD_4in2b_V2_test.c 1 - ..\User\Examples\EPD_4in37g_test.c + ..\User\Examples\EPD_4in2b_V2_test.c 2 @@ -162666,9 +163729,14 @@ - EPD_5in65f_test.c + EPD_4in26_test.c 1 - ..\User\Examples\EPD_5in65f_test.c + ..\User\Examples\EPD_4in26_test.c + + + EPD_4in37g_test.c + 1 + ..\User\Examples\EPD_4in37g_test.c 2 @@ -162722,9 +163790,9 @@ - EPD_5in83_test.c + EPD_5in65f_test.c 1 - ..\User\Examples\EPD_5in83_test.c + ..\User\Examples\EPD_5in65f_test.c 2 @@ -162778,9 +163846,65 @@ - EPD_5in83_V2_test.c + EPD_5in83_test.c 1 - ..\User\Examples\EPD_5in83_V2_test.c + ..\User\Examples\EPD_5in83_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2_test.c + 1 + ..\User\Examples\EPD_5in83_V2_test.c 2 @@ -163118,6 +164242,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -164210,6 +165339,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -164667,6 +165801,57 @@ EPD_2in13g.c 1 ..\User\e-Paper\EPD_2in13g.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + EPD_2in36g.c @@ -164679,7 +165864,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -164836,6 +166021,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -165121,6 +166311,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -165742,6 +166937,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -166260,80 +167460,11 @@ ::CMSIS - - - 0 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - EPD_2in66_test + EPD_2in36g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -166833,7 +167964,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -166889,7 +168020,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -167723,6 +168854,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -168185,62 +169321,6 @@ EPD_2in36g_test.c 1 ..\User\Examples\EPD_2in36g_test.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_2in66_test.c - 1 - ..\User\Examples\EPD_2in66_test.c 2 @@ -168293,6 +169373,62 @@ + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + EPD_2in66b_test.c 1 @@ -168349,6 +169485,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -168746,6 +169887,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -169255,6 +170401,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -170347,6 +171498,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -170816,7 +171972,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -170872,7 +172028,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -170973,6 +172129,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -171258,6 +172419,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -171879,6 +173045,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -172470,7 +173641,7 @@ - EPD_2in66b_test + EPD_2in66_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -173860,6 +175031,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -174385,7 +175561,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -174441,7 +175617,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -174486,6 +175662,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -174883,6 +176064,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -175392,6 +176578,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -176484,6 +177675,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -177009,7 +178205,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -177065,7 +178261,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -177110,6 +178306,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -177395,6 +178596,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -178016,6 +179222,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -178607,7 +179818,7 @@ - EPD_3in0g_test + EPD_2in66b_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -179107,7 +180318,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -179163,7 +180374,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -179997,6 +181208,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -180578,7 +181794,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -180623,6 +181839,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -180634,7 +181855,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -181020,6 +182241,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -181529,6 +182755,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -182621,6 +183852,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -183195,62 +184431,6 @@ EPD_2in66b.c 1 ..\User\e-Paper\EPD_2in66b.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_3in0g.c - 1 - ..\User\e-Paper\EPD_3in0g.c 2 @@ -183304,65 +184484,14 @@ - EPD_3in52.c + EPD_2in66g.c 1 - ..\User\e-Paper\EPD_3in52.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\e-Paper\EPD_2in66g.c - EPD_3in7.c + EPD_3in0g.c 1 - ..\User\e-Paper\EPD_3in7.c + ..\User\e-Paper\EPD_3in0g.c 2 @@ -183416,9 +184545,121 @@ - EPD_4in01f.c + EPD_3in52.c 1 - ..\User\e-Paper\EPD_4in01f.c + ..\User\e-Paper\EPD_3in52.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7.c + 1 + ..\User\e-Paper\EPD_3in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f.c + 1 + ..\User\e-Paper\EPD_4in01f.c 2 @@ -183532,6 +184773,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -184153,6 +185399,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -184744,7 +185995,7 @@ - EPD_3in52_test + EPD_2in66g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -185052,7 +186303,7 @@ 4 0 0 - 0 + 1 0 0 0 @@ -185237,6 +186488,11 @@ ImageData.c 1 ..\User\Examples\ImageData.c + + + ImageData2.c + 1 + ..\User\Examples\ImageData2.c 2 @@ -185290,9 +186546,9 @@ - ImageData2.c + EPD_1in02_test.c 1 - ..\User\Examples\ImageData2.c + ..\User\Examples\EPD_1in02_test.c 2 @@ -185346,9 +186602,9 @@ - EPD_1in02_test.c + EPD_1in54_test.c 1 - ..\User\Examples\EPD_1in02_test.c + ..\User\Examples\EPD_1in54_test.c 2 @@ -185402,9 +186658,9 @@ - EPD_1in54_test.c + EPD_1in54_V2_test.c 1 - ..\User\Examples\EPD_1in54_test.c + ..\User\Examples\EPD_1in54_V2_test.c 2 @@ -185458,9 +186714,9 @@ - EPD_1in54_V2_test.c + EPD_1in54b_test.c 1 - ..\User\Examples\EPD_1in54_V2_test.c + ..\User\Examples\EPD_1in54b_test.c 2 @@ -185514,9 +186770,9 @@ - EPD_1in54b_test.c + EPD_1in54b_V2_test.c 1 - ..\User\Examples\EPD_1in54b_test.c + ..\User\Examples\EPD_1in54b_V2_test.c 2 @@ -185570,9 +186826,9 @@ - EPD_1in54b_V2_test.c + EPD_1in54c_test.c 1 - ..\User\Examples\EPD_1in54b_V2_test.c + ..\User\Examples\EPD_1in54c_test.c 2 @@ -185626,9 +186882,9 @@ - EPD_1in54c_test.c + EPD_1in64g_test.c 1 - ..\User\Examples\EPD_1in54c_test.c + ..\User\Examples\EPD_1in64g_test.c 2 @@ -185682,9 +186938,9 @@ - EPD_1in64g_test.c + EPD_2in7_test.c 1 - ..\User\Examples\EPD_1in64g_test.c + ..\User\Examples\EPD_2in7_test.c 2 @@ -185738,9 +186994,14 @@ - EPD_2in7_test.c + EPD_2in7_V2_test.c 1 - ..\User\Examples\EPD_2in7_test.c + ..\User\Examples\EPD_2in7_V2_test.c + + + EPD_2in7b_test.c + 1 + ..\User\Examples\EPD_2in7b_test.c 2 @@ -185794,14 +187055,65 @@ - EPD_2in7_V2_test.c + EPD_2in7b_V2_test.c 1 - ..\User\Examples\EPD_2in7_V2_test.c + ..\User\Examples\EPD_2in7b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + - EPD_2in7b_test.c + EPD_2in9_test.c 1 - ..\User\Examples\EPD_2in7b_test.c + ..\User\Examples\EPD_2in9_test.c 2 @@ -185855,9 +187167,9 @@ - EPD_2in7b_V2_test.c + EPD_2in9_V2_test.c 1 - ..\User\Examples\EPD_2in7b_V2_test.c + ..\User\Examples\EPD_2in9_V2_test.c 2 @@ -185911,9 +187223,9 @@ - EPD_2in9_test.c + EPD_2in9bc_test.c 1 - ..\User\Examples\EPD_2in9_test.c + ..\User\Examples\EPD_2in9bc_test.c 2 @@ -185967,9 +187279,9 @@ - EPD_2in9_V2_test.c + EPD_2in9b_V3_test.c 1 - ..\User\Examples\EPD_2in9_V2_test.c + ..\User\Examples\EPD_2in9b_V3_test.c 2 @@ -186023,9 +187335,14 @@ - EPD_2in9bc_test.c + EPD_2in9b_V4_test.c 1 - ..\User\Examples\EPD_2in9bc_test.c + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c 2 @@ -186079,9 +187396,9 @@ - EPD_2in9b_V3_test.c + EPD_2in13_test.c 1 - ..\User\Examples\EPD_2in9b_V3_test.c + ..\User\Examples\EPD_2in13_test.c 2 @@ -186135,9 +187452,9 @@ - EPD_2in9d_test.c + EPD_2in13_V2_test.c 1 - ..\User\Examples\EPD_2in9d_test.c + ..\User\Examples\EPD_2in13_V2_test.c 2 @@ -186191,9 +187508,9 @@ - EPD_2in13_test.c + EPD_2in13_V3_test.c 1 - ..\User\Examples\EPD_2in13_test.c + ..\User\Examples\EPD_2in13_V3_test.c 2 @@ -186247,65 +187564,14 @@ - EPD_2in13_V2_test.c + EPD_2in13_V4_test.c 1 - ..\User\Examples\EPD_2in13_V2_test.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + ..\User\Examples\EPD_2in13_V4_test.c - EPD_2in13_V3_test.c + EPD_2in13b_V3_test.c 1 - ..\User\Examples\EPD_2in13_V3_test.c + ..\User\Examples\EPD_2in13b_V3_test.c 2 @@ -186359,14 +187625,9 @@ - EPD_2in13_V4_test.c - 1 - ..\User\Examples\EPD_2in13_V4_test.c - - - EPD_2in13b_V3_test.c + EPD_2in13b_V4_test.c 1 - ..\User\Examples\EPD_2in13b_V3_test.c + ..\User\Examples\EPD_2in13b_V4_test.c 2 @@ -186420,9 +187681,9 @@ - EPD_2in13b_V4_test.c + EPD_2in13bc_test.c 1 - ..\User\Examples\EPD_2in13b_V4_test.c + ..\User\Examples\EPD_2in13bc_test.c 2 @@ -186476,9 +187737,9 @@ - EPD_2in13bc_test.c + EPD_2in13d_test.c 1 - ..\User\Examples\EPD_2in13bc_test.c + ..\User\Examples\EPD_2in13d_test.c 2 @@ -186532,9 +187793,14 @@ - EPD_2in13d_test.c + EPD_2in13g_test.c 1 - ..\User\Examples\EPD_2in13d_test.c + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c 2 @@ -186588,14 +187854,9 @@ - EPD_2in13g_test.c - 1 - ..\User\Examples\EPD_2in13g_test.c - - - EPD_2in36g_test.c + EPD_2in66_test.c 1 - ..\User\Examples\EPD_2in36g_test.c + ..\User\Examples\EPD_2in66_test.c 2 @@ -186649,9 +187910,9 @@ - EPD_2in66_test.c + EPD_2in66b_test.c 1 - ..\User\Examples\EPD_2in66_test.c + ..\User\Examples\EPD_2in66b_test.c 2 @@ -186705,9 +187966,9 @@ - EPD_2in66b_test.c + EPD_2in66g_test.c 1 - ..\User\Examples\EPD_2in66b_test.c + ..\User\Examples\EPD_2in66g_test.c 2 @@ -186715,7 +187976,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -186827,7 +188088,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -187157,6 +188418,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -187666,6 +188932,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -188758,6 +190029,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -189384,6 +190660,62 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + EPD_3in0g.c 1 @@ -189451,7 +190783,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -189669,6 +191001,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -190290,6 +191627,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -190881,7 +192223,7 @@ - EPD_3in7_test + EPD_3in0g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -191381,7 +192723,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -191437,7 +192779,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -192271,6 +193613,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -192897,6 +194244,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -192908,7 +194260,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -193020,7 +194372,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -193294,6 +194646,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -193803,6 +195160,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -194895,6 +196257,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -195521,6 +196888,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -195532,7 +196904,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -195644,7 +197016,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -195806,6 +197178,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -196427,6 +197804,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -197018,7 +198400,7 @@ - EPD_4in01f_test + EPD_3in52_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -198408,6 +199790,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -199034,6 +200421,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -199101,7 +200493,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -199213,7 +200605,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -199431,6 +200823,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -199940,6 +201337,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -201032,6 +202434,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -201658,6 +203065,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -201725,7 +203137,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -201837,7 +203249,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -201943,6 +203355,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -202564,6 +203981,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -203155,7 +204577,7 @@ - EPD_4in2_test + EPD_3in7_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -203463,7 +204885,7 @@ 4 0 0 - 1 + 0 0 0 0 @@ -204545,6 +205967,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -205171,6 +206598,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -205294,7 +206726,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -205406,7 +206838,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -205568,6 +207000,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -206077,6 +207514,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -207169,6 +208611,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -207795,6 +209242,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -207918,7 +209370,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -208030,7 +209482,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -208080,6 +209532,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -208701,6 +210158,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -209292,7 +210754,7 @@ - EPD_4in2_V2_test + EPD_4in01f_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -209600,7 +211062,7 @@ 4 0 0 - 1 + 0 0 0 0 @@ -210682,6 +212144,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -211308,6 +212775,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -211487,7 +212959,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -211592,57 +213064,6 @@ EPD_4in2_V2_test.c 1 ..\User\Examples\EPD_4in2_V2_test.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - EPD_4in2bc_test.c @@ -211756,6 +213177,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -212265,6 +213691,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -213357,6 +214788,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -213983,6 +215419,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -214162,7 +215603,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -214267,57 +215708,11 @@ EPD_4in2_V2.c 1 ..\User\e-Paper\EPD_4in2_V2.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c EPD_4in2bc.c @@ -214940,6 +216335,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -215531,7 +216931,7 @@ - EPD_4in2bc_test + EPD_4in2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -215839,7 +217239,7 @@ 4 0 0 - 0 + 1 0 0 0 @@ -216921,6 +218321,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -217547,6 +218952,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -217782,7 +219192,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -217843,7 +219253,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -217944,6 +219354,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -218453,6 +219868,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -219545,6 +220965,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -220171,6 +221596,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -220406,7 +221836,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -220456,6 +221886,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -220467,7 +221902,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -221077,6 +222512,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -221668,7 +223108,7 @@ - EPD_4in2b_V2_test + EPD_4in2_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -221976,7 +223416,7 @@ 4 0 0 - 0 + 1 0 0 0 @@ -223058,6 +224498,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -223684,6 +225129,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -223968,6 +225418,57 @@ EPD_4in2_V2_test.c 1 ..\User\Examples\EPD_4in2_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + EPD_4in2bc_test.c @@ -224036,7 +225537,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -224081,6 +225582,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -224590,6 +226096,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -225682,6 +227193,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -226308,6 +227824,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -226592,6 +228113,62 @@ EPD_4in2_V2.c 1 ..\User\e-Paper\EPD_4in2_V2.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c EPD_4in2bc.c @@ -226660,7 +228237,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -227214,6 +228791,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -227805,7 +229387,7 @@ - EPD_4in37g_test + EPD_4in2bc_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -228305,7 +229887,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -228361,7 +229943,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -229195,6 +230777,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -229821,6 +231408,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -230117,7 +231709,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -230218,6 +231810,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -230229,7 +231826,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -230727,6 +232324,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -231819,6 +233421,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -232445,6 +234052,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -232730,6 +234342,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -232741,7 +234358,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -232853,7 +234470,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -233351,6 +234968,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -233942,7 +235564,7 @@ - EPD_5in65f_test + EPD_4in2b_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -235332,6 +236954,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -235958,6 +237585,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -236310,7 +237942,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -236355,6 +237987,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -236422,7 +238059,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -236864,6 +238501,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -237956,6 +239598,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -238582,6 +240229,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -238867,6 +240519,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -238934,7 +240591,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -239046,7 +240703,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -239488,6 +241145,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -240079,7 +241741,7 @@ - EPD_5in83_test + EPD_4in26_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -240387,7 +242049,7 @@ 4 0 0 - 0 + 1 0 0 0 @@ -240628,57 +242290,6 @@ ImageData2.c 1 ..\User\Examples\ImageData2.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - EPD_1in02_test.c @@ -241469,6 +243080,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -242095,6 +243711,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -242493,9 +244114,9 @@ - EPD_4in37g_test.c + EPD_4in26_test.c 1 - ..\User\Examples\EPD_4in37g_test.c + ..\User\Examples\EPD_4in26_test.c 2 @@ -242503,7 +244124,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -242549,9 +244170,9 @@ - EPD_5in65f_test.c + EPD_4in37g_test.c 1 - ..\User\Examples\EPD_5in65f_test.c + ..\User\Examples\EPD_4in37g_test.c 2 @@ -242605,9 +244226,9 @@ - EPD_5in83_test.c + EPD_5in65f_test.c 1 - ..\User\Examples\EPD_5in83_test.c + ..\User\Examples\EPD_5in65f_test.c 2 @@ -242615,7 +244236,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -242661,9 +244282,9 @@ - EPD_5in83_V2_test.c + EPD_5in83_test.c 1 - ..\User\Examples\EPD_5in83_V2_test.c + ..\User\Examples\EPD_5in83_test.c 2 @@ -242717,9 +244338,9 @@ - EPD_5in83bc_test.c + EPD_5in83_V2_test.c 1 - ..\User\Examples\EPD_5in83bc_test.c + ..\User\Examples\EPD_5in83_V2_test.c 2 @@ -242773,9 +244394,9 @@ - EPD_5in83b_V2_test.c + EPD_5in83bc_test.c 1 - ..\User\Examples\EPD_5in83b_V2_test.c + ..\User\Examples\EPD_5in83bc_test.c 2 @@ -242829,14 +244450,9 @@ - EPD_7in3f_test.c - 1 - ..\User\Examples\EPD_7in3f_test.c - - - EPD_7in3g_test.c + EPD_5in83b_V2_test.c 1 - ..\User\Examples\EPD_7in3g_test.c + ..\User\Examples\EPD_5in83b_V2_test.c 2 @@ -242890,9 +244506,14 @@ - EPD_7in5_test.c + EPD_7in3f_test.c 1 - ..\User\Examples\EPD_7in5_test.c + ..\User\Examples\EPD_7in3f_test.c + + + EPD_7in3g_test.c + 1 + ..\User\Examples\EPD_7in3g_test.c 2 @@ -242946,9 +244567,9 @@ - EPD_7in5_V2_test.c + EPD_7in5_test.c 1 - ..\User\Examples\EPD_7in5_V2_test.c + ..\User\Examples\EPD_7in5_test.c 2 @@ -243002,9 +244623,70 @@ - EPD_7in5_HD_test.c + EPD_7in5_V2_test.c 1 - ..\User\Examples\EPD_7in5_HD_test.c + ..\User\Examples\EPD_7in5_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + + + EPD_7in5_HD_test.c + 1 + ..\User\Examples\EPD_7in5_HD_test.c 2 @@ -244093,6 +245775,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -244719,6 +246406,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -245004,6 +246696,62 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + EPD_4in2bc.c 1 @@ -245239,7 +246987,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -245625,6 +247373,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -246216,7 +247969,7 @@ - EPD_5in83_V2_test + EPD_4in37g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -246716,7 +248469,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -246772,7 +248525,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -247606,6 +249359,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -248232,6 +249990,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -248629,6 +250392,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -248640,7 +250408,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -248808,7 +250576,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -249138,6 +250906,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -250230,6 +252003,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -250856,6 +252634,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -251141,6 +252924,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -251264,7 +253052,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -251432,7 +253220,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -251762,6 +253550,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -252353,7 +254146,7 @@ - EPD_5in83bc_test + EPD_5in65f_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -253743,6 +255536,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -254369,6 +256167,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -254766,6 +256569,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -254833,7 +256641,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -255001,7 +256809,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -255275,6 +257083,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -256367,6 +258180,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -256993,6 +258811,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -257278,6 +259101,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -257457,7 +259285,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -257625,7 +259453,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -257899,6 +259727,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -258490,7 +260323,7 @@ - EPD_5in83b_V2_test + EPD_5in83_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -259880,6 +261713,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -260506,6 +262344,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -260903,6 +262746,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -261026,7 +262874,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -261194,7 +263042,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -261412,6 +263260,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -262504,6 +264357,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -263130,6 +264988,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -263415,6 +265278,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -263650,7 +265518,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -263818,7 +265686,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -264036,6 +265904,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -264627,7 +266500,7 @@ - EPD_7in3f_test + EPD_5in83_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -265120,11 +266993,6 @@ ImageData.c 1 ..\User\Examples\ImageData.c - - - ImageData2.c - 1 - ..\User\Examples\ImageData2.c 2 @@ -265178,9 +267046,9 @@ - EPD_1in02_test.c + ImageData2.c 1 - ..\User\Examples\EPD_1in02_test.c + ..\User\Examples\ImageData2.c 2 @@ -265234,9 +267102,9 @@ - EPD_1in54_test.c + EPD_1in02_test.c 1 - ..\User\Examples\EPD_1in54_test.c + ..\User\Examples\EPD_1in02_test.c 2 @@ -265290,9 +267158,9 @@ - EPD_1in54_V2_test.c + EPD_1in54_test.c 1 - ..\User\Examples\EPD_1in54_V2_test.c + ..\User\Examples\EPD_1in54_test.c 2 @@ -265346,9 +267214,9 @@ - EPD_1in54b_test.c + EPD_1in54_V2_test.c 1 - ..\User\Examples\EPD_1in54b_test.c + ..\User\Examples\EPD_1in54_V2_test.c 2 @@ -265402,9 +267270,65 @@ - EPD_1in54b_V2_test.c + EPD_1in54b_test.c 1 - ..\User\Examples\EPD_1in54b_V2_test.c + ..\User\Examples\EPD_1in54b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2_test.c + 1 + ..\User\Examples\EPD_1in54b_V2_test.c 2 @@ -265966,6 +267890,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -266592,6 +268521,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -266989,6 +268923,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -267168,7 +269107,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -267329,57 +269268,6 @@ EPD_7in3f_test.c 1 ..\User\Examples\EPD_7in3f_test.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - EPD_7in3g_test.c @@ -267549,6 +269437,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -268641,6 +270534,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -269267,6 +271165,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -269552,6 +271455,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -269843,7 +271751,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -270004,57 +271912,6 @@ EPD_7in3f.c 1 ..\User\e-Paper\EPD_7in3f.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - EPD_7in3g.c @@ -270224,6 +272081,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -270742,11 +272604,80 @@ ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + - EPD_7in3g_test + EPD_5in83bc_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -271246,7 +273177,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -271302,7 +273233,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -272136,6 +274067,11 @@
+ + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -272762,6 +274698,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -273159,6 +275100,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -273394,7 +275340,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -273511,7 +275457,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -273668,6 +275614,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -274760,6 +276711,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -275386,6 +277342,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -275671,6 +277632,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -276011,123 +277977,6 @@ EPD_5in83bc.c 1 ..\User\e-Paper\EPD_5in83bc.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_5in83b_V2.c - 1 - ..\User\e-Paper\EPD_5in83b_V2.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_7in3f.c - 1 - ..\User\e-Paper\EPD_7in3f.c - - - EPD_7in3g.c - 1 - ..\User\e-Paper\EPD_7in3g.c 2 @@ -276181,118 +278030,240 @@ - EPD_7in5.c - 1 - ..\User\e-Paper\EPD_7in5.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_7in5_V2.c - 1 - ..\User\e-Paper\EPD_7in5_V2.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - + EPD_5in83b_V2.c + 1 + ..\User\e-Paper\EPD_5in83b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f.c + 1 + ..\User\e-Paper\EPD_7in3f.c + + + EPD_7in3g.c + 1 + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + EPD_7in5_HD.c 1 ..\User\e-Paper\EPD_7in5_HD.c @@ -276883,7 +278854,7 @@ - EPD_7in5_test + EPD_5in83b_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -278273,6 +280244,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -278899,6 +280875,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -279296,6 +281277,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -279587,7 +281573,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -279704,7 +281690,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -279805,6 +281791,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -280897,6 +282888,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -281523,6 +283519,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -281808,6 +283809,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -282211,7 +284217,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -282328,7 +284334,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -282429,6 +284435,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -283020,7 +285031,7 @@ - EPD_7in5_V2_test + EPD_7in3f_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -283513,57 +285524,6 @@ ImageData.c 1 ..\User\Examples\ImageData.c - - - 2 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - ImageData2.c @@ -283576,7 +285536,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -284410,6 +286370,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -285036,6 +287001,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -285433,6 +287403,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -285773,6 +287748,57 @@ EPD_7in3f_test.c 1 ..\User\Examples\EPD_7in3f_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + EPD_7in3g_test.c @@ -285897,7 +287923,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -285942,6 +287968,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -287034,6 +289065,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -287660,6 +289696,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -287945,6 +289986,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -288397,123 +290443,6 @@ EPD_7in3f.c 1 ..\User\e-Paper\EPD_7in3f.c - - - EPD_7in3g.c - 1 - ..\User\e-Paper\EPD_7in3g.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_7in5.c - 1 - ..\User\e-Paper\EPD_7in5.c - - - 2 - 0 - 0 - 0 - 0 - 0 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - - - EPD_7in5_V2.c - 1 - ..\User\e-Paper\EPD_7in5_V2.c 2 @@ -288567,9 +290496,182 @@ - EPD_7in5_HD.c + EPD_7in3g.c 1 - ..\User\e-Paper\EPD_7in5_HD.c + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + + EPD_7in5_HD.c + 1 + ..\User\e-Paper\EPD_7in5_HD.c 2 @@ -289084,80 +291186,11 @@
::CMSIS - - - 0 - 0 - 0 - 0 - 0 - 1 - 2 - 2 - 2 - 2 - 11 - - - 1 - - - - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 0 - 2 - 2 - 2 - 2 - 2 - 0 - 0 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - - - - - - - - - - EPD_7in5_HD_test + EPD_7in3g_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -289657,7 +291690,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -289713,7 +291746,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -290547,6 +292580,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -291173,6 +293211,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -291570,6 +293613,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -291922,7 +293970,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -292079,6 +294127,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -292090,7 +294143,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -293171,6 +295224,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -293797,6 +295855,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -294082,6 +296145,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -294546,7 +296614,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -294703,6 +296771,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -294714,7 +296787,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -295294,7 +297367,7 @@ - EPD_7in5bc_test + EPD_7in5_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -296684,6 +298757,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -297310,6 +299388,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -297707,6 +299790,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -298115,7 +300203,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -298216,6 +300304,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -298283,7 +300376,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -299308,6 +301401,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -299934,6 +302032,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -300219,6 +302322,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -300739,7 +302847,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -300840,6 +302948,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -300907,7 +303020,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -301431,7 +303544,7 @@ - EPD_7in5b_V2_test + EPD_7in5_V2_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -302821,6 +304934,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -303447,6 +305565,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -303844,6 +305967,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -304308,7 +306436,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -304353,6 +306481,11 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -304476,7 +306609,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -305445,6 +307578,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -306071,6 +308209,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -306356,6 +308499,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -306932,7 +309080,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -306977,6 +309125,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -307100,7 +309253,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -307568,7 +309721,7 @@ - EPD_7in5b_HD_test + EPD_7in5_V2_tset_old 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -308958,6 +311111,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -309584,6 +311742,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -309981,6 +312144,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -310438,6 +312606,11 @@ EPD_7in5_V2_test.c 1 ..\User\Examples\EPD_7in5_V2_test.c + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c 2 @@ -310445,7 +312618,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -310669,7 +312842,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -311582,6 +313755,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -312208,6 +314386,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -312493,6 +314676,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -313062,6 +315250,11 @@ EPD_7in5_V2.c 1 ..\User\e-Paper\EPD_7in5_V2.c + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c 2 @@ -313069,7 +315262,7 @@ 0 0 0 - 0 + 1 2 2 2 @@ -313293,7 +315486,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -313632,11 +315825,80 @@ ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + - EPD_13in3k_test + EPD_7in5_HD_test 0x4 ARM-ADS 5060750::V5.06 update 6 (build 750)::ARMCC @@ -313944,7 +316206,7 @@ 4 0 0 - 1 + 0 0 0 0 @@ -314129,6 +316391,57 @@ ImageData.c 1 ..\User\Examples\ImageData.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + ImageData2.c @@ -314141,7 +316454,7 @@ 0 0 0 - 1 + 0 2 2 2 @@ -314975,6 +317288,11 @@ + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + EPD_2in9d_test.c 1 @@ -315601,6 +317919,11 @@ + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + EPD_3in0g_test.c 1 @@ -315998,6 +318321,11 @@ + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + EPD_4in37g_test.c 1 @@ -316507,6 +318835,24599 @@ + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + + + EPD_7in5_HD_test.c + 1 + ..\User\Examples\EPD_7in5_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc_test.c + 1 + ..\User\Examples\EPD_7in5bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2_test.c + 1 + ..\User\Examples\EPD_7in5b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD_test.c + 1 + ..\User\Examples\EPD_7in5b_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k_test.c + 1 + ..\User\Examples\EPD_13in3k_test.c + + + + + e-Paper + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02d.c + 1 + ..\User\e-Paper\EPD_1in02d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54.c + 1 + ..\User\e-Paper\EPD_1in54.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2.c + 1 + ..\User\e-Paper\EPD_1in54_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b.c + 1 + ..\User\e-Paper\EPD_1in54b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2.c + 1 + ..\User\e-Paper\EPD_1in54b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c.c + 1 + ..\User\e-Paper\EPD_1in54c.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g.c + 1 + ..\User\e-Paper\EPD_1in64g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7.c + 1 + ..\User\e-Paper\EPD_2in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2.c + 1 + ..\User\e-Paper\EPD_2in7_V2.c + + + EPD_2in7b.c + 1 + ..\User\e-Paper\EPD_2in7b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2.c + 1 + ..\User\e-Paper\EPD_2in7b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9.c + 1 + ..\User\e-Paper\EPD_2in9.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2.c + 1 + ..\User\e-Paper\EPD_2in9_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc.c + 1 + ..\User\e-Paper\EPD_2in9bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3.c + 1 + ..\User\e-Paper\EPD_2in9b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13.c + 1 + ..\User\e-Paper\EPD_2in13.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2.c + 1 + ..\User\e-Paper\EPD_2in13_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3.c + 1 + ..\User\e-Paper\EPD_2in13_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4.c + 1 + ..\User\e-Paper\EPD_2in13_V4.c + + + EPD_2in13bc.c + 1 + ..\User\e-Paper\EPD_2in13bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V3.c + 1 + ..\User\e-Paper\EPD_2in13b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4.c + 1 + ..\User\e-Paper\EPD_2in13b_V4.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d.c + 1 + ..\User\e-Paper\EPD_2in13d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g.c + 1 + ..\User\e-Paper\EPD_2in13g.c + + + EPD_2in36g.c + 1 + ..\User\e-Paper\EPD_2in36g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66.c + 1 + ..\User\e-Paper\EPD_2in66.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b.c + 1 + ..\User\e-Paper\EPD_2in66b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + + + EPD_3in0g.c + 1 + ..\User\e-Paper\EPD_3in0g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52.c + 1 + ..\User\e-Paper\EPD_3in52.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7.c + 1 + ..\User\e-Paper\EPD_3in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f.c + 1 + ..\User\e-Paper\EPD_4in01f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2.c + 1 + ..\User\e-Paper\EPD_4in2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2.c + 1 + ..\User\e-Paper\EPD_4in2_V2.c + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + EPD_4in2bc.c + 1 + ..\User\e-Paper\EPD_4in2bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2.c + 1 + ..\User\e-Paper\EPD_4in2b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in37g.c + 1 + ..\User\e-Paper\EPD_4in37g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f.c + 1 + ..\User\e-Paper\EPD_5in65f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83.c + 1 + ..\User\e-Paper\EPD_5in83.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2.c + 1 + ..\User\e-Paper\EPD_5in83_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc.c + 1 + ..\User\e-Paper\EPD_5in83bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2.c + 1 + ..\User\e-Paper\EPD_5in83b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f.c + 1 + ..\User\e-Paper\EPD_7in3f.c + + + EPD_7in3g.c + 1 + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + + EPD_7in5_HD.c + 1 + ..\User\e-Paper\EPD_7in5_HD.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc.c + 1 + ..\User\e-Paper\EPD_7in5bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2.c + 1 + ..\User\e-Paper\EPD_7in5b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD.c + 1 + ..\User\e-Paper\EPD_7in5b_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k.c + 1 + ..\User\e-Paper\EPD_13in3k.c + + + + + Config + + + DEV_Config.c + 1 + ..\User\Config\DEV_Config.c + + + + + GUI + + + GUI_Paint.c + 1 + ..\User\GUI\GUI_Paint.c + + + + + Fonts + + + font8.c + 1 + ..\User\Fonts\font8.c + + + font12.c + 1 + ..\User\Fonts\font12.c + + + font12CN.c + 1 + ..\User\Fonts\font12CN.c + + + font16.c + 1 + ..\User\Fonts\font16.c + + + font20.c + 1 + ..\User\Fonts\font20.c + + + font24.c + 1 + ..\User\Fonts\font24.c + + + font24CN.c + 1 + ..\User\Fonts\font24CN.c + + + + + README + + + Readme_CN.txt + 5 + ..\User\Readme_CN.txt + + + Readme_EN.txt + 5 + ..\User\Readme_EN.txt + + + + + Drivers/CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 0 + + + + 2 + 2 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f1xx.c + 1 + ../Src/system_stm32f1xx.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Drivers/STM32F1xx_HAL_Driver + + + stm32f1xx_hal_gpio_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c + + + stm32f1xx_hal_spi.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c + + + stm32f1xx_hal.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c + + + stm32f1xx_hal_rcc.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c + + + stm32f1xx_hal_rcc_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c + + + stm32f1xx_hal_gpio.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c + + + stm32f1xx_hal_dma.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c + + + stm32f1xx_hal_cortex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c + + + stm32f1xx_hal_pwr.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c + + + stm32f1xx_hal_flash.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c + + + stm32f1xx_hal_flash_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c + + + stm32f1xx_hal_exti.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c + + + stm32f1xx_hal_tim.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c + + + stm32f1xx_hal_tim_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c + + + stm32f1xx_hal_uart.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c + + + + + ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + EPD_7in5bc_test + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32F103ZE + STMicroelectronics + Keil.STM32F1xx_DFP.2.1.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103ZE$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + epd-demo\ + epd-demo + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F103xE + + ../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\Config; ..\User\e-Paper; ..\User\Fonts; ..\User\GUI; ..\User\Examples + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f103xe.s + 2 + startup_stm32f103xe.s + + + + + Application/User + + + main.c + 1 + ../Src/main.c + + + gpio.c + 1 + ../Src/gpio.c + + + spi.c + 1 + ../Src/spi.c + + + usart.c + 1 + ../Src/usart.c + + + stm32f1xx_it.c + 1 + ../Src/stm32f1xx_it.c + + + stm32f1xx_hal_msp.c + 1 + ../Src/stm32f1xx_hal_msp.c + + + + + Examples + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData.c + 1 + ..\User\Examples\ImageData.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData2.c + 1 + ..\User\Examples\ImageData2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02_test.c + 1 + ..\User\Examples\EPD_1in02_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_test.c + 1 + ..\User\Examples\EPD_1in54_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2_test.c + 1 + ..\User\Examples\EPD_1in54_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_test.c + 1 + ..\User\Examples\EPD_1in54b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2_test.c + 1 + ..\User\Examples\EPD_1in54b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c_test.c + 1 + ..\User\Examples\EPD_1in54c_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g_test.c + 1 + ..\User\Examples\EPD_1in64g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_test.c + 1 + ..\User\Examples\EPD_2in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2_test.c + 1 + ..\User\Examples\EPD_2in7_V2_test.c + + + EPD_2in7b_test.c + 1 + ..\User\Examples\EPD_2in7b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2_test.c + 1 + ..\User\Examples\EPD_2in7b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_test.c + 1 + ..\User\Examples\EPD_2in9_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2_test.c + 1 + ..\User\Examples\EPD_2in9_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc_test.c + 1 + ..\User\Examples\EPD_2in9bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3_test.c + 1 + ..\User\Examples\EPD_2in9b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_test.c + 1 + ..\User\Examples\EPD_2in13_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2_test.c + 1 + ..\User\Examples\EPD_2in13_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3_test.c + 1 + ..\User\Examples\EPD_2in13_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4_test.c + 1 + ..\User\Examples\EPD_2in13_V4_test.c + + + EPD_2in13b_V3_test.c + 1 + ..\User\Examples\EPD_2in13b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4_test.c + 1 + ..\User\Examples\EPD_2in13b_V4_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13bc_test.c + 1 + ..\User\Examples\EPD_2in13bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d_test.c + 1 + ..\User\Examples\EPD_2in13d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g_test.c + 1 + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b_test.c + 1 + ..\User\Examples\EPD_2in66b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52_test.c + 1 + ..\User\Examples\EPD_3in52_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7_test.c + 1 + ..\User\Examples\EPD_3in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f_test.c + 1 + ..\User\Examples\EPD_4in01f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_test.c + 1 + ..\User\Examples\EPD_4in2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2_test.c + 1 + ..\User\Examples\EPD_4in2_V2_test.c + + + EPD_4in2bc_test.c + 1 + ..\User\Examples\EPD_4in2bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2_test.c + 1 + ..\User\Examples\EPD_4in2b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + + + EPD_4in37g_test.c + 1 + ..\User\Examples\EPD_4in37g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f_test.c + 1 + ..\User\Examples\EPD_5in65f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_test.c + 1 + ..\User\Examples\EPD_5in83_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2_test.c + 1 + ..\User\Examples\EPD_5in83_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc_test.c + 1 + ..\User\Examples\EPD_5in83bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2_test.c + 1 + ..\User\Examples\EPD_5in83b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f_test.c + 1 + ..\User\Examples\EPD_7in3f_test.c + + + EPD_7in3g_test.c + 1 + ..\User\Examples\EPD_7in3g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_test.c + 1 + ..\User\Examples\EPD_7in5_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test.c + 1 + ..\User\Examples\EPD_7in5_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + + + EPD_7in5_HD_test.c + 1 + ..\User\Examples\EPD_7in5_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc_test.c + 1 + ..\User\Examples\EPD_7in5bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2_test.c + 1 + ..\User\Examples\EPD_7in5b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD_test.c + 1 + ..\User\Examples\EPD_7in5b_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k_test.c + 1 + ..\User\Examples\EPD_13in3k_test.c + + + + + e-Paper + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02d.c + 1 + ..\User\e-Paper\EPD_1in02d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54.c + 1 + ..\User\e-Paper\EPD_1in54.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2.c + 1 + ..\User\e-Paper\EPD_1in54_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b.c + 1 + ..\User\e-Paper\EPD_1in54b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2.c + 1 + ..\User\e-Paper\EPD_1in54b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c.c + 1 + ..\User\e-Paper\EPD_1in54c.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g.c + 1 + ..\User\e-Paper\EPD_1in64g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7.c + 1 + ..\User\e-Paper\EPD_2in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2.c + 1 + ..\User\e-Paper\EPD_2in7_V2.c + + + EPD_2in7b.c + 1 + ..\User\e-Paper\EPD_2in7b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2.c + 1 + ..\User\e-Paper\EPD_2in7b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9.c + 1 + ..\User\e-Paper\EPD_2in9.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2.c + 1 + ..\User\e-Paper\EPD_2in9_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc.c + 1 + ..\User\e-Paper\EPD_2in9bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3.c + 1 + ..\User\e-Paper\EPD_2in9b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13.c + 1 + ..\User\e-Paper\EPD_2in13.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2.c + 1 + ..\User\e-Paper\EPD_2in13_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3.c + 1 + ..\User\e-Paper\EPD_2in13_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4.c + 1 + ..\User\e-Paper\EPD_2in13_V4.c + + + EPD_2in13bc.c + 1 + ..\User\e-Paper\EPD_2in13bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V3.c + 1 + ..\User\e-Paper\EPD_2in13b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4.c + 1 + ..\User\e-Paper\EPD_2in13b_V4.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d.c + 1 + ..\User\e-Paper\EPD_2in13d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g.c + 1 + ..\User\e-Paper\EPD_2in13g.c + + + EPD_2in36g.c + 1 + ..\User\e-Paper\EPD_2in36g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66.c + 1 + ..\User\e-Paper\EPD_2in66.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b.c + 1 + ..\User\e-Paper\EPD_2in66b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + + + EPD_3in0g.c + 1 + ..\User\e-Paper\EPD_3in0g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52.c + 1 + ..\User\e-Paper\EPD_3in52.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7.c + 1 + ..\User\e-Paper\EPD_3in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f.c + 1 + ..\User\e-Paper\EPD_4in01f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2.c + 1 + ..\User\e-Paper\EPD_4in2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2.c + 1 + ..\User\e-Paper\EPD_4in2_V2.c + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + EPD_4in2bc.c + 1 + ..\User\e-Paper\EPD_4in2bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2.c + 1 + ..\User\e-Paper\EPD_4in2b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in37g.c + 1 + ..\User\e-Paper\EPD_4in37g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f.c + 1 + ..\User\e-Paper\EPD_5in65f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83.c + 1 + ..\User\e-Paper\EPD_5in83.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2.c + 1 + ..\User\e-Paper\EPD_5in83_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc.c + 1 + ..\User\e-Paper\EPD_5in83bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2.c + 1 + ..\User\e-Paper\EPD_5in83b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f.c + 1 + ..\User\e-Paper\EPD_7in3f.c + + + EPD_7in3g.c + 1 + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + + EPD_7in5_HD.c + 1 + ..\User\e-Paper\EPD_7in5_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc.c + 1 + ..\User\e-Paper\EPD_7in5bc.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2.c + 1 + ..\User\e-Paper\EPD_7in5b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD.c + 1 + ..\User\e-Paper\EPD_7in5b_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k.c + 1 + ..\User\e-Paper\EPD_13in3k.c + + + + + Config + + + DEV_Config.c + 1 + ..\User\Config\DEV_Config.c + + + + + GUI + + + GUI_Paint.c + 1 + ..\User\GUI\GUI_Paint.c + + + + + Fonts + + + font8.c + 1 + ..\User\Fonts\font8.c + + + font12.c + 1 + ..\User\Fonts\font12.c + + + font12CN.c + 1 + ..\User\Fonts\font12CN.c + + + font16.c + 1 + ..\User\Fonts\font16.c + + + font20.c + 1 + ..\User\Fonts\font20.c + + + font24.c + 1 + ..\User\Fonts\font24.c + + + font24CN.c + 1 + ..\User\Fonts\font24CN.c + + + + + README + + + Readme_CN.txt + 5 + ..\User\Readme_CN.txt + + + Readme_EN.txt + 5 + ..\User\Readme_EN.txt + + + + + Drivers/CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 0 + + + + 2 + 2 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f1xx.c + 1 + ../Src/system_stm32f1xx.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Drivers/STM32F1xx_HAL_Driver + + + stm32f1xx_hal_gpio_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c + + + stm32f1xx_hal_spi.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c + + + stm32f1xx_hal.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c + + + stm32f1xx_hal_rcc.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c + + + stm32f1xx_hal_rcc_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c + + + stm32f1xx_hal_gpio.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c + + + stm32f1xx_hal_dma.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c + + + stm32f1xx_hal_cortex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c + + + stm32f1xx_hal_pwr.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c + + + stm32f1xx_hal_flash.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c + + + stm32f1xx_hal_flash_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c + + + stm32f1xx_hal_exti.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c + + + stm32f1xx_hal_tim.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c + + + stm32f1xx_hal_tim_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c + + + stm32f1xx_hal_uart.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c + + + + + ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + EPD_7in5b_V2_test + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32F103ZE + STMicroelectronics + Keil.STM32F1xx_DFP.2.1.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103ZE$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + epd-demo\ + epd-demo + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F103xE + + ../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\Config; ..\User\e-Paper; ..\User\Fonts; ..\User\GUI; ..\User\Examples + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f103xe.s + 2 + startup_stm32f103xe.s + + + + + Application/User + + + main.c + 1 + ../Src/main.c + + + gpio.c + 1 + ../Src/gpio.c + + + spi.c + 1 + ../Src/spi.c + + + usart.c + 1 + ../Src/usart.c + + + stm32f1xx_it.c + 1 + ../Src/stm32f1xx_it.c + + + stm32f1xx_hal_msp.c + 1 + ../Src/stm32f1xx_hal_msp.c + + + + + Examples + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData.c + 1 + ..\User\Examples\ImageData.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData2.c + 1 + ..\User\Examples\ImageData2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02_test.c + 1 + ..\User\Examples\EPD_1in02_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_test.c + 1 + ..\User\Examples\EPD_1in54_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2_test.c + 1 + ..\User\Examples\EPD_1in54_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_test.c + 1 + ..\User\Examples\EPD_1in54b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2_test.c + 1 + ..\User\Examples\EPD_1in54b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c_test.c + 1 + ..\User\Examples\EPD_1in54c_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g_test.c + 1 + ..\User\Examples\EPD_1in64g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_test.c + 1 + ..\User\Examples\EPD_2in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2_test.c + 1 + ..\User\Examples\EPD_2in7_V2_test.c + + + EPD_2in7b_test.c + 1 + ..\User\Examples\EPD_2in7b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2_test.c + 1 + ..\User\Examples\EPD_2in7b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_test.c + 1 + ..\User\Examples\EPD_2in9_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2_test.c + 1 + ..\User\Examples\EPD_2in9_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc_test.c + 1 + ..\User\Examples\EPD_2in9bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3_test.c + 1 + ..\User\Examples\EPD_2in9b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_test.c + 1 + ..\User\Examples\EPD_2in13_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2_test.c + 1 + ..\User\Examples\EPD_2in13_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3_test.c + 1 + ..\User\Examples\EPD_2in13_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4_test.c + 1 + ..\User\Examples\EPD_2in13_V4_test.c + + + EPD_2in13b_V3_test.c + 1 + ..\User\Examples\EPD_2in13b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4_test.c + 1 + ..\User\Examples\EPD_2in13b_V4_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13bc_test.c + 1 + ..\User\Examples\EPD_2in13bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d_test.c + 1 + ..\User\Examples\EPD_2in13d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g_test.c + 1 + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b_test.c + 1 + ..\User\Examples\EPD_2in66b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52_test.c + 1 + ..\User\Examples\EPD_3in52_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7_test.c + 1 + ..\User\Examples\EPD_3in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f_test.c + 1 + ..\User\Examples\EPD_4in01f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_test.c + 1 + ..\User\Examples\EPD_4in2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2_test.c + 1 + ..\User\Examples\EPD_4in2_V2_test.c + + + EPD_4in2bc_test.c + 1 + ..\User\Examples\EPD_4in2bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2_test.c + 1 + ..\User\Examples\EPD_4in2b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + + + EPD_4in37g_test.c + 1 + ..\User\Examples\EPD_4in37g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f_test.c + 1 + ..\User\Examples\EPD_5in65f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_test.c + 1 + ..\User\Examples\EPD_5in83_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2_test.c + 1 + ..\User\Examples\EPD_5in83_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc_test.c + 1 + ..\User\Examples\EPD_5in83bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2_test.c + 1 + ..\User\Examples\EPD_5in83b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f_test.c + 1 + ..\User\Examples\EPD_7in3f_test.c + + + EPD_7in3g_test.c + 1 + ..\User\Examples\EPD_7in3g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_test.c + 1 + ..\User\Examples\EPD_7in5_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test.c + 1 + ..\User\Examples\EPD_7in5_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + + + EPD_7in5_HD_test.c + 1 + ..\User\Examples\EPD_7in5_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc_test.c + 1 + ..\User\Examples\EPD_7in5bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2_test.c + 1 + ..\User\Examples\EPD_7in5b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD_test.c + 1 + ..\User\Examples\EPD_7in5b_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k_test.c + 1 + ..\User\Examples\EPD_13in3k_test.c + + + + + e-Paper + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02d.c + 1 + ..\User\e-Paper\EPD_1in02d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54.c + 1 + ..\User\e-Paper\EPD_1in54.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2.c + 1 + ..\User\e-Paper\EPD_1in54_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b.c + 1 + ..\User\e-Paper\EPD_1in54b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2.c + 1 + ..\User\e-Paper\EPD_1in54b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c.c + 1 + ..\User\e-Paper\EPD_1in54c.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g.c + 1 + ..\User\e-Paper\EPD_1in64g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7.c + 1 + ..\User\e-Paper\EPD_2in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2.c + 1 + ..\User\e-Paper\EPD_2in7_V2.c + + + EPD_2in7b.c + 1 + ..\User\e-Paper\EPD_2in7b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2.c + 1 + ..\User\e-Paper\EPD_2in7b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9.c + 1 + ..\User\e-Paper\EPD_2in9.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2.c + 1 + ..\User\e-Paper\EPD_2in9_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc.c + 1 + ..\User\e-Paper\EPD_2in9bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3.c + 1 + ..\User\e-Paper\EPD_2in9b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13.c + 1 + ..\User\e-Paper\EPD_2in13.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2.c + 1 + ..\User\e-Paper\EPD_2in13_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3.c + 1 + ..\User\e-Paper\EPD_2in13_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4.c + 1 + ..\User\e-Paper\EPD_2in13_V4.c + + + EPD_2in13bc.c + 1 + ..\User\e-Paper\EPD_2in13bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V3.c + 1 + ..\User\e-Paper\EPD_2in13b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4.c + 1 + ..\User\e-Paper\EPD_2in13b_V4.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d.c + 1 + ..\User\e-Paper\EPD_2in13d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g.c + 1 + ..\User\e-Paper\EPD_2in13g.c + + + EPD_2in36g.c + 1 + ..\User\e-Paper\EPD_2in36g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66.c + 1 + ..\User\e-Paper\EPD_2in66.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b.c + 1 + ..\User\e-Paper\EPD_2in66b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + + + EPD_3in0g.c + 1 + ..\User\e-Paper\EPD_3in0g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52.c + 1 + ..\User\e-Paper\EPD_3in52.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7.c + 1 + ..\User\e-Paper\EPD_3in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f.c + 1 + ..\User\e-Paper\EPD_4in01f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2.c + 1 + ..\User\e-Paper\EPD_4in2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2.c + 1 + ..\User\e-Paper\EPD_4in2_V2.c + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + EPD_4in2bc.c + 1 + ..\User\e-Paper\EPD_4in2bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2.c + 1 + ..\User\e-Paper\EPD_4in2b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in37g.c + 1 + ..\User\e-Paper\EPD_4in37g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f.c + 1 + ..\User\e-Paper\EPD_5in65f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83.c + 1 + ..\User\e-Paper\EPD_5in83.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2.c + 1 + ..\User\e-Paper\EPD_5in83_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc.c + 1 + ..\User\e-Paper\EPD_5in83bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2.c + 1 + ..\User\e-Paper\EPD_5in83b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f.c + 1 + ..\User\e-Paper\EPD_7in3f.c + + + EPD_7in3g.c + 1 + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + + EPD_7in5_HD.c + 1 + ..\User\e-Paper\EPD_7in5_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc.c + 1 + ..\User\e-Paper\EPD_7in5bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2.c + 1 + ..\User\e-Paper\EPD_7in5b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD.c + 1 + ..\User\e-Paper\EPD_7in5b_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k.c + 1 + ..\User\e-Paper\EPD_13in3k.c + + + + + Config + + + DEV_Config.c + 1 + ..\User\Config\DEV_Config.c + + + + + GUI + + + GUI_Paint.c + 1 + ..\User\GUI\GUI_Paint.c + + + + + Fonts + + + font8.c + 1 + ..\User\Fonts\font8.c + + + font12.c + 1 + ..\User\Fonts\font12.c + + + font12CN.c + 1 + ..\User\Fonts\font12CN.c + + + font16.c + 1 + ..\User\Fonts\font16.c + + + font20.c + 1 + ..\User\Fonts\font20.c + + + font24.c + 1 + ..\User\Fonts\font24.c + + + font24CN.c + 1 + ..\User\Fonts\font24CN.c + + + + + README + + + Readme_CN.txt + 5 + ..\User\Readme_CN.txt + + + Readme_EN.txt + 5 + ..\User\Readme_EN.txt + + + + + Drivers/CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 0 + + + + 2 + 2 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f1xx.c + 1 + ../Src/system_stm32f1xx.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Drivers/STM32F1xx_HAL_Driver + + + stm32f1xx_hal_gpio_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c + + + stm32f1xx_hal_spi.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c + + + stm32f1xx_hal.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c + + + stm32f1xx_hal_rcc.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c + + + stm32f1xx_hal_rcc_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c + + + stm32f1xx_hal_gpio.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c + + + stm32f1xx_hal_dma.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c + + + stm32f1xx_hal_cortex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c + + + stm32f1xx_hal_pwr.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c + + + stm32f1xx_hal_flash.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c + + + stm32f1xx_hal_flash_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c + + + stm32f1xx_hal_exti.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c + + + stm32f1xx_hal_tim.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c + + + stm32f1xx_hal_tim_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c + + + stm32f1xx_hal_uart.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c + + + + + ::CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + EPD_7in5b_HD_test + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32F103ZE + STMicroelectronics + Keil.STM32F1xx_DFP.2.1.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103ZE$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + epd-demo\ + epd-demo + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F103xE + + ../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\Config; ..\User\e-Paper; ..\User\Fonts; ..\User\GUI; ..\User\Examples + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f103xe.s + 2 + startup_stm32f103xe.s + + + + + Application/User + + + main.c + 1 + ../Src/main.c + + + gpio.c + 1 + ../Src/gpio.c + + + spi.c + 1 + ../Src/spi.c + + + usart.c + 1 + ../Src/usart.c + + + stm32f1xx_it.c + 1 + ../Src/stm32f1xx_it.c + + + stm32f1xx_hal_msp.c + 1 + ../Src/stm32f1xx_hal_msp.c + + + + + Examples + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData.c + 1 + ..\User\Examples\ImageData.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData2.c + 1 + ..\User\Examples\ImageData2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02_test.c + 1 + ..\User\Examples\EPD_1in02_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_test.c + 1 + ..\User\Examples\EPD_1in54_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2_test.c + 1 + ..\User\Examples\EPD_1in54_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_test.c + 1 + ..\User\Examples\EPD_1in54b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2_test.c + 1 + ..\User\Examples\EPD_1in54b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c_test.c + 1 + ..\User\Examples\EPD_1in54c_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g_test.c + 1 + ..\User\Examples\EPD_1in64g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_test.c + 1 + ..\User\Examples\EPD_2in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2_test.c + 1 + ..\User\Examples\EPD_2in7_V2_test.c + + + EPD_2in7b_test.c + 1 + ..\User\Examples\EPD_2in7b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2_test.c + 1 + ..\User\Examples\EPD_2in7b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_test.c + 1 + ..\User\Examples\EPD_2in9_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2_test.c + 1 + ..\User\Examples\EPD_2in9_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc_test.c + 1 + ..\User\Examples\EPD_2in9bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3_test.c + 1 + ..\User\Examples\EPD_2in9b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_test.c + 1 + ..\User\Examples\EPD_2in13_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2_test.c + 1 + ..\User\Examples\EPD_2in13_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3_test.c + 1 + ..\User\Examples\EPD_2in13_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4_test.c + 1 + ..\User\Examples\EPD_2in13_V4_test.c + + + EPD_2in13b_V3_test.c + 1 + ..\User\Examples\EPD_2in13b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4_test.c + 1 + ..\User\Examples\EPD_2in13b_V4_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13bc_test.c + 1 + ..\User\Examples\EPD_2in13bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d_test.c + 1 + ..\User\Examples\EPD_2in13d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g_test.c + 1 + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b_test.c + 1 + ..\User\Examples\EPD_2in66b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52_test.c + 1 + ..\User\Examples\EPD_3in52_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7_test.c + 1 + ..\User\Examples\EPD_3in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f_test.c + 1 + ..\User\Examples\EPD_4in01f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_test.c + 1 + ..\User\Examples\EPD_4in2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2_test.c + 1 + ..\User\Examples\EPD_4in2_V2_test.c + + + EPD_4in2bc_test.c + 1 + ..\User\Examples\EPD_4in2bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2_test.c + 1 + ..\User\Examples\EPD_4in2b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + + + EPD_4in37g_test.c + 1 + ..\User\Examples\EPD_4in37g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f_test.c + 1 + ..\User\Examples\EPD_5in65f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_test.c + 1 + ..\User\Examples\EPD_5in83_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2_test.c + 1 + ..\User\Examples\EPD_5in83_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc_test.c + 1 + ..\User\Examples\EPD_5in83bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2_test.c + 1 + ..\User\Examples\EPD_5in83b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f_test.c + 1 + ..\User\Examples\EPD_7in3f_test.c + + + EPD_7in3g_test.c + 1 + ..\User\Examples\EPD_7in3g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_test.c + 1 + ..\User\Examples\EPD_7in5_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test.c + 1 + ..\User\Examples\EPD_7in5_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + + + EPD_7in5_HD_test.c + 1 + ..\User\Examples\EPD_7in5_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc_test.c + 1 + ..\User\Examples\EPD_7in5bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2_test.c + 1 + ..\User\Examples\EPD_7in5b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD_test.c + 1 + ..\User\Examples\EPD_7in5b_HD_test.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k_test.c + 1 + ..\User\Examples\EPD_13in3k_test.c + + + + + e-Paper + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02d.c + 1 + ..\User\e-Paper\EPD_1in02d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54.c + 1 + ..\User\e-Paper\EPD_1in54.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2.c + 1 + ..\User\e-Paper\EPD_1in54_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b.c + 1 + ..\User\e-Paper\EPD_1in54b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2.c + 1 + ..\User\e-Paper\EPD_1in54b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c.c + 1 + ..\User\e-Paper\EPD_1in54c.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g.c + 1 + ..\User\e-Paper\EPD_1in64g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7.c + 1 + ..\User\e-Paper\EPD_2in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2.c + 1 + ..\User\e-Paper\EPD_2in7_V2.c + + + EPD_2in7b.c + 1 + ..\User\e-Paper\EPD_2in7b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2.c + 1 + ..\User\e-Paper\EPD_2in7b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9.c + 1 + ..\User\e-Paper\EPD_2in9.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2.c + 1 + ..\User\e-Paper\EPD_2in9_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc.c + 1 + ..\User\e-Paper\EPD_2in9bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3.c + 1 + ..\User\e-Paper\EPD_2in9b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + + + EPD_2in9d.c + 1 + ..\User\e-Paper\EPD_2in9d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13.c + 1 + ..\User\e-Paper\EPD_2in13.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2.c + 1 + ..\User\e-Paper\EPD_2in13_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3.c + 1 + ..\User\e-Paper\EPD_2in13_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4.c + 1 + ..\User\e-Paper\EPD_2in13_V4.c + + + EPD_2in13bc.c + 1 + ..\User\e-Paper\EPD_2in13bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V3.c + 1 + ..\User\e-Paper\EPD_2in13b_V3.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4.c + 1 + ..\User\e-Paper\EPD_2in13b_V4.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d.c + 1 + ..\User\e-Paper\EPD_2in13d.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g.c + 1 + ..\User\e-Paper\EPD_2in13g.c + + + EPD_2in36g.c + 1 + ..\User\e-Paper\EPD_2in36g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66.c + 1 + ..\User\e-Paper\EPD_2in66.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b.c + 1 + ..\User\e-Paper\EPD_2in66b.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + + + EPD_3in0g.c + 1 + ..\User\e-Paper\EPD_3in0g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52.c + 1 + ..\User\e-Paper\EPD_3in52.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7.c + 1 + ..\User\e-Paper\EPD_3in7.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f.c + 1 + ..\User\e-Paper\EPD_4in01f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2.c + 1 + ..\User\e-Paper\EPD_4in2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2.c + 1 + ..\User\e-Paper\EPD_4in2_V2.c + + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + + + EPD_4in2bc.c + 1 + ..\User\e-Paper\EPD_4in2bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2.c + 1 + ..\User\e-Paper\EPD_4in2b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in37g.c + 1 + ..\User\e-Paper\EPD_4in37g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f.c + 1 + ..\User\e-Paper\EPD_5in65f.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83.c + 1 + ..\User\e-Paper\EPD_5in83.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2.c + 1 + ..\User\e-Paper\EPD_5in83_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc.c + 1 + ..\User\e-Paper\EPD_5in83bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2.c + 1 + ..\User\e-Paper\EPD_5in83b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f.c + 1 + ..\User\e-Paper\EPD_7in3f.c + + + EPD_7in3g.c + 1 + ..\User\e-Paper\EPD_7in3g.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5.c + 1 + ..\User\e-Paper\EPD_7in5.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2.c + 1 + ..\User\e-Paper\EPD_7in5_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + + + EPD_7in5_HD.c + 1 + ..\User\e-Paper\EPD_7in5_HD.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5bc.c + 1 + ..\User\e-Paper\EPD_7in5bc.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_V2.c + 1 + ..\User\e-Paper\EPD_7in5b_V2.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5b_HD.c + 1 + ..\User\e-Paper\EPD_7in5b_HD.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_13in3k.c + 1 + ..\User\e-Paper\EPD_13in3k.c + + + + + Config + + + DEV_Config.c + 1 + ..\User\Config\DEV_Config.c + + + + + GUI + + + GUI_Paint.c + 1 + ..\User\GUI\GUI_Paint.c + + + + + Fonts + + + font8.c + 1 + ..\User\Fonts\font8.c + + + font12.c + 1 + ..\User\Fonts\font12.c + + + font12CN.c + 1 + ..\User\Fonts\font12CN.c + + + font16.c + 1 + ..\User\Fonts\font16.c + + + font20.c + 1 + ..\User\Fonts\font20.c + + + font24.c + 1 + ..\User\Fonts\font24.c + + + font24CN.c + 1 + ..\User\Fonts\font24CN.c + + + + + README + + + Readme_CN.txt + 5 + ..\User\Readme_CN.txt + + + Readme_EN.txt + 5 + ..\User\Readme_EN.txt + + + + + Drivers/CMSIS + + + 0 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 0 + + + + 2 + 2 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + system_stm32f1xx.c + 1 + ../Src/system_stm32f1xx.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + + + Drivers/STM32F1xx_HAL_Driver + + + stm32f1xx_hal_gpio_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c + + + stm32f1xx_hal_spi.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c + + + stm32f1xx_hal.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c + + + stm32f1xx_hal_rcc.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c + + + stm32f1xx_hal_rcc_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c + + + stm32f1xx_hal_gpio.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c + + + stm32f1xx_hal_dma.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c + + + stm32f1xx_hal_cortex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c + + + stm32f1xx_hal_pwr.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c + + + stm32f1xx_hal_flash.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c + + + stm32f1xx_hal_flash_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c + + + stm32f1xx_hal_exti.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c + + + stm32f1xx_hal_tim.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c + + + stm32f1xx_hal_tim_ex.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c + + + stm32f1xx_hal_uart.c + 1 + ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c + + + + + ::CMSIS + + + + + EPD_13in3k_test + 0x4 + ARM-ADS + 5060750::V5.06 update 6 (build 750)::ARMCC + 0 + + + STM32F103ZE + STMicroelectronics + Keil.STM32F1xx_DFP.2.1.0 + http://www.keil.com/pack/ + IRAM(0x20000000-0x2000FFFF) IROM(0x8000000-0x807FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") + + + + + + + + + + + + + + + $$Device:STM32F103ZE$SVD\STM32F103xx.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + epd-demo\ + epd-demo + 1 + 0 + 1 + 1 + 1 + + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 0 + + + SARMCM3.DLL + -REMAP + DCM.DLL + -pCM3 + SARMCM3.DLL + + TCM.DLL + -pCM3 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4101 + + 1 + STLink\ST-LINKIII-KEIL_SWO.dll + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M3" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 1 + 0x8000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x8000000 + 0x80000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x10000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 4 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + USE_HAL_DRIVER,STM32F103xE + + ../Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc; ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy; ../Drivers/CMSIS/Device/ST/STM32F1xx/Include; ../Drivers/CMSIS/Include; ..\User\Config; ..\User\e-Paper; ..\User\Fonts; ..\User\GUI; ..\User\Examples + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + + + + 1 + 0 + 0 + 0 + 1 + 0 + 0x08000000 + 0x20000000 + + + + + + + + + + + + + Application/MDK-ARM + + + startup_stm32f103xe.s + 2 + startup_stm32f103xe.s + + + + + Application/User + + + main.c + 1 + ../Src/main.c + + + gpio.c + 1 + ../Src/gpio.c + + + spi.c + 1 + ../Src/spi.c + + + usart.c + 1 + ../Src/usart.c + + + stm32f1xx_it.c + 1 + ../Src/stm32f1xx_it.c + + + stm32f1xx_hal_msp.c + 1 + ../Src/stm32f1xx_hal_msp.c + + + + + Examples + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + ImageData.c + 1 + ..\User\Examples\ImageData.c + + + ImageData2.c + 1 + ..\User\Examples\ImageData2.c + + + 2 + 0 + 0 + 0 + 0 + 1 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in02_test.c + 1 + ..\User\Examples\EPD_1in02_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_test.c + 1 + ..\User\Examples\EPD_1in54_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54_V2_test.c + 1 + ..\User\Examples\EPD_1in54_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_test.c + 1 + ..\User\Examples\EPD_1in54b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54b_V2_test.c + 1 + ..\User\Examples\EPD_1in54b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in54c_test.c + 1 + ..\User\Examples\EPD_1in54c_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_1in64g_test.c + 1 + ..\User\Examples\EPD_1in64g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_test.c + 1 + ..\User\Examples\EPD_2in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7_V2_test.c + 1 + ..\User\Examples\EPD_2in7_V2_test.c + + + EPD_2in7b_test.c + 1 + ..\User\Examples\EPD_2in7b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in7b_V2_test.c + 1 + ..\User\Examples\EPD_2in7b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_test.c + 1 + ..\User\Examples\EPD_2in9_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9_V2_test.c + 1 + ..\User\Examples\EPD_2in9_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9bc_test.c + 1 + ..\User\Examples\EPD_2in9bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V3_test.c + 1 + ..\User\Examples\EPD_2in9b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in9b_V4_test.c + 1 + ..\User\Examples\EPD_2in9b_V4_test.c + + + EPD_2in9d_test.c + 1 + ..\User\Examples\EPD_2in9d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_test.c + 1 + ..\User\Examples\EPD_2in13_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V2_test.c + 1 + ..\User\Examples\EPD_2in13_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V3_test.c + 1 + ..\User\Examples\EPD_2in13_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13_V4_test.c + 1 + ..\User\Examples\EPD_2in13_V4_test.c + + + EPD_2in13b_V3_test.c + 1 + ..\User\Examples\EPD_2in13b_V3_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13b_V4_test.c + 1 + ..\User\Examples\EPD_2in13b_V4_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13bc_test.c + 1 + ..\User\Examples\EPD_2in13bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13d_test.c + 1 + ..\User\Examples\EPD_2in13d_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in13g_test.c + 1 + ..\User\Examples\EPD_2in13g_test.c + + + EPD_2in36g_test.c + 1 + ..\User\Examples\EPD_2in36g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66_test.c + 1 + ..\User\Examples\EPD_2in66_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66b_test.c + 1 + ..\User\Examples\EPD_2in66b_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_2in66g_test.c + 1 + ..\User\Examples\EPD_2in66g_test.c + + + EPD_3in0g_test.c + 1 + ..\User\Examples\EPD_3in0g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in52_test.c + 1 + ..\User\Examples\EPD_3in52_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_3in7_test.c + 1 + ..\User\Examples\EPD_3in7_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in01f_test.c + 1 + ..\User\Examples\EPD_4in01f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_test.c + 1 + ..\User\Examples\EPD_4in2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2_V2_test.c + 1 + ..\User\Examples\EPD_4in2_V2_test.c + + + EPD_4in2bc_test.c + 1 + ..\User\Examples\EPD_4in2bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in2b_V2_test.c + 1 + ..\User\Examples\EPD_4in2b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_4in26_test.c + 1 + ..\User\Examples\EPD_4in26_test.c + + + EPD_4in37g_test.c + 1 + ..\User\Examples\EPD_4in37g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in65f_test.c + 1 + ..\User\Examples\EPD_5in65f_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_test.c + 1 + ..\User\Examples\EPD_5in83_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83_V2_test.c + 1 + ..\User\Examples\EPD_5in83_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83bc_test.c + 1 + ..\User\Examples\EPD_5in83bc_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_5in83b_V2_test.c + 1 + ..\User\Examples\EPD_5in83b_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in3f_test.c + 1 + ..\User\Examples\EPD_7in3f_test.c + + + EPD_7in3g_test.c + 1 + ..\User\Examples\EPD_7in3g_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_test.c + 1 + ..\User\Examples\EPD_7in5_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test.c + 1 + ..\User\Examples\EPD_7in5_V2_test.c + + + 2 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + + + + EPD_7in5_V2_test_old.c + 1 + ..\User\Examples\EPD_7in5_V2_test_old.c + EPD_7in5_HD_test.c 1 @@ -317650,6 +344571,11 @@ + + EPD_2in9b_V4.c + 1 + ..\User\e-Paper\EPD_2in9b_V4.c + EPD_2in9d.c 1 @@ -318276,6 +345202,11 @@ + + EPD_2in66g.c + 1 + ..\User\e-Paper\EPD_2in66g.c + EPD_3in0g.c 1 @@ -318561,6 +345492,11 @@ 1 ..\User\e-Paper\EPD_4in2_V2.c + + EPD_4in26.c + 1 + ..\User\e-Paper\EPD_4in26.c + EPD_4in2bc.c 1 @@ -319182,6 +346118,11 @@ + + EPD_7in5_V2_old.c + 1 + ..\User\e-Paper\EPD_7in5_V2_old.c + EPD_7in5_HD.c 1 @@ -319850,6 +346791,7 @@ + @@ -319857,12 +346799,14 @@ + + @@ -319877,6 +346821,7 @@ + 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 c5600f630..a3c1cd847 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 @@ -22,14 +22,48 @@

Tool Versions:

Project:

E:\��Ŀ\e-Paper\Code\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx -Project File Date: 09/25/2023 +Project File Date: 12/20/2023

Output:

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\KEIL\azwz\ARM\ARMCC\Bin' -Build target 'EPD_13in3k_test' -compiling EPD_13in3k_test.c... +Build target 'EPD_2in9_V2_test' +assembling startup_stm32f103xe.s... +compiling stm32f1xx_it.c... +compiling main.c... +compiling usart.c... +compiling spi.c... +compiling gpio.c... +compiling ImageData.c... +compiling stm32f1xx_hal_msp.c... +compiling DEV_Config.c... +compiling EPD_2in9_V2_test.c... +compiling EPD_2in9_V2.c... +compiling font8.c... +compiling font12.c... +compiling font12CN.c... +compiling font16.c... +compiling font20.c... +compiling font24.c... +compiling font24CN.c... +compiling GUI_Paint.c... +compiling stm32f1xx_hal_gpio_ex.c... +compiling system_stm32f1xx.c... +compiling stm32f1xx_hal.c... +compiling stm32f1xx_hal_rcc.c... +compiling stm32f1xx_hal_spi.c... +compiling stm32f1xx_hal_pwr.c... +compiling stm32f1xx_hal_rcc_ex.c... +compiling stm32f1xx_hal_cortex.c... +compiling stm32f1xx_hal_gpio.c... +compiling stm32f1xx_hal_dma.c... +compiling stm32f1xx_hal_exti.c... +compiling stm32f1xx_hal_tim.c... +compiling stm32f1xx_hal_tim_ex.c... +compiling stm32f1xx_hal_flash_ex.c... +compiling stm32f1xx_hal_flash.c... +compiling stm32f1xx_hal_uart.c... linking... -Program Size: Code=9704 RO-data=92252 RW-data=68 ZI-data=53428 +Program Size: Code=25168 RO-data=28760 RW-data=712 ZI-data=53424 FromELF: creating hex file... "epd-demo\epd-demo.axf" - 0 Error(s), 0 Warning(s). @@ -47,14 +81,14 @@

Software Packages used:

STMicroelectronics STM32F1 Series Device Support, Drivers and Examples

Collection of Component include folders:

- .\RTE\_EPD_13in3k_test + .\RTE\_EPD_2in9_V2_test 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

Collection of Component Files used:

* Component: ARM::CMSIS:CORE:5.6.0 -Build Time Elapsed: 00:00:01 +Build Time Elapsed: 00:00:13 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 e1c1c8cf7..be4ef9a95 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm @@ -3,19 +3,19 @@ Static Call Graph - [epd-demo\epd-demo.axf]

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


-

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Mon Sep 25 15:25:50 2023 +

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu Dec 21 15:08:28 2023

-

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

+

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

Call chain for Maximum Stack Depth:

main ⇒ EPD_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf

Mutually Recursive functions

  • ADC1_2_IRQHandler   ⇒   ADC1_2_IRQHandler
    -
  • BusFault_Handler   ⇒   BusFault_Handler
    +
  • Error_Handler   ⇒   Error_Handler
  • MemManage_Handler   ⇒   MemManage_Handler
    +
  • BusFault_Handler   ⇒   BusFault_Handler
  • UsageFault_Handler   ⇒   UsageFault_Handler
    -
  • Error_Handler   ⇒   Error_Handler

    @@ -23,7 +23,7 @@

    • ADC1_2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • ADC3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • BusFault_Handler from stm32f1xx_it.o(i.BusFault_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • BusFault_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • CAN1_RX1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • CAN1_SCE_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • DMA1_Channel1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) @@ -37,7 +37,7 @@

    • DMA2_Channel2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • DMA2_Channel3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • DMA2_Channel4_5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • DebugMon_Handler from stm32f1xx_it.o(i.DebugMon_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • DebugMon_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • EXTI0_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • EXTI15_10_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • EXTI1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) @@ -47,15 +47,15 @@

    • EXTI9_5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • FLASH_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • FSMC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • HardFault_Handler from stm32f1xx_it.o(i.HardFault_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • HardFault_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • I2C1_ER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • I2C1_EV_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • I2C2_ER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • I2C2_EV_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • MemManage_Handler from stm32f1xx_it.o(i.MemManage_Handler) referenced from startup_stm32f103xe.o(RESET) -
    • NMI_Handler from stm32f1xx_it.o(i.NMI_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • MemManage_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET) +
    • NMI_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • PVD_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • PendSV_Handler from stm32f1xx_it.o(i.PendSV_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • PendSV_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • RCC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • RTC_Alarm_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • RTC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) @@ -64,9 +64,29 @@

    • SPI1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • SPI2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • SPI3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • SVC_Handler from stm32f1xx_it.o(i.SVC_Handler) referenced from startup_stm32f103xe.o(RESET) -
    • SysTick_Handler from stm32f1xx_it.o(i.SysTick_Handler) referenced from startup_stm32f103xe.o(RESET) -
    • SystemInit from system_stm32f1xx.o(i.SystemInit) referenced from startup_stm32f103xe.o(.text) +
    • SPI_2linesRxISR_16BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_2linesRxISR_8BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_2linesTxISR_16BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_2linesTxISR_8BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_AbortRx_ISR from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_AbortTx_ISR from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAAbortOnError from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAError from stm32f1xx_hal_spi.o(.text) referenced 2 times from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAHalfReceiveCplt from stm32f1xx_hal_spi.o(.text) referenced 2 times from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAHalfTransmitCplt from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAHalfTransmitReceiveCplt from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMAReceiveCplt from stm32f1xx_hal_spi.o(.text) referenced 2 times from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMARxAbortCallback from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMATransmitCplt from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMATransmitReceiveCplt from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_DMATxAbortCallback from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_RxISR_16BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_RxISR_8BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_TxISR_16BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SPI_TxISR_8BIT from stm32f1xx_hal_spi.o(.text) referenced from stm32f1xx_hal_spi.o(.text) +
    • SVC_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET) +
    • SysTick_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET) +
    • SystemInit from system_stm32f1xx.o(.text) referenced from startup_stm32f103xe.o(.text)
    • TAMPER_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • TIM1_BRK_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • TIM1_CC_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) @@ -84,17 +104,27 @@

    • TIM8_UP_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • UART4_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • UART5_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) +
    • UART_DMAAbortOnError from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMAError from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMAReceiveCplt from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMARxAbortCallback from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMARxHalfCplt from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMARxOnlyAbortCallback from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMATransmitCplt from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMATxAbortCallback from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMATxHalfCplt from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text) +
    • UART_DMATxOnlyAbortCallback from stm32f1xx_hal_uart.o(.text) referenced from stm32f1xx_hal_uart.o(.text)
    • USART1_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • USART2_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • USART3_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • USBWakeUp_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • USB_HP_CAN1_TX_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • USB_LP_CAN1_RX0_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET) -
    • UsageFault_Handler from stm32f1xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f103xe.o(RESET) +
    • UsageFault_Handler from stm32f1xx_it.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • WWDG_IRQHandler from startup_stm32f103xe.o(.text) referenced from startup_stm32f103xe.o(RESET)
    • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f103xe.o(.text) -
    • fputc from usart.o(i.fputc) referenced from printf3.o(i.__0printf$3) -
    • main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) +
    • fputc from usart.o(.text) referenced from printf3.o(i.__0printf$3) +
    • main from main.o(.text) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

    @@ -103,25 +133,25 @@

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
    [Address Reference Count : 1]

    • startup_stm32f103xe.o(.text)
    -

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) -

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -

    [Calls]

    • >>   __scatterload +

      _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

      [Calls]

      • >>   __scatterload
      -

      __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -

      [Called By]

      • >>   __scatterload +

        __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

        [Called By]

        • >>   __scatterload
        -

        _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +

        _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -

        _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +

        _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -

        _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +

        _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -

        __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) +

        __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) -

        __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) +

        __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

        Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
        [Address Reference Count : 1]

        • startup_stm32f103xe.o(RESET) @@ -310,676 +340,1748 @@

          WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xe.o(.text))
          [Address Reference Count : 1]

          • startup_stm32f103xe.o(RESET)
          -

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

          [Called By]

          • >>   _memset$wrapper -
          • >>   __aeabi_memclr +

            Error_Handler (Thumb, 8 bytes, Stack size 0 bytes, main.o(.text)) +

            [Stack]

            • Max Depth = 24 + In Cycle +
            • Call Chain = Error_Handler ⇒ Error_Handler (Cycle) +
            +
            [Calls]
            • >>   Error_Handler +
            • >>   __2printf +
            +
            [Called By]
            • >>   MX_USART1_UART_Init +
            • >>   MX_SPI1_Init +
            • >>   SystemClock_Config +
            • >>   Error_Handler
            -

            __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_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -

            [Calls]

            • >>   __aeabi_memset +

              SystemClock_Config (Thumb, 88 bytes, Stack size 72 bytes, main.o(.text)) +

              [Stack]

              • Max Depth = 136
              • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority +
              +
              [Calls]
              • >>   HAL_RCC_OscConfig +
              • >>   HAL_RCC_ClockConfig +
              • >>   Error_Handler +
              • >>   __aeabi_memclr4 +
              +
              [Called By]
              • >>   main
              -

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

              [Called By]

              • >>   Paint_DrawNum -
              • >>   SystemClock_Config +

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

                [Stack]

                • Max Depth = 768
                • Call Chain = main ⇒ EPD_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_test +
                • >>   SystemClock_Config +
                +
                [Address Reference Count : 1]
                • entry9a.o(.ARM.Collect$$$$0000000B) +
                +

                MX_GPIO_Init (Thumb, 86 bytes, Stack size 32 bytes, gpio.o(.text)) +

                [Stack]

                • Max Depth = 72
                • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init +
                +
                [Calls]
                • >>   HAL_GPIO_WritePin +
                • >>   HAL_GPIO_Init +
                +
                [Called By]
                • >>   main
                -

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

                MX_SPI1_Init (Thumb, 62 bytes, Stack size 8 bytes, spi.o(.text)) +

                [Stack]

                • Max Depth = 88
                • Call Chain = MX_SPI1_Init ⇒ HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
                +
                [Calls]
                • >>   HAL_SPI_Init +
                • >>   Error_Handler +
                +
                [Called By]
                • >>   main +
                -

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

                [Calls]

                • >>   __aeabi_memset +

                  HAL_SPI_MspInit (Thumb, 80 bytes, Stack size 24 bytes, spi.o(.text)) +

                  [Stack]

                  • Max Depth = 64
                  • Call Chain = HAL_SPI_MspInit ⇒ HAL_GPIO_Init +
                  +
                  [Calls]
                  • >>   HAL_GPIO_Init +
                  +
                  [Called By]
                  • >>   HAL_SPI_Init
                  -

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

                  HAL_SPI_MspDeInit (Thumb, 28 bytes, Stack size 0 bytes, spi.o(.text), UNUSED) +

                  [Calls]

                  • >>   HAL_GPIO_DeInit +
                  +
                  [Called By]
                  • >>   HAL_SPI_DeInit +
                  -

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

                  [Called By]

                  • >>   _printf_core +

                    MX_USART1_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(.text)) +

                    [Stack]

                    • Max Depth = 96
                    • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
                    +
                    [Calls]
                    • >>   HAL_UART_Init +
                    • >>   Error_Handler +
                    +
                    [Called By]
                    • >>   main
                    -

                    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) -

                    [Calls]

                    • >>   __main_after_scatterload +

                      HAL_UART_MspInit (Thumb, 100 bytes, Stack size 32 bytes, usart.o(.text)) +

                      [Stack]

                      • Max Depth = 72
                      • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init
                      -
                      [Called By]
                      • >>   _main_scatterload +
                        [Calls]
                        • >>   HAL_GPIO_Init +
                        +
                        [Called By]
                        • >>   HAL_UART_Init +
                        • >>   HAL_MultiProcessor_Init +
                        • >>   HAL_LIN_Init +
                        • >>   HAL_HalfDuplex_Init
                        -

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

                        HAL_UART_MspDeInit (Thumb, 30 bytes, Stack size 0 bytes, usart.o(.text), UNUSED) +

                        [Calls]

                        • >>   HAL_GPIO_DeInit +
                        +
                        [Called By]
                        • >>   HAL_UART_DeInit +
                        -

                        BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler)) -

                        [Calls]

                        • >>   BusFault_Handler +

                          fputc (Thumb, 20 bytes, Stack size 16 bytes, usart.o(.text)) +

                          [Stack]

                          • Max Depth = 72
                          • Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
                          -
                          [Called By]
                          • >>   BusFault_Handler +
                            [Calls]
                            • >>   HAL_UART_Transmit +
                            +
                            [Address Reference Count : 1]
                            • printf3.o(i.__0printf$3)
                            +

                            NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text))
                            [Address Reference Count : 1]

                            • startup_stm32f103xe.o(RESET)
                            -

                            DEV_Module_Exit (Thumb, 48 bytes, Stack size 8 bytes, dev_config.o(i.DEV_Module_Exit)) -

                            [Stack]

                            • Max Depth = 8
                            • Call Chain = DEV_Module_Exit +

                              HardFault_Handler (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +

                              [Stack]

                              • Max Depth = 24
                              • Call Chain = HardFault_Handler ⇒ __2printf
                              -
                              [Calls]
                              • >>   HAL_GPIO_WritePin +
                                [Calls]
                                • >>   __2printf
                                -
                                [Called By]
                                • >>   EPD_test +
                                  [Address Reference Count : 1]
                                  • startup_stm32f103xe.o(RESET)
                                  - -

                                  DEV_Module_Init (Thumb, 48 bytes, Stack size 8 bytes, dev_config.o(i.DEV_Module_Init)) -

                                  [Stack]

                                  • Max Depth = 8
                                  • Call Chain = DEV_Module_Init +

                                    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +

                                    [Calls]

                                    • >>   MemManage_Handler +
                                    +
                                    [Called By]
                                    • >>   MemManage_Handler
                                    -
                                    [Calls]
                                    • >>   HAL_GPIO_WritePin +
                                      [Address Reference Count : 1]
                                      • startup_stm32f103xe.o(RESET)
                                      -
                                      [Called By]
                                      • >>   EPD_test +

                                        BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +

                                        [Calls]

                                        • >>   BusFault_Handler
                                        - -

                                        DEV_SPI_WriteByte (Thumb, 18 bytes, Stack size 8 bytes, dev_config.o(i.DEV_SPI_WriteByte)) -

                                        [Stack]

                                        • Max Depth = 96
                                        • Call Chain = DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                          [Called By]
                                          • >>   BusFault_Handler
                                          -
                                          [Calls]
                                          • >>   HAL_SPI_Transmit +
                                            [Address Reference Count : 1]
                                            • startup_stm32f103xe.o(RESET)
                                            -
                                            [Called By]
                                            • >>   EPD_13IN3K_SendData -
                                            • >>   EPD_13IN3K_SendCommand +

                                              UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +

                                              [Calls]

                                              • >>   UsageFault_Handler
                                              - -

                                              DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DebugMon_Handler)) +
                                              [Called By]

                                              • >>   UsageFault_Handler +
                                              +
                                              [Address Reference Count : 1]
                                              • startup_stm32f103xe.o(RESET) +
                                              +

                                              SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text))
                                              [Address Reference Count : 1]

                                              • startup_stm32f103xe.o(RESET)
                                              -

                                              EPD_13IN3K_Clear (Thumb, 50 bytes, Stack size 24 bytes, epd_13in3k.o(i.EPD_13IN3K_Clear)) -

                                              [Stack]

                                              • Max Depth = 144
                                              • Call Chain = EPD_13IN3K_Clear ⇒ EPD_13IN3K_TurnOnDisplay ⇒ EPD_13IN3K_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +
                                                [Address Reference Count : 1]

                                                • startup_stm32f103xe.o(RESET)
                                                -
                                                [Calls]
                                                • >>   EPD_13IN3K_TurnOnDisplay -
                                                • >>   EPD_13IN3K_SendData -
                                                • >>   EPD_13IN3K_SendCommand +

                                                  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +
                                                  [Address Reference Count : 1]

                                                  • startup_stm32f103xe.o(RESET)
                                                  -
                                                  [Called By]
                                                  • >>   EPD_test +

                                                    SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text)) +

                                                    [Calls]

                                                    • >>   HAL_IncTick
                                                    - -

                                                    EPD_13IN3K_Init (Thumb, 274 bytes, Stack size 8 bytes, epd_13in3k.o(i.EPD_13IN3K_Init)) -

                                                    [Stack]

                                                    • Max Depth = 120
                                                    • Call Chain = EPD_13IN3K_Init ⇒ EPD_13IN3K_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                      [Address Reference Count : 1]
                                                      • startup_stm32f103xe.o(RESET)
                                                      -
                                                      [Calls]
                                                      • >>   EPD_13IN3K_ReadBusy -
                                                      • >>   EPD_13IN3K_SendData -
                                                      • >>   EPD_13IN3K_SendCommand -
                                                      • >>   HAL_GPIO_WritePin -
                                                      • >>   HAL_Delay +

                                                        HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(.text)) +

                                                        [Stack]

                                                        • Max Depth = 8
                                                        • Call Chain = HAL_MspInit
                                                        -
                                                        [Called By]
                                                        • >>   EPD_test +
                                                          [Called By]
                                                          • >>   HAL_Init
                                                          -

                                                          EPD_13IN3K_ReadBusy (Thumb, 46 bytes, Stack size 8 bytes, epd_13in3k.o(i.EPD_13IN3K_ReadBusy)) -

                                                          [Stack]

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

                                                            EPD_test (Thumb, 1500 bytes, Stack size 64 bytes, epd_2in9_v2_test.o(.text)) +

                                                            [Stack]

                                                            • Max Depth = 768
                                                            • Call Chain = EPD_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +
                                                            +
                                                            [Calls]
                                                            • >>   Paint_SetScale +
                                                            • >>   Paint_SelectImage +
                                                            • >>   Paint_NewImage +
                                                            • >>   Paint_DrawTime +
                                                            • >>   Paint_DrawString_EN +
                                                            • >>   Paint_DrawString_CN +
                                                            • >>   Paint_DrawRectangle +
                                                            • >>   Paint_DrawPoint +
                                                            • >>   Paint_DrawNum +
                                                            • >>   Paint_DrawLine +
                                                            • >>   Paint_DrawCircle +
                                                            • >>   Paint_DrawBitMap +
                                                            • >>   Paint_ClearWindows +
                                                            • >>   Paint_Clear +
                                                            • >>   EPD_2IN9_V2_Sleep +
                                                            • >>   EPD_2IN9_V2_Init_Fast +
                                                            • >>   EPD_2IN9_V2_Init +
                                                            • >>   EPD_2IN9_V2_Gray4_Init +
                                                            • >>   EPD_2IN9_V2_Display_Partial +
                                                            • >>   EPD_2IN9_V2_Display_Base +
                                                            • >>   EPD_2IN9_V2_Display +
                                                            • >>   EPD_2IN9_V2_Clear +
                                                            • >>   EPD_2IN9_V2_4GrayDisplay +
                                                            • >>   DEV_Module_Init +
                                                            • >>   DEV_Module_Exit +
                                                            • >>   HAL_Delay +
                                                            • >>   __2printf +
                                                            • >>   malloc +
                                                            • >>   free
                                                            -
                                                            [Calls]
                                                            • >>   HAL_GPIO_ReadPin -
                                                            • >>   HAL_Delay -
                                                            • >>   __2printf -
                                                            -
                                                            [Called By]
                                                            • >>   EPD_13IN3K_TurnOnDisplay -
                                                            • >>   EPD_13IN3K_Init +
                                                              [Called By]
                                                              • >>   main
                                                              -

                                                              EPD_13IN3K_Sleep (Thumb, 24 bytes, Stack size 8 bytes, epd_13in3k.o(i.EPD_13IN3K_Sleep)) -

                                                              [Stack]

                                                              • Max Depth = 120
                                                              • Call Chain = EPD_13IN3K_Sleep ⇒ EPD_13IN3K_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                EPD_2IN9_V2_ReadBusy (Thumb, 46 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                [Stack]

                                                                • Max Depth = 32
                                                                • Call Chain = EPD_2IN9_V2_ReadBusy ⇒ __2printf
                                                                -
                                                                [Calls]
                                                                • >>   EPD_13IN3K_SendData -
                                                                • >>   EPD_13IN3K_SendCommand -
                                                                • >>   HAL_Delay +
                                                                  [Calls]
                                                                  • >>   HAL_GPIO_ReadPin +
                                                                  • >>   HAL_Delay +
                                                                  • >>   __2printf
                                                                  -
                                                                  [Called By]
                                                                  • >>   EPD_test +
                                                                    [Called By]
                                                                    • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                    • >>   EPD_2IN9_V2_LUT +
                                                                    • >>   EPD_2IN9_V2_Init_Fast +
                                                                    • >>   EPD_2IN9_V2_Init +
                                                                    • >>   EPD_2IN9_V2_Gray4_Init +
                                                                    • >>   EPD_2IN9_V2_Display_Partial
                                                                    -

                                                                    EPD_13IN3K_WritePicture (Thumb, 78 bytes, Stack size 32 bytes, epd_13in3k.o(i.EPD_13IN3K_WritePicture)) -

                                                                    [Stack]

                                                                    • Max Depth = 152
                                                                    • Call Chain = EPD_13IN3K_WritePicture ⇒ EPD_13IN3K_TurnOnDisplay ⇒ EPD_13IN3K_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                      EPD_2IN9_V2_Init (Thumb, 114 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                      [Stack]

                                                                      • Max Depth = 144
                                                                      • Call Chain = EPD_2IN9_V2_Init ⇒ EPD_2IN9_V2_SetWindows ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                      -
                                                                      [Calls]
                                                                      • >>   EPD_13IN3K_TurnOnDisplay -
                                                                      • >>   EPD_13IN3K_SendData -
                                                                      • >>   EPD_13IN3K_SendCommand +
                                                                        [Calls]
                                                                        • >>   EPD_2IN9_V2_ReadBusy +
                                                                        • >>   EPD_2IN9_V2_SetCursor +
                                                                        • >>   EPD_2IN9_V2_SendData +
                                                                        • >>   EPD_2IN9_V2_SendCommand +
                                                                        • >>   EPD_2IN9_V2_SetWindows +
                                                                        • >>   EPD_2IN9_V2_LUT_by_host +
                                                                        • >>   EPD_2IN9_V2_Reset +
                                                                        • >>   HAL_Delay
                                                                        -
                                                                        [Called By]
                                                                        • >>   EPD_test +
                                                                          [Called By]
                                                                          • >>   EPD_test
                                                                          -

                                                                          EPD_test (Thumb, 566 bytes, Stack size 40 bytes, epd_13in3k_test.o(i.EPD_test)) -

                                                                          [Stack]

                                                                          • Max Depth = 744
                                                                          • Call Chain = EPD_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +

                                                                            EPD_2IN9_V2_Init_Fast (Thumb, 126 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                            [Stack]

                                                                            • Max Depth = 144
                                                                            • Call Chain = EPD_2IN9_V2_Init_Fast ⇒ EPD_2IN9_V2_SetWindows ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                            -
                                                                            [Calls]
                                                                            • >>   Paint_SelectImage -
                                                                            • >>   Paint_NewImage -
                                                                            • >>   Paint_DrawString_EN -
                                                                            • >>   Paint_DrawString_CN -
                                                                            • >>   Paint_DrawRectangle -
                                                                            • >>   Paint_DrawPoint -
                                                                            • >>   Paint_DrawNum -
                                                                            • >>   Paint_DrawLine -
                                                                            • >>   Paint_DrawCircle -
                                                                            • >>   Paint_DrawBitMap -
                                                                            • >>   Paint_Clear -
                                                                            • >>   EPD_13IN3K_WritePicture -
                                                                            • >>   EPD_13IN3K_Sleep -
                                                                            • >>   EPD_13IN3K_Init -
                                                                            • >>   EPD_13IN3K_Clear -
                                                                            • >>   DEV_Module_Init -
                                                                            • >>   DEV_Module_Exit -
                                                                            • >>   HAL_Delay -
                                                                            • >>   malloc -
                                                                            • >>   free -
                                                                            • >>   __2printf +
                                                                              [Calls]
                                                                              • >>   EPD_2IN9_V2_ReadBusy +
                                                                              • >>   EPD_2IN9_V2_SetCursor +
                                                                              • >>   EPD_2IN9_V2_SendData +
                                                                              • >>   EPD_2IN9_V2_SendCommand +
                                                                              • >>   EPD_2IN9_V2_SetWindows +
                                                                              • >>   EPD_2IN9_V2_LUT_by_host +
                                                                              • >>   EPD_2IN9_V2_Reset +
                                                                              • >>   HAL_Delay
                                                                              -
                                                                              [Called By]
                                                                              • >>   main +
                                                                                [Called By]
                                                                                • >>   EPD_test
                                                                                -

                                                                                Error_Handler (Thumb, 8 bytes, Stack size 0 bytes, main.o(i.Error_Handler)) -

                                                                                [Stack]

                                                                                • Max Depth = 24 + In Cycle -
                                                                                • Call Chain = Error_Handler ⇒ Error_Handler (Cycle) +

                                                                                  EPD_2IN9_V2_Gray4_Init (Thumb, 110 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                                  [Stack]

                                                                                  • Max Depth = 144
                                                                                  • Call Chain = EPD_2IN9_V2_Gray4_Init ⇒ EPD_2IN9_V2_SetWindows ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                  -
                                                                                  [Calls]
                                                                                  • >>   Error_Handler -
                                                                                  • >>   __2printf +
                                                                                    [Calls]
                                                                                    • >>   EPD_2IN9_V2_ReadBusy +
                                                                                    • >>   EPD_2IN9_V2_SetCursor +
                                                                                    • >>   EPD_2IN9_V2_SendData +
                                                                                    • >>   EPD_2IN9_V2_SendCommand +
                                                                                    • >>   EPD_2IN9_V2_SetWindows +
                                                                                    • >>   EPD_2IN9_V2_LUT_by_host +
                                                                                    • >>   EPD_2IN9_V2_Reset +
                                                                                    • >>   HAL_Delay
                                                                                    -
                                                                                    [Called By]
                                                                                    • >>   MX_USART1_UART_Init -
                                                                                    • >>   MX_SPI1_Init -
                                                                                    • >>   SystemClock_Config -
                                                                                    • >>   Error_Handler +
                                                                                      [Called By]
                                                                                      • >>   EPD_test
                                                                                      -

                                                                                      HAL_Delay (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay)) -

                                                                                      [Stack]

                                                                                      • Max Depth = 16
                                                                                      • Call Chain = HAL_Delay +

                                                                                        EPD_2IN9_V2_Clear (Thumb, 58 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                        [Stack]

                                                                                        • Max Depth = 136
                                                                                        • Call Chain = EPD_2IN9_V2_Clear ⇒ EPD_2IN9_V2_TurnOnDisplay ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                        -
                                                                                        [Calls]
                                                                                        • >>   HAL_GetTick +
                                                                                          [Calls]
                                                                                          • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                          • >>   EPD_2IN9_V2_SendData +
                                                                                          • >>   EPD_2IN9_V2_SendCommand
                                                                                          -
                                                                                          [Called By]
                                                                                          • >>   EPD_13IN3K_ReadBusy -
                                                                                          • >>   EPD_13IN3K_Sleep -
                                                                                          • >>   EPD_13IN3K_Init -
                                                                                          • >>   EPD_test -
                                                                                          • >>   main +
                                                                                            [Called By]
                                                                                            • >>   EPD_test
                                                                                            -

                                                                                            HAL_GPIO_Init (Thumb, 462 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)) -

                                                                                            [Stack]

                                                                                            • Max Depth = 40
                                                                                            • Call Chain = HAL_GPIO_Init +

                                                                                              EPD_2IN9_V2_Display (Thumb, 38 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                              [Stack]

                                                                                              • Max Depth = 136
                                                                                              • Call Chain = EPD_2IN9_V2_Display ⇒ EPD_2IN9_V2_TurnOnDisplay ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                              -
                                                                                              [Called By]
                                                                                              • >>   HAL_UART_MspInit -
                                                                                              • >>   HAL_SPI_MspInit -
                                                                                              • >>   MX_GPIO_Init +
                                                                                                [Calls]
                                                                                                • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                • >>   EPD_2IN9_V2_SendCommand
                                                                                                - -

                                                                                                HAL_GPIO_ReadPin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin)) -

                                                                                                [Called By]

                                                                                                • >>   EPD_13IN3K_ReadBusy +
                                                                                                  [Called By]
                                                                                                  • >>   EPD_test
                                                                                                  -

                                                                                                  HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)) -

                                                                                                  [Called By]

                                                                                                  • >>   EPD_13IN3K_SendData -
                                                                                                  • >>   EPD_13IN3K_SendCommand -
                                                                                                  • >>   EPD_13IN3K_Init -
                                                                                                  • >>   DEV_Module_Init -
                                                                                                  • >>   DEV_Module_Exit -
                                                                                                  • >>   MX_GPIO_Init +

                                                                                                    EPD_2IN9_V2_Display_Base (Thumb, 60 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                    [Stack]

                                                                                                    • Max Depth = 136
                                                                                                    • Call Chain = EPD_2IN9_V2_Display_Base ⇒ EPD_2IN9_V2_TurnOnDisplay ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                    - -

                                                                                                    HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick)) -

                                                                                                    [Called By]

                                                                                                    • >>   HAL_SPI_Transmit -
                                                                                                    • >>   HAL_UART_Transmit -
                                                                                                    • >>   HAL_RCC_OscConfig -
                                                                                                    • >>   HAL_RCC_ClockConfig -
                                                                                                    • >>   HAL_Delay -
                                                                                                    • >>   SPI_WaitFlagStateUntilTimeout -
                                                                                                    • >>   UART_WaitOnFlagUntilTimeout +
                                                                                                      [Calls]
                                                                                                      • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                                      • >>   EPD_2IN9_V2_SendData +
                                                                                                      • >>   EPD_2IN9_V2_SendCommand
                                                                                                      - -

                                                                                                      HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick)) -

                                                                                                      [Called By]

                                                                                                      • >>   SysTick_Handler +
                                                                                                        [Called By]
                                                                                                        • >>   EPD_test
                                                                                                        -

                                                                                                        HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init)) -

                                                                                                        [Stack]

                                                                                                        • Max Depth = 40
                                                                                                        • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority +

                                                                                                          EPD_2IN9_V2_4GrayDisplay (Thumb, 224 bytes, Stack size 24 bytes, epd_2in9_v2.o(.text)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 144
                                                                                                          • Call Chain = EPD_2IN9_V2_4GrayDisplay ⇒ EPD_2IN9_V2_TurnOnDisplay ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                          -
                                                                                                          [Calls]
                                                                                                          • >>   HAL_MspInit -
                                                                                                          • >>   HAL_InitTick -
                                                                                                          • >>   HAL_NVIC_SetPriorityGrouping +
                                                                                                            [Calls]
                                                                                                            • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                                            • >>   EPD_2IN9_V2_SendData +
                                                                                                            • >>   EPD_2IN9_V2_SendCommand
                                                                                                            -
                                                                                                            [Called By]
                                                                                                            • >>   main +
                                                                                                              [Called By]
                                                                                                              • >>   EPD_test
                                                                                                              -

                                                                                                              HAL_InitTick (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_InitTick)) -

                                                                                                              [Stack]

                                                                                                              • Max Depth = 32
                                                                                                              • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority +

                                                                                                                EPD_2IN9_V2_Display_Partial (Thumb, 288 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                [Stack]

                                                                                                                • Max Depth = 152
                                                                                                                • Call Chain = EPD_2IN9_V2_Display_Partial ⇒ EPD_2IN9_V2_SetWindows ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                -
                                                                                                                [Calls]
                                                                                                                • >>   HAL_SYSTICK_Config -
                                                                                                                • >>   HAL_NVIC_SetPriority +
                                                                                                                  [Calls]
                                                                                                                  • >>   EPD_2IN9_V2_ReadBusy +
                                                                                                                  • >>   EPD_2IN9_V2_SetCursor +
                                                                                                                  • >>   EPD_2IN9_V2_LUT +
                                                                                                                  • >>   EPD_2IN9_V2_SendData +
                                                                                                                  • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                  • >>   EPD_2IN9_V2_SetWindows +
                                                                                                                  • >>   HAL_GPIO_WritePin +
                                                                                                                  • >>   HAL_Delay
                                                                                                                  -
                                                                                                                  [Called By]
                                                                                                                  • >>   HAL_RCC_ClockConfig -
                                                                                                                  • >>   HAL_Init +
                                                                                                                    [Called By]
                                                                                                                    • >>   EPD_test
                                                                                                                    -

                                                                                                                    HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit)) -

                                                                                                                    [Stack]

                                                                                                                    • Max Depth = 8
                                                                                                                    • Call Chain = HAL_MspInit +

                                                                                                                      EPD_2IN9_V2_Sleep (Thumb, 24 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                      [Stack]

                                                                                                                      • Max Depth = 120
                                                                                                                      • Call Chain = EPD_2IN9_V2_Sleep ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                      -
                                                                                                                      [Called By]
                                                                                                                      • >>   HAL_Init +
                                                                                                                        [Calls]
                                                                                                                        • >>   EPD_2IN9_V2_SendData +
                                                                                                                        • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                        • >>   HAL_Delay +
                                                                                                                        +
                                                                                                                        [Called By]
                                                                                                                        • >>   EPD_test
                                                                                                                        -

                                                                                                                        HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)) -

                                                                                                                        [Stack]

                                                                                                                        • Max Depth = 16
                                                                                                                        • Call Chain = HAL_NVIC_SetPriority +

                                                                                                                          DEV_SPI_WriteByte (Thumb, 18 bytes, Stack size 8 bytes, dev_config.o(.text)) +

                                                                                                                          [Stack]

                                                                                                                          • Max Depth = 96
                                                                                                                          • Call Chain = DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                          -
                                                                                                                          [Calls]
                                                                                                                          • >>   __NVIC_SetPriority +
                                                                                                                            [Calls]
                                                                                                                            • >>   HAL_SPI_Transmit
                                                                                                                            -
                                                                                                                            [Called By]
                                                                                                                            • >>   HAL_InitTick +
                                                                                                                              [Called By]
                                                                                                                              • >>   EPD_2IN9_V2_SendData +
                                                                                                                              • >>   EPD_2IN9_V2_SendCommand
                                                                                                                              -

                                                                                                                              HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)) -

                                                                                                                              [Called By]

                                                                                                                              • >>   HAL_Init +

                                                                                                                                DEV_SPI_Write_nByte (Thumb, 14 bytes, Stack size 0 bytes, dev_config.o(.text), UNUSED) +

                                                                                                                                [Calls]

                                                                                                                                • >>   HAL_SPI_Transmit
                                                                                                                                -

                                                                                                                                HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)) -

                                                                                                                                [Stack]

                                                                                                                                • Max Depth = 64
                                                                                                                                • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority +

                                                                                                                                  DEV_Module_Init (Thumb, 48 bytes, Stack size 8 bytes, dev_config.o(.text)) +

                                                                                                                                  [Stack]

                                                                                                                                  • Max Depth = 8
                                                                                                                                  • Call Chain = DEV_Module_Init
                                                                                                                                  -
                                                                                                                                  [Calls]
                                                                                                                                  • >>   HAL_RCC_GetSysClockFreq -
                                                                                                                                  • >>   HAL_InitTick -
                                                                                                                                  • >>   HAL_GetTick +
                                                                                                                                    [Calls]
                                                                                                                                    • >>   HAL_GPIO_WritePin
                                                                                                                                    -
                                                                                                                                    [Called By]
                                                                                                                                    • >>   SystemClock_Config +
                                                                                                                                      [Called By]
                                                                                                                                      • >>   EPD_test
                                                                                                                                      -

                                                                                                                                      HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) -

                                                                                                                                      [Called By]

                                                                                                                                      • >>   UART_SetConfig +

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

                                                                                                                                        [Stack]

                                                                                                                                        • Max Depth = 8
                                                                                                                                        • Call Chain = DEV_Module_Exit
                                                                                                                                        - -

                                                                                                                                        HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) -

                                                                                                                                        [Called By]

                                                                                                                                        • >>   UART_SetConfig +
                                                                                                                                          [Calls]
                                                                                                                                          • >>   HAL_GPIO_WritePin +
                                                                                                                                          +
                                                                                                                                          [Called By]
                                                                                                                                          • >>   EPD_test
                                                                                                                                          -

                                                                                                                                          HAL_RCC_GetSysClockFreq (Thumb, 74 bytes, Stack size 20 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) -

                                                                                                                                          [Stack]

                                                                                                                                          • Max Depth = 20
                                                                                                                                          • Call Chain = HAL_RCC_GetSysClockFreq +

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

                                                                                                                                            [Stack]

                                                                                                                                            • Max Depth = 16
                                                                                                                                            • Call Chain = Paint_NewImage
                                                                                                                                            -
                                                                                                                                            [Called By]
                                                                                                                                            • >>   HAL_RCC_ClockConfig +
                                                                                                                                              [Called By]
                                                                                                                                              • >>   EPD_test
                                                                                                                                              -

                                                                                                                                              HAL_RCC_OscConfig (Thumb, 778 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)) -

                                                                                                                                              [Stack]

                                                                                                                                              • Max Depth = 40
                                                                                                                                              • Call Chain = HAL_RCC_OscConfig +

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

                                                                                                                                                [Called By]

                                                                                                                                                • >>   EPD_test
                                                                                                                                                -
                                                                                                                                                [Calls]
                                                                                                                                                • >>   HAL_GetTick -
                                                                                                                                                -
                                                                                                                                                [Called By]
                                                                                                                                                • >>   SystemClock_Config + +

                                                                                                                                                  Paint_SetRotate (Thumb, 44 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED) +

                                                                                                                                                  [Calls]

                                                                                                                                                  • >>   __2printf
                                                                                                                                                  -

                                                                                                                                                  HAL_SPI_Init (Thumb, 178 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(i.HAL_SPI_Init)) -

                                                                                                                                                  [Stack]

                                                                                                                                                  • Max Depth = 80
                                                                                                                                                  • Call Chain = HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                    Paint_SetScale (Thumb, 80 bytes, Stack size 8 bytes, gui_paint.o(.text)) +

                                                                                                                                                    [Stack]

                                                                                                                                                    • Max Depth = 32
                                                                                                                                                    • Call Chain = Paint_SetScale ⇒ __2printf
                                                                                                                                                    -
                                                                                                                                                    [Calls]
                                                                                                                                                    • >>   HAL_SPI_MspInit +
                                                                                                                                                      [Calls]
                                                                                                                                                      • >>   __2printf
                                                                                                                                                      -
                                                                                                                                                      [Called By]
                                                                                                                                                      • >>   MX_SPI1_Init +
                                                                                                                                                        [Called By]
                                                                                                                                                        • >>   EPD_test
                                                                                                                                                        -

                                                                                                                                                        HAL_SPI_MspInit (Thumb, 80 bytes, Stack size 24 bytes, spi.o(i.HAL_SPI_MspInit)) -

                                                                                                                                                        [Stack]

                                                                                                                                                        • Max Depth = 64
                                                                                                                                                        • Call Chain = HAL_SPI_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                          Paint_SetMirroring (Thumb, 62 bytes, Stack size 8 bytes, gui_paint.o(.text), UNUSED) +

                                                                                                                                                          [Calls]

                                                                                                                                                          • >>   __2printf
                                                                                                                                                          -
                                                                                                                                                          [Calls]
                                                                                                                                                          • >>   HAL_GPIO_Init + +

                                                                                                                                                            Paint_SetPixel (Thumb, 238 bytes, Stack size 16 bytes, gui_paint.o(.text)) +

                                                                                                                                                            [Stack]

                                                                                                                                                            • Max Depth = 40
                                                                                                                                                            • Call Chain = Paint_SetPixel ⇒ __2printf
                                                                                                                                                            -
                                                                                                                                                            [Called By]
                                                                                                                                                            • >>   HAL_SPI_Init +
                                                                                                                                                              [Calls]
                                                                                                                                                              • >>   __2printf
                                                                                                                                                              - -

                                                                                                                                                              HAL_SPI_Transmit (Thumb, 358 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit)) -

                                                                                                                                                              [Stack]

                                                                                                                                                              • Max Depth = 88
                                                                                                                                                              • Call Chain = HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                [Called By]
                                                                                                                                                                • >>   Paint_DrawBitMap_Paste +
                                                                                                                                                                • >>   Paint_DrawChar +
                                                                                                                                                                • >>   Paint_DrawString_CN +
                                                                                                                                                                • >>   Paint_DrawPoint +
                                                                                                                                                                • >>   Paint_ClearWindows
                                                                                                                                                                -
                                                                                                                                                                [Calls]
                                                                                                                                                                • >>   HAL_GetTick -
                                                                                                                                                                • >>   SPI_EndRxTxTransaction + +

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

                                                                                                                                                                  [Stack]

                                                                                                                                                                  • Max Depth = 12
                                                                                                                                                                  • Call Chain = Paint_Clear
                                                                                                                                                                  -
                                                                                                                                                                  [Called By]
                                                                                                                                                                  • >>   DEV_SPI_WriteByte +
                                                                                                                                                                    [Called By]
                                                                                                                                                                    • >>   EPD_test
                                                                                                                                                                    -

                                                                                                                                                                    HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)) -

                                                                                                                                                                    [Stack]

                                                                                                                                                                    • Max Depth = 8
                                                                                                                                                                    • Call Chain = HAL_SYSTICK_Config +

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

                                                                                                                                                                      [Stack]

                                                                                                                                                                      • Max Depth = 72
                                                                                                                                                                      • Call Chain = Paint_ClearWindows ⇒ Paint_SetPixel ⇒ __2printf
                                                                                                                                                                      -
                                                                                                                                                                      [Calls]
                                                                                                                                                                      • >>   __NVIC_SetPriority +
                                                                                                                                                                        [Calls]
                                                                                                                                                                        • >>   Paint_SetPixel
                                                                                                                                                                        -
                                                                                                                                                                        [Called By]
                                                                                                                                                                        • >>   HAL_InitTick +
                                                                                                                                                                          [Called By]
                                                                                                                                                                          • >>   EPD_test
                                                                                                                                                                          -

                                                                                                                                                                          HAL_UART_Init (Thumb, 98 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init)) -

                                                                                                                                                                          [Stack]

                                                                                                                                                                          • Max Depth = 88
                                                                                                                                                                          • Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                                            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]
                                                                                                                                                                            • >>   HAL_UART_MspInit -
                                                                                                                                                                            • >>   UART_SetConfig +
                                                                                                                                                                              [Calls]
                                                                                                                                                                              • >>   Paint_SetPixel +
                                                                                                                                                                              • >>   __2printf
                                                                                                                                                                              -
                                                                                                                                                                              [Called By]
                                                                                                                                                                              • >>   MX_USART1_UART_Init +
                                                                                                                                                                                [Called By]
                                                                                                                                                                                • >>   Paint_DrawLine +
                                                                                                                                                                                • >>   Paint_DrawCircle +
                                                                                                                                                                                • >>   EPD_test
                                                                                                                                                                                -

                                                                                                                                                                                HAL_UART_MspInit (Thumb, 100 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit)) -

                                                                                                                                                                                [Stack]

                                                                                                                                                                                • Max Depth = 72
                                                                                                                                                                                • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                                                  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]
                                                                                                                                                                                  • >>   HAL_GPIO_Init +
                                                                                                                                                                                    [Calls]
                                                                                                                                                                                    • >>   Paint_DrawPoint +
                                                                                                                                                                                    • >>   __2printf
                                                                                                                                                                                    -
                                                                                                                                                                                    [Called By]
                                                                                                                                                                                    • >>   HAL_UART_Init +
                                                                                                                                                                                      [Called By]
                                                                                                                                                                                      • >>   Paint_DrawRectangle +
                                                                                                                                                                                      • >>   EPD_test
                                                                                                                                                                                      -

                                                                                                                                                                                      HAL_UART_Transmit (Thumb, 178 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)) -

                                                                                                                                                                                      [Stack]

                                                                                                                                                                                      • Max Depth = 56
                                                                                                                                                                                      • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +

                                                                                                                                                                                        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]
                                                                                                                                                                                        • >>   HAL_GetTick -
                                                                                                                                                                                        • >>   UART_WaitOnFlagUntilTimeout +
                                                                                                                                                                                          [Calls]
                                                                                                                                                                                          • >>   Paint_DrawLine +
                                                                                                                                                                                          • >>   __2printf
                                                                                                                                                                                          -
                                                                                                                                                                                          [Called By]
                                                                                                                                                                                          • >>   fputc +
                                                                                                                                                                                            [Called By]
                                                                                                                                                                                            • >>   EPD_test
                                                                                                                                                                                            -

                                                                                                                                                                                            HardFault_Handler (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler)) -

                                                                                                                                                                                            [Stack]

                                                                                                                                                                                            • Max Depth = 24
                                                                                                                                                                                            • Call Chain = HardFault_Handler ⇒ __2printf +

                                                                                                                                                                                              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]
                                                                                                                                                                                              • >>   __2printf +
                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                • >>   Paint_DrawPoint +
                                                                                                                                                                                                • >>   __2printf
                                                                                                                                                                                                -
                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                • startup_stm32f103xe.o(RESET) +
                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                  • >>   EPD_test
                                                                                                                                                                                                  -

                                                                                                                                                                                                  MX_GPIO_Init (Thumb, 86 bytes, Stack size 32 bytes, gpio.o(i.MX_GPIO_Init)) -

                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                  • Max Depth = 72
                                                                                                                                                                                                  • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init + +

                                                                                                                                                                                                    Paint_DrawChar (Thumb, 172 bytes, Stack size 40 bytes, gui_paint.o(.text)) +

                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                    • Max Depth = 80
                                                                                                                                                                                                    • Call Chain = Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf
                                                                                                                                                                                                    -
                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                    • >>   HAL_GPIO_WritePin -
                                                                                                                                                                                                    • >>   HAL_GPIO_Init +
                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                      • >>   Paint_SetPixel +
                                                                                                                                                                                                      • >>   __2printf
                                                                                                                                                                                                      -
                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                      • >>   main +
                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                        • >>   Paint_DrawTime +
                                                                                                                                                                                                        • >>   Paint_DrawString_EN
                                                                                                                                                                                                        -

                                                                                                                                                                                                        MX_SPI1_Init (Thumb, 62 bytes, Stack size 8 bytes, spi.o(i.MX_SPI1_Init)) -

                                                                                                                                                                                                        [Stack]

                                                                                                                                                                                                        • Max Depth = 88
                                                                                                                                                                                                        • Call Chain = MX_SPI1_Init ⇒ HAL_SPI_Init ⇒ HAL_SPI_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                                                                          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]
                                                                                                                                                                                                          • >>   HAL_SPI_Init -
                                                                                                                                                                                                          • >>   Error_Handler +
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   Paint_DrawChar +
                                                                                                                                                                                                            • >>   __2printf
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   main +
                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                              • >>   Paint_DrawNum +
                                                                                                                                                                                                              • >>   EPD_test
                                                                                                                                                                                                              -

                                                                                                                                                                                                              MX_USART1_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init)) -

                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                              • Max Depth = 96
                                                                                                                                                                                                              • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +

                                                                                                                                                                                                                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]
                                                                                                                                                                                                                • >>   HAL_UART_Init -
                                                                                                                                                                                                                • >>   Error_Handler +
                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                  • >>   Paint_SetPixel
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                  • >>   main +
                                                                                                                                                                                                                    [Called By]
                                                                                                                                                                                                                    • >>   EPD_test
                                                                                                                                                                                                                    -

                                                                                                                                                                                                                    MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler)) -

                                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                                    • >>   MemManage_Handler +

                                                                                                                                                                                                                      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
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                                      • >>   MemManage_Handler +
                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                        • >>   Paint_DrawString_EN +
                                                                                                                                                                                                                        • >>   __2printf +
                                                                                                                                                                                                                        • >>   __aeabi_memclr4
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        [Address Reference Count : 1]
                                                                                                                                                                                                                        • startup_stm32f103xe.o(RESET) +
                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                          • >>   EPD_test
                                                                                                                                                                                                                          -

                                                                                                                                                                                                                          NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.NMI_Handler)) -
                                                                                                                                                                                                                          [Address Reference Count : 1]

                                                                                                                                                                                                                          • startup_stm32f103xe.o(RESET) + +

                                                                                                                                                                                                                            Paint_DrawNumDecimals (Thumb, 258 bytes, Stack size 592 bytes, gui_paint.o(.text), UNUSED) +

                                                                                                                                                                                                                            [Calls]

                                                                                                                                                                                                                            • >>   __aeabi_i2d +
                                                                                                                                                                                                                            • >>   __aeabi_fmul +
                                                                                                                                                                                                                            • >>   __aeabi_f2iz +
                                                                                                                                                                                                                            • >>   __aeabi_drsub +
                                                                                                                                                                                                                            • >>   __aeabi_d2iz +
                                                                                                                                                                                                                            • >>   __aeabi_d2f +
                                                                                                                                                                                                                            • >>   Paint_DrawString_EN +
                                                                                                                                                                                                                            • >>   __2printf +
                                                                                                                                                                                                                            • >>   __aeabi_memclr4
                                                                                                                                                                                                                            -

                                                                                                                                                                                                                            Paint_Clear (Thumb, 158 bytes, Stack size 12 bytes, gui_paint.o(i.Paint_Clear)) -

                                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                                            • Max Depth = 12
                                                                                                                                                                                                                            • Call Chain = Paint_Clear + +

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

                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                              • Max Depth = 152
                                                                                                                                                                                                                              • Call Chain = Paint_DrawTime ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                              • >>   EPD_test +
                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                • >>   Paint_DrawChar +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                • >>   EPD_test
                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                Paint_DrawBitMap (Thumb, 44 bytes, Stack size 16 bytes, gui_paint.o(i.Paint_DrawBitMap)) +

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

                                                                                                                                                                                                                                [Stack]

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

                                                                                                                                                                                                                                  Paint_DrawChar (Thumb, 176 bytes, Stack size 40 bytes, gui_paint.o(i.Paint_DrawChar)) -

                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                  • Max Depth = 80
                                                                                                                                                                                                                                  • Call Chain = Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +

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

                                                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                                                    • >>   Paint_SetPixel
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                    • >>   Paint_SetPixel -
                                                                                                                                                                                                                                    • >>   __2printf -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    [Called By]
                                                                                                                                                                                                                                    • >>   Paint_DrawString_EN + +

                                                                                                                                                                                                                                      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) -

                                                                                                                                                                                                                                      Paint_DrawCircle (Thumb, 532 bytes, Stack size 72 bytes, gui_paint.o(i.Paint_DrawCircle)) -

                                                                                                                                                                                                                                      [Stack]

                                                                                                                                                                                                                                      • Max Depth = 152
                                                                                                                                                                                                                                      • Call Chain = Paint_DrawCircle ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf +

                                                                                                                                                                                                                                        HAL_SPI_Init (Thumb, 178 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
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                                        • >>   Paint_DrawPoint -
                                                                                                                                                                                                                                        • >>   __2printf +
                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                          • >>   HAL_SPI_MspInit
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                          • >>   EPD_test +
                                                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                                                            • >>   MX_SPI1_Init
                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                            Paint_DrawLine (Thumb, 200 bytes, Stack size 48 bytes, gui_paint.o(i.Paint_DrawLine)) -

                                                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                                                            • Max Depth = 128
                                                                                                                                                                                                                                            • Call Chain = Paint_DrawLine ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf +

                                                                                                                                                                                                                                              HAL_SPI_DeInit (Thumb, 46 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                              • >>   HAL_SPI_MspDeInit +
                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                              HAL_SPI_Transmit (Thumb, 358 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                              • Max Depth = 88
                                                                                                                                                                                                                                              • Call Chain = HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                              • >>   Paint_DrawPoint -
                                                                                                                                                                                                                                              • >>   __2printf +
                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                • >>   Paint_DrawRectangle -
                                                                                                                                                                                                                                                • >>   EPD_test +
                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                  • >>   DEV_SPI_Write_nByte +
                                                                                                                                                                                                                                                  • >>   DEV_SPI_WriteByte
                                                                                                                                                                                                                                                  -

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

                                                                                                                                                                                                                                                  [Stack]

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

                                                                                                                                                                                                                                                    HAL_SPI_TransmitReceive (Thumb, 484 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                                                                    • >>   HAL_GetTick +
                                                                                                                                                                                                                                                    • >>   SPI_EndRxTxTransaction
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                    • >>   Paint_DrawString_EN -
                                                                                                                                                                                                                                                    • >>   __2printf -
                                                                                                                                                                                                                                                    • >>   __aeabi_memclr4 +
                                                                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                                                                      • >>   HAL_SPI_Receive
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                                                                      • >>   EPD_test + +

                                                                                                                                                                                                                                                        HAL_SPI_Receive (Thumb, 344 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                        • >>   HAL_GetTick +
                                                                                                                                                                                                                                                        • >>   HAL_SPI_TransmitReceive +
                                                                                                                                                                                                                                                        • >>   SPI_EndRxTransaction
                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                        Paint_DrawPoint (Thumb, 178 bytes, Stack size 40 bytes, gui_paint.o(i.Paint_DrawPoint)) -

                                                                                                                                                                                                                                                        [Stack]

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

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

                                                                                                                                                                                                                                                          [Called By]

                                                                                                                                                                                                                                                          • >>   SPI_DMATransmitCplt +
                                                                                                                                                                                                                                                          • >>   SPI_CloseTx_ISR
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                          • >>   Paint_SetPixel -
                                                                                                                                                                                                                                                          • >>   __2printf + +

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

                                                                                                                                                                                                                                                            [Called By]

                                                                                                                                                                                                                                                            • >>   HAL_SPI_IRQHandler +
                                                                                                                                                                                                                                                            • >>   SPI_DMAAbortOnError +
                                                                                                                                                                                                                                                            • >>   SPI_DMATransmitReceiveCplt +
                                                                                                                                                                                                                                                            • >>   SPI_DMAReceiveCplt +
                                                                                                                                                                                                                                                            • >>   SPI_DMATransmitCplt +
                                                                                                                                                                                                                                                            • >>   SPI_DMAError +
                                                                                                                                                                                                                                                            • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                            • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                                            • >>   SPI_CloseTx_ISR
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                                                                            • >>   Paint_DrawLine -
                                                                                                                                                                                                                                                            • >>   Paint_DrawCircle -
                                                                                                                                                                                                                                                            • >>   EPD_test + +

                                                                                                                                                                                                                                                              HAL_SPI_Transmit_IT (Thumb, 140 bytes, Stack size 12 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 +
                                                                                                                                                                                                                                                              • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                              • >>   SPI_CloseRx_ISR
                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                              Paint_DrawRectangle (Thumb, 172 bytes, Stack size 48 bytes, gui_paint.o(i.Paint_DrawRectangle)) -

                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                              • Max Depth = 176
                                                                                                                                                                                                                                                              • Call Chain = Paint_DrawRectangle ⇒ Paint_DrawLine ⇒ Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf +

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

                                                                                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                                                                                • >>   SPI_DMATransmitReceiveCplt +
                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                • >>   Paint_DrawLine -
                                                                                                                                                                                                                                                                • >>   __2printf + +

                                                                                                                                                                                                                                                                  HAL_SPI_TransmitReceive_IT (Thumb, 146 bytes, Stack size 20 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                  [Called By]

                                                                                                                                                                                                                                                                  • >>   HAL_SPI_Receive_IT
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                  • >>   EPD_test + +

                                                                                                                                                                                                                                                                    HAL_SPI_Receive_IT (Thumb, 192 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                                                                                    • >>   HAL_SPI_TransmitReceive_IT
                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                    Paint_DrawString_CN (Thumb, 398 bytes, Stack size 40 bytes, gui_paint.o(i.Paint_DrawString_CN)) -

                                                                                                                                                                                                                                                                    [Stack]

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

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

                                                                                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                                                                                      • >>   SPI_DMAHalfTransmitCplt
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                                      • >>   Paint_SetPixel + +

                                                                                                                                                                                                                                                                        HAL_SPI_Transmit_DMA (Thumb, 202 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                        • >>   HAL_DMA_Start_IT
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                                                                                        • >>   EPD_test + +

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

                                                                                                                                                                                                                                                                          [Called By]

                                                                                                                                                                                                                                                                          • >>   SPI_DMAHalfReceiveCplt
                                                                                                                                                                                                                                                                          -

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

                                                                                                                                                                                                                                                                          [Stack]

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

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

                                                                                                                                                                                                                                                                            [Called By]

                                                                                                                                                                                                                                                                            • >>   SPI_DMAHalfTransmitReceiveCplt
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                                                                                            • >>   Paint_DrawChar -
                                                                                                                                                                                                                                                                            • >>   __2printf + +

                                                                                                                                                                                                                                                                              HAL_SPI_TransmitReceive_DMA (Thumb, 268 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Start_IT
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                              • >>   Paint_DrawNum -
                                                                                                                                                                                                                                                                              • >>   EPD_test +
                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                • >>   HAL_SPI_Receive_DMA
                                                                                                                                                                                                                                                                                -

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

                                                                                                                                                                                                                                                                                [Stack]

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

                                                                                                                                                                                                                                                                                  HAL_SPI_Receive_DMA (Thumb, 262 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                  [Calls]

                                                                                                                                                                                                                                                                                  • >>   HAL_DMA_Start_IT +
                                                                                                                                                                                                                                                                                  • >>   HAL_SPI_TransmitReceive_DMA
                                                                                                                                                                                                                                                                                  -

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

                                                                                                                                                                                                                                                                                  [Called By]

                                                                                                                                                                                                                                                                                  • >>   EPD_test +

                                                                                                                                                                                                                                                                                    HAL_SPI_Abort (Thumb, 274 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                                                                                                    • >>   HAL_DMA_Abort
                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                    Paint_SetPixel (Thumb, 238 bytes, Stack size 16 bytes, gui_paint.o(i.Paint_SetPixel)) -

                                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                                    • Max Depth = 40
                                                                                                                                                                                                                                                                                    • Call Chain = Paint_SetPixel ⇒ __2printf +

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

                                                                                                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                                                                                                      • >>   HAL_SPI_Abort_IT +
                                                                                                                                                                                                                                                                                      • >>   SPI_DMATxAbortCallback +
                                                                                                                                                                                                                                                                                      • >>   SPI_DMARxAbortCallback
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                                                      • >>   __2printf + +

                                                                                                                                                                                                                                                                                        HAL_SPI_Abort_IT (Thumb, 264 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                                        • >>   HAL_SPI_AbortCpltCallback +
                                                                                                                                                                                                                                                                                        • >>   HAL_DMA_Abort_IT
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                                                                                                        • >>   Paint_DrawChar -
                                                                                                                                                                                                                                                                                        • >>   Paint_DrawString_CN -
                                                                                                                                                                                                                                                                                        • >>   Paint_DrawPoint + +

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

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

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

                                                                                                                                                                                                                                                                                          [Calls]

                                                                                                                                                                                                                                                                                          • >>   HAL_DMA_Abort
                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                          PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.PendSV_Handler)) -
                                                                                                                                                                                                                                                                                          [Address Reference Count : 1]

                                                                                                                                                                                                                                                                                          • startup_stm32f103xe.o(RESET) +

                                                                                                                                                                                                                                                                                            HAL_SPI_IRQHandler (Thumb, 220 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                            [Calls]

                                                                                                                                                                                                                                                                                            • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                            • >>   HAL_DMA_Abort_IT
                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                            SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SVC_Handler)) -
                                                                                                                                                                                                                                                                                            [Address Reference Count : 1]

                                                                                                                                                                                                                                                                                            • startup_stm32f103xe.o(RESET) + +

                                                                                                                                                                                                                                                                                              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_InitTick (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text)) +

                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                              • Max Depth = 32
                                                                                                                                                                                                                                                                                              • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                              SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SysTick_Handler)) -

                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                              • >>   HAL_IncTick +
                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                • >>   HAL_SYSTICK_Config +
                                                                                                                                                                                                                                                                                                • >>   HAL_NVIC_SetPriority
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                • startup_stm32f103xe.o(RESET) +
                                                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                                                  • >>   HAL_RCC_ClockConfig +
                                                                                                                                                                                                                                                                                                  • >>   HAL_Init +
                                                                                                                                                                                                                                                                                                  • >>   HAL_RCC_DeInit +
                                                                                                                                                                                                                                                                                                  • >>   HAL_SetTickFreq
                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                  SystemClock_Config (Thumb, 88 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config)) -

                                                                                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                                                                                  • Max Depth = 136
                                                                                                                                                                                                                                                                                                  • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority + +

                                                                                                                                                                                                                                                                                                    HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(.text)) +

                                                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                                                    • Max Depth = 40
                                                                                                                                                                                                                                                                                                    • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                                                    • >>   HAL_RCC_OscConfig -
                                                                                                                                                                                                                                                                                                    • >>   HAL_RCC_ClockConfig -
                                                                                                                                                                                                                                                                                                    • >>   Error_Handler -
                                                                                                                                                                                                                                                                                                    • >>   __aeabi_memclr4 +
                                                                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                                                                      • >>   HAL_MspInit +
                                                                                                                                                                                                                                                                                                      • >>   HAL_InitTick +
                                                                                                                                                                                                                                                                                                      • >>   HAL_NVIC_SetPriorityGrouping

                                                                                                                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                                                                                                                      • >>   main
                                                                                                                                                                                                                                                                                                      -

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

                                                                                                                                                                                                                                                                                                      • startup_stm32f103xe.o(.text) +

                                                                                                                                                                                                                                                                                                        HAL_MspDeInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                        [Called By]

                                                                                                                                                                                                                                                                                                        • >>   HAL_DeInit
                                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                                        UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler)) -

                                                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                                                        • >>   UsageFault_Handler + +

                                                                                                                                                                                                                                                                                                          HAL_DeInit (Thumb, 26 bytes, Stack size 8 bytes, stm32f1xx_hal.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                          [Calls]

                                                                                                                                                                                                                                                                                                          • >>   HAL_MspDeInit
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                                                                                          • >>   UsageFault_Handler + +

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

                                                                                                                                                                                                                                                                                                            [Called By]

                                                                                                                                                                                                                                                                                                            • >>   SysTick_Handler
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                            • startup_stm32f103xe.o(RESET) + +

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

                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                              • >>   HAL_SPI_Transmit +
                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_Transmit +
                                                                                                                                                                                                                                                                                                              • >>   HAL_RCC_OscConfig +
                                                                                                                                                                                                                                                                                                              • >>   HAL_RCC_ClockConfig +
                                                                                                                                                                                                                                                                                                              • >>   HAL_Delay +
                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_Receive +
                                                                                                                                                                                                                                                                                                              • >>   UART_WaitOnFlagUntilTimeout +
                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_PollForTransfer +
                                                                                                                                                                                                                                                                                                              • >>   HAL_RCC_DeInit +
                                                                                                                                                                                                                                                                                                              • >>   HAL_SPI_Receive +
                                                                                                                                                                                                                                                                                                              • >>   HAL_SPI_TransmitReceive +
                                                                                                                                                                                                                                                                                                              • >>   SPI_DMARxAbortCallback +
                                                                                                                                                                                                                                                                                                              • >>   SPI_DMATransmitReceiveCplt +
                                                                                                                                                                                                                                                                                                              • >>   SPI_DMAReceiveCplt +
                                                                                                                                                                                                                                                                                                              • >>   SPI_DMATransmitCplt +
                                                                                                                                                                                                                                                                                                              • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                              • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                                                                                              • >>   SPI_CloseTx_ISR +
                                                                                                                                                                                                                                                                                                              • >>   SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                                                                                              -

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

                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                              • >>   _printf_core + +

                                                                                                                                                                                                                                                                                                                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
                                                                                                                                                                                                                                                                                                                -

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

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

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

                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                • Max Depth = 24
                                                                                                                                                                                                                                                                                                                • Call Chain = __2printf +

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

                                                                                                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                                                                                                  • Max Depth = 16
                                                                                                                                                                                                                                                                                                                  • Call Chain = HAL_Delay
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                                                                  • >>   Paint_SetPixel -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawChar -
                                                                                                                                                                                                                                                                                                                  • >>   EPD_13IN3K_ReadBusy -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawString_EN -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawRectangle -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawPoint -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawNum -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawLine -
                                                                                                                                                                                                                                                                                                                  • >>   Paint_DrawCircle -
                                                                                                                                                                                                                                                                                                                  • >>   HardFault_Handler -
                                                                                                                                                                                                                                                                                                                  • >>   EPD_test -
                                                                                                                                                                                                                                                                                                                  • >>   Error_Handler +
                                                                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                                                                    • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                    [Called By]
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_ReadBusy +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Reset +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Sleep +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                    • >>   EPD_test +
                                                                                                                                                                                                                                                                                                                    • >>   main
                                                                                                                                                                                                                                                                                                                    -

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

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

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

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

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

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

                                                                                                                                                                                                                                                                                                                    fputc (Thumb, 20 bytes, Stack size 16 bytes, usart.o(i.fputc)) -

                                                                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                                                                    • Max Depth = 72
                                                                                                                                                                                                                                                                                                                    • Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_Transmit +

                                                                                                                                                                                                                                                                                                                      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_GetUIDw0 (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text), UNUSED) + +

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

                                                                                                                                                                                                                                                                                                                      HAL_GetUIDw2 (Thumb, 8 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_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_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_RCC_DeInit (Thumb, 202 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                      [Calls]

                                                                                                                                                                                                                                                                                                                      • >>   HAL_InitTick +
                                                                                                                                                                                                                                                                                                                      • >>   HAL_GetTick
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                      • printf3.o(i.__0printf$3) + +

                                                                                                                                                                                                                                                                                                                        HAL_RCC_OscConfig (Thumb, 776 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                                                                        [Stack]

                                                                                                                                                                                                                                                                                                                        • Max Depth = 40
                                                                                                                                                                                                                                                                                                                        • Call Chain = HAL_RCC_OscConfig
                                                                                                                                                                                                                                                                                                                        -

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

                                                                                                                                                                                                                                                                                                                        [Stack]

                                                                                                                                                                                                                                                                                                                        • Max Depth = 8
                                                                                                                                                                                                                                                                                                                        • Call Chain = free +
                                                                                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                                                                                          • >>   HAL_GetTick
                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                                                                                                          • >>   EPD_test +
                                                                                                                                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                                                                                                                                            • >>   SystemClock_Config
                                                                                                                                                                                                                                                                                                                            -

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

                                                                                                                                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                                                                                                                                            • Max Depth = 744
                                                                                                                                                                                                                                                                                                                            • Call Chain = main ⇒ EPD_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_test -
                                                                                                                                                                                                                                                                                                                            • >>   SystemClock_Config +

                                                                                                                                                                                                                                                                                                                              HAL_RCC_GetSysClockFreq (Thumb, 124 bytes, Stack size 20 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                              • Max Depth = 20
                                                                                                                                                                                                                                                                                                                              • Call Chain = HAL_RCC_GetSysClockFreq
                                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                              [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                              • entry9a.o(.ARM.Collect$$$$0000000B) +
                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                • >>   HAL_RCC_ClockConfig
                                                                                                                                                                                                                                                                                                                                -

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

                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                • Max Depth = 20
                                                                                                                                                                                                                                                                                                                                • Call Chain = malloc + +

                                                                                                                                                                                                                                                                                                                                  HAL_RCC_ClockConfig (Thumb, 282 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                                                                                                                  • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                  • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                                                                                  • >>   EPD_test +
                                                                                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                                                                                    • >>   HAL_RCC_GetSysClockFreq +
                                                                                                                                                                                                                                                                                                                                    • >>   HAL_InitTick +
                                                                                                                                                                                                                                                                                                                                    • >>   HAL_GetTick
                                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                                    -Local Symbols -

                                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                                    EPD_13IN3K_SendCommand (Thumb, 46 bytes, Stack size 16 bytes, epd_13in3k.o(i.EPD_13IN3K_SendCommand)) -

                                                                                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                                                                                    • Max Depth = 112
                                                                                                                                                                                                                                                                                                                                    • Call Chain = EPD_13IN3K_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                      [Called By]
                                                                                                                                                                                                                                                                                                                                      • >>   SystemClock_Config
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                                                                                                      • >>   DEV_SPI_WriteByte -
                                                                                                                                                                                                                                                                                                                                      • >>   HAL_GPIO_WritePin + +

                                                                                                                                                                                                                                                                                                                                        HAL_RCC_MCOConfig (Thumb, 64 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                                                                                        • >>   HAL_GPIO_Init
                                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                                                                                                                                                        • >>   EPD_13IN3K_TurnOnDisplay -
                                                                                                                                                                                                                                                                                                                                        • >>   EPD_13IN3K_WritePicture -
                                                                                                                                                                                                                                                                                                                                        • >>   EPD_13IN3K_Sleep -
                                                                                                                                                                                                                                                                                                                                        • >>   EPD_13IN3K_Init -
                                                                                                                                                                                                                                                                                                                                        • >>   EPD_13IN3K_Clear + +

                                                                                                                                                                                                                                                                                                                                          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_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                          HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                                                                                          [Called By]

                                                                                                                                                                                                                                                                                                                                          • >>   UART_SetConfig
                                                                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                                                                          EPD_13IN3K_SendData (Thumb, 46 bytes, Stack size 16 bytes, epd_13in3k.o(i.EPD_13IN3K_SendData)) -

                                                                                                                                                                                                                                                                                                                                          [Stack]

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

                                                                                                                                                                                                                                                                                                                                            HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                                                                                            [Called By]

                                                                                                                                                                                                                                                                                                                                            • >>   UART_SetConfig
                                                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                                                                                                                                                            • >>   DEV_SPI_WriteByte -
                                                                                                                                                                                                                                                                                                                                            • >>   HAL_GPIO_WritePin + +

                                                                                                                                                                                                                                                                                                                                              HAL_RCC_GetOscConfig (Thumb, 140 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                              HAL_RCC_GetClockConfig (Thumb, 54 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
                                                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                              • >>   EPD_13IN3K_TurnOnDisplay -
                                                                                                                                                                                                                                                                                                                                              • >>   EPD_13IN3K_WritePicture -
                                                                                                                                                                                                                                                                                                                                              • >>   EPD_13IN3K_Sleep -
                                                                                                                                                                                                                                                                                                                                              • >>   EPD_13IN3K_Init -
                                                                                                                                                                                                                                                                                                                                              • >>   EPD_13IN3K_Clear + +

                                                                                                                                                                                                                                                                                                                                                HAL_RCC_NMI_IRQHandler (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                [Calls]

                                                                                                                                                                                                                                                                                                                                                • >>   HAL_RCC_CSSCallback
                                                                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                                                                EPD_13IN3K_TurnOnDisplay (Thumb, 28 bytes, Stack size 8 bytes, epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay)) -

                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                • Max Depth = 120
                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_13IN3K_TurnOnDisplay ⇒ EPD_13IN3K_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

                                                                                                                                                                                                                                                                                                                                                  HAL_GPIO_Init (Thumb, 462 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                                                                                                                                  • Max Depth = 40
                                                                                                                                                                                                                                                                                                                                                  • Call Chain = HAL_GPIO_Init +
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                                                                                                  • >>   HAL_UART_MspInit +
                                                                                                                                                                                                                                                                                                                                                  • >>   HAL_SPI_MspInit +
                                                                                                                                                                                                                                                                                                                                                  • >>   MX_GPIO_Init +
                                                                                                                                                                                                                                                                                                                                                  • >>   HAL_RCC_MCOConfig
                                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                                                                                                                                                  • >>   EPD_13IN3K_ReadBusy -
                                                                                                                                                                                                                                                                                                                                                  • >>   EPD_13IN3K_SendData -
                                                                                                                                                                                                                                                                                                                                                  • >>   EPD_13IN3K_SendCommand + +

                                                                                                                                                                                                                                                                                                                                                    HAL_GPIO_DeInit (Thumb, 256 bytes, Stack size 28 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                    [Called By]

                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_MspDeInit +
                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_SPI_MspDeInit
                                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                                    [Called By]
                                                                                                                                                                                                                                                                                                                                                    • >>   EPD_13IN3K_WritePicture -
                                                                                                                                                                                                                                                                                                                                                    • >>   EPD_13IN3K_Clear + +

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

                                                                                                                                                                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                                                                                                                                                                      • >>   EPD_2IN9_V2_ReadBusy
                                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                                      SPI_EndRxTxTransaction (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction)) -

                                                                                                                                                                                                                                                                                                                                                      [Stack]

                                                                                                                                                                                                                                                                                                                                                      • Max Depth = 48
                                                                                                                                                                                                                                                                                                                                                      • Call Chain = SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +

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

                                                                                                                                                                                                                                                                                                                                                        [Called By]

                                                                                                                                                                                                                                                                                                                                                        • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                        • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                        • >>   EPD_2IN9_V2_Reset +
                                                                                                                                                                                                                                                                                                                                                        • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                        • >>   DEV_Module_Init +
                                                                                                                                                                                                                                                                                                                                                        • >>   DEV_Module_Exit +
                                                                                                                                                                                                                                                                                                                                                        • >>   MX_GPIO_Init
                                                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                                                                                                                                                        • >>   SPI_WaitFlagStateUntilTimeout + +

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

                                                                                                                                                                                                                                                                                                                                                          HAL_GPIO_LockPin (Thumb, 34 bytes, Stack size 8 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
                                                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                                                                                                                                          • >>   HAL_SPI_Transmit + +

                                                                                                                                                                                                                                                                                                                                                            HAL_GPIO_EXTI_IRQHandler (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                            [Calls]

                                                                                                                                                                                                                                                                                                                                                            • >>   HAL_GPIO_EXTI_Callback
                                                                                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                                                                                            SPI_WaitFlagStateUntilTimeout (Thumb, 180 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout)) -

                                                                                                                                                                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                                                                                                                                                                            • Max Depth = 32
                                                                                                                                                                                                                                                                                                                                                            • Call Chain = SPI_WaitFlagStateUntilTimeout +

                                                                                                                                                                                                                                                                                                                                                              HAL_DMA_Init (Thumb, 112 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                              HAL_DMA_DeInit (Thumb, 116 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) + +

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

                                                                                                                                                                                                                                                                                                                                                              [Calls]

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

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

                                                                                                                                                                                                                                                                                                                                                                [Calls]

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

                                                                                                                                                                                                                                                                                                                                                                  __NVIC_SetPriority (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)) -

                                                                                                                                                                                                                                                                                                                                                                  [Called By]

                                                                                                                                                                                                                                                                                                                                                                  • >>   HAL_SYSTICK_Config -
                                                                                                                                                                                                                                                                                                                                                                  • >>   HAL_NVIC_SetPriority +

                                                                                                                                                                                                                                                                                                                                                                    HAL_DMA_Abort (Thumb, 70 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                    [Called By]

                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_AbortReceive +
                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_AbortTransmit +
                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_Abort +
                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_UART_DMAStop +
                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_SPI_DMAStop +
                                                                                                                                                                                                                                                                                                                                                                    • >>   HAL_SPI_Abort
                                                                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                                                                    UART_SetConfig (Thumb, 178 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig)) -

                                                                                                                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                                                                                                                    • Max Depth = 16
                                                                                                                                                                                                                                                                                                                                                                    • Call Chain = UART_SetConfig +

                                                                                                                                                                                                                                                                                                                                                                      HAL_DMA_Abort_IT (Thumb, 296 bytes, Stack size 40 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_UART_IRQHandler +
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_UART_AbortReceive_IT +
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_UART_AbortTransmit_IT +
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_UART_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_SPI_IRQHandler +
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_SPI_Abort_IT
                                                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_RCC_GetPCLK2Freq -
                                                                                                                                                                                                                                                                                                                                                                      • >>   HAL_RCC_GetPCLK1Freq + +

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

                                                                                                                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                                                                                                                        • >>   HAL_GetTick
                                                                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                                                                                                                                                                                        • >>   HAL_UART_Init + +

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

                                                                                                                                                                                                                                                                                                                                                                          HAL_DMA_RegisterCallback (Thumb, 74 bytes, Stack size 8 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                          HAL_DMA_UnRegisterCallback (Thumb, 82 bytes, Stack size 8 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 +
                                                                                                                                                                                                                                                                                                                                                                          • >>   HAL_UART_AbortTransmit +
                                                                                                                                                                                                                                                                                                                                                                          • >>   HAL_UART_Abort
                                                                                                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                                                                                                          UART_WaitOnFlagUntilTimeout (Thumb, 100 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)) -

                                                                                                                                                                                                                                                                                                                                                                          [Stack]

                                                                                                                                                                                                                                                                                                                                                                          • Max Depth = 24
                                                                                                                                                                                                                                                                                                                                                                          • Call Chain = UART_WaitOnFlagUntilTimeout +

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

                                                                                                                                                                                                                                                                                                                                                                            [Called By]

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 16
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = HAL_NVIC_SetPriority +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                                                                                                                                              • >>   __NVIC_SetPriority +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_InitTick +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

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

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_SYSTICK_Config (Thumb, 40 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = HAL_SYSTICK_Config +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                                                                                                                                              • >>   __NVIC_SetPriority +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_InitTick +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_NVIC_GetPriority (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) + +

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

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

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

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_SYSTICK_CLKSourceConfig (Thumb, 24 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 +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_SYSTICK_Callback +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Init (Thumb, 98 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 88
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_MspInit +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_SetConfig +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   MX_USART1_UART_Init +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_HalfDuplex_Init (Thumb, 108 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_MspInit +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_SetConfig +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_LIN_Init (Thumb, 128 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_MspInit +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_SetConfig +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_MultiProcessor_Init (Thumb, 142 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_MspInit +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_SetConfig +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_DeInit (Thumb, 50 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_MspDeInit +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Transmit (Thumb, 176 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 +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   fputc +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Receive (Thumb, 198 bytes, Stack size 40 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_WaitOnFlagUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Receive_IT (Thumb, 82 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 +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMAAbortOnError +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMAError +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMATxHalfCplt +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_IRQHandler +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMATransmitCplt +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Transmit_DMA (Thumb, 114 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Start_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMARxHalfCplt +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_Receive_IT +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMAReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Receive_DMA (Thumb, 138 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Start_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_DMAResume (Thumb, 94 bytes, Stack size 8 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 +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_EndRxTransfer +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Abort (Thumb, 138 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_GetError +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_AbortTransmit (Thumb, 78 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_GetError +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_AbortReceive (Thumb, 88 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_GetError +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMATxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMARxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_Abort_IT (Thumb, 188 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_AbortTransmit_IT +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMATxOnlyAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_AbortTransmit_IT (Thumb, 78 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_AbortTransmitCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_AbortReceive_IT +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_DMARxOnlyAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_AbortReceive_IT (Thumb, 88 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_AbortReceiveCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_IRQHandler (Thumb, 342 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_TxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_EndRxTransfer +
                                                                                                                                                                                                                                                                                                                                                                              • >>   UART_Receive_IT +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

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

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

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

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

                                                                                                                                                                                                                                                                                                                                                                              HAL_UART_GetState (Thumb, 10 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_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_d2iz +
                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_epilogue +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.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_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_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNum +
                                                                                                                                                                                                                                                                                                                                                                              • >>   SystemClock_Config +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __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_fmul (Thumb, 100 bytes, Stack size 8 bytes, fmul.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_lasr +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_llsl +
                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_round +
                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_epilogue +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_drsub +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dsub +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_epilogue +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_f2iz (Thumb, 50 bytes, Stack size 0 bytes, ffixi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_d2iz (Thumb, 62 bytes, Stack size 16 bytes, dfixi.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_llsr +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   _float_round +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __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 +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_epilogue +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                              __aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              _ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                              __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                              _float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_d2f +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              _float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                              _double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_epilogue +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              _double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_llsr +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_llsl +
                                                                                                                                                                                                                                                                                                                                                                              • >>   _double_round +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_i2d +
                                                                                                                                                                                                                                                                                                                                                                              • >>   __aeabi_dadd +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                              [Calls]

                                                                                                                                                                                                                                                                                                                                                                              • >>   __main_after_scatterload +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   _main_scatterload +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              __decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED) + +

                                                                                                                                                                                                                                                                                                                                                                              __decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.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) + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 24
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = __2printf +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNumDecimals +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawChar +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_SetPixel +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_SetMirroring +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_SetRotate +
                                                                                                                                                                                                                                                                                                                                                                              • >>   EPD_2IN9_V2_ReadBusy +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_SetScale +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawString_EN +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawRectangle +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawPoint +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawNum +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawLine +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Paint_DrawCircle +
                                                                                                                                                                                                                                                                                                                                                                              • >>   HardFault_Handler +
                                                                                                                                                                                                                                                                                                                                                                              • >>   EPD_test +
                                                                                                                                                                                                                                                                                                                                                                              • >>   Error_Handler +
                                                                                                                                                                                                                                                                                                                                                                              + +

                                                                                                                                                                                                                                                                                                                                                                              __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_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)) +

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = free +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   EPD_test +
                                                                                                                                                                                                                                                                                                                                                                              + +

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

                                                                                                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                                                                                                              • Max Depth = 20
                                                                                                                                                                                                                                                                                                                                                                              • Call Chain = malloc +
                                                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   EPD_test
                                                                                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                                                                              [Called By]
                                                                                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_Transmit +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                +Local Symbols +

                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_Reset (Thumb, 56 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 24
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_Reset ⇒ HAL_Delay +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GPIO_WritePin +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_Delay +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_LUT_by_host (Thumb, 74 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 136
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_LUT_by_host ⇒ EPD_2IN9_V2_LUT ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_SetWindows (Thumb, 68 bytes, Stack size 24 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 136
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_SetWindows ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_SendCommand (Thumb, 46 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 112
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   DEV_SPI_WriteByte +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GPIO_WritePin +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SetCursor +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SetWindows +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT_by_host +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Sleep +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Base +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Clear +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_4GrayDisplay +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_SendData (Thumb, 46 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 112
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   DEV_SPI_WriteByte +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GPIO_WritePin +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SetCursor +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_TurnOnDisplay +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SetWindows +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT_by_host +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Sleep +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Base +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Clear +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_4GrayDisplay +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_LUT (Thumb, 32 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 128
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_LUT ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_ReadBusy +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_LUT_by_host +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_TurnOnDisplay (Thumb, 26 bytes, Stack size 8 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 120
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_TurnOnDisplay ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_ReadBusy +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Base +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Clear +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_4GrayDisplay +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                EPD_2IN9_V2_SetCursor (Thumb, 38 bytes, Stack size 16 bytes, epd_2in9_v2.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 128
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = EPD_2IN9_V2_SetCursor ⇒ EPD_2IN9_V2_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendData +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_SendCommand +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init_Fast +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Gray4_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   EPD_2IN9_V2_Display_Partial +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_WaitFlagStateUntilTimeout (Thumb, 180 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 32
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_EndRxTransaction (Thumb, 92 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 56
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_Receive +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_DMAReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_CloseTx_ISR (Thumb, 120 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_CloseTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_TxISR_16BIT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_TxISR_8BIT +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_TxISR_8BIT (Thumb, 30 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_TxISR_8BIT ⇒ SPI_CloseTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_TxISR_16BIT (Thumb, 30 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_TxISR_16BIT ⇒ SPI_CloseTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_CloseRx_ISR (Thumb, 76 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 72
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_RxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_RxISR_16BIT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_RxISR_8BIT +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_RxISR_8BIT (Thumb, 30 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 72
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_RxISR_8BIT ⇒ SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_RxISR_16BIT (Thumb, 30 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 72
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_RxISR_16BIT ⇒ SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_CloseRxTx_ISR (Thumb, 140 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_CloseRxTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxRxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_RxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_2linesRxISR_16BIT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_2linesTxISR_16BIT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_2linesRxISR_8BIT +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_2linesTxISR_8BIT +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                SPI_2linesTxISR_8BIT (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_2linesTxISR_8BIT ⇒ SPI_CloseRxTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_2linesRxISR_8BIT (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_2linesRxISR_8BIT ⇒ SPI_CloseRxTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_2linesTxISR_16BIT (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_2linesTxISR_16BIT ⇒ SPI_CloseRxTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_2linesRxISR_16BIT (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_2linesRxISR_16BIT ⇒ SPI_CloseRxTx_ISR ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAError (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAError +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMATransmitCplt (Thumb, 100 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMATransmitCplt ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAHalfTransmitCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAHalfTransmitCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxHalfCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAReceiveCplt (Thumb, 106 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 72
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAReceiveCplt ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_RxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAHalfReceiveCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAHalfReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_RxHalfCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMATransmitReceiveCplt (Thumb, 90 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMATransmitReceiveCplt ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxRxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAHalfTransmitReceiveCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAHalfTransmitReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TxRxHalfCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_AbortRx_ISR (Thumb, 76 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_AbortRx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_AbortTx_ISR (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_spi.o(.text)) +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]

                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMARxAbortCallback (Thumb, 98 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMARxAbortCallback ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_EndRxTxTransaction +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMATxAbortCallback (Thumb, 106 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMATxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_DMAAbortOnError (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_DMAAbortOnError +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_spi.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                SPI_EndRxTxTransaction (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 48
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_WaitFlagStateUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_Transmit +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SPI_TransmitReceive +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_DMARxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_DMATransmitReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_DMATransmitCplt +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseRxTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                • >>   SPI_CloseTx_ISR +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                DMA_SetConfig (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_DMA_Start +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_DMA_Start_IT +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                __NVIC_SetPriority (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_SYSTICK_Config +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_NVIC_SetPriority +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                UART_SetConfig (Thumb, 178 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 16
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_SetConfig +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_RCC_GetPCLK2Freq +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_RCC_GetPCLK1Freq +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_MultiProcessor_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_LIN_Init +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_HalfDuplex_Init +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                UART_WaitOnFlagUntilTimeout (Thumb, 98 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 24
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_WaitOnFlagUntilTimeout +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_Transmit +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_Receive +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMAError (Thumb, 74 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 16
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMAError +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                • >>   UART_EndTxTransfer +
                                                                                                                                                                                                                                                                                                                                                                                • >>   UART_EndRxTransfer +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMATxHalfCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMATxHalfCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_TxHalfCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMATransmitCplt (Thumb, 46 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMATransmitCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_TxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMARxHalfCplt (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMARxHalfCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_RxHalfCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMAReceiveCplt (Thumb, 60 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMAReceiveCplt +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_RxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMARxAbortCallback (Thumb, 42 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMARxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMATxAbortCallback (Thumb, 42 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMATxAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMATxOnlyAbortCallback (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMATxOnlyAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_AbortTransmitCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMARxOnlyAbortCallback (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMARxOnlyAbortCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_AbortReceiveCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_DMAAbortOnError (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMAAbortOnError +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_ErrorCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text) +
                                                                                                                                                                                                                                                                                                                                                                                +

                                                                                                                                                                                                                                                                                                                                                                                UART_Receive_IT (Thumb, 140 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                                [Calls]

                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_RxCpltCallback +
                                                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                                                [Called By]
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_IRQHandler +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                UART_EndRxTransfer (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_IRQHandler +
                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_DMAStop +
                                                                                                                                                                                                                                                                                                                                                                                • >>   UART_DMAError +
                                                                                                                                                                                                                                                                                                                                                                                + +

                                                                                                                                                                                                                                                                                                                                                                                UART_EndTxTransfer (Thumb, 18 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_DMAStop +
                                                                                                                                                                                                                                                                                                                                                                                • >>   UART_DMAError
                                                                                                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                                                                                                _printf_core (Thumb, 436 bytes, Stack size 96 bytes, printf3.o(i._printf_core), UNUSED) -

                                                                                                                                                                                                                                                                                                                                                                                [Calls]

                                                                                                                                                                                                                                                                                                                                                                                • >>   __aeabi_uidivmod +

                                                                                                                                                                                                                                                                                                                                                                                  _printf_core (Thumb, 436 bytes, Stack size 96 bytes, printf3.o(i._printf_core), UNUSED) +

                                                                                                                                                                                                                                                                                                                                                                                  [Calls]

                                                                                                                                                                                                                                                                                                                                                                                  • >>   __aeabi_uidivmod
                                                                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                                                                                                                                                                  • >>   __0printf$3 +
                                                                                                                                                                                                                                                                                                                                                                                    [Called By]
                                                                                                                                                                                                                                                                                                                                                                                    • >>   __0printf$3

                                                                                                                                                                                                                                                                                                                                                                                    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 e0427e409..532993706 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map @@ -6,154 +6,60 @@ Section Cross References startup_stm32f103xe.o(RESET) refers to startup_stm32f103xe.o(STACK) for __initial_sp startup_stm32f103xe.o(RESET) refers to startup_stm32f103xe.o(.text) for Reset_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.NMI_Handler) for NMI_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.HardFault_Handler) for HardFault_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.MemManage_Handler) for MemManage_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.BusFault_Handler) for BusFault_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.UsageFault_Handler) for UsageFault_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.SVC_Handler) for SVC_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.DebugMon_Handler) for DebugMon_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.PendSV_Handler) for PendSV_Handler - startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(i.SysTick_Handler) for SysTick_Handler - startup_stm32f103xe.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit + startup_stm32f103xe.o(RESET) refers to stm32f1xx_it.o(.text) for NMI_Handler + startup_stm32f103xe.o(.text) refers to system_stm32f1xx.o(.text) for SystemInit startup_stm32f103xe.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main - main.o(i.Error_Handler) refers to printf3.o(i.__0printf$3) for __2printf - main.o(i.SystemClock_Config) refers to memseta.o(.text) for __aeabi_memclr4 - main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) for HAL_RCC_OscConfig - main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) for HAL_RCC_ClockConfig - main.o(i.SystemClock_Config) refers to main.o(i.Error_Handler) for Error_Handler - main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Init) for HAL_Init - main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config - main.o(i.main) refers to gpio.o(i.MX_GPIO_Init) for MX_GPIO_Init - main.o(i.main) refers to usart.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init - main.o(i.main) refers to spi.o(i.MX_SPI1_Init) for MX_SPI1_Init - main.o(i.main) refers to epd_13in3k_test.o(i.EPD_test) for EPD_test - main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init - spi.o(i.HAL_SPI_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit - spi.o(i.HAL_SPI_MspInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init - spi.o(i.MX_SPI1_Init) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_Init) for HAL_SPI_Init - spi.o(i.MX_SPI1_Init) refers to main.o(i.Error_Handler) for Error_Handler - spi.o(i.MX_SPI1_Init) refers to spi.o(.bss) for .bss - usart.o(i.HAL_UART_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit - usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init - usart.o(i.MX_USART1_UART_Init) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Init) for HAL_UART_Init - usart.o(i.MX_USART1_UART_Init) refers to main.o(i.Error_Handler) for Error_Handler - usart.o(i.MX_USART1_UART_Init) refers to usart.o(.bss) for .bss - usart.o(i.fputc) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit - usart.o(i.fputc) refers to usart.o(.bss) for .bss - stm32f1xx_it.o(i.HardFault_Handler) refers to printf3.o(i.__0printf$3) for __2printf - stm32f1xx_it.o(i.SysTick_Handler) refers to stm32f1xx_hal.o(i.HAL_IncTick) for HAL_IncTick - epd_13in3k_test.o(i.EPD_test) refers to printf3.o(i.__0printf$3) for __2printf - epd_13in3k_test.o(i.EPD_test) refers to dev_config.o(i.DEV_Module_Init) for DEV_Module_Init - epd_13in3k_test.o(i.EPD_test) refers to epd_13in3k.o(i.EPD_13IN3K_Init) for EPD_13IN3K_Init - epd_13in3k_test.o(i.EPD_test) refers to epd_13in3k.o(i.EPD_13IN3K_Clear) for EPD_13IN3K_Clear - epd_13in3k_test.o(i.EPD_test) refers to malloc.o(i.malloc) for malloc - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_NewImage) for Paint_NewImage - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_Clear) for Paint_Clear - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_SelectImage) for Paint_SelectImage - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawBitMap) for Paint_DrawBitMap - epd_13in3k_test.o(i.EPD_test) refers to epd_13in3k.o(i.EPD_13IN3K_WritePicture) for EPD_13IN3K_WritePicture - epd_13in3k_test.o(i.EPD_test) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawPoint) for Paint_DrawPoint - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawLine) for Paint_DrawLine - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawRectangle) for Paint_DrawRectangle - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawCircle) for Paint_DrawCircle - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawString_EN) for Paint_DrawString_EN - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawNum) for Paint_DrawNum - epd_13in3k_test.o(i.EPD_test) refers to gui_paint.o(i.Paint_DrawString_CN) for Paint_DrawString_CN - epd_13in3k_test.o(i.EPD_test) refers to epd_13in3k.o(i.EPD_13IN3K_Sleep) for EPD_13IN3K_Sleep - epd_13in3k_test.o(i.EPD_test) refers to malloc.o(i.free) for free - epd_13in3k_test.o(i.EPD_test) refers to dev_config.o(i.DEV_Module_Exit) for DEV_Module_Exit - epd_13in3k_test.o(i.EPD_test) refers to imagedata2.o(.constdata) for gImage_13in3k - epd_13in3k_test.o(i.EPD_test) refers to font16.o(.data) for Font16 - epd_13in3k_test.o(i.EPD_test) refers to font12.o(.data) for Font12 - epd_13in3k_test.o(i.EPD_test) refers to font12cn.o(.data) for Font12CN - epd_13in3k_test.o(i.EPD_test) refers to font24cn.o(.data) for Font24CN - epd_13in3k.o(i.EPD_13IN3K_Clear) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_Clear) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_Clear) refers to epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) for EPD_13IN3K_TurnOnDisplay - epd_13in3k.o(i.EPD_13IN3K_Display) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_Display) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_Display) refers to epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) for EPD_13IN3K_TurnOnDisplay - epd_13in3k.o(i.EPD_13IN3K_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - epd_13in3k.o(i.EPD_13IN3K_Init) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - epd_13in3k.o(i.EPD_13IN3K_Init) refers to epd_13in3k.o(i.EPD_13IN3K_ReadBusy) for EPD_13IN3K_ReadBusy - epd_13in3k.o(i.EPD_13IN3K_Init) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_Init) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_ReadBusy) refers to printf3.o(i.__0printf$3) for __2printf - epd_13in3k.o(i.EPD_13IN3K_ReadBusy) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin) for HAL_GPIO_ReadPin - epd_13in3k.o(i.EPD_13IN3K_ReadBusy) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - epd_13in3k.o(i.EPD_13IN3K_SendCommand) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - epd_13in3k.o(i.EPD_13IN3K_SendCommand) refers to dev_config.o(i.DEV_SPI_WriteByte) for DEV_SPI_WriteByte - epd_13in3k.o(i.EPD_13IN3K_SendData) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - epd_13in3k.o(i.EPD_13IN3K_SendData) refers to dev_config.o(i.DEV_SPI_WriteByte) for DEV_SPI_WriteByte - epd_13in3k.o(i.EPD_13IN3K_Sleep) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_Sleep) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_Sleep) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay - epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) refers to epd_13in3k.o(i.EPD_13IN3K_ReadBusy) for EPD_13IN3K_ReadBusy - epd_13in3k.o(i.EPD_13IN3K_WritePicture) refers to epd_13in3k.o(i.EPD_13IN3K_SendCommand) for EPD_13IN3K_SendCommand - epd_13in3k.o(i.EPD_13IN3K_WritePicture) refers to epd_13in3k.o(i.EPD_13IN3K_SendData) for EPD_13IN3K_SendData - epd_13in3k.o(i.EPD_13IN3K_WritePicture) refers to epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) for EPD_13IN3K_TurnOnDisplay - dev_config.o(i.DEV_Module_Exit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - dev_config.o(i.DEV_Module_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin - dev_config.o(i.DEV_SPI_WriteByte) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit) for HAL_SPI_Transmit - dev_config.o(i.DEV_SPI_WriteByte) refers to spi.o(.bss) for hspi1 - gui_paint.o(i.Paint_Clear) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_ClearWindows) refers to gui_paint.o(i.Paint_SetPixel) for Paint_SetPixel - gui_paint.o(i.Paint_DrawBitMap) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawBitMap_Block) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawBitMap_Paste) refers to gui_paint.o(i.Paint_SetPixel) for Paint_SetPixel - gui_paint.o(i.Paint_DrawChar) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawChar) refers to gui_paint.o(i.Paint_SetPixel) for Paint_SetPixel - gui_paint.o(i.Paint_DrawChar) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawCircle) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawCircle) refers to gui_paint.o(i.Paint_DrawPoint) for Paint_DrawPoint - gui_paint.o(i.Paint_DrawCircle) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawCircle) refers to gui_paint.o(.conststring) for .conststring - gui_paint.o(i.Paint_DrawLine) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawLine) refers to gui_paint.o(i.Paint_DrawPoint) for Paint_DrawPoint - gui_paint.o(i.Paint_DrawLine) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawNum) refers to memseta.o(.text) for __aeabi_memclr4 - gui_paint.o(i.Paint_DrawNum) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawNum) refers to gui_paint.o(i.Paint_DrawString_EN) for Paint_DrawString_EN - gui_paint.o(i.Paint_DrawNum) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawNumDecimals) refers to memseta.o(.text) for __aeabi_memclr4 - gui_paint.o(i.Paint_DrawNumDecimals) refers to dfixi.o(.text) for __aeabi_d2iz - gui_paint.o(i.Paint_DrawNumDecimals) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawNumDecimals) refers to dflti.o(.text) for __aeabi_i2d - gui_paint.o(i.Paint_DrawNumDecimals) refers to dadd.o(.text) for __aeabi_drsub - gui_paint.o(i.Paint_DrawNumDecimals) refers to d2f.o(.text) for __aeabi_d2f - gui_paint.o(i.Paint_DrawNumDecimals) refers to fmul.o(.text) for __aeabi_fmul - gui_paint.o(i.Paint_DrawNumDecimals) refers to ffixi.o(.text) for __aeabi_f2iz - gui_paint.o(i.Paint_DrawNumDecimals) refers to gui_paint.o(i.Paint_DrawString_EN) for Paint_DrawString_EN - gui_paint.o(i.Paint_DrawNumDecimals) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawPoint) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawPoint) refers to gui_paint.o(i.Paint_SetPixel) for Paint_SetPixel - gui_paint.o(i.Paint_DrawPoint) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawRectangle) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawRectangle) refers to gui_paint.o(i.Paint_DrawLine) for Paint_DrawLine - gui_paint.o(i.Paint_DrawRectangle) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawString_CN) refers to gui_paint.o(i.Paint_SetPixel) for Paint_SetPixel - gui_paint.o(i.Paint_DrawString_EN) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_DrawString_EN) refers to gui_paint.o(i.Paint_DrawChar) for Paint_DrawChar - gui_paint.o(i.Paint_DrawString_EN) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_DrawString_EN) refers to gui_paint.o(.conststring) for .conststring - gui_paint.o(i.Paint_DrawTime) refers to gui_paint.o(i.Paint_DrawChar) for Paint_DrawChar - gui_paint.o(i.Paint_NewImage) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_SelectImage) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_SetMirroring) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_SetMirroring) refers to gui_paint.o(.conststring) for .conststring - gui_paint.o(i.Paint_SetMirroring) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_SetPixel) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_SetPixel) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_SetRotate) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_SetRotate) refers to gui_paint.o(.bss) for .bss - gui_paint.o(i.Paint_SetScale) refers to printf3.o(i.__0printf$3) for __2printf - gui_paint.o(i.Paint_SetScale) refers to gui_paint.o(.bss) for .bss + main.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + main.o(.text) refers to memseta.o(.text) for __aeabi_memclr4 + main.o(.text) refers to stm32f1xx_hal_rcc.o(.text) for HAL_RCC_OscConfig + main.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Init + 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_2in9_v2_test.o(.text) for EPD_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 + spi.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_Init + spi.o(.text) refers to spi.o(.bss) for .bss + usart.o(.text) refers to stm32f1xx_hal_uart.o(.text) for HAL_UART_Init + usart.o(.text) refers to main.o(.text) for Error_Handler + usart.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_Init + usart.o(.text) refers to usart.o(.bss) for .bss + stm32f1xx_it.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + stm32f1xx_it.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_IncTick + epd_2in9_v2_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_2in9_v2_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init + epd_2in9_v2_test.o(.text) refers to epd_2in9_v2.o(.text) for EPD_2IN9_V2_Init + epd_2in9_v2_test.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_2in9_v2_test.o(.text) refers to malloc.o(i.malloc) for malloc + epd_2in9_v2_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage + epd_2in9_v2_test.o(.text) refers to malloc.o(i.free) for free + epd_2in9_v2_test.o(.text) refers to imagedata.o(.constdata) for gImage_2in9 + epd_2in9_v2_test.o(.text) refers to font16.o(.data) for Font16 + epd_2in9_v2_test.o(.text) refers to font12.o(.data) for Font12 + epd_2in9_v2_test.o(.text) refers to font12cn.o(.data) for Font12CN + epd_2in9_v2_test.o(.text) refers to font24cn.o(.data) for Font24CN + epd_2in9_v2_test.o(.text) refers to font20.o(.data) for Font20 + epd_2in9_v2_test.o(.text) refers to imagedata.o(.constdata) for gImage_2in9_4Gray + epd_2in9_v2.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin + epd_2in9_v2.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay + epd_2in9_v2.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_2in9_v2.o(.text) refers to epd_2in9_v2.o(.data) for .data + epd_2in9_v2.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte + dev_config.o(.text) refers to stm32f1xx_hal_spi.o(.text) for HAL_SPI_Transmit + dev_config.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin + dev_config.o(.text) refers to spi.o(.bss) for hspi1 + gui_paint.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + gui_paint.o(.text) refers to gui_paint.o(.bss) for .bss + gui_paint.o(.text) refers to gui_paint.o(.conststring) for .conststring + gui_paint.o(.text) refers to memseta.o(.text) for __aeabi_memclr4 + gui_paint.o(.text) refers to dfixi.o(.text) for __aeabi_d2iz + gui_paint.o(.text) refers to dflti.o(.text) for __aeabi_i2d + gui_paint.o(.text) refers to dadd.o(.text) for __aeabi_drsub + gui_paint.o(.text) refers to d2f.o(.text) for __aeabi_d2f + gui_paint.o(.text) refers to fmul.o(.text) for __aeabi_fmul + gui_paint.o(.text) refers to ffixi.o(.text) for __aeabi_f2iz font8.o(.data) refers to font8.o(.constdata) for Font8_Table font12.o(.data) refers to font12.o(.constdata) for Font12_Table font12cn.o(.data) refers to font12cn.o(.constdata) for Font12CN_Table @@ -161,260 +67,36 @@ Section Cross References font20.o(.data) refers to font20.o(.constdata) for Font20_Table font24.o(.data) refers to font24.o(.constdata) for Font24_Table font24cn.o(.data) refers to font24cn.o(.constdata) for Font24CN_Table - system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for .data - system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for .constdata - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort) refers to stm32f1xx_hal_spi.o(i.SPI_AbortTx_ISR) for SPI_AbortTx_ISR - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort) refers to stm32f1xx_hal_spi.o(i.SPI_AbortRx_ISR) for SPI_AbortRx_ISR - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_AbortCpltCallback) for HAL_SPI_AbortCpltCallback - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_spi.o(i.SPI_AbortTx_ISR) for SPI_AbortTx_ISR - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_spi.o(i.SPI_AbortRx_ISR) for SPI_AbortRx_ISR - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_spi.o(i.SPI_DMATxAbortCallback) for SPI_DMATxAbortCallback - stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT) refers to stm32f1xx_hal_spi.o(i.SPI_DMARxAbortCallback) for SPI_DMARxAbortCallback - stm32f1xx_hal_spi.o(i.HAL_SPI_DMAStop) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_spi.o(i.HAL_SPI_DeInit) refers to spi.o(i.HAL_SPI_MspDeInit) for HAL_SPI_MspDeInit - stm32f1xx_hal_spi.o(i.HAL_SPI_IRQHandler) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_IRQHandler) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.HAL_SPI_IRQHandler) refers to stm32f1xx_hal_spi.o(i.SPI_DMAAbortOnError) for SPI_DMAAbortOnError - stm32f1xx_hal_spi.o(i.HAL_SPI_Init) refers to spi.o(i.HAL_SPI_MspInit) for HAL_SPI_MspInit - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive) for HAL_SPI_TransmitReceive - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction) for SPI_EndRxTransaction - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) for HAL_SPI_TransmitReceive_DMA - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAHalfReceiveCplt) for SPI_DMAHalfReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) for SPI_DMAReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAError) for SPI_DMAError - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_IT) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) for HAL_SPI_TransmitReceive_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_RxISR_16BIT) for SPI_RxISR_16BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_RxISR_8BIT) for SPI_RxISR_8BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitReceiveCplt) for SPI_DMAHalfTransmitReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt) for SPI_DMATransmitReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAError) for SPI_DMAError - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAHalfReceiveCplt) for SPI_DMAHalfReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) for SPI_DMAReceiveCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_16BIT) for SPI_2linesRxISR_16BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_16BIT) for SPI_2linesTxISR_16BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_8BIT) for SPI_2linesRxISR_8BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT) refers to stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_8BIT) for SPI_2linesTxISR_8BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitCplt) for SPI_DMAHalfTransmitCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt) for SPI_DMATransmitCplt - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA) refers to stm32f1xx_hal_spi.o(i.SPI_DMAError) for SPI_DMAError - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_IT) refers to stm32f1xx_hal_spi.o(i.SPI_TxISR_16BIT) for SPI_TxISR_16BIT - stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_IT) refers to stm32f1xx_hal_spi.o(i.SPI_TxISR_8BIT) for SPI_TxISR_8BIT - stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_16BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) for SPI_CloseRxTx_ISR - stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_8BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) for SPI_CloseRxTx_ISR - stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_16BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) for SPI_CloseRxTx_ISR - stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_8BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) for SPI_CloseRxTx_ISR - stm32f1xx_hal_spi.o(i.SPI_AbortRx_ISR) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxRxCpltCallback) for HAL_SPI_TxRxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_RxCpltCallback) for HAL_SPI_RxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction) for SPI_EndRxTransaction - stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_RxCpltCallback) for HAL_SPI_RxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxCpltCallback) for HAL_SPI_TxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.SPI_DMAAbortOnError) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_DMAError) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_DMAHalfReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_RxHalfCpltCallback) for HAL_SPI_RxHalfCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxHalfCpltCallback) for HAL_SPI_TxHalfCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxRxHalfCpltCallback) for HAL_SPI_TxRxHalfCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction) for SPI_EndRxTransaction - stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_RxCpltCallback) for HAL_SPI_RxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMARxAbortCallback) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_DMARxAbortCallback) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.SPI_DMARxAbortCallback) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_AbortCpltCallback) for HAL_SPI_AbortCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxCpltCallback) for HAL_SPI_TxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt) refers to stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) for SPI_EndRxTxTransaction - stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback) for HAL_SPI_ErrorCallback - stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_TxRxCpltCallback) for HAL_SPI_TxRxCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMATxAbortCallback) refers to stm32f1xx_hal_spi.o(i.HAL_SPI_AbortCpltCallback) for HAL_SPI_AbortCpltCallback - stm32f1xx_hal_spi.o(i.SPI_DMATxAbortCallback) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction) refers to stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) for SPI_WaitFlagStateUntilTimeout - stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) refers to stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) for SPI_WaitFlagStateUntilTimeout - stm32f1xx_hal_spi.o(i.SPI_RxISR_16BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) for SPI_CloseRx_ISR - stm32f1xx_hal_spi.o(i.SPI_RxISR_8BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR) for SPI_CloseRx_ISR - stm32f1xx_hal_spi.o(i.SPI_TxISR_16BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) for SPI_CloseTx_ISR - stm32f1xx_hal_spi.o(i.SPI_TxISR_8BIT) refers to stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR) for SPI_CloseTx_ISR - stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal.o(i.HAL_DeInit) refers to stm32f1xx_hal.o(i.HAL_MspDeInit) for HAL_MspDeInit - stm32f1xx_hal.o(i.HAL_Delay) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal.o(i.HAL_Delay) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_GetTick) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_GetTickFreq) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_GetTickPrio) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_IncTick) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) for HAL_NVIC_SetPriorityGrouping - stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick - stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal_msp.o(i.HAL_MspInit) for HAL_MspInit - stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) for HAL_SYSTICK_Config - stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority - stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal.o(i.HAL_InitTick) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal.o(i.HAL_SetTickFreq) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick - stm32f1xx_hal.o(i.HAL_SetTickFreq) refers to stm32f1xx_hal.o(.data) for .data - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(.data) for uwTickPrio - stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick - stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(.data) for uwTickPrio - stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable - stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable - stm32f1xx_hal_rcc.o(i.HAL_RCC_MCOConfig) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init - stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) for HAL_RCC_CSSCallback - stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to system_stm32f1xx.o(.data) for SystemCoreClock - stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq - stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq - stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback) for HAL_GPIO_EXTI_Callback - stm32f1xx_hal_dma.o(i.HAL_DMA_PollForTransfer) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_dma.o(i.HAL_DMA_Start) refers to stm32f1xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig - stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) refers to stm32f1xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig - stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) refers to stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority - stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) refers to stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority - stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler) refers to stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Callback) for HAL_SYSTICK_Callback - stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode) refers to stm32f1xx_hal_pwr.o(i.PWR_OverloadWfe) for PWR_OverloadWfe - stm32f1xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler) refers to stm32f1xx_hal_pwr.o(i.HAL_PWR_PVDCallback) for HAL_PWR_PVDCallback - stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) for FLASH_SetErrorCode - stm32f1xx_hal_flash.o(i.HAL_FLASH_GetError) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) for FLASH_SetErrorCode - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback) for HAL_FLASH_OperationErrorCallback - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback) for HAL_FLASH_EndOfOperationCallback - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase - stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Launch) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset) for HAL_NVIC_SystemReset - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to llushr.o(.text) for __aeabi_llsr - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord - stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32f1xx_hal_flash.o(.bss) for .bss - stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) for HAL_FLASHEx_OBErase - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) for HAL_FLASHEx_OBErase - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP) for FLASH_OB_GetRDP - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) for FLASH_OB_RDP_LevelConfig - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP) for FLASH_OB_GetRDP - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) for FLASH_OB_DisableWRP - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) for FLASH_OB_EnableWRP - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) for FLASH_OB_RDP_LevelConfig - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation - stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash.o(.bss) for pFlash - stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit - stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig - stm32f1xx_hal_uart.o(i.HAL_LIN_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit - stm32f1xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig - stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit - stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig - stm32f1xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError - stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError - stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback - stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) for UART_DMARxOnlyAbortCallback - stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError - stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback - stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) for UART_DMATxOnlyAbortCallback - stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback - stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) for UART_DMATxAbortCallback - stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) for UART_DMARxAbortCallback - stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort - stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer - stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer - stm32f1xx_hal_uart.o(i.HAL_UART_DeInit) refers to usart.o(i.HAL_UART_MspDeInit) for HAL_UART_MspDeInit - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_Receive_IT) for UART_Receive_IT - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback - stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) for UART_DMAAbortOnError - stm32f1xx_hal_uart.o(i.HAL_UART_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit - stm32f1xx_hal_uart.o(i.HAL_UART_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig - stm32f1xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout - stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT - stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) for UART_DMAReceiveCplt - stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) for UART_DMARxHalfCplt - stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAError) for UART_DMAError - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt) for UART_DMATransmitCplt - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) for UART_DMATxHalfCplt - stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAError) for UART_DMAError - stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback - stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer - stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer - stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback - stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) for HAL_UART_RxHalfCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback) for HAL_UART_TxHalfCpltCallback - stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback - stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback - stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq - stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq - stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick + system_stm32f1xx.o(.text) refers to system_stm32f1xx.o(.data) for .data + system_stm32f1xx.o(.text) refers to system_stm32f1xx.o(.constdata) for .constdata + stm32f1xx_hal_spi.o(.text) refers to spi.o(.text) for HAL_SPI_MspInit + stm32f1xx_hal_spi.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_spi.o(.text) refers to system_stm32f1xx.o(.data) for SystemCoreClock + stm32f1xx_hal_spi.o(.text) refers to stm32f1xx_hal_dma.o(.text) for HAL_DMA_Start_IT + stm32f1xx_hal.o(.text) refers to stm32f1xx_hal_cortex.o(.text) for HAL_SYSTICK_Config + stm32f1xx_hal.o(.text) refers to stm32f1xx_hal_msp.o(.text) for HAL_MspInit + stm32f1xx_hal.o(.text) refers to stm32f1xx_hal.o(.data) for .data + stm32f1xx_hal.o(.text) refers to system_stm32f1xx.o(.data) for SystemCoreClock + stm32f1xx_hal_rcc.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_rcc.o(.text) refers to system_stm32f1xx.o(.data) for SystemCoreClock + stm32f1xx_hal_rcc.o(.text) refers to stm32f1xx_hal.o(.data) for uwTickPrio + stm32f1xx_hal_rcc.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_Init + stm32f1xx_hal_rcc.o(.text) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable + stm32f1xx_hal_rcc.o(.text) refers to system_stm32f1xx.o(.constdata) for APBPrescTable + stm32f1xx_hal_rcc_ex.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_rcc_ex.o(.text) refers to stm32f1xx_hal_rcc.o(.text) for HAL_RCC_GetPCLK2Freq + stm32f1xx_hal_dma.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_flash.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_flash.o(.text) refers to llushr.o(.text) for __aeabi_llsr + stm32f1xx_hal_flash.o(.text) refers to stm32f1xx_hal_flash_ex.o(.text) for FLASH_PageErase + stm32f1xx_hal_flash.o(.text) refers to stm32f1xx_hal_cortex.o(.text) for HAL_NVIC_SystemReset + stm32f1xx_hal_flash.o(.text) refers to stm32f1xx_hal_flash.o(.bss) for .bss + stm32f1xx_hal_flash_ex.o(.text) refers to stm32f1xx_hal_flash.o(.text) for FLASH_WaitForLastOperation + stm32f1xx_hal_flash_ex.o(.text) refers to stm32f1xx_hal_flash.o(.bss) for pFlash + stm32f1xx_hal_uart.o(.text) refers to stm32f1xx_hal_rcc.o(.text) for HAL_RCC_GetPCLK2Freq + stm32f1xx_hal_uart.o(.text) refers to usart.o(.text) for HAL_UART_MspInit + stm32f1xx_hal_uart.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_GetTick + stm32f1xx_hal_uart.o(.text) refers to stm32f1xx_hal_dma.o(.text) for HAL_DMA_Start_IT entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock @@ -423,54 +105,54 @@ Section Cross References entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk printfb.o(i.__0fprintf$bare) refers to printfb.o(i._printf_core) for _printf_core - printfb.o(i.__0fprintf$bare) refers to usart.o(i.fputc) for fputc + printfb.o(i.__0fprintf$bare) refers to usart.o(.text) for fputc printfb.o(i.__0printf$bare) refers to printfb.o(i._printf_core) for _printf_core - printfb.o(i.__0printf$bare) refers to usart.o(i.fputc) for fputc + printfb.o(i.__0printf$bare) refers to usart.o(.text) for fputc printfb.o(i.__0printf$bare) refers to stdout.o(.data) for __stdout printfb.o(i.__0snprintf$bare) refers to printfb.o(i._printf_core) for _printf_core printfb.o(i.__0snprintf$bare) refers to printfb.o(i._snputc) for _snputc printfb.o(i.__0sprintf$bare) refers to printfb.o(i._printf_core) for _printf_core printfb.o(i.__0sprintf$bare) refers to printfb.o(i._sputc) for _sputc printfb.o(i.__0vfprintf$bare) refers to printfb.o(i._printf_core) for _printf_core - printfb.o(i.__0vfprintf$bare) refers to usart.o(i.fputc) for fputc + printfb.o(i.__0vfprintf$bare) refers to usart.o(.text) for fputc printfb.o(i.__0vprintf$bare) refers to printfb.o(i._printf_core) for _printf_core - printfb.o(i.__0vprintf$bare) refers to usart.o(i.fputc) for fputc + printfb.o(i.__0vprintf$bare) refers to usart.o(.text) for fputc printfb.o(i.__0vprintf$bare) refers to stdout.o(.data) for __stdout printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._printf_core) for _printf_core printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._snputc) for _snputc printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._printf_core) for _printf_core printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._sputc) for _sputc printf0.o(i.__0fprintf$0) refers to printf0.o(i._printf_core) for _printf_core - printf0.o(i.__0fprintf$0) refers to usart.o(i.fputc) for fputc + printf0.o(i.__0fprintf$0) refers to usart.o(.text) for fputc printf0.o(i.__0printf$0) refers to printf0.o(i._printf_core) for _printf_core - printf0.o(i.__0printf$0) refers to usart.o(i.fputc) for fputc + printf0.o(i.__0printf$0) refers to usart.o(.text) for fputc printf0.o(i.__0printf$0) refers to stdout.o(.data) for __stdout printf0.o(i.__0snprintf$0) refers to printf0.o(i._printf_core) for _printf_core printf0.o(i.__0snprintf$0) refers to printf0.o(i._snputc) for _snputc printf0.o(i.__0sprintf$0) refers to printf0.o(i._printf_core) for _printf_core printf0.o(i.__0sprintf$0) refers to printf0.o(i._sputc) for _sputc printf0.o(i.__0vfprintf$0) refers to printf0.o(i._printf_core) for _printf_core - printf0.o(i.__0vfprintf$0) refers to usart.o(i.fputc) for fputc + printf0.o(i.__0vfprintf$0) refers to usart.o(.text) for fputc printf0.o(i.__0vprintf$0) refers to printf0.o(i._printf_core) for _printf_core - printf0.o(i.__0vprintf$0) refers to usart.o(i.fputc) for fputc + printf0.o(i.__0vprintf$0) refers to usart.o(.text) for fputc printf0.o(i.__0vprintf$0) refers to stdout.o(.data) for __stdout printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._printf_core) for _printf_core printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._snputc) for _snputc printf0.o(i.__0vsprintf$0) refers to printf0.o(i._printf_core) for _printf_core printf0.o(i.__0vsprintf$0) refers to printf0.o(i._sputc) for _sputc printf1.o(i.__0fprintf$1) refers to printf1.o(i._printf_core) for _printf_core - printf1.o(i.__0fprintf$1) refers to usart.o(i.fputc) for fputc + printf1.o(i.__0fprintf$1) refers to usart.o(.text) for fputc printf1.o(i.__0printf$1) refers to printf1.o(i._printf_core) for _printf_core - printf1.o(i.__0printf$1) refers to usart.o(i.fputc) for fputc + printf1.o(i.__0printf$1) refers to usart.o(.text) for fputc printf1.o(i.__0printf$1) refers to stdout.o(.data) for __stdout printf1.o(i.__0snprintf$1) refers to printf1.o(i._printf_core) for _printf_core printf1.o(i.__0snprintf$1) refers to printf1.o(i._snputc) for _snputc printf1.o(i.__0sprintf$1) refers to printf1.o(i._printf_core) for _printf_core printf1.o(i.__0sprintf$1) refers to printf1.o(i._sputc) for _sputc printf1.o(i.__0vfprintf$1) refers to printf1.o(i._printf_core) for _printf_core - printf1.o(i.__0vfprintf$1) refers to usart.o(i.fputc) for fputc + printf1.o(i.__0vfprintf$1) refers to usart.o(.text) for fputc printf1.o(i.__0vprintf$1) refers to printf1.o(i._printf_core) for _printf_core - printf1.o(i.__0vprintf$1) refers to usart.o(i.fputc) for fputc + printf1.o(i.__0vprintf$1) refers to usart.o(.text) for fputc printf1.o(i.__0vprintf$1) refers to stdout.o(.data) for __stdout printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._printf_core) for _printf_core printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._snputc) for _snputc @@ -478,36 +160,36 @@ Section Cross References printf1.o(i.__0vsprintf$1) refers to printf1.o(i._sputc) for _sputc printf1.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod printf2.o(i.__0fprintf$2) refers to printf2.o(i._printf_core) for _printf_core - printf2.o(i.__0fprintf$2) refers to usart.o(i.fputc) for fputc + printf2.o(i.__0fprintf$2) refers to usart.o(.text) for fputc printf2.o(i.__0printf$2) refers to printf2.o(i._printf_core) for _printf_core - printf2.o(i.__0printf$2) refers to usart.o(i.fputc) for fputc + printf2.o(i.__0printf$2) refers to usart.o(.text) for fputc printf2.o(i.__0printf$2) refers to stdout.o(.data) for __stdout printf2.o(i.__0snprintf$2) refers to printf2.o(i._printf_core) for _printf_core printf2.o(i.__0snprintf$2) refers to printf2.o(i._snputc) for _snputc printf2.o(i.__0sprintf$2) refers to printf2.o(i._printf_core) for _printf_core printf2.o(i.__0sprintf$2) refers to printf2.o(i._sputc) for _sputc printf2.o(i.__0vfprintf$2) refers to printf2.o(i._printf_core) for _printf_core - printf2.o(i.__0vfprintf$2) refers to usart.o(i.fputc) for fputc + printf2.o(i.__0vfprintf$2) refers to usart.o(.text) for fputc printf2.o(i.__0vprintf$2) refers to printf2.o(i._printf_core) for _printf_core - printf2.o(i.__0vprintf$2) refers to usart.o(i.fputc) for fputc + printf2.o(i.__0vprintf$2) refers to usart.o(.text) for fputc printf2.o(i.__0vprintf$2) refers to stdout.o(.data) for __stdout printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._printf_core) for _printf_core printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._snputc) for _snputc printf2.o(i.__0vsprintf$2) refers to printf2.o(i._printf_core) for _printf_core printf2.o(i.__0vsprintf$2) refers to printf2.o(i._sputc) for _sputc printf3.o(i.__0fprintf$3) refers to printf3.o(i._printf_core) for _printf_core - printf3.o(i.__0fprintf$3) refers to usart.o(i.fputc) for fputc + printf3.o(i.__0fprintf$3) refers to usart.o(.text) for fputc printf3.o(i.__0printf$3) refers to printf3.o(i._printf_core) for _printf_core - printf3.o(i.__0printf$3) refers to usart.o(i.fputc) for fputc + printf3.o(i.__0printf$3) refers to usart.o(.text) for fputc printf3.o(i.__0printf$3) refers to stdout.o(.data) for __stdout printf3.o(i.__0snprintf$3) refers to printf3.o(i._printf_core) for _printf_core printf3.o(i.__0snprintf$3) refers to printf3.o(i._snputc) for _snputc printf3.o(i.__0sprintf$3) refers to printf3.o(i._printf_core) for _printf_core printf3.o(i.__0sprintf$3) refers to printf3.o(i._sputc) for _sputc printf3.o(i.__0vfprintf$3) refers to printf3.o(i._printf_core) for _printf_core - printf3.o(i.__0vfprintf$3) refers to usart.o(i.fputc) for fputc + printf3.o(i.__0vfprintf$3) refers to usart.o(.text) for fputc printf3.o(i.__0vprintf$3) refers to printf3.o(i._printf_core) for _printf_core - printf3.o(i.__0vprintf$3) refers to usart.o(i.fputc) for fputc + printf3.o(i.__0vprintf$3) refers to usart.o(.text) for fputc printf3.o(i.__0vprintf$3) refers to stdout.o(.data) for __stdout printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._printf_core) for _printf_core printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._snputc) for _snputc @@ -515,18 +197,18 @@ Section Cross References printf3.o(i.__0vsprintf$3) refers to printf3.o(i._sputc) for _sputc printf3.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod printf4.o(i.__0fprintf$4) refers to printf4.o(i._printf_core) for _printf_core - printf4.o(i.__0fprintf$4) refers to usart.o(i.fputc) for fputc + printf4.o(i.__0fprintf$4) refers to usart.o(.text) for fputc printf4.o(i.__0printf$4) refers to printf4.o(i._printf_core) for _printf_core - printf4.o(i.__0printf$4) refers to usart.o(i.fputc) for fputc + printf4.o(i.__0printf$4) refers to usart.o(.text) for fputc printf4.o(i.__0printf$4) refers to stdout.o(.data) for __stdout printf4.o(i.__0snprintf$4) refers to printf4.o(i._printf_core) for _printf_core printf4.o(i.__0snprintf$4) refers to printf4.o(i._snputc) for _snputc printf4.o(i.__0sprintf$4) refers to printf4.o(i._printf_core) for _printf_core printf4.o(i.__0sprintf$4) refers to printf4.o(i._sputc) for _sputc printf4.o(i.__0vfprintf$4) refers to printf4.o(i._printf_core) for _printf_core - printf4.o(i.__0vfprintf$4) refers to usart.o(i.fputc) for fputc + printf4.o(i.__0vfprintf$4) refers to usart.o(.text) for fputc printf4.o(i.__0vprintf$4) refers to printf4.o(i._printf_core) for _printf_core - printf4.o(i.__0vprintf$4) refers to usart.o(i.fputc) for fputc + printf4.o(i.__0vprintf$4) refers to usart.o(.text) for fputc printf4.o(i.__0vprintf$4) refers to stdout.o(.data) for __stdout printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._printf_core) for _printf_core printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._snputc) for _snputc @@ -534,18 +216,18 @@ Section Cross References printf4.o(i.__0vsprintf$4) refers to printf4.o(i._sputc) for _sputc printf4.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod printf5.o(i.__0fprintf$5) refers to printf5.o(i._printf_core) for _printf_core - printf5.o(i.__0fprintf$5) refers to usart.o(i.fputc) for fputc + printf5.o(i.__0fprintf$5) refers to usart.o(.text) for fputc printf5.o(i.__0printf$5) refers to printf5.o(i._printf_core) for _printf_core - printf5.o(i.__0printf$5) refers to usart.o(i.fputc) for fputc + printf5.o(i.__0printf$5) refers to usart.o(.text) for fputc printf5.o(i.__0printf$5) refers to stdout.o(.data) for __stdout printf5.o(i.__0snprintf$5) refers to printf5.o(i._printf_core) for _printf_core printf5.o(i.__0snprintf$5) refers to printf5.o(i._snputc) for _snputc printf5.o(i.__0sprintf$5) refers to printf5.o(i._printf_core) for _printf_core printf5.o(i.__0sprintf$5) refers to printf5.o(i._sputc) for _sputc printf5.o(i.__0vfprintf$5) refers to printf5.o(i._printf_core) for _printf_core - printf5.o(i.__0vfprintf$5) refers to usart.o(i.fputc) for fputc + printf5.o(i.__0vfprintf$5) refers to usart.o(.text) for fputc printf5.o(i.__0vprintf$5) refers to printf5.o(i._printf_core) for _printf_core - printf5.o(i.__0vprintf$5) refers to usart.o(i.fputc) for fputc + printf5.o(i.__0vprintf$5) refers to usart.o(.text) for fputc printf5.o(i.__0vprintf$5) refers to stdout.o(.data) for __stdout printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._printf_core) for _printf_core printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._snputc) for _snputc @@ -553,18 +235,18 @@ Section Cross References printf5.o(i.__0vsprintf$5) refers to printf5.o(i._sputc) for _sputc printf5.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod printf6.o(i.__0fprintf$6) refers to printf6.o(i._printf_core) for _printf_core - printf6.o(i.__0fprintf$6) refers to usart.o(i.fputc) for fputc + printf6.o(i.__0fprintf$6) refers to usart.o(.text) for fputc printf6.o(i.__0printf$6) refers to printf6.o(i._printf_core) for _printf_core - printf6.o(i.__0printf$6) refers to usart.o(i.fputc) for fputc + printf6.o(i.__0printf$6) refers to usart.o(.text) for fputc printf6.o(i.__0printf$6) refers to stdout.o(.data) for __stdout printf6.o(i.__0snprintf$6) refers to printf6.o(i._printf_core) for _printf_core printf6.o(i.__0snprintf$6) refers to printf6.o(i._snputc) for _snputc printf6.o(i.__0sprintf$6) refers to printf6.o(i._printf_core) for _printf_core printf6.o(i.__0sprintf$6) refers to printf6.o(i._sputc) for _sputc printf6.o(i.__0vfprintf$6) refers to printf6.o(i._printf_core) for _printf_core - printf6.o(i.__0vfprintf$6) refers to usart.o(i.fputc) for fputc + printf6.o(i.__0vfprintf$6) refers to usart.o(.text) for fputc printf6.o(i.__0vprintf$6) refers to printf6.o(i._printf_core) for _printf_core - printf6.o(i.__0vprintf$6) refers to usart.o(i.fputc) for fputc + printf6.o(i.__0vprintf$6) refers to usart.o(.text) for fputc printf6.o(i.__0vprintf$6) refers to stdout.o(.data) for __stdout printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._printf_core) for _printf_core printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._snputc) for _snputc @@ -574,18 +256,18 @@ Section Cross References printf6.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod printf6.o(i._printf_core) refers to printf6.o(i._printf_post_padding) for _printf_post_padding printf7.o(i.__0fprintf$7) refers to printf7.o(i._printf_core) for _printf_core - printf7.o(i.__0fprintf$7) refers to usart.o(i.fputc) for fputc + printf7.o(i.__0fprintf$7) refers to usart.o(.text) for fputc printf7.o(i.__0printf$7) refers to printf7.o(i._printf_core) for _printf_core - printf7.o(i.__0printf$7) refers to usart.o(i.fputc) for fputc + printf7.o(i.__0printf$7) refers to usart.o(.text) for fputc printf7.o(i.__0printf$7) refers to stdout.o(.data) for __stdout printf7.o(i.__0snprintf$7) refers to printf7.o(i._printf_core) for _printf_core printf7.o(i.__0snprintf$7) refers to printf7.o(i._snputc) for _snputc printf7.o(i.__0sprintf$7) refers to printf7.o(i._printf_core) for _printf_core printf7.o(i.__0sprintf$7) refers to printf7.o(i._sputc) for _sputc printf7.o(i.__0vfprintf$7) refers to printf7.o(i._printf_core) for _printf_core - printf7.o(i.__0vfprintf$7) refers to usart.o(i.fputc) for fputc + printf7.o(i.__0vfprintf$7) refers to usart.o(.text) for fputc printf7.o(i.__0vprintf$7) refers to printf7.o(i._printf_core) for _printf_core - printf7.o(i.__0vprintf$7) refers to usart.o(i.fputc) for fputc + printf7.o(i.__0vprintf$7) refers to usart.o(.text) for fputc printf7.o(i.__0vprintf$7) refers to stdout.o(.data) for __stdout printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._printf_core) for _printf_core printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._snputc) for _snputc @@ -595,18 +277,18 @@ Section Cross References printf7.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod printf7.o(i._printf_core) refers to printf7.o(i._printf_post_padding) for _printf_post_padding printf8.o(i.__0fprintf$8) refers to printf8.o(i._printf_core) for _printf_core - printf8.o(i.__0fprintf$8) refers to usart.o(i.fputc) for fputc + printf8.o(i.__0fprintf$8) refers to usart.o(.text) for fputc printf8.o(i.__0printf$8) refers to printf8.o(i._printf_core) for _printf_core - printf8.o(i.__0printf$8) refers to usart.o(i.fputc) for fputc + printf8.o(i.__0printf$8) refers to usart.o(.text) for fputc printf8.o(i.__0printf$8) refers to stdout.o(.data) for __stdout printf8.o(i.__0snprintf$8) refers to printf8.o(i._printf_core) for _printf_core printf8.o(i.__0snprintf$8) refers to printf8.o(i._snputc) for _snputc printf8.o(i.__0sprintf$8) refers to printf8.o(i._printf_core) for _printf_core printf8.o(i.__0sprintf$8) refers to printf8.o(i._sputc) for _sputc printf8.o(i.__0vfprintf$8) refers to printf8.o(i._printf_core) for _printf_core - printf8.o(i.__0vfprintf$8) refers to usart.o(i.fputc) for fputc + printf8.o(i.__0vfprintf$8) refers to usart.o(.text) for fputc printf8.o(i.__0vprintf$8) refers to printf8.o(i._printf_core) for _printf_core - printf8.o(i.__0vprintf$8) refers to usart.o(i.fputc) for fputc + printf8.o(i.__0vprintf$8) refers to usart.o(.text) for fputc printf8.o(i.__0vprintf$8) refers to stdout.o(.data) for __stdout printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._printf_core) for _printf_core printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._snputc) for _snputc @@ -617,10 +299,10 @@ Section Cross References printf8.o(i._printf_core) refers to printf8.o(i._printf_post_padding) for _printf_post_padding printfa.o(i.__0fprintf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0fprintf) refers to printfa.o(i._printf_core) for _printf_core - printfa.o(i.__0fprintf) refers to usart.o(i.fputc) for fputc + printfa.o(i.__0fprintf) refers to usart.o(.text) for fputc printfa.o(i.__0printf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0printf) refers to printfa.o(i._printf_core) for _printf_core - printfa.o(i.__0printf) refers to usart.o(i.fputc) for fputc + printfa.o(i.__0printf) refers to usart.o(.text) for fputc printfa.o(i.__0printf) refers to stdout.o(.data) for __stdout printfa.o(i.__0snprintf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0snprintf) refers to printfa.o(i._printf_core) for _printf_core @@ -630,10 +312,10 @@ Section Cross References printfa.o(i.__0sprintf) refers to printfa.o(i._sputc) for _sputc printfa.o(i.__0vfprintf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0vfprintf) refers to printfa.o(i._printf_core) for _printf_core - printfa.o(i.__0vfprintf) refers to usart.o(i.fputc) for fputc + printfa.o(i.__0vfprintf) refers to usart.o(.text) for fputc printfa.o(i.__0vprintf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0vprintf) refers to printfa.o(i._printf_core) for _printf_core - printfa.o(i.__0vprintf) refers to usart.o(i.fputc) for fputc + printfa.o(i.__0vprintf) refers to usart.o(.text) for fputc printfa.o(i.__0vprintf) refers to stdout.o(.data) for __stdout printfa.o(i.__0vsnprintf) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i.__0vsnprintf) refers to printfa.o(i._printf_core) for _printf_core @@ -707,8 +389,8 @@ Section Cross References entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xe.o(STACK) for __initial_sp entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload - entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main - entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main + entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(.text) for main + entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(.text) for main uldiv.o(.text) refers to llushr.o(.text) for __aeabi_llsr uldiv.o(.text) refers to llshl.o(.text) for __aeabi_llsl depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl @@ -733,263 +415,121 @@ Removing Unused input sections from the image. Removing spi.o(.rev16_text), (4 bytes). Removing spi.o(.revsh_text), (4 bytes). Removing spi.o(.rrx_text), (6 bytes). - Removing spi.o(i.HAL_SPI_MspDeInit), (40 bytes). Removing usart.o(.rev16_text), (4 bytes). Removing usart.o(.revsh_text), (4 bytes). Removing usart.o(.rrx_text), (6 bytes). - Removing usart.o(i.HAL_UART_MspDeInit), (44 bytes). Removing stm32f1xx_it.o(.rev16_text), (4 bytes). Removing stm32f1xx_it.o(.revsh_text), (4 bytes). Removing stm32f1xx_it.o(.rrx_text), (6 bytes). Removing stm32f1xx_hal_msp.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_msp.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_msp.o(.rrx_text), (6 bytes). - Removing imagedata2.o(.constdata), (7750 bytes). - Removing imagedata2.o(.constdata), (4000 bytes). - Removing imagedata2.o(.constdata), (4000 bytes). - Removing imagedata2.o(.constdata), (7056 bytes). - Removing imagedata2.o(.constdata), (12432 bytes). - Removing imagedata2.o(.constdata), (16800 bytes). - Removing imagedata2.o(.constdata), (96000 bytes). - Removing imagedata2.o(.constdata), (47104 bytes). - Removing imagedata2.o(.constdata), (192000 bytes). - Removing epd_13in3k_test.o(.rev16_text), (4 bytes). - Removing epd_13in3k_test.o(.revsh_text), (4 bytes). - Removing epd_13in3k_test.o(.rrx_text), (6 bytes). - Removing epd_13in3k.o(.rev16_text), (4 bytes). - Removing epd_13in3k.o(.revsh_text), (4 bytes). - Removing epd_13in3k.o(.rrx_text), (6 bytes). - Removing epd_13in3k.o(i.EPD_13IN3K_Display), (62 bytes). + Removing imagedata.o(.constdata), (656 bytes). + Removing imagedata.o(.constdata), (2560 bytes). + Removing imagedata.o(.constdata), (5000 bytes). + Removing imagedata.o(.constdata), (5000 bytes). + Removing imagedata.o(.constdata), (5000 bytes). + Removing imagedata.o(.constdata), (2888 bytes). + Removing imagedata.o(.constdata), (2888 bytes). + Removing imagedata.o(.constdata), (5808 bytes). + Removing imagedata.o(.constdata), (5808 bytes). + Removing imagedata.o(.constdata), (5808 bytes). + Removing imagedata.o(.constdata), (5808 bytes). + Removing imagedata.o(.constdata), (5808 bytes). + Removing imagedata.o(.constdata), (11616 bytes). + Removing imagedata.o(.constdata), (4736 bytes). + Removing imagedata.o(.constdata), (4736 bytes). + Removing imagedata.o(.constdata), (4000 bytes). + Removing imagedata.o(.constdata), (2756 bytes). + Removing imagedata.o(.constdata), (2756 bytes). + Removing imagedata.o(.constdata), (2756 bytes). + Removing imagedata.o(.constdata), (2756 bytes). + Removing imagedata.o(.constdata), (2756 bytes). + Removing imagedata.o(.constdata), (5630 bytes). + Removing imagedata.o(.constdata), (5630 bytes). + Removing imagedata.o(.constdata), (5630 bytes). + Removing imagedata.o(.constdata), (10800 bytes). + Removing imagedata.o(.constdata), (33606 bytes). + Removing imagedata.o(.constdata), (128000 bytes). + Removing imagedata.o(.constdata), (15000 bytes). + Removing imagedata.o(.constdata), (30000 bytes). + Removing imagedata.o(.constdata), (15000 bytes). + Removing imagedata.o(.constdata), (15000 bytes). + Removing imagedata.o(.constdata), (13728 bytes). + Removing imagedata.o(.constdata), (33600 bytes). + Removing imagedata.o(.constdata), (38886 bytes). + Removing imagedata.o(.constdata), (33600 bytes). + Removing imagedata.o(.constdata), (33600 bytes). + Removing imagedata.o(.constdata), (38886 bytes). + Removing imagedata.o(.constdata), (38886 bytes). + Removing imagedata.o(.constdata), (30720 bytes). + Removing imagedata.o(.constdata), (48000 bytes). + Removing imagedata.o(.constdata), (30720 bytes). + Removing imagedata.o(.constdata), (30720 bytes). + Removing imagedata.o(.constdata), (48000 bytes). + Removing imagedata.o(.constdata), (48000 bytes). + Removing epd_2in9_v2_test.o(.rev16_text), (4 bytes). + Removing epd_2in9_v2_test.o(.revsh_text), (4 bytes). + Removing epd_2in9_v2_test.o(.rrx_text), (6 bytes). + Removing epd_2in9_v2.o(.rev16_text), (4 bytes). + Removing epd_2in9_v2.o(.revsh_text), (4 bytes). + Removing epd_2in9_v2.o(.rrx_text), (6 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). Removing gui_paint.o(.rev16_text), (4 bytes). Removing gui_paint.o(.revsh_text), (4 bytes). Removing gui_paint.o(.rrx_text), (6 bytes). - Removing gui_paint.o(i.Paint_ClearWindows), (52 bytes). - Removing gui_paint.o(i.Paint_DrawBitMap_Block), (60 bytes). - Removing gui_paint.o(i.Paint_DrawBitMap_Paste), (110 bytes). - Removing gui_paint.o(i.Paint_DrawNumDecimals), (332 bytes). - Removing gui_paint.o(i.Paint_DrawTime), (300 bytes). - Removing gui_paint.o(i.Paint_SetMirroring), (124 bytes). - Removing gui_paint.o(i.Paint_SetRotate), (116 bytes). - Removing gui_paint.o(i.Paint_SetScale), (164 bytes). Removing font8.o(.constdata), (760 bytes). Removing font8.o(.data), (8 bytes). - Removing font20.o(.constdata), (3800 bytes). - Removing font20.o(.data), (8 bytes). Removing font24.o(.constdata), (6840 bytes). Removing font24.o(.data), (8 bytes). Removing system_stm32f1xx.o(.rev16_text), (4 bytes). Removing system_stm32f1xx.o(.revsh_text), (4 bytes). Removing system_stm32f1xx.o(.rrx_text), (6 bytes). - Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (128 bytes). Removing stm32f1xx_hal_gpio_ex.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_gpio_ex.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_gpio_ex.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_ConfigEventout), (20 bytes). - Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_DisableEventout), (16 bytes). - Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_EnableEventout), (16 bytes). + Removing stm32f1xx_hal_gpio_ex.o(.text), (44 bytes). Removing stm32f1xx_hal_spi.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_spi.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_spi.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Abort), (288 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_AbortCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Abort_IT), (288 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_DMAPause), (38 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_DMAResume), (38 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_DMAStop), (66 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_DeInit), (46 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_ErrorCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_GetError), (4 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_GetState), (6 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_IRQHandler), (224 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_MspDeInit), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_MspInit), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Receive), (346 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_DMA), (244 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Receive_IT), (176 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_RxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_RxHalfCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive), (482 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_DMA), (292 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TransmitReceive_IT), (164 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_DMA), (216 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit_IT), (148 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TxHalfCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TxRxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.HAL_SPI_TxRxHalfCpltCallback), (2 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_16BIT), (48 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_2linesRxISR_8BIT), (48 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_16BIT), (48 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_2linesTxISR_8BIT), (48 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_AbortRx_ISR), (80 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_AbortTx_ISR), (28 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_CloseRxTx_ISR), (144 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_CloseRx_ISR), (76 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_CloseTx_ISR), (124 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAAbortOnError), (16 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAError), (34 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAHalfReceiveCplt), (10 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitCplt), (10 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAHalfTransmitReceiveCplt), (10 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMAReceiveCplt), (106 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMARxAbortCallback), (98 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMATransmitCplt), (100 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMATransmitReceiveCplt), (90 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_DMATxAbortCallback), (112 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_EndRxTransaction), (92 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_RxISR_16BIT), (32 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_RxISR_8BIT), (32 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_TxISR_16BIT), (32 bytes). - Removing stm32f1xx_hal_spi.o(i.SPI_TxISR_8BIT), (32 bytes). Removing stm32f1xx_hal.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGSleepMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGStandbyMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGStopMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGSleepMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStandbyMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStopMode), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_DeInit), (32 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetDEVID), (16 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetHalVersion), (8 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetREVID), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetTickFreq), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetTickPrio), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetUIDw0), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetUIDw1), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_GetUIDw2), (12 bytes). - Removing stm32f1xx_hal.o(i.HAL_MspDeInit), (2 bytes). - Removing stm32f1xx_hal.o(i.HAL_MspInit), (2 bytes). - Removing stm32f1xx_hal.o(i.HAL_ResumeTick), (14 bytes). - Removing stm32f1xx_hal.o(i.HAL_SetTickFreq), (36 bytes). - Removing stm32f1xx_hal.o(i.HAL_SuspendTick), (14 bytes). Removing stm32f1xx_hal_rcc.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_rcc.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_rcc.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback), (2 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit), (220 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_DisableCSS), (12 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS), (12 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig), (64 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq), (12 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_GetOscConfig), (144 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_MCOConfig), (72 bytes). - Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler), (24 bytes). Removing stm32f1xx_hal_rcc_ex.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_rcc_ex.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_rcc_ex.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKConfig), (52 bytes). - Removing stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq), (212 bytes). - Removing stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig), (236 bytes). + Removing stm32f1xx_hal_rcc_ex.o(.text), (492 bytes). Removing stm32f1xx_hal_gpio.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_gpio.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_gpio.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit), (288 bytes). - Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback), (2 bytes). - Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler), (24 bytes). - Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_LockPin), (34 bytes). - Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin), (16 bytes). Removing stm32f1xx_hal_dma.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_dma.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_dma.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_dma.o(i.DMA_SetConfig), (42 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort), (70 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT), (304 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_DeInit), (128 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetError), (4 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetState), (6 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler), (584 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Init), (124 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_PollForTransfer), (988 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_RegisterCallback), (74 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start), (80 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT), (112 bytes). - Removing stm32f1xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback), (82 bytes). Removing stm32f1xx_hal_cortex.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_cortex.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_cortex.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_ClearPendingIRQ), (26 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ), (34 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ), (26 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetActive), (36 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPendingIRQ), (36 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriority), (82 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriorityGrouping), (16 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPendingIRQ), (26 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset), (36 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig), (24 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Callback), (2 bytes). - Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler), (8 bytes). Removing stm32f1xx_hal_pwr.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_pwr.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_pwr.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_ConfigPVD), (124 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DeInit), (24 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableBkUpAccess), (12 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisablePVD), (12 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableSEVOnPend), (16 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableSleepOnExit), (16 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableWakeUpPin), (28 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableBkUpAccess), (12 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnablePVD), (12 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableSEVOnPend), (16 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableSleepOnExit), (16 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableWakeUpPin), (28 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSLEEPMode), (32 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTANDBYMode), (32 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode), (68 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_PVDCallback), (2 bytes). - Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler), (28 bytes). - Removing stm32f1xx_hal_pwr.o(i.PWR_OverloadWfe), (6 bytes). + Removing stm32f1xx_hal_pwr.o(.text), (424 bytes). Removing stm32f1xx_hal_flash.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_flash.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_flash.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord), (28 bytes). - Removing stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode), (92 bytes). - Removing stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation), (84 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback), (2 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_GetError), (12 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler), (264 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Lock), (20 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Launch), (4 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Lock), (20 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Unlock), (36 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback), (2 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Program), (128 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT), (100 bytes). - Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Unlock), (40 bytes). + Removing stm32f1xx_hal_flash.o(.text), (760 bytes). Removing stm32f1xx_hal_flash.o(.bss), (32 bytes). Removing stm32f1xx_hal_flash_ex.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_flash_ex.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_flash_ex.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase), (36 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP), (176 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP), (176 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP), (24 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig), (100 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase), (36 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase), (168 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT), (84 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase), (84 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig), (36 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetUserData), (32 bytes). - Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram), (200 bytes). + Removing stm32f1xx_hal_flash_ex.o(.text), (1050 bytes). Removing stm32f1xx_hal_exti.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_exti.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_exti.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_ClearConfigLine), (104 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_ClearPending), (20 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GenerateSWI), (20 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetConfigLine), (152 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetHandle), (12 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetPending), (24 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_IRQHandler), (36 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_RegisterCallback), (14 bytes). - Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_SetConfigLine), (164 bytes). + Removing stm32f1xx_hal_exti.o(.text), (512 bytes). Removing stm32f1xx_hal_tim.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_tim.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_tim.o(.rrx_text), (6 bytes). @@ -999,69 +539,12 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal_uart.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal_uart.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal_uart.o(.rrx_text), (6 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_EnableReceiver), (50 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_EnableTransmitter), (50 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init), (108 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_LIN_Init), (128 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_LIN_SendBreak), (46 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_EnterMuteMode), (46 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_ExitMuteMode), (46 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init), (142 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Abort), (138 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive), (88 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT), (92 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit), (78 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT), (84 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT), (172 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAPause), (102 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAResume), (94 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop), (88 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_DeInit), (50 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetError), (4 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetState), (10 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler), (348 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspDeInit), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspInit), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive), (188 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA), (152 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT), (82 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA), (128 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_IT), (62 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback), (2 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError), (16 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMAError), (74 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt), (60 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback), (42 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt), (10 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback), (20 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt), (46 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback), (42 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt), (10 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback), (20 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_EndRxTransfer), (28 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_EndTxTransfer), (18 bytes). - Removing stm32f1xx_hal_uart.o(i.UART_Receive_IT), (140 bytes). - Removing fmul.o(.text), (100 bytes). - Removing dadd.o(.text), (334 bytes). - Removing dflti.o(.text), (34 bytes). - Removing ffixi.o(.text), (50 bytes). - Removing dfixi.o(.text), (62 bytes). - Removing d2f.o(.text), (56 bytes). - Removing fepilogue.o(.text), (110 bytes). - Removing depilogue.o(.text), (186 bytes). Removing dmul.o(.text), (228 bytes). Removing ddiv.o(.text), (222 bytes). Removing dfixul.o(.text), (48 bytes). Removing cdrcmple.o(.text), (48 bytes). -336 unused section(s) (total 417364 bytes) removed from the image. +137 unused section(s) (total 835382 bytes) removed from the image. ============================================================================== @@ -1093,57 +576,58 @@ Image Symbol Table ../Src/stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE ../Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE ../Src/usart.c 0x00000000 Number 0 usart.o ABSOLUTE - ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE + ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.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 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.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/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.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 printf1.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.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 printf4.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 memcpyb.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/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE - ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE - ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE - ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE - ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE + ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c 0x00000000 Number 0 stm32f1xx_hal_cortex.o ABSOLUTE ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c 0x00000000 Number 0 stm32f1xx_hal_dma.o ABSOLUTE @@ -1167,8 +651,8 @@ Image Symbol Table ..\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE ..\Src\usart.c 0x00000000 Number 0 usart.o ABSOLUTE ..\User\Config\DEV_Config.c 0x00000000 Number 0 dev_config.o ABSOLUTE - ..\User\Examples\EPD_13in3k_test.c 0x00000000 Number 0 epd_13in3k_test.o ABSOLUTE - ..\User\Examples\ImageData2.c 0x00000000 Number 0 imagedata2.o ABSOLUTE + ..\User\Examples\EPD_2in9_V2_test.c 0x00000000 Number 0 epd_2in9_v2_test.o ABSOLUTE + ..\User\Examples\ImageData.c 0x00000000 Number 0 imagedata.o ABSOLUTE ..\User\Fonts\font12.c 0x00000000 Number 0 font12.o ABSOLUTE ..\User\Fonts\font12CN.c 0x00000000 Number 0 font12cn.o ABSOLUTE ..\User\Fonts\font16.c 0x00000000 Number 0 font16.o ABSOLUTE @@ -1177,11 +661,11 @@ Image Symbol Table ..\User\Fonts\font24CN.c 0x00000000 Number 0 font24cn.o ABSOLUTE ..\User\Fonts\font8.c 0x00000000 Number 0 font8.o ABSOLUTE ..\User\GUI\GUI_Paint.c 0x00000000 Number 0 gui_paint.o ABSOLUTE - ..\User\e-Paper\EPD_13in3k.c 0x00000000 Number 0 epd_13in3k.o ABSOLUTE + ..\User\e-Paper\EPD_2in9_V2.c 0x00000000 Number 0 epd_2in9_v2.o ABSOLUTE ..\\User\\Config\\DEV_Config.c 0x00000000 Number 0 dev_config.o ABSOLUTE - ..\\User\\Examples\\EPD_13in3k_test.c 0x00000000 Number 0 epd_13in3k_test.o ABSOLUTE + ..\\User\\Examples\\EPD_2in9_V2_test.c 0x00000000 Number 0 epd_2in9_v2_test.o ABSOLUTE ..\\User\\GUI\\GUI_Paint.c 0x00000000 Number 0 gui_paint.o ABSOLUTE - ..\\User\\e-Paper\\EPD_13in3k.c 0x00000000 Number 0 epd_13in3k.o ABSOLUTE + ..\\User\\e-Paper\\EPD_2in9_V2.c 0x00000000 Number 0 epd_2in9_v2.o ABSOLUTE cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE @@ -1199,117 +683,125 @@ Image Symbol Table .ARM.Collect$$$$00002712 0x08000140 Section 4 entry2.o(.ARM.Collect$$$$00002712) __lit__00000000 0x08000140 Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000144 Section 36 startup_stm32f103xe.o(.text) - .text 0x08000168 Section 0 memseta.o(.text) - .text 0x0800018c Section 0 uidiv.o(.text) - .text 0x080001b8 Section 36 init.o(.text) - i.BusFault_Handler 0x080001dc Section 0 stm32f1xx_it.o(i.BusFault_Handler) - i.DEV_Module_Exit 0x080001e0 Section 0 dev_config.o(i.DEV_Module_Exit) - i.DEV_Module_Init 0x08000214 Section 0 dev_config.o(i.DEV_Module_Init) - i.DEV_SPI_WriteByte 0x08000248 Section 0 dev_config.o(i.DEV_SPI_WriteByte) - i.DebugMon_Handler 0x08000260 Section 0 stm32f1xx_it.o(i.DebugMon_Handler) - i.EPD_13IN3K_Clear 0x08000262 Section 0 epd_13in3k.o(i.EPD_13IN3K_Clear) - i.EPD_13IN3K_Init 0x08000294 Section 0 epd_13in3k.o(i.EPD_13IN3K_Init) - i.EPD_13IN3K_ReadBusy 0x080003ac Section 0 epd_13in3k.o(i.EPD_13IN3K_ReadBusy) - i.EPD_13IN3K_SendCommand 0x08000418 Section 0 epd_13in3k.o(i.EPD_13IN3K_SendCommand) - EPD_13IN3K_SendCommand 0x08000419 Thumb Code 46 epd_13in3k.o(i.EPD_13IN3K_SendCommand) - i.EPD_13IN3K_SendData 0x0800044c Section 0 epd_13in3k.o(i.EPD_13IN3K_SendData) - EPD_13IN3K_SendData 0x0800044d Thumb Code 46 epd_13in3k.o(i.EPD_13IN3K_SendData) - i.EPD_13IN3K_Sleep 0x08000480 Section 0 epd_13in3k.o(i.EPD_13IN3K_Sleep) - i.EPD_13IN3K_TurnOnDisplay 0x08000498 Section 0 epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) - EPD_13IN3K_TurnOnDisplay 0x08000499 Thumb Code 28 epd_13in3k.o(i.EPD_13IN3K_TurnOnDisplay) - i.EPD_13IN3K_WritePicture 0x080004b4 Section 0 epd_13in3k.o(i.EPD_13IN3K_WritePicture) - i.EPD_test 0x08000504 Section 0 epd_13in3k_test.o(i.EPD_test) - i.Error_Handler 0x08000884 Section 0 main.o(i.Error_Handler) - i.HAL_Delay 0x080008a0 Section 0 stm32f1xx_hal.o(i.HAL_Delay) - i.HAL_GPIO_Init 0x080008c4 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - i.HAL_GPIO_ReadPin 0x08000abc Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin) - i.HAL_GPIO_WritePin 0x08000ac6 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - i.HAL_GetTick 0x08000ad0 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) - i.HAL_IncTick 0x08000adc Section 0 stm32f1xx_hal.o(i.HAL_IncTick) - i.HAL_Init 0x08000aec Section 0 stm32f1xx_hal.o(i.HAL_Init) - i.HAL_InitTick 0x08000b10 Section 0 stm32f1xx_hal.o(i.HAL_InitTick) - i.HAL_MspInit 0x08000b50 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) - i.HAL_NVIC_SetPriority 0x08000b8c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - i.HAL_NVIC_SetPriorityGrouping 0x08000bcc Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - i.HAL_RCC_ClockConfig 0x08000bf0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - i.HAL_RCC_GetPCLK1Freq 0x08000d1c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - i.HAL_RCC_GetPCLK2Freq 0x08000d3c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - i.HAL_RCC_GetSysClockFreq 0x08000d5c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - i.HAL_RCC_OscConfig 0x08000dc8 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - i.HAL_SPI_Init 0x080010e8 Section 0 stm32f1xx_hal_spi.o(i.HAL_SPI_Init) - i.HAL_SPI_MspInit 0x0800119c Section 0 spi.o(i.HAL_SPI_MspInit) - i.HAL_SPI_Transmit 0x080011f8 Section 0 stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit) - i.HAL_SYSTICK_Config 0x0800135e Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) - i.HAL_UART_Init 0x08001386 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - i.HAL_UART_MspInit 0x080013e8 Section 0 usart.o(i.HAL_UART_MspInit) - i.HAL_UART_Transmit 0x08001458 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) - i.HardFault_Handler 0x0800150c Section 0 stm32f1xx_it.o(i.HardFault_Handler) - i.MX_GPIO_Init 0x08001528 Section 0 gpio.o(i.MX_GPIO_Init) - i.MX_SPI1_Init 0x08001588 Section 0 spi.o(i.MX_SPI1_Init) - i.MX_USART1_UART_Init 0x080015d0 Section 0 usart.o(i.MX_USART1_UART_Init) - i.MemManage_Handler 0x08001608 Section 0 stm32f1xx_it.o(i.MemManage_Handler) - i.NMI_Handler 0x0800160a Section 0 stm32f1xx_it.o(i.NMI_Handler) - i.Paint_Clear 0x0800160c Section 0 gui_paint.o(i.Paint_Clear) - i.Paint_DrawBitMap 0x080016b0 Section 0 gui_paint.o(i.Paint_DrawBitMap) - i.Paint_DrawChar 0x080016e0 Section 0 gui_paint.o(i.Paint_DrawChar) - i.Paint_DrawCircle 0x080017d4 Section 0 gui_paint.o(i.Paint_DrawCircle) - i.Paint_DrawLine 0x080019f0 Section 0 gui_paint.o(i.Paint_DrawLine) - i.Paint_DrawNum 0x08001afc Section 0 gui_paint.o(i.Paint_DrawNum) - i.Paint_DrawPoint 0x08001bcc Section 0 gui_paint.o(i.Paint_DrawPoint) - i.Paint_DrawRectangle 0x08001d10 Section 0 gui_paint.o(i.Paint_DrawRectangle) - i.Paint_DrawString_CN 0x08001df0 Section 0 gui_paint.o(i.Paint_DrawString_CN) - i.Paint_DrawString_EN 0x08001f84 Section 0 gui_paint.o(i.Paint_DrawString_EN) - i.Paint_NewImage 0x08002000 Section 0 gui_paint.o(i.Paint_NewImage) - i.Paint_SelectImage 0x0800203c Section 0 gui_paint.o(i.Paint_SelectImage) - i.Paint_SetPixel 0x08002048 Section 0 gui_paint.o(i.Paint_SetPixel) - i.PendSV_Handler 0x08002164 Section 0 stm32f1xx_it.o(i.PendSV_Handler) - i.SPI_EndRxTxTransaction 0x08002166 Section 0 stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) - SPI_EndRxTxTransaction 0x08002167 Thumb Code 32 stm32f1xx_hal_spi.o(i.SPI_EndRxTxTransaction) - i.SPI_WaitFlagStateUntilTimeout 0x08002188 Section 0 stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) - SPI_WaitFlagStateUntilTimeout 0x08002189 Thumb Code 180 stm32f1xx_hal_spi.o(i.SPI_WaitFlagStateUntilTimeout) - i.SVC_Handler 0x08002240 Section 0 stm32f1xx_it.o(i.SVC_Handler) - i.SysTick_Handler 0x08002242 Section 0 stm32f1xx_it.o(i.SysTick_Handler) - i.SystemClock_Config 0x08002246 Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x080022a0 Section 0 system_stm32f1xx.o(i.SystemInit) - i.UART_SetConfig 0x080022e8 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) - UART_SetConfig 0x080022e9 Thumb Code 178 stm32f1xx_hal_uart.o(i.UART_SetConfig) - i.UART_WaitOnFlagUntilTimeout 0x080023a0 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - UART_WaitOnFlagUntilTimeout 0x080023a1 Thumb Code 100 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) - i.UsageFault_Handler 0x08002404 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) - i.__0printf$3 0x08002408 Section 0 printf3.o(i.__0printf$3) - i.__NVIC_SetPriority 0x08002428 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - __NVIC_SetPriority 0x08002429 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - i.__scatterload_copy 0x08002448 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08002456 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08002458 Section 14 handlers.o(i.__scatterload_zeroinit) - i._printf_core 0x08002468 Section 0 printf3.o(i._printf_core) - _printf_core 0x08002469 Thumb Code 436 printf3.o(i._printf_core) - i.fputc 0x08002620 Section 0 usart.o(i.fputc) - i.free 0x08002638 Section 0 malloc.o(i.free) - i.main 0x08002688 Section 0 main.o(i.main) - i.malloc 0x080026ac Section 0 malloc.o(i.malloc) - .constdata 0x08002718 Section 81600 imagedata2.o(.constdata) - .constdata 0x080165d8 Section 1140 font12.o(.constdata) - .constdata 0x08016a4c Section 1494 font12cn.o(.constdata) - .constdata 0x08017022 Section 3040 font16.o(.constdata) - .constdata 0x08017c02 Section 4482 font24cn.o(.constdata) - .constdata 0x08018d84 Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x08018d94 Section 8 system_stm32f1xx.o(.constdata) - .conststring 0x08018d9c Section 133 gui_paint.o(.conststring) - .data 0x20000000 Section 8 font12.o(.data) - .data 0x20000008 Section 12 font12cn.o(.data) - .data 0x20000014 Section 8 font16.o(.data) - .data 0x2000001c Section 12 font24cn.o(.data) - .data 0x20000028 Section 4 system_stm32f1xx.o(.data) - .data 0x2000002c Section 12 stm32f1xx_hal.o(.data) - .data 0x20000038 Section 4 stdout.o(.data) - .data 0x2000003c Section 4 mvars.o(.data) - .data 0x20000040 Section 4 mvars.o(.data) - .bss 0x20000044 Section 88 spi.o(.bss) - .bss 0x2000009c Section 64 usart.o(.bss) - .bss 0x200000dc Section 24 gui_paint.o(.bss) - HEAP 0x200000f8 Section 49152 startup_stm32f103xe.o(HEAP) - STACK 0x2000c0f8 Section 4096 startup_stm32f103xe.o(STACK) + .text 0x08000168 Section 0 main.o(.text) + .text 0x08000200 Section 0 gpio.o(.text) + .text 0x08000260 Section 0 spi.o(.text) + .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_2in9_v2_test.o(.text) + .text 0x08000ac0 Section 0 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Reset 0x08000ac1 Thumb Code 56 epd_2in9_v2.o(.text) + EPD_2IN9_V2_LUT_by_host 0x08000b27 Thumb Code 74 epd_2in9_v2.o(.text) + EPD_2IN9_V2_SetWindows 0x08000b71 Thumb Code 68 epd_2in9_v2.o(.text) + EPD_2IN9_V2_SendCommand 0x08000fc7 Thumb Code 46 epd_2in9_v2.o(.text) + EPD_2IN9_V2_SendData 0x08000ff5 Thumb Code 46 epd_2in9_v2.o(.text) + EPD_2IN9_V2_LUT 0x08001023 Thumb Code 32 epd_2in9_v2.o(.text) + EPD_2IN9_V2_TurnOnDisplay 0x08001043 Thumb Code 26 epd_2in9_v2.o(.text) + EPD_2IN9_V2_SetCursor 0x0800105d Thumb Code 38 epd_2in9_v2.o(.text) + .text 0x08001088 Section 0 dev_config.o(.text) + .text 0x08001110 Section 0 gui_paint.o(.text) + .text 0x080020c4 Section 0 system_stm32f1xx.o(.text) + .text 0x08002188 Section 0 stm32f1xx_hal_spi.o(.text) + SPI_WaitFlagStateUntilTimeout 0x0800226d Thumb Code 180 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTransaction 0x08002487 Thumb Code 92 stm32f1xx_hal_spi.o(.text) + SPI_CloseTx_ISR 0x08002823 Thumb Code 120 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_8BIT 0x0800289b Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_16BIT 0x080028b9 Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRx_ISR 0x08002965 Thumb Code 76 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_8BIT 0x080029b1 Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_16BIT 0x080029cf Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRxTx_ISR 0x080029ef Thumb Code 140 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_8BIT 0x08002a7b Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_8BIT 0x08002aa9 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_16BIT 0x08002ad7 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_16BIT 0x08002b05 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_DMAError 0x08002c85 Thumb Code 34 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitCplt 0x08002ca7 Thumb Code 100 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitCplt 0x08002d0d Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMAReceiveCplt 0x08002de1 Thumb Code 106 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfReceiveCplt 0x08002e4d Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitReceiveCplt 0x08002e57 Thumb Code 90 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitReceiveCplt 0x08002eb3 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_AbortRx_ISR 0x080030cf Thumb Code 76 stm32f1xx_hal_spi.o(.text) + SPI_AbortTx_ISR 0x0800311b Thumb Code 28 stm32f1xx_hal_spi.o(.text) + SPI_DMARxAbortCallback 0x0800324b Thumb Code 98 stm32f1xx_hal_spi.o(.text) + SPI_DMATxAbortCallback 0x080032ad Thumb Code 106 stm32f1xx_hal_spi.o(.text) + SPI_DMAAbortOnError 0x080034cf Thumb Code 16 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTxTransaction 0x080035c5 Thumb Code 32 stm32f1xx_hal_spi.o(.text) + .text 0x080035e8 Section 0 stm32f1xx_hal.o(.text) + .text 0x08003764 Section 0 stm32f1xx_hal_rcc.o(.text) + .text 0x08003e4c Section 0 stm32f1xx_hal_gpio.o(.text) + .text 0x080041a0 Section 0 stm32f1xx_hal_dma.o(.text) + DMA_SetConfig 0x08004285 Thumb Code 42 stm32f1xx_hal_dma.o(.text) + .text 0x08004bac Section 0 stm32f1xx_hal_cortex.o(.text) + __NVIC_SetPriority 0x08004d7d Thumb Code 32 stm32f1xx_hal_cortex.o(.text) + .text 0x08004da4 Section 0 stm32f1xx_hal_uart.o(.text) + UART_SetConfig 0x08004da5 Thumb Code 178 stm32f1xx_hal_uart.o(.text) + UART_WaitOnFlagUntilTimeout 0x08005069 Thumb Code 98 stm32f1xx_hal_uart.o(.text) + UART_DMAError 0x080052d3 Thumb Code 74 stm32f1xx_hal_uart.o(.text) + UART_DMATxHalfCplt 0x0800531f Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMATransmitCplt 0x0800532b Thumb Code 46 stm32f1xx_hal_uart.o(.text) + UART_DMARxHalfCplt 0x080053cd Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMAReceiveCplt 0x080053d9 Thumb Code 60 stm32f1xx_hal_uart.o(.text) + UART_DMARxAbortCallback 0x080056ed Thumb Code 42 stm32f1xx_hal_uart.o(.text) + UART_DMATxAbortCallback 0x08005717 Thumb Code 42 stm32f1xx_hal_uart.o(.text) + UART_DMATxOnlyAbortCallback 0x080057ff Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_DMARxOnlyAbortCallback 0x08005863 Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_DMAAbortOnError 0x080058cf Thumb Code 16 stm32f1xx_hal_uart.o(.text) + UART_Receive_IT 0x080058df Thumb Code 140 stm32f1xx_hal_uart.o(.text) + UART_EndRxTransfer 0x08005bcd Thumb Code 28 stm32f1xx_hal_uart.o(.text) + UART_EndTxTransfer 0x08005be9 Thumb Code 18 stm32f1xx_hal_uart.o(.text) + .text 0x08005bfa Section 0 llushr.o(.text) + .text 0x08005c1a Section 0 memseta.o(.text) + .text 0x08005c3e Section 0 fmul.o(.text) + .text 0x08005ca2 Section 0 dadd.o(.text) + .text 0x08005df0 Section 0 dflti.o(.text) + .text 0x08005e12 Section 0 ffixi.o(.text) + .text 0x08005e44 Section 0 dfixi.o(.text) + .text 0x08005e82 Section 0 d2f.o(.text) + .text 0x08005eba Section 0 uidiv.o(.text) + .text 0x08005ee6 Section 0 llshl.o(.text) + .text 0x08005f04 Section 0 llsshr.o(.text) + .text 0x08005f28 Section 0 iusefp.o(.text) + .text 0x08005f28 Section 0 fepilogue.o(.text) + .text 0x08005f96 Section 0 depilogue.o(.text) + .text 0x08006050 Section 36 init.o(.text) + .text 0x08006074 Section 0 __dczerorl2.o(.text) + i.__0printf$3 0x080060cc Section 0 printf3.o(i.__0printf$3) + i.__scatterload_copy 0x080060ec Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x080060fa Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080060fc Section 14 handlers.o(i.__scatterload_zeroinit) + i._printf_core 0x0800610c Section 0 printf3.o(i._printf_core) + _printf_core 0x0800610d Thumb Code 436 printf3.o(i._printf_core) + i.free 0x080062c4 Section 0 malloc.o(i.free) + i.malloc 0x08006314 Section 0 malloc.o(i.malloc) + .constdata 0x08006380 Section 4736 imagedata.o(.constdata) + .constdata 0x08007600 Section 9472 imagedata.o(.constdata) + .constdata 0x08009b00 Section 1140 font12.o(.constdata) + .constdata 0x08009f74 Section 1494 font12cn.o(.constdata) + .constdata 0x0800a54a Section 3040 font16.o(.constdata) + .constdata 0x0800b12a Section 3800 font20.o(.constdata) + .constdata 0x0800c002 Section 4482 font24cn.o(.constdata) + .constdata 0x0800d184 Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x0800d194 Section 8 system_stm32f1xx.o(.constdata) + .conststring 0x0800d19c Section 233 gui_paint.o(.conststring) + .data 0x20000000 Section 636 epd_2in9_v2.o(.data) + .data 0x2000027c Section 8 font12.o(.data) + .data 0x20000284 Section 12 font12cn.o(.data) + .data 0x20000290 Section 8 font16.o(.data) + .data 0x20000298 Section 8 font20.o(.data) + .data 0x200002a0 Section 12 font24cn.o(.data) + .data 0x200002ac Section 4 system_stm32f1xx.o(.data) + .data 0x200002b0 Section 12 stm32f1xx_hal.o(.data) + .data 0x200002bc Section 4 stdout.o(.data) + .data 0x200002c0 Section 4 mvars.o(.data) + .data 0x200002c4 Section 4 mvars.o(.data) + .bss 0x200002c8 Section 88 spi.o(.bss) + .bss 0x20000320 Section 64 usart.o(.bss) + .bss 0x20000360 Section 24 gui_paint.o(.bss) + HEAP 0x20000378 Section 49152 startup_stm32f103xe.o(HEAP) + STACK 0x2000c378 Section 4096 startup_stm32f103xe.o(STACK) Global Symbols @@ -1360,7 +852,6 @@ Image Symbol Table _printf_x 0x00000000 Number 0 stubs.o ABSOLUTE __cpp_initialize__aeabi_ - Undefined Weak Reference __cxa_finalize - Undefined Weak Reference - __decompress - Undefined Weak Reference _clock_init - Undefined Weak Reference _microlib_exit - Undefined Weak Reference __Vectors_Size 0x00000130 Number 0 startup_stm32f103xe.o ABSOLUTE @@ -1436,113 +927,274 @@ Image Symbol Table USB_HP_CAN1_TX_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text) USB_LP_CAN1_RX0_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text) WWDG_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text) - __aeabi_memset 0x08000169 Thumb Code 14 memseta.o(.text) - __aeabi_memset4 0x08000169 Thumb Code 0 memseta.o(.text) - __aeabi_memset8 0x08000169 Thumb Code 0 memseta.o(.text) - __aeabi_memclr 0x08000177 Thumb Code 4 memseta.o(.text) - __aeabi_memclr4 0x08000177 Thumb Code 0 memseta.o(.text) - __aeabi_memclr8 0x08000177 Thumb Code 0 memseta.o(.text) - _memset$wrapper 0x0800017b Thumb Code 18 memseta.o(.text) - __aeabi_uidiv 0x0800018d Thumb Code 0 uidiv.o(.text) - __aeabi_uidivmod 0x0800018d Thumb Code 44 uidiv.o(.text) - __scatterload 0x080001b9 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x080001b9 Thumb Code 0 init.o(.text) - BusFault_Handler 0x080001dd Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) - DEV_Module_Exit 0x080001e1 Thumb Code 48 dev_config.o(i.DEV_Module_Exit) - DEV_Module_Init 0x08000215 Thumb Code 48 dev_config.o(i.DEV_Module_Init) - DEV_SPI_WriteByte 0x08000249 Thumb Code 18 dev_config.o(i.DEV_SPI_WriteByte) - DebugMon_Handler 0x08000261 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) - EPD_13IN3K_Clear 0x08000263 Thumb Code 50 epd_13in3k.o(i.EPD_13IN3K_Clear) - EPD_13IN3K_Init 0x08000295 Thumb Code 274 epd_13in3k.o(i.EPD_13IN3K_Init) - EPD_13IN3K_ReadBusy 0x080003ad Thumb Code 46 epd_13in3k.o(i.EPD_13IN3K_ReadBusy) - EPD_13IN3K_Sleep 0x08000481 Thumb Code 24 epd_13in3k.o(i.EPD_13IN3K_Sleep) - EPD_13IN3K_WritePicture 0x080004b5 Thumb Code 78 epd_13in3k.o(i.EPD_13IN3K_WritePicture) - EPD_test 0x08000505 Thumb Code 566 epd_13in3k_test.o(i.EPD_test) - Error_Handler 0x08000885 Thumb Code 8 main.o(i.Error_Handler) - HAL_Delay 0x080008a1 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay) - HAL_GPIO_Init 0x080008c5 Thumb Code 462 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - HAL_GPIO_ReadPin 0x08000abd Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin) - HAL_GPIO_WritePin 0x08000ac7 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - HAL_GetTick 0x08000ad1 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) - HAL_IncTick 0x08000add Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) - HAL_Init 0x08000aed Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) - HAL_InitTick 0x08000b11 Thumb Code 54 stm32f1xx_hal.o(i.HAL_InitTick) - HAL_MspInit 0x08000b51 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) - HAL_NVIC_SetPriority 0x08000b8d Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x08000bcd Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - HAL_RCC_ClockConfig 0x08000bf1 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - HAL_RCC_GetPCLK1Freq 0x08000d1d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - HAL_RCC_GetPCLK2Freq 0x08000d3d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x08000d5d Thumb Code 74 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - HAL_RCC_OscConfig 0x08000dc9 Thumb Code 778 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - HAL_SPI_Init 0x080010e9 Thumb Code 178 stm32f1xx_hal_spi.o(i.HAL_SPI_Init) - HAL_SPI_MspInit 0x0800119d Thumb Code 80 spi.o(i.HAL_SPI_MspInit) - HAL_SPI_Transmit 0x080011f9 Thumb Code 358 stm32f1xx_hal_spi.o(i.HAL_SPI_Transmit) - HAL_SYSTICK_Config 0x0800135f Thumb Code 40 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) - HAL_UART_Init 0x08001387 Thumb Code 98 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - HAL_UART_MspInit 0x080013e9 Thumb Code 100 usart.o(i.HAL_UART_MspInit) - HAL_UART_Transmit 0x08001459 Thumb Code 178 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) - HardFault_Handler 0x0800150d Thumb Code 8 stm32f1xx_it.o(i.HardFault_Handler) - MX_GPIO_Init 0x08001529 Thumb Code 86 gpio.o(i.MX_GPIO_Init) - MX_SPI1_Init 0x08001589 Thumb Code 62 spi.o(i.MX_SPI1_Init) - MX_USART1_UART_Init 0x080015d1 Thumb Code 48 usart.o(i.MX_USART1_UART_Init) - MemManage_Handler 0x08001609 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) - NMI_Handler 0x0800160b Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler) - Paint_Clear 0x0800160d Thumb Code 158 gui_paint.o(i.Paint_Clear) - Paint_DrawBitMap 0x080016b1 Thumb Code 44 gui_paint.o(i.Paint_DrawBitMap) - Paint_DrawChar 0x080016e1 Thumb Code 176 gui_paint.o(i.Paint_DrawChar) - Paint_DrawCircle 0x080017d5 Thumb Code 532 gui_paint.o(i.Paint_DrawCircle) - Paint_DrawLine 0x080019f1 Thumb Code 200 gui_paint.o(i.Paint_DrawLine) - Paint_DrawNum 0x08001afd Thumb Code 140 gui_paint.o(i.Paint_DrawNum) - Paint_DrawPoint 0x08001bcd Thumb Code 178 gui_paint.o(i.Paint_DrawPoint) - Paint_DrawRectangle 0x08001d11 Thumb Code 172 gui_paint.o(i.Paint_DrawRectangle) - Paint_DrawString_CN 0x08001df1 Thumb Code 398 gui_paint.o(i.Paint_DrawString_CN) - Paint_DrawString_EN 0x08001f85 Thumb Code 116 gui_paint.o(i.Paint_DrawString_EN) - Paint_NewImage 0x08002001 Thumb Code 56 gui_paint.o(i.Paint_NewImage) - Paint_SelectImage 0x0800203d Thumb Code 6 gui_paint.o(i.Paint_SelectImage) - Paint_SetPixel 0x08002049 Thumb Code 238 gui_paint.o(i.Paint_SetPixel) - PendSV_Handler 0x08002165 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) - SVC_Handler 0x08002241 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) - SysTick_Handler 0x08002243 Thumb Code 4 stm32f1xx_it.o(i.SysTick_Handler) - SystemClock_Config 0x08002247 Thumb Code 88 main.o(i.SystemClock_Config) - SystemInit 0x080022a1 Thumb Code 60 system_stm32f1xx.o(i.SystemInit) - UsageFault_Handler 0x08002405 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) - __0printf$3 0x08002409 Thumb Code 22 printf3.o(i.__0printf$3) - __1printf$3 0x08002409 Thumb Code 0 printf3.o(i.__0printf$3) - __2printf 0x08002409 Thumb Code 0 printf3.o(i.__0printf$3) - __scatterload_copy 0x08002449 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08002457 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08002459 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - fputc 0x08002621 Thumb Code 20 usart.o(i.fputc) - free 0x08002639 Thumb Code 76 malloc.o(i.free) - main 0x08002689 Thumb Code 36 main.o(i.main) - malloc 0x080026ad Thumb Code 92 malloc.o(i.malloc) - gImage_13in3k 0x08002718 Data 81600 imagedata2.o(.constdata) - Font12_Table 0x080165d8 Data 1140 font12.o(.constdata) - Font12CN_Table 0x08016a4c Data 1494 font12cn.o(.constdata) - Font16_Table 0x08017022 Data 3040 font16.o(.constdata) - Font24CN_Table 0x08017c02 Data 4482 font24cn.o(.constdata) - AHBPrescTable 0x08018d84 Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x08018d94 Data 8 system_stm32f1xx.o(.constdata) - Region$$Table$$Base 0x08018e24 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08018e44 Number 0 anon$$obj.o(Region$$Table) - Font12 0x20000000 Data 8 font12.o(.data) - Font12CN 0x20000008 Data 12 font12cn.o(.data) - Font16 0x20000014 Data 8 font16.o(.data) - Font24CN 0x2000001c Data 12 font24cn.o(.data) - SystemCoreClock 0x20000028 Data 4 system_stm32f1xx.o(.data) - uwTickFreq 0x2000002c Data 1 stm32f1xx_hal.o(.data) - uwTickPrio 0x20000030 Data 4 stm32f1xx_hal.o(.data) - uwTick 0x20000034 Data 4 stm32f1xx_hal.o(.data) - __stdout 0x20000038 Data 4 stdout.o(.data) - __microlib_freelist 0x2000003c Data 4 mvars.o(.data) - __microlib_freelist_initialised 0x20000040 Data 4 mvars.o(.data) - hspi1 0x20000044 Data 88 spi.o(.bss) - huart1 0x2000009c Data 64 usart.o(.bss) - Paint 0x200000dc Data 24 gui_paint.o(.bss) - __heap_base 0x200000f8 Data 0 startup_stm32f103xe.o(HEAP) - __heap_limit 0x2000c0f8 Data 0 startup_stm32f103xe.o(HEAP) - __initial_sp 0x2000d0f8 Data 0 startup_stm32f103xe.o(STACK) + Error_Handler 0x08000169 Thumb Code 8 main.o(.text) + SystemClock_Config 0x08000171 Thumb Code 88 main.o(.text) + main 0x080001c9 Thumb Code 36 main.o(.text) + MX_GPIO_Init 0x08000201 Thumb Code 86 gpio.o(.text) + MX_SPI1_Init 0x08000261 Thumb Code 62 spi.o(.text) + HAL_SPI_MspInit 0x0800029f Thumb Code 80 spi.o(.text) + HAL_SPI_MspDeInit 0x080002ef Thumb Code 28 spi.o(.text) + MX_USART1_UART_Init 0x0800031d Thumb Code 48 usart.o(.text) + HAL_UART_MspInit 0x0800034d Thumb Code 100 usart.o(.text) + HAL_UART_MspDeInit 0x080003b1 Thumb Code 30 usart.o(.text) + fputc 0x080003cf Thumb Code 20 usart.o(.text) + NMI_Handler 0x080003f5 Thumb Code 2 stm32f1xx_it.o(.text) + HardFault_Handler 0x080003f7 Thumb Code 8 stm32f1xx_it.o(.text) + MemManage_Handler 0x080003ff Thumb Code 2 stm32f1xx_it.o(.text) + BusFault_Handler 0x08000401 Thumb Code 2 stm32f1xx_it.o(.text) + UsageFault_Handler 0x08000403 Thumb Code 2 stm32f1xx_it.o(.text) + SVC_Handler 0x08000405 Thumb Code 2 stm32f1xx_it.o(.text) + DebugMon_Handler 0x08000407 Thumb Code 2 stm32f1xx_it.o(.text) + 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_test 0x08000461 Thumb Code 1500 epd_2in9_v2_test.o(.text) + EPD_2IN9_V2_ReadBusy 0x08000af9 Thumb Code 46 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Init 0x08000bb5 Thumb Code 114 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Init_Fast 0x08000c27 Thumb Code 126 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Gray4_Init 0x08000ca5 Thumb Code 110 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Clear 0x08000d13 Thumb Code 58 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Display 0x08000d4d Thumb Code 38 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Display_Base 0x08000d73 Thumb Code 60 epd_2in9_v2.o(.text) + EPD_2IN9_V2_4GrayDisplay 0x08000daf Thumb Code 224 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Display_Partial 0x08000e8f Thumb Code 288 epd_2in9_v2.o(.text) + EPD_2IN9_V2_Sleep 0x08000faf Thumb Code 24 epd_2in9_v2.o(.text) + DEV_SPI_WriteByte 0x08001089 Thumb Code 18 dev_config.o(.text) + DEV_SPI_Write_nByte 0x0800109b Thumb Code 14 dev_config.o(.text) + DEV_Module_Init 0x080010a9 Thumb Code 48 dev_config.o(.text) + DEV_Module_Exit 0x080010d9 Thumb Code 48 dev_config.o(.text) + Paint_NewImage 0x08001111 Thumb Code 56 gui_paint.o(.text) + Paint_SelectImage 0x08001149 Thumb Code 6 gui_paint.o(.text) + Paint_SetRotate 0x0800114f Thumb Code 44 gui_paint.o(.text) + Paint_SetScale 0x0800117b Thumb Code 80 gui_paint.o(.text) + Paint_SetMirroring 0x080011cb Thumb Code 62 gui_paint.o(.text) + Paint_SetPixel 0x08001209 Thumb Code 238 gui_paint.o(.text) + Paint_Clear 0x080012f7 Thumb Code 156 gui_paint.o(.text) + Paint_ClearWindows 0x08001393 Thumb Code 52 gui_paint.o(.text) + Paint_DrawPoint 0x080013c7 Thumb Code 180 gui_paint.o(.text) + Paint_DrawLine 0x0800147b Thumb Code 662 gui_paint.o(.text) + Paint_DrawRectangle 0x08001711 Thumb Code 170 gui_paint.o(.text) + Paint_DrawCircle 0x080017bb Thumb Code 528 gui_paint.o(.text) + Paint_DrawChar 0x080019cb Thumb Code 172 gui_paint.o(.text) + Paint_DrawString_EN 0x08001a77 Thumb Code 116 gui_paint.o(.text) + Paint_DrawString_CN 0x08001aeb Thumb Code 518 gui_paint.o(.text) + Paint_DrawNum 0x08001cf1 Thumb Code 140 gui_paint.o(.text) + Paint_DrawNumDecimals 0x08001d7d Thumb Code 258 gui_paint.o(.text) + Paint_DrawTime 0x08001e7f Thumb Code 282 gui_paint.o(.text) + Paint_DrawBitMap 0x08001f99 Thumb Code 44 gui_paint.o(.text) + Paint_DrawBitMap_Paste 0x08001fc5 Thumb Code 198 gui_paint.o(.text) + Paint_DrawBitMap_Block 0x0800208b Thumb Code 54 gui_paint.o(.text) + SystemInit 0x080020c5 Thumb Code 60 system_stm32f1xx.o(.text) + SystemCoreClockUpdate 0x08002101 Thumb Code 108 system_stm32f1xx.o(.text) + HAL_SPI_Init 0x0800218b Thumb Code 178 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DeInit 0x0800223f Thumb Code 46 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit 0x08002321 Thumb Code 358 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive 0x080024e3 Thumb Code 484 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive 0x080026c7 Thumb Code 344 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxCpltCallback 0x0800281f Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_ErrorCallback 0x08002821 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_IT 0x080028d7 Thumb Code 140 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxCpltCallback 0x08002963 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxCpltCallback 0x080029ed Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_IT 0x08002b33 Thumb Code 146 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_IT 0x08002bc5 Thumb Code 192 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxHalfCpltCallback 0x08002d0b Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_DMA 0x08002d17 Thumb Code 202 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxHalfCpltCallback 0x08002e4b Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxHalfCpltCallback 0x08002eb1 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_DMA 0x08002ebd Thumb Code 268 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_DMA 0x08002fc9 Thumb Code 262 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort 0x08003137 Thumb Code 274 stm32f1xx_hal_spi.o(.text) + HAL_SPI_AbortCpltCallback 0x08003249 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort_IT 0x08003317 Thumb Code 264 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAPause 0x0800341f Thumb Code 38 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAResume 0x08003445 Thumb Code 72 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAStop 0x0800348d Thumb Code 66 stm32f1xx_hal_spi.o(.text) + HAL_SPI_IRQHandler 0x080034df Thumb Code 220 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetState 0x080035bb Thumb Code 6 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetError 0x080035c1 Thumb Code 4 stm32f1xx_hal_spi.o(.text) + HAL_InitTick 0x080035eb Thumb Code 54 stm32f1xx_hal.o(.text) + HAL_Init 0x08003621 Thumb Code 32 stm32f1xx_hal.o(.text) + HAL_MspDeInit 0x08003641 Thumb Code 2 stm32f1xx_hal.o(.text) + HAL_DeInit 0x08003643 Thumb Code 26 stm32f1xx_hal.o(.text) + HAL_IncTick 0x0800365d Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_GetTick 0x08003669 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetTickPrio 0x0800366f Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_SetTickFreq 0x08003675 Thumb Code 30 stm32f1xx_hal.o(.text) + HAL_GetTickFreq 0x08003693 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_Delay 0x08003699 Thumb Code 32 stm32f1xx_hal.o(.text) + HAL_SuspendTick 0x080036b9 Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_ResumeTick 0x080036c7 Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_GetHalVersion 0x080036d5 Thumb Code 4 stm32f1xx_hal.o(.text) + HAL_GetREVID 0x080036d9 Thumb Code 8 stm32f1xx_hal.o(.text) + HAL_GetDEVID 0x080036e1 Thumb Code 10 stm32f1xx_hal.o(.text) + HAL_GetUIDw0 0x080036eb Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetUIDw1 0x080036f1 Thumb Code 8 stm32f1xx_hal.o(.text) + HAL_GetUIDw2 0x080036f9 Thumb Code 8 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGSleepMode 0x08003701 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGSleepMode 0x0800370d Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStopMode 0x08003719 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStopMode 0x08003725 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStandbyMode 0x08003731 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStandbyMode 0x0800373d Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_RCC_DeInit 0x08003765 Thumb Code 202 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_OscConfig 0x0800382f Thumb Code 776 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetSysClockFreq 0x08003b37 Thumb Code 124 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_ClockConfig 0x08003bb3 Thumb Code 282 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_MCOConfig 0x08003ccd Thumb Code 64 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_EnableCSS 0x08003d0d Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_DisableCSS 0x08003d15 Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetHCLKFreq 0x08003d1d Thumb Code 6 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK1Freq 0x08003d23 Thumb Code 20 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK2Freq 0x08003d37 Thumb Code 20 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetOscConfig 0x08003d4b Thumb Code 140 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetClockConfig 0x08003dd7 Thumb Code 54 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_CSSCallback 0x08003e0d Thumb Code 2 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_NMI_IRQHandler 0x08003e0f Thumb Code 20 stm32f1xx_hal_rcc.o(.text) + HAL_GPIO_Init 0x08003e4d Thumb Code 462 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_DeInit 0x0800401b Thumb Code 256 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_ReadPin 0x0800411b Thumb Code 10 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_WritePin 0x08004125 Thumb Code 10 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_TogglePin 0x0800412f Thumb Code 16 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_LockPin 0x0800413f Thumb Code 34 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_Callback 0x08004161 Thumb Code 2 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_IRQHandler 0x08004163 Thumb Code 20 stm32f1xx_hal_gpio.o(.text) + HAL_DMA_Init 0x080041a1 Thumb Code 112 stm32f1xx_hal_dma.o(.text) + HAL_DMA_DeInit 0x08004211 Thumb Code 116 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start 0x080042af Thumb Code 80 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start_IT 0x080042ff Thumb Code 112 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort 0x0800436f Thumb Code 70 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort_IT 0x080043b5 Thumb Code 296 stm32f1xx_hal_dma.o(.text) + HAL_DMA_PollForTransfer 0x080044dd Thumb Code 996 stm32f1xx_hal_dma.o(.text) + HAL_DMA_IRQHandler 0x080048c1 Thumb Code 572 stm32f1xx_hal_dma.o(.text) + HAL_DMA_RegisterCallback 0x08004afd Thumb Code 74 stm32f1xx_hal_dma.o(.text) + HAL_DMA_UnRegisterCallback 0x08004b47 Thumb Code 82 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetState 0x08004b99 Thumb Code 6 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetError 0x08004b9f Thumb Code 4 stm32f1xx_hal_dma.o(.text) + HAL_NVIC_SetPriorityGrouping 0x08004bad Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPriority 0x08004bc7 Thumb Code 60 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_EnableIRQ 0x08004c03 Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_DisableIRQ 0x08004c1d Thumb Code 34 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SystemReset 0x08004c3f Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Config 0x08004c5b Thumb Code 40 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriorityGrouping 0x08004c83 Thumb Code 10 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriority 0x08004c8d Thumb Code 82 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPendingIRQ 0x08004cdf Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPendingIRQ 0x08004cf9 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_ClearPendingIRQ 0x08004d1d Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetActive 0x08004d37 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_CLKSourceConfig 0x08004d5b Thumb Code 24 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Callback 0x08004d73 Thumb Code 2 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_IRQHandler 0x08004d75 Thumb Code 8 stm32f1xx_hal_cortex.o(.text) + HAL_UART_Init 0x08004e59 Thumb Code 98 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_Init 0x08004ebb Thumb Code 108 stm32f1xx_hal_uart.o(.text) + HAL_LIN_Init 0x08004f27 Thumb Code 128 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_Init 0x08004fa7 Thumb Code 142 stm32f1xx_hal_uart.o(.text) + HAL_UART_DeInit 0x08005037 Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit 0x080050cb Thumb Code 176 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive 0x0800517b Thumb Code 198 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_IT 0x08005241 Thumb Code 62 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_IT 0x0800527f Thumb Code 82 stm32f1xx_hal_uart.o(.text) + HAL_UART_ErrorCallback 0x080052d1 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxHalfCpltCallback 0x0800531d Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxCpltCallback 0x08005329 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_DMA 0x08005359 Thumb Code 114 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxHalfCpltCallback 0x080053cb Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxCpltCallback 0x080053d7 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_DMA 0x08005415 Thumb Code 138 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAPause 0x0800549f Thumb Code 102 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAResume 0x08005505 Thumb Code 94 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAStop 0x08005563 Thumb Code 88 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort 0x080055bb Thumb Code 138 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit 0x08005645 Thumb Code 78 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive 0x08005693 Thumb Code 88 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortCpltCallback 0x080056eb Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort_IT 0x08005741 Thumb Code 188 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmitCpltCallback 0x080057fd Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit_IT 0x08005813 Thumb Code 78 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceiveCpltCallback 0x08005861 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive_IT 0x08005877 Thumb Code 88 stm32f1xx_hal_uart.o(.text) + HAL_UART_IRQHandler 0x0800596b Thumb Code 342 stm32f1xx_hal_uart.o(.text) + HAL_LIN_SendBreak 0x08005ac1 Thumb Code 46 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_EnterMuteMode 0x08005aef Thumb Code 46 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_ExitMuteMode 0x08005b1d Thumb Code 46 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableTransmitter 0x08005b4b Thumb Code 66 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableReceiver 0x08005b8d Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetState 0x08005bbf Thumb Code 10 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetError 0x08005bc9 Thumb Code 4 stm32f1xx_hal_uart.o(.text) + __aeabi_llsr 0x08005bfb Thumb Code 32 llushr.o(.text) + _ll_ushift_r 0x08005bfb Thumb Code 0 llushr.o(.text) + __aeabi_memset 0x08005c1b Thumb Code 14 memseta.o(.text) + __aeabi_memset4 0x08005c1b Thumb Code 0 memseta.o(.text) + __aeabi_memset8 0x08005c1b Thumb Code 0 memseta.o(.text) + __aeabi_memclr 0x08005c29 Thumb Code 4 memseta.o(.text) + __aeabi_memclr4 0x08005c29 Thumb Code 0 memseta.o(.text) + __aeabi_memclr8 0x08005c29 Thumb Code 0 memseta.o(.text) + _memset$wrapper 0x08005c2d Thumb Code 18 memseta.o(.text) + __aeabi_fmul 0x08005c3f Thumb Code 100 fmul.o(.text) + __aeabi_dadd 0x08005ca3 Thumb Code 322 dadd.o(.text) + __aeabi_dsub 0x08005de5 Thumb Code 6 dadd.o(.text) + __aeabi_drsub 0x08005deb Thumb Code 6 dadd.o(.text) + __aeabi_i2d 0x08005df1 Thumb Code 34 dflti.o(.text) + __aeabi_f2iz 0x08005e13 Thumb Code 50 ffixi.o(.text) + __aeabi_d2iz 0x08005e45 Thumb Code 62 dfixi.o(.text) + __aeabi_d2f 0x08005e83 Thumb Code 56 d2f.o(.text) + __aeabi_uidiv 0x08005ebb Thumb Code 0 uidiv.o(.text) + __aeabi_uidivmod 0x08005ebb Thumb Code 44 uidiv.o(.text) + __aeabi_llsl 0x08005ee7 Thumb Code 30 llshl.o(.text) + _ll_shift_l 0x08005ee7 Thumb Code 0 llshl.o(.text) + __aeabi_lasr 0x08005f05 Thumb Code 36 llsshr.o(.text) + _ll_sshift_r 0x08005f05 Thumb Code 0 llsshr.o(.text) + __I$use$fp 0x08005f29 Thumb Code 0 iusefp.o(.text) + _float_round 0x08005f29 Thumb Code 18 fepilogue.o(.text) + _float_epilogue 0x08005f3b Thumb Code 92 fepilogue.o(.text) + _double_round 0x08005f97 Thumb Code 30 depilogue.o(.text) + _double_epilogue 0x08005fb5 Thumb Code 156 depilogue.o(.text) + __scatterload 0x08006051 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08006051 Thumb Code 0 init.o(.text) + __decompress 0x08006075 Thumb Code 0 __dczerorl2.o(.text) + __decompress1 0x08006075 Thumb Code 86 __dczerorl2.o(.text) + __0printf$3 0x080060cd Thumb Code 22 printf3.o(i.__0printf$3) + __1printf$3 0x080060cd Thumb Code 0 printf3.o(i.__0printf$3) + __2printf 0x080060cd Thumb Code 0 printf3.o(i.__0printf$3) + __scatterload_copy 0x080060ed Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x080060fb Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080060fd Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + free 0x080062c5 Thumb Code 76 malloc.o(i.free) + malloc 0x08006315 Thumb Code 92 malloc.o(i.malloc) + gImage_2in9 0x08006380 Data 4736 imagedata.o(.constdata) + gImage_2in9_4Gray 0x08007600 Data 9472 imagedata.o(.constdata) + Font12_Table 0x08009b00 Data 1140 font12.o(.constdata) + Font12CN_Table 0x08009f74 Data 1494 font12cn.o(.constdata) + Font16_Table 0x0800a54a Data 3040 font16.o(.constdata) + Font20_Table 0x0800b12a Data 3800 font20.o(.constdata) + Font24CN_Table 0x0800c002 Data 4482 font24cn.o(.constdata) + AHBPrescTable 0x0800d184 Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x0800d194 Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x0800d288 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x0800d2a8 Number 0 anon$$obj.o(Region$$Table) + _WF_PARTIAL_2IN9 0x20000000 Data 159 epd_2in9_v2.o(.data) + WS_20_30 0x2000009f Data 159 epd_2in9_v2.o(.data) + Gray4 0x2000013e Data 159 epd_2in9_v2.o(.data) + WF_FULL 0x200001dd Data 159 epd_2in9_v2.o(.data) + Font12 0x2000027c Data 8 font12.o(.data) + Font12CN 0x20000284 Data 12 font12cn.o(.data) + Font16 0x20000290 Data 8 font16.o(.data) + Font20 0x20000298 Data 8 font20.o(.data) + Font24CN 0x200002a0 Data 12 font24cn.o(.data) + SystemCoreClock 0x200002ac Data 4 system_stm32f1xx.o(.data) + uwTickFreq 0x200002b0 Data 1 stm32f1xx_hal.o(.data) + uwTickPrio 0x200002b4 Data 4 stm32f1xx_hal.o(.data) + uwTick 0x200002b8 Data 4 stm32f1xx_hal.o(.data) + __stdout 0x200002bc Data 4 stdout.o(.data) + __microlib_freelist 0x200002c0 Data 4 mvars.o(.data) + __microlib_freelist_initialised 0x200002c4 Data 4 mvars.o(.data) + hspi1 0x200002c8 Data 88 spi.o(.bss) + huart1 0x20000320 Data 64 usart.o(.bss) + Paint 0x20000360 Data 24 gui_paint.o(.bss) + __heap_base 0x20000378 Data 0 startup_stm32f103xe.o(HEAP) + __heap_limit 0x2000c378 Data 0 startup_stm32f103xe.o(HEAP) + __initial_sp 0x2000d378 Data 0 startup_stm32f103xe.o(STACK) @@ -1552,142 +1204,100 @@ Memory Map of the image Image Entry point : 0x08000131 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00018e88, Max: 0x00080000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000d570, Max: 0x00080000, ABSOLUTE, COMPRESSED[0x0000d364]) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00018e44, Max: 0x00080000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000d2a8, 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 2523 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x08000130 0x08000130 0x00000004 Code RO 2831 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x08000134 0x08000134 0x00000004 Code RO 2834 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x08000138 0x08000138 0x00000000 Code RO 2836 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x08000138 0x08000138 0x00000000 Code RO 2838 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x08000138 0x08000138 0x00000008 Code RO 2839 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x08000140 0x08000140 0x00000000 Code RO 2841 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x08000140 0x08000140 0x00000000 Code RO 2843 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x08000140 0x08000140 0x00000004 Code RO 2832 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000130 0x08000130 0x00000000 Code RO 963 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x08000130 0x08000130 0x00000004 Code RO 1271 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x08000134 0x08000134 0x00000004 Code RO 1274 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x08000138 0x08000138 0x00000000 Code RO 1276 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x08000138 0x08000138 0x00000000 Code RO 1278 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x08000138 0x08000138 0x00000008 Code RO 1279 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x08000140 0x08000140 0x00000000 Code RO 1281 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x08000140 0x08000140 0x00000000 Code RO 1283 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x08000140 0x08000140 0x00000004 Code RO 1272 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x08000144 0x08000144 0x00000024 Code RO 4 .text startup_stm32f103xe.o - 0x08000168 0x08000168 0x00000024 Code RO 2528 .text mc_w.l(memseta.o) - 0x0800018c 0x0800018c 0x0000002c Code RO 2846 .text mc_w.l(uidiv.o) - 0x080001b8 0x080001b8 0x00000024 Code RO 2873 .text mc_w.l(init.o) - 0x080001dc 0x080001dc 0x00000002 Code RO 287 i.BusFault_Handler stm32f1xx_it.o - 0x080001de 0x080001de 0x00000002 PAD - 0x080001e0 0x080001e0 0x00000034 Code RO 504 i.DEV_Module_Exit dev_config.o - 0x08000214 0x08000214 0x00000034 Code RO 505 i.DEV_Module_Init dev_config.o - 0x08000248 0x08000248 0x00000018 Code RO 506 i.DEV_SPI_WriteByte dev_config.o - 0x08000260 0x08000260 0x00000002 Code RO 288 i.DebugMon_Handler stm32f1xx_it.o - 0x08000262 0x08000262 0x00000032 Code RO 435 i.EPD_13IN3K_Clear epd_13in3k.o - 0x08000294 0x08000294 0x00000118 Code RO 437 i.EPD_13IN3K_Init epd_13in3k.o - 0x080003ac 0x080003ac 0x0000006c Code RO 438 i.EPD_13IN3K_ReadBusy epd_13in3k.o - 0x08000418 0x08000418 0x00000034 Code RO 439 i.EPD_13IN3K_SendCommand epd_13in3k.o - 0x0800044c 0x0800044c 0x00000034 Code RO 440 i.EPD_13IN3K_SendData epd_13in3k.o - 0x08000480 0x08000480 0x00000018 Code RO 441 i.EPD_13IN3K_Sleep epd_13in3k.o - 0x08000498 0x08000498 0x0000001c Code RO 442 i.EPD_13IN3K_TurnOnDisplay epd_13in3k.o - 0x080004b4 0x080004b4 0x0000004e Code RO 443 i.EPD_13IN3K_WritePicture epd_13in3k.o - 0x08000502 0x08000502 0x00000002 PAD - 0x08000504 0x08000504 0x00000380 Code RO 408 i.EPD_test epd_13in3k_test.o - 0x08000884 0x08000884 0x0000001c Code RO 13 i.Error_Handler main.o - 0x080008a0 0x080008a0 0x00000024 Code RO 1201 i.HAL_Delay stm32f1xx_hal.o - 0x080008c4 0x080008c4 0x000001f8 Code RO 1509 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o - 0x08000abc 0x08000abc 0x0000000a Code RO 1511 i.HAL_GPIO_ReadPin stm32f1xx_hal_gpio.o - 0x08000ac6 0x08000ac6 0x0000000a Code RO 1513 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o - 0x08000ad0 0x08000ad0 0x0000000c Code RO 1205 i.HAL_GetTick stm32f1xx_hal.o - 0x08000adc 0x08000adc 0x00000010 Code RO 1211 i.HAL_IncTick stm32f1xx_hal.o - 0x08000aec 0x08000aec 0x00000024 Code RO 1212 i.HAL_Init stm32f1xx_hal.o - 0x08000b10 0x08000b10 0x00000040 Code RO 1213 i.HAL_InitTick stm32f1xx_hal.o - 0x08000b50 0x08000b50 0x0000003c Code RO 362 i.HAL_MspInit stm32f1xx_hal_msp.o - 0x08000b8c 0x08000b8c 0x00000040 Code RO 1675 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08000bcc 0x08000bcc 0x00000024 Code RO 1676 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x08000bf0 0x08000bf0 0x0000012c Code RO 1369 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o - 0x08000d1c 0x08000d1c 0x00000020 Code RO 1376 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o - 0x08000d3c 0x08000d3c 0x00000020 Code RO 1377 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o - 0x08000d5c 0x08000d5c 0x0000006c Code RO 1378 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o - 0x08000dc8 0x08000dc8 0x00000320 Code RO 1381 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o - 0x080010e8 0x080010e8 0x000000b2 Code RO 883 i.HAL_SPI_Init stm32f1xx_hal_spi.o - 0x0800119a 0x0800119a 0x00000002 PAD - 0x0800119c 0x0800119c 0x0000005c Code RO 198 i.HAL_SPI_MspInit spi.o - 0x080011f8 0x080011f8 0x00000166 Code RO 891 i.HAL_SPI_Transmit stm32f1xx_hal_spi.o - 0x0800135e 0x0800135e 0x00000028 Code RO 1680 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o - 0x08001386 0x08001386 0x00000062 Code RO 2230 i.HAL_UART_Init stm32f1xx_hal_uart.o - 0x080013e8 0x080013e8 0x00000070 Code RO 240 i.HAL_UART_MspInit usart.o - 0x08001458 0x08001458 0x000000b2 Code RO 2238 i.HAL_UART_Transmit stm32f1xx_hal_uart.o - 0x0800150a 0x0800150a 0x00000002 PAD - 0x0800150c 0x0800150c 0x0000001c Code RO 289 i.HardFault_Handler stm32f1xx_it.o - 0x08001528 0x08001528 0x00000060 Code RO 173 i.MX_GPIO_Init gpio.o - 0x08001588 0x08001588 0x00000048 Code RO 199 i.MX_SPI1_Init spi.o - 0x080015d0 0x080015d0 0x00000038 Code RO 241 i.MX_USART1_UART_Init usart.o - 0x08001608 0x08001608 0x00000002 Code RO 290 i.MemManage_Handler stm32f1xx_it.o - 0x0800160a 0x0800160a 0x00000002 Code RO 291 i.NMI_Handler stm32f1xx_it.o - 0x0800160c 0x0800160c 0x000000a4 Code RO 541 i.Paint_Clear gui_paint.o - 0x080016b0 0x080016b0 0x00000030 Code RO 543 i.Paint_DrawBitMap gui_paint.o - 0x080016e0 0x080016e0 0x000000f4 Code RO 546 i.Paint_DrawChar gui_paint.o - 0x080017d4 0x080017d4 0x0000021c Code RO 547 i.Paint_DrawCircle gui_paint.o - 0x080019f0 0x080019f0 0x0000010c Code RO 548 i.Paint_DrawLine gui_paint.o - 0x08001afc 0x08001afc 0x000000d0 Code RO 549 i.Paint_DrawNum gui_paint.o - 0x08001bcc 0x08001bcc 0x00000144 Code RO 551 i.Paint_DrawPoint gui_paint.o - 0x08001d10 0x08001d10 0x000000e0 Code RO 552 i.Paint_DrawRectangle gui_paint.o - 0x08001df0 0x08001df0 0x00000194 Code RO 553 i.Paint_DrawString_CN gui_paint.o - 0x08001f84 0x08001f84 0x0000007c Code RO 554 i.Paint_DrawString_EN gui_paint.o - 0x08002000 0x08002000 0x0000003c Code RO 556 i.Paint_NewImage gui_paint.o - 0x0800203c 0x0800203c 0x0000000c Code RO 557 i.Paint_SelectImage gui_paint.o - 0x08002048 0x08002048 0x0000011c Code RO 559 i.Paint_SetPixel gui_paint.o - 0x08002164 0x08002164 0x00000002 Code RO 292 i.PendSV_Handler stm32f1xx_it.o - 0x08002166 0x08002166 0x00000020 Code RO 921 i.SPI_EndRxTxTransaction stm32f1xx_hal_spi.o - 0x08002186 0x08002186 0x00000002 PAD - 0x08002188 0x08002188 0x000000b8 Code RO 926 i.SPI_WaitFlagStateUntilTimeout stm32f1xx_hal_spi.o - 0x08002240 0x08002240 0x00000002 Code RO 293 i.SVC_Handler stm32f1xx_it.o - 0x08002242 0x08002242 0x00000004 Code RO 294 i.SysTick_Handler stm32f1xx_it.o - 0x08002246 0x08002246 0x00000058 Code RO 14 i.SystemClock_Config main.o - 0x0800229e 0x0800229e 0x00000002 PAD - 0x080022a0 0x080022a0 0x00000048 Code RO 799 i.SystemInit system_stm32f1xx.o - 0x080022e8 0x080022e8 0x000000b8 Code RO 2256 i.UART_SetConfig stm32f1xx_hal_uart.o - 0x080023a0 0x080023a0 0x00000064 Code RO 2257 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o - 0x08002404 0x08002404 0x00000002 Code RO 295 i.UsageFault_Handler stm32f1xx_it.o - 0x08002406 0x08002406 0x00000002 PAD - 0x08002408 0x08002408 0x00000020 Code RO 2619 i.__0printf$3 mc_w.l(printf3.o) - 0x08002428 0x08002428 0x00000020 Code RO 1682 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08002448 0x08002448 0x0000000e Code RO 2877 i.__scatterload_copy mc_w.l(handlers.o) - 0x08002456 0x08002456 0x00000002 Code RO 2878 i.__scatterload_null mc_w.l(handlers.o) - 0x08002458 0x08002458 0x0000000e Code RO 2879 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08002466 0x08002466 0x00000002 PAD - 0x08002468 0x08002468 0x000001b8 Code RO 2626 i._printf_core mc_w.l(printf3.o) - 0x08002620 0x08002620 0x00000018 Code RO 242 i.fputc usart.o - 0x08002638 0x08002638 0x00000050 Code RO 2791 i.free mc_w.l(malloc.o) - 0x08002688 0x08002688 0x00000024 Code RO 15 i.main main.o - 0x080026ac 0x080026ac 0x0000006c Code RO 2792 i.malloc mc_w.l(malloc.o) - 0x08002718 0x08002718 0x00013ec0 Data RO 392 .constdata imagedata2.o - 0x080165d8 0x080165d8 0x00000474 Data RO 711 .constdata font12.o - 0x08016a4c 0x08016a4c 0x000005d6 Data RO 725 .constdata font12cn.o - 0x08017022 0x08017022 0x00000be0 Data RO 739 .constdata font16.o - 0x08017c02 0x08017c02 0x00001182 Data RO 781 .constdata font24cn.o - 0x08018d84 0x08018d84 0x00000010 Data RO 800 .constdata system_stm32f1xx.o - 0x08018d94 0x08018d94 0x00000008 Data RO 801 .constdata system_stm32f1xx.o - 0x08018d9c 0x08018d9c 0x00000085 Data RO 563 .conststring gui_paint.o - 0x08018e21 0x08018e21 0x00000003 PAD - 0x08018e24 0x08018e24 0x00000020 Data RO 2875 Region$$Table anon$$obj.o + 0x08000168 0x08000168 0x00000098 Code RO 13 .text main.o + 0x08000200 0x08000200 0x00000060 Code RO 162 .text gpio.o + 0x08000260 0x08000260 0x000000bc Code RO 186 .text spi.o + 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 0x00000660 Code RO 355 .text epd_2in9_v2_test.o + 0x08000ac0 0x08000ac0 0x000005c8 Code RO 382 .text epd_2in9_v2.o + 0x08001088 0x08001088 0x00000088 Code RO 409 .text dev_config.o + 0x08001110 0x08001110 0x00000fb4 Code RO 434 .text gui_paint.o + 0x080020c4 0x080020c4 0x000000c4 Code RO 571 .text system_stm32f1xx.o + 0x08002188 0x08002188 0x00001460 Code RO 627 .text stm32f1xx_hal_spi.o + 0x080035e8 0x080035e8 0x0000017c Code RO 651 .text stm32f1xx_hal.o + 0x08003764 0x08003764 0x000006e8 Code RO 681 .text stm32f1xx_hal_rcc.o + 0x08003e4c 0x08003e4c 0x00000354 Code RO 730 .text stm32f1xx_hal_gpio.o + 0x080041a0 0x080041a0 0x00000a0c Code RO 754 .text stm32f1xx_hal_dma.o + 0x08004bac 0x08004bac 0x000001f8 Code RO 778 .text stm32f1xx_hal_cortex.o + 0x08004da4 0x08004da4 0x00000e56 Code RO 942 .text stm32f1xx_hal_uart.o + 0x08005bfa 0x08005bfa 0x00000020 Code RO 966 .text mc_w.l(llushr.o) + 0x08005c1a 0x08005c1a 0x00000024 Code RO 968 .text mc_w.l(memseta.o) + 0x08005c3e 0x08005c3e 0x00000064 Code RO 1259 .text mf_w.l(fmul.o) + 0x08005ca2 0x08005ca2 0x0000014e Code RO 1261 .text mf_w.l(dadd.o) + 0x08005df0 0x08005df0 0x00000022 Code RO 1263 .text mf_w.l(dflti.o) + 0x08005e12 0x08005e12 0x00000032 Code RO 1265 .text mf_w.l(ffixi.o) + 0x08005e44 0x08005e44 0x0000003e Code RO 1267 .text mf_w.l(dfixi.o) + 0x08005e82 0x08005e82 0x00000038 Code RO 1269 .text mf_w.l(d2f.o) + 0x08005eba 0x08005eba 0x0000002c Code RO 1286 .text mc_w.l(uidiv.o) + 0x08005ee6 0x08005ee6 0x0000001e Code RO 1290 .text mc_w.l(llshl.o) + 0x08005f04 0x08005f04 0x00000024 Code RO 1292 .text mc_w.l(llsshr.o) + 0x08005f28 0x08005f28 0x00000000 Code RO 1300 .text mc_w.l(iusefp.o) + 0x08005f28 0x08005f28 0x0000006e Code RO 1301 .text mf_w.l(fepilogue.o) + 0x08005f96 0x08005f96 0x000000ba Code RO 1303 .text mf_w.l(depilogue.o) + 0x08006050 0x08006050 0x00000024 Code RO 1313 .text mc_w.l(init.o) + 0x08006074 0x08006074 0x00000056 Code RO 1323 .text mc_w.l(__dczerorl2.o) + 0x080060ca 0x080060ca 0x00000002 PAD + 0x080060cc 0x080060cc 0x00000020 Code RO 1059 i.__0printf$3 mc_w.l(printf3.o) + 0x080060ec 0x080060ec 0x0000000e Code RO 1317 i.__scatterload_copy mc_w.l(handlers.o) + 0x080060fa 0x080060fa 0x00000002 Code RO 1318 i.__scatterload_null mc_w.l(handlers.o) + 0x080060fc 0x080060fc 0x0000000e Code RO 1319 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x0800610a 0x0800610a 0x00000002 PAD + 0x0800610c 0x0800610c 0x000001b8 Code RO 1066 i._printf_core mc_w.l(printf3.o) + 0x080062c4 0x080062c4 0x00000050 Code RO 1231 i.free mc_w.l(malloc.o) + 0x08006314 0x08006314 0x0000006c Code RO 1232 i.malloc mc_w.l(malloc.o) + 0x08006380 0x08006380 0x00001280 Data RO 307 .constdata imagedata.o + 0x08007600 0x08007600 0x00002500 Data RO 308 .constdata imagedata.o + 0x08009b00 0x08009b00 0x00000474 Data RO 484 .constdata font12.o + 0x08009f74 0x08009f74 0x000005d6 Data RO 498 .constdata font12cn.o + 0x0800a54a 0x0800a54a 0x00000be0 Data RO 512 .constdata font16.o + 0x0800b12a 0x0800b12a 0x00000ed8 Data RO 526 .constdata font20.o + 0x0800c002 0x0800c002 0x00001182 Data RO 554 .constdata font24cn.o + 0x0800d184 0x0800d184 0x00000010 Data RO 572 .constdata system_stm32f1xx.o + 0x0800d194 0x0800d194 0x00000008 Data RO 573 .constdata system_stm32f1xx.o + 0x0800d19c 0x0800d19c 0x000000e9 Data RO 436 .conststring gui_paint.o + 0x0800d285 0x0800d285 0x00000003 PAD + 0x0800d288 0x0800d288 0x00000020 Data RO 1315 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08018e44, Size: 0x0000d0f8, Max: 0x00010000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800d2a8, Size: 0x0000d378, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x000000bc]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08018e44 0x00000008 Data RW 712 .data font12.o - 0x20000008 0x08018e4c 0x0000000c Data RW 726 .data font12cn.o - 0x20000014 0x08018e58 0x00000008 Data RW 740 .data font16.o - 0x2000001c 0x08018e60 0x0000000c Data RW 782 .data font24cn.o - 0x20000028 0x08018e6c 0x00000004 Data RW 802 .data system_stm32f1xx.o - 0x2000002c 0x08018e70 0x0000000c Data RW 1219 .data stm32f1xx_hal.o - 0x20000038 0x08018e7c 0x00000004 Data RW 2845 .data mc_w.l(stdout.o) - 0x2000003c 0x08018e80 0x00000004 Data RW 2858 .data mc_w.l(mvars.o) - 0x20000040 0x08018e84 0x00000004 Data RW 2859 .data mc_w.l(mvars.o) - 0x20000044 - 0x00000058 Zero RW 200 .bss spi.o - 0x2000009c - 0x00000040 Zero RW 243 .bss usart.o - 0x200000dc - 0x00000018 Zero RW 562 .bss gui_paint.o - 0x200000f4 0x08018e88 0x00000004 PAD - 0x200000f8 - 0x0000c000 Zero RW 2 HEAP startup_stm32f103xe.o - 0x2000c0f8 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o + 0x20000000 COMPRESSED 0x0000027c Data RW 383 .data epd_2in9_v2.o + 0x2000027c COMPRESSED 0x00000008 Data RW 485 .data font12.o + 0x20000284 COMPRESSED 0x0000000c Data RW 499 .data font12cn.o + 0x20000290 COMPRESSED 0x00000008 Data RW 513 .data font16.o + 0x20000298 COMPRESSED 0x00000008 Data RW 527 .data font20.o + 0x200002a0 COMPRESSED 0x0000000c Data RW 555 .data font24cn.o + 0x200002ac COMPRESSED 0x00000004 Data RW 574 .data system_stm32f1xx.o + 0x200002b0 COMPRESSED 0x0000000c Data RW 652 .data stm32f1xx_hal.o + 0x200002bc COMPRESSED 0x00000004 Data RW 1285 .data mc_w.l(stdout.o) + 0x200002c0 COMPRESSED 0x00000004 Data RW 1298 .data mc_w.l(mvars.o) + 0x200002c4 COMPRESSED 0x00000004 Data RW 1299 .data mc_w.l(mvars.o) + 0x200002c8 - 0x00000058 Zero RW 187 .bss spi.o + 0x20000320 - 0x00000040 Zero RW 217 .bss usart.o + 0x20000360 - 0x00000018 Zero RW 435 .bss gui_paint.o + 0x20000378 - 0x0000c000 Zero RW 2 HEAP startup_stm32f103xe.o + 0x2000c378 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o ============================================================================== @@ -1697,39 +1307,42 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 128 14 0 0 0 1492 dev_config.o - 672 80 0 0 0 5304 epd_13in3k.o - 896 330 0 0 0 1227 epd_13in3k_test.o + 136 8 0 0 0 1404 dev_config.o + 1480 74 0 636 0 5665 epd_2in9_v2.o + 1632 420 0 0 0 1687 epd_2in9_v2_test.o 0 0 1140 8 0 1389 font12.o 0 0 1494 12 0 1391 font12cn.o 0 0 3040 8 0 1389 font16.o + 0 0 3800 8 0 1389 font20.o 0 0 4482 12 0 1391 font24cn.o 96 10 0 0 0 827 gpio.o - 2904 490 133 0 24 15826 gui_paint.o - 0 0 81600 0 0 1091 imagedata2.o - 152 20 0 0 0 462618 main.o - 164 22 0 0 88 1617 spi.o + 4020 670 233 0 24 15754 gui_paint.o + 0 0 14208 0 0 3255 imagedata.o + 152 20 0 0 0 463520 main.o + 188 18 0 0 88 1473 spi.o 36 8 304 0 53248 804 startup_stm32f103xe.o - 164 28 0 12 0 6541 stm32f1xx_hal.o - 172 14 0 0 0 28314 stm32f1xx_hal_cortex.o - 524 42 0 0 0 3551 stm32f1xx_hal_gpio.o + 380 28 0 12 0 7761 stm32f1xx_hal.o + 504 8 0 0 0 30474 stm32f1xx_hal_cortex.o + 2572 68 0 0 0 6225 stm32f1xx_hal_dma.o + 852 42 0 0 0 4339 stm32f1xx_hal_gpio.o 60 8 0 0 0 854 stm32f1xx_hal_msp.o - 1272 100 0 0 0 5220 stm32f1xx_hal_rcc.o - 752 4 0 0 0 4426 stm32f1xx_hal_spi.o - 560 6 0 0 0 4008 stm32f1xx_hal_uart.o - 46 20 0 0 0 3838 stm32f1xx_it.o - 72 12 24 4 0 1175 system_stm32f1xx.o - 192 24 0 0 64 2234 usart.o + 1768 90 0 0 0 5673 stm32f1xx_hal_rcc.o + 5216 106 0 0 0 19033 stm32f1xx_hal_spi.o + 3670 46 0 0 0 16360 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 ---------------------------------------------------------------------- - 8876 1232 92252 56 53428 556527 Object Totals + 23222 1692 28760 700 53424 596645 Object Totals 0 0 32 0 0 0 (incl. Generated) - 14 0 3 0 4 0 (incl. Padding) + 0 0 3 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name + 86 0 0 0 0 0 __dczerorl2.o 0 0 0 0 0 0 entry.o 0 0 0 0 0 0 entry10a.o 0 0 0 0 0 0 entry11a.o @@ -1740,25 +1353,38 @@ Image component sizes 8 4 0 0 0 0 entry9a.o 30 0 0 0 0 0 handlers.o 36 8 0 0 0 68 init.o + 0 0 0 0 0 0 iusefp.o + 30 0 0 0 0 68 llshl.o + 36 0 0 0 0 68 llsshr.o + 32 0 0 0 0 68 llushr.o 188 20 0 0 0 160 malloc.o 36 0 0 0 0 108 memseta.o 0 0 0 8 0 0 mvars.o 472 14 0 0 0 184 printf3.o 0 0 0 4 0 0 stdout.o 44 0 0 0 0 80 uidiv.o + 56 0 0 0 0 88 d2f.o + 334 0 0 0 0 148 dadd.o + 186 0 0 0 0 176 depilogue.o + 62 0 0 0 0 80 dfixi.o + 34 0 0 0 0 76 dflti.o + 110 0 0 0 0 168 fepilogue.o + 50 0 0 0 0 68 ffixi.o + 100 0 0 0 0 76 fmul.o ---------------------------------------------------------------------- - 828 50 0 12 0 600 Library Totals - 2 0 0 0 0 0 (incl. Padding) + 1946 50 0 12 0 1684 Library Totals + 4 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 826 50 0 12 0 600 mc_w.l + 1010 50 0 12 0 804 mc_w.l + 932 0 0 0 0 880 mf_w.l ---------------------------------------------------------------------- - 828 50 0 12 0 600 Library Totals + 1946 50 0 12 0 1684 Library Totals ---------------------------------------------------------------------- @@ -1767,15 +1393,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 9704 1282 92252 68 53428 553691 Grand Totals - 9704 1282 92252 68 53428 553691 ELF Image Totals - 9704 1282 92252 68 0 0 ROM Totals + 25168 1742 28760 712 53424 595701 Grand Totals + 25168 1742 28760 188 53424 595701 ELF Image Totals (compressed) + 25168 1742 28760 188 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 101956 ( 99.57kB) - Total RW Size (RW Data + ZI Data) 53496 ( 52.24kB) - Total ROM Size (Code + RO Data + RW Data) 102024 ( 99.63kB) + Total RO Size (Code + RO Data) 53928 ( 52.66kB) + Total RW Size (RW Data + ZI Data) 54136 ( 52.87kB) + Total ROM Size (Code + RO Data + RW Data) 54116 ( 52.85kB) ============================================================================== diff --git a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst index 502c58280..28909ddd1 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst +++ b/STM32/STM32-F103ZET6/MDK-ARM/startup_stm32f103xe.lst @@ -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_13in3k_test -ID:\KEIL\azwz\ARM\PACK\ARM\CMSIS\5.9.0\CMSIS\Core\Inclu -de -ID:\KEIL\azwz\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include --predefine= -"__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 526" --predefine="_RTE_ +.\RTE\_EPD_2in9_V2_test -ID:\KEIL\azwz\ARM\PACK\ARM\CMSIS\5.9.0\CMSIS\Core\Incl +ude -ID:\KEIL\azwz\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include --predefine +="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 526" --predefine="_RTE ARM Macro Assembler Page 10 - SETA 1" --predefine="STM32F10X_HD SETA 1" --list=startup_stm32f103xe.lst start -up_stm32f103xe.s +_ SETA 1" --predefine="STM32F10X_HD SETA 1" --list=startup_stm32f103xe.lst star +tup_stm32f103xe.s diff --git a/STM32/STM32-F103ZET6/User/Config/DEV_Config.c b/STM32/STM32-F103ZET6/User/Config/DEV_Config.c index e3b283d20..1438e257e 100644 --- a/STM32/STM32-F103ZET6/User/Config/DEV_Config.c +++ b/STM32/STM32-F103ZET6/User/Config/DEV_Config.c @@ -38,6 +38,11 @@ void DEV_SPI_WriteByte(UBYTE value) HAL_SPI_Transmit(&hspi1, &value, 1, 1000); } +void DEV_SPI_Write_nByte(UBYTE *value, UDOUBLE len) +{ + HAL_SPI_Transmit(&hspi1, value, len, 1000); +} + int DEV_Module_Init(void) { DEV_Digital_Write(EPD_DC_PIN, 0); diff --git a/STM32/STM32-F103ZET6/User/Config/DEV_Config.h b/STM32/STM32-F103ZET6/User/Config/DEV_Config.h index 00e90403b..c57b615b0 100644 --- a/STM32/STM32-F103ZET6/User/Config/DEV_Config.h +++ b/STM32/STM32-F103ZET6/User/Config/DEV_Config.h @@ -82,6 +82,7 @@ #define DEV_Delay_ms(__xms) HAL_Delay(__xms); void DEV_SPI_WriteByte(UBYTE value); +void DEV_SPI_Write_nByte(UBYTE *value, UDOUBLE len); int DEV_Module_Init(void); void DEV_Module_Exit(void); diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_2in66g_test.c b/STM32/STM32-F103ZET6/User/Examples/EPD_2in66g_test.c new file mode 100644 index 000000000..260eda346 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_2in66g_test.c @@ -0,0 +1,138 @@ +/***************************************************************************** +* | File : EPD_2in66g_test.c +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_2in66g.h" +#include "time.h" + +int EPD_test(void) +{ + printf("EPD_2IN66g_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_2IN66g_Init(); + + EPD_2IN66g_Clear(EPD_2IN66g_WHITE); // White + DEV_Delay_ms(2000); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UWORD Imagesize = ((EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1)) * EPD_2IN66g_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_2IN66g_WIDTH, EPD_2IN66g_HEIGHT, 0, WHITE); + Paint_SetScale(4); + +#if 1 // show bmp + printf("show window BMP-----------------\r\n"); + Paint_SelectImage(BlackImage); + Paint_DrawBitMap(gImage_2in66g); + EPD_2IN66g_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(EPD_2IN66g_WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, EPD_2IN66g_WHITE, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, EPD_2IN66g_RED, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, EPD_2IN66g_RED, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, EPD_2IN66g_RED, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, EPD_2IN66g_BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, EPD_2IN66g_WHITE, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "Red, yellow, white and black", &Font16, EPD_2IN66g_BLACK, EPD_2IN66g_WHITE); + Paint_DrawString_EN(10, 35, "Four color e-Paper", &Font12, EPD_2IN66g_WHITE, EPD_2IN66g_RED); + Paint_DrawString_CN(10, 125, "΢ѩ����", &Font24CN, EPD_2IN66g_BLACK, EPD_2IN66g_YELLOW); + Paint_DrawNum(10, 50, 123456, &Font12, EPD_2IN66g_BLACK, EPD_2IN66g_YELLOW); + + printf("EPD_Display\r\n"); + EPD_2IN66g_Display(BlackImage); + DEV_Delay_ms(3000); +#endif + +#if 1 // Drawing on the image + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(EPD_2IN66g_WHITE); + + int hNumber, hWidth, vNumber, vWidth; + hNumber = 16; + hWidth = EPD_2IN66g_HEIGHT/hNumber; // 368/16=23 + vNumber = 16; + vWidth = EPD_2IN66g_WIDTH/vNumber; // 512/16=32 + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + for(int i=0; i + +int EPD_test(void) +{ + printf("EPD_2IN9B_V4_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_2IN9B_V4_Init(); + EPD_2IN9B_V4_Clear(); + DEV_Delay_ms(500); + + + //Create a new image cache named IMAGE_BW and fill it with white + UBYTE *BlackImage, *RYImage; // Red or Yellow + UWORD Imagesize = ((EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1)) * EPD_2IN9B_V4_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + if((RYImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for red memory...\r\n"); + return -1; + } + printf("NewImage:BlackImage and RYImage\r\n"); + Paint_NewImage(BlackImage, EPD_2IN9B_V4_WIDTH, EPD_2IN9B_V4_HEIGHT, 270, WHITE); + Paint_NewImage(RYImage, EPD_2IN9B_V4_WIDTH, EPD_2IN9B_V4_HEIGHT, 270, WHITE); + + //Select Image + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_SelectImage(RYImage); + Paint_Clear(WHITE); + +#if 1 // show image for array + EPD_2IN9B_V4_Init_Fast(); + printf("show image for array\r\n"); + EPD_2IN9B_V4_Display_Fast(gImage_2in9bc_b, gImage_2in9bc_ry); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + /*Horizontal screen*/ + //1.Draw black image + EPD_2IN9B_V4_Init(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawPoint(10, 110, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + + //2.Draw red image + Paint_SelectImage(RYImage); + Paint_Clear(WHITE); + // Paint_DrawCircle(160, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + // Paint_DrawCircle(210, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_CN(130, 0,"���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + + printf("EPD_Display\r\n"); + EPD_2IN9B_V4_Display_Base(BlackImage, RYImage); + // EPD_2IN9B_V4_Display(BlackImage, RYImage); + DEV_Delay_ms(2000); +#endif + +#if 1 //Partial refresh, example shows time + // If you didn't use the EPD_2IN9B_V4_Display_Base() function to refresh the image before, + // use the EPD_2IN9B_V4_Display_Base_color() function to refresh the background color, + // otherwise the background color will be garbled + // EPD_2IN9B_V4_Init(); + // EPD_2IN9B_V4_Display_Base(BlackImage, RYImage); + // EPD_2IN9B_V4_Display_Base_color(WHITE); + Paint_NewImage(BlackImage, 50, 120, 270, WHITE); + + printf("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_SetScale(2); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 15; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + + Paint_Clear(WHITE); + Paint_DrawRectangle(1, 1, 120, 50, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawTime(10, 15, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + printf("Part refresh...\r\n"); + EPD_2IN9B_V4_Display_Partial(BlackImage, 70, 35, 120, 155); // Xstart must be a multiple of 8 + DEV_Delay_ms(500); + } +#endif + + printf("Clear...\r\n"); + EPD_2IN9B_V4_Init(); + EPD_2IN9B_V4_Clear(); + + printf("Goto Sleep...\r\n"); + EPD_2IN9B_V4_Sleep(); + free(BlackImage); + free(RYImage); + BlackImage = NULL; + RYImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_4in26_test.c b/STM32/STM32-F103ZET6/User/Examples/EPD_4in26_test.c new file mode 100644 index 000000000..84e39de5e --- /dev/null +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_4in26_test.c @@ -0,0 +1,188 @@ +/***************************************************************************** +* | File : EPD_4in26_test.c +* | Author : Waveshare team +* | Function : 4.26inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-19 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_4in26.h" +#include + +int EPD_test(void) +{ + printf("EPD_4in26_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_4in26_Init(); + EPD_4in26_Clear(); + DEV_Delay_ms(500); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UDOUBLE Imagesize = ((EPD_4in26_WIDTH % 8 == 0)? (EPD_4in26_WIDTH / 8 ): (EPD_4in26_WIDTH / 8 + 1)) * EPD_4in26_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT, 0, WHITE); + +#if 1 // show image for array + EPD_4in26_Init_Fast(); + printf("show image for array\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawBitMap(gImage_7in5_V2); + EPD_4in26_Display_Fast(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + + EPD_4in26_Init(); + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 1, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + Paint_DrawString_CN(130, 1, "���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + + printf("EPD_Display\r\n"); + // EPD_4in26_Display(BlackImage); + EPD_4in26_Display_Base(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 + printf("Partial refresh\r\n"); + Paint_NewImage(BlackImage, 200, 50, 0, WHITE); + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_Clear(WHITE); + Paint_DrawTime(20, 10, &sPaint_time, &Font20, WHITE, BLACK); + EPD_4in26_Display_Part(BlackImage, 80, 200, 200, 50); + DEV_Delay_ms(500);//Analog clock 1s + num = num - 1; + if(num == 0) { + break; + } + } +#endif + +#if 1 // show image for array + free(BlackImage); + printf("show Gray------------------------\r\n"); + Imagesize = ((EPD_4in26_WIDTH % 4 == 0)? (EPD_4in26_WIDTH / 4 ): (EPD_4in26_WIDTH / 4 + 1)) * EPD_4in26_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize/2)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + EPD_4in26_Init_4GRAY(); + printf("4 grayscale display\r\n"); + Paint_NewImage(BlackImage, EPD_4in26_WIDTH, EPD_4in26_HEIGHT/2, 90, WHITE); + Paint_SetScale(4); + Paint_Clear(0xff); + + Paint_DrawPoint(10, 80, GRAY4, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, GRAY4, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, GRAY4, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, GRAY4, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, GRAY2, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, GRAY4, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, GRAY4, GRAY1); + Paint_DrawString_EN(10, 20, "hello world", &Font12, GRAY3, GRAY1); + Paint_DrawNum(10, 33, 123456789, &Font12, GRAY4, GRAY2); + Paint_DrawNum(10, 50, 987654321, &Font16, GRAY1, GRAY4); + Paint_DrawString_CN(150, 0,"���abc", &Font12CN, GRAY4, GRAY1); + Paint_DrawString_CN(150, 20,"���abc", &Font12CN, GRAY3, GRAY2); + Paint_DrawString_CN(150, 40,"���abc", &Font12CN, GRAY2, GRAY3); + Paint_DrawString_CN(150, 60,"���abc", &Font12CN, GRAY1, GRAY4); + Paint_DrawString_CN(10, 130, "΢ѩ����", &Font24CN, GRAY1, GRAY4); + EPD_4in26_4GrayDisplay(BlackImage); + DEV_Delay_ms(3000); + +#endif + printf("Clear...\r\n"); + EPD_4in26_Init(); + EPD_4in26_Clear(); + printf("Goto Sleep...\r\n"); + EPD_4in26_Sleep(); + free(BlackImage); + BlackImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test.c b/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test.c index 48d102f75..b3f3a20b2 100644 --- a/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test.c +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test.c @@ -1,11 +1,11 @@ /***************************************************************************** -* | File : EPD_7in5_test.c +* | File : EPD_7in5_V2_test.c * | Author : Waveshare team * | Function : 7.5inch e-paper test demo * | Info : *---------------- -* | This version: V1.0 -* | Date : 2019-06-13 +* | This version: V3.0 +* | Date : 2023-12-18 * | Info : # # Permission is hereby granted, free of charge, to any person obtaining a copy @@ -29,6 +29,7 @@ ******************************************************************************/ #include "EPD_Test.h" #include "EPD_7in5_V2.h" +#include int EPD_test(void) { @@ -41,33 +42,31 @@ int EPD_test(void) EPD_7IN5_V2_Init(); EPD_7IN5_V2_Clear(); DEV_Delay_ms(500); - + //Create a new image cache UBYTE *BlackImage; /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ UWORD Imagesize = ((EPD_7IN5_V2_WIDTH % 8 == 0)? (EPD_7IN5_V2_WIDTH / 8 ): (EPD_7IN5_V2_WIDTH / 8 + 1)) * EPD_7IN5_V2_HEIGHT; - if((BlackImage = (UBYTE *)malloc(Imagesize/2)) == NULL) { + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { printf("Failed to apply for black memory...\r\n"); return -1; } printf("Paint_NewImage\r\n"); - Paint_NewImage(BlackImage, EPD_7IN5_V2_WIDTH, EPD_7IN5_V2_HEIGHT/2, 0, WHITE); - + Paint_NewImage(BlackImage, EPD_7IN5_V2_WIDTH, EPD_7IN5_V2_HEIGHT, 0, WHITE); + #if 1 // show image for array + EPD_7IN5_V2_Init_Fast(); printf("show image for array\r\n"); Paint_SelectImage(BlackImage); Paint_Clear(WHITE); Paint_DrawBitMap(gImage_7in5_V2); - EPD_7IN5_V2_WritePicture(BlackImage, 0); - //The entire image size is EPD_7IN5_V2_WIDTH*EPD_7IN5_V2_HEIGHT/8 - //Since the memory problem is transmitted halfway, now the other half is transmitted, so the offset address is required. - Paint_DrawBitMap(gImage_7in5_V2 + EPD_7IN5_V2_WIDTH*EPD_7IN5_V2_HEIGHT/8/2); - EPD_7IN5_V2_WritePicture(BlackImage, 1); + EPD_7IN5_V2_Display(BlackImage); DEV_Delay_ms(2000); #endif #if 1 // Drawing on the image //1.Select Image + // EPD_7IN5_V2_Init(); printf("SelectImage:BlackImage\r\n"); Paint_SelectImage(BlackImage); Paint_Clear(WHITE); @@ -91,21 +90,60 @@ int EPD_test(void) Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); Paint_DrawString_CN(130, 0, " ���abc", &Font12CN, BLACK, WHITE); Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); - EPD_7IN5_V2_WritePicture(BlackImage, 0); - Paint_Clear(WHITE); - EPD_7IN5_V2_WritePicture(BlackImage, 1); + printf("EPD_Display\r\n"); + EPD_7IN5_V2_Display(BlackImage); DEV_Delay_ms(2000); #endif +#if 1 //Partial refresh, example shows time + EPD_7IN5_V2_Init_Part(); + Paint_NewImage(BlackImage, Font20.Width * 7, Font20.Height, 0, WHITE); + Debug("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_ClearWindows(0, 0, Font20.Width * 7, Font20.Height, WHITE); + Paint_DrawTime(0, 0, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + EPD_7IN5_V2_Display_Part(BlackImage, 150, 80, 150 + Font20.Width * 7, 80 + Font20.Height); + DEV_Delay_ms(500);//Analog clock 1s + } +#endif + printf("Clear...\r\n"); + EPD_7IN5_V2_Init(); EPD_7IN5_V2_Clear(); printf("Goto Sleep...\r\n"); EPD_7IN5_V2_Sleep(); - free(BlackImage); - BlackImage = NULL; - + // free(BlackImage); + // BlackImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s // close 5V printf("close 5V, Module enters 0 power consumption ...\r\n"); DEV_Module_Exit(); diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test_old.c b/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test_old.c new file mode 100644 index 000000000..d42943e81 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_7in5_V2_test_old.c @@ -0,0 +1,155 @@ +/***************************************************************************** +* | File : EPD_7in5_V2_test.c +* | Author : Waveshare team +* | Function : 7.5inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_Test.h" +#include "EPD_7in5_V2_old.h" +#include + +int EPD_test(void) +{ + printf("EPD_7IN5_V2_test Demo\r\n"); + if(DEV_Module_Init()!=0){ + return -1; + } + + printf("e-Paper Init and Clear...\r\n"); + EPD_7IN5_V2_Init(); + + EPD_7IN5_V2_Clear(); + DEV_Delay_ms(500); + + //Create a new image cache + UBYTE *BlackImage; + /* you have to edit the startup_stm32fxxx.s file and set a big enough heap size */ + UWORD Imagesize = ((EPD_7IN5_V2_WIDTH % 8 == 0)? (EPD_7IN5_V2_WIDTH / 8 ): (EPD_7IN5_V2_WIDTH / 8 + 1)) * EPD_7IN5_V2_HEIGHT; + if((BlackImage = (UBYTE *)malloc(Imagesize)) == NULL) { + printf("Failed to apply for black memory...\r\n"); + return -1; + } + printf("Paint_NewImage\r\n"); + Paint_NewImage(BlackImage, EPD_7IN5_V2_WIDTH, EPD_7IN5_V2_HEIGHT, 0, WHITE); + +#if 1 // show image for array + printf("show image for array\r\n"); + EPD_7IN5_V2_Init_Fast(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + Paint_DrawBitMap(gImage_7in5_V2); + EPD_7IN5_V2_Display(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 // Drawing on the image + //1.Select Image + printf("SelectImage:BlackImage\r\n"); + EPD_7IN5_V2_Init_Fast(); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + // 2.Drawing on the image + printf("Drawing:BlackImage\r\n"); + Paint_DrawPoint(10, 80, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT); + Paint_DrawPoint(10, 90, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT); + Paint_DrawPoint(10, 100, BLACK, DOT_PIXEL_3X3, DOT_STYLE_DFT); + Paint_DrawLine(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawLine(70, 70, 20, 120, BLACK, DOT_PIXEL_1X1, LINE_STYLE_SOLID); + Paint_DrawRectangle(20, 70, 70, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawRectangle(80, 70, 130, 120, BLACK, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawCircle(45, 95, 20, BLACK, DOT_PIXEL_1X1, DRAW_FILL_EMPTY); + Paint_DrawCircle(105, 95, 20, WHITE, DOT_PIXEL_1X1, DRAW_FILL_FULL); + Paint_DrawLine(85, 95, 125, 95, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawLine(105, 75, 105, 115, BLACK, DOT_PIXEL_1X1, LINE_STYLE_DOTTED); + Paint_DrawString_EN(10, 0, "waveshare", &Font16, BLACK, WHITE); + Paint_DrawString_EN(10, 20, "hello world", &Font12, WHITE, BLACK); + Paint_DrawNum(10, 33, 123456789, &Font12, BLACK, WHITE); + Paint_DrawNum(10, 50, 987654321, &Font16, WHITE, BLACK); + Paint_DrawString_CN(130, 0, "���abc", &Font12CN, BLACK, WHITE); + Paint_DrawString_CN(130, 20, "΢ѩ����", &Font24CN, WHITE, BLACK); + + printf("EPD_Display\r\n"); + EPD_7IN5_V2_Display(BlackImage); + DEV_Delay_ms(2000); +#endif + +#if 1 //Partial refresh, example shows time + EPD_7IN5_V2_Init_Partial(); + Paint_NewImage(BlackImage, Font20.Width * 7, Font20.Height, 0, WHITE); + Debug("Partial refresh\r\n"); + Paint_SelectImage(BlackImage); + Paint_Clear(WHITE); + + PAINT_TIME sPaint_time; + sPaint_time.Hour = 12; + sPaint_time.Min = 34; + sPaint_time.Sec = 56; + UBYTE num = 10; + for (;;) { + sPaint_time.Sec = sPaint_time.Sec + 1; + if (sPaint_time.Sec == 60) { + sPaint_time.Min = sPaint_time.Min + 1; + sPaint_time.Sec = 0; + if (sPaint_time.Min == 60) { + sPaint_time.Hour = sPaint_time.Hour + 1; + sPaint_time.Min = 0; + if (sPaint_time.Hour == 24) { + sPaint_time.Hour = 0; + sPaint_time.Min = 0; + sPaint_time.Sec = 0; + } + } + } + Paint_ClearWindows(0, 0, Font20.Width * 7, Font20.Height, WHITE); + Paint_DrawTime(0, 0, &sPaint_time, &Font20, WHITE, BLACK); + + num = num - 1; + if(num == 0) { + break; + } + EPD_7IN5_V2_Display_Partial(BlackImage, 150, 80, 150 + Font20.Width * 7, 80 + Font20.Height); + DEV_Delay_ms(500);//Analog clock 1s + + } +#endif + + printf("Clear...\r\n"); + EPD_7IN5_V2_Init(); + EPD_7IN5_V2_Clear(); + + printf("Goto Sleep...\r\n"); + EPD_7IN5_V2_Sleep(); + free(BlackImage); + BlackImage = NULL; + DEV_Delay_ms(2000);//important, at least 2s + // close 5V + printf("close 5V, Module enters 0 power consumption ...\r\n"); + DEV_Module_Exit(); + + return 0; +} + diff --git a/STM32/STM32-F103ZET6/User/Examples/ImageData.h b/STM32/STM32-F103ZET6/User/Examples/ImageData.h index 3cd67869c..16e864a14 100644 --- a/STM32/STM32-F103ZET6/User/Examples/ImageData.h +++ b/STM32/STM32-F103ZET6/User/Examples/ImageData.h @@ -44,6 +44,10 @@ extern const unsigned char gImage_3in0g[]; extern const unsigned char gImage_4in37g[]; extern const unsigned char gImage_7in3f[]; extern const unsigned char gImage_7in3g[]; + +extern const unsigned char gImage_13in3k[]; + +extern const unsigned char gImage_2in66g[]; /* --------------------------------------- */ // ImageData.c @@ -107,7 +111,6 @@ extern const unsigned char gImage_7in5bc_ry[]; extern const unsigned char gImage_7in5_V2_b[]; extern const unsigned char gImage_7in5_V2_ry[]; -extern const unsigned char gImage_13in3k[]; #endif /* FILE END */ diff --git a/STM32/STM32-F103ZET6/User/Examples/ImageData2.c b/STM32/STM32-F103ZET6/User/Examples/ImageData2.c index f7df67557..2d0e786e7 100644 --- a/STM32/STM32-F103ZET6/User/Examples/ImageData2.c +++ b/STM32/STM32-F103ZET6/User/Examples/ImageData2.c @@ -29360,3 +29360,1054 @@ const unsigned char gImage_13in3k[81600] = { /* 0X00,0X01,0XC0,0X03,0XA8,0X02, * 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, }; + +// 4 Color Image Data 184*360 +const unsigned char gImage_2in66g[16560] = { +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +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,0x50,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFA,0xAB,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x40,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xBF,0xEA,0xAA,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x50,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xBF,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAF,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAA,0xFE,0xAA,0xEA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xAA,0xFE,0xAB,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB, +0xFE,0xAB,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xFE,0xAB, +0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFA,0xAF,0xFA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,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,0xFF,0xFF,0xFF,0xAA,0xAA,0xAF,0xEA,0xBF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x15,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,0xFF,0xFF,0xFF,0xAA,0xAA,0xBF,0xAA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x55,0x50,0x05,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,0xFF,0xFF,0xFF,0xEA,0xAA,0xBF,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x55,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFA,0xAA,0xFF,0xEA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01, +0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00, +0x50,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFE,0xAB,0xFF,0xEB,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x50,0x05, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x40,0x05,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x40,0x01,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,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,0x54,0x00,0x14,0x00,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01, +0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01,0x54,0x00, +0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x01,0x54,0x00,0x54,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x54,0x00,0x54,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x14,0x00,0x40,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x54,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,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,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x40,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, +0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00, +0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xAA,0xAF,0xEF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA, +0xAA,0xAF,0xEA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50,0x05,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,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF, +0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x54,0x05,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,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xAA,0xBF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xBE,0xAF,0xEA,0xBF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFE,0xAF,0xFA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x40,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xFE,0xAF,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAB,0xFE,0xAF,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xAB,0xFE,0xAF,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x55,0x51, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA, +0xFE,0xAF,0xFA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x55,0x50,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xBE,0xAF, +0xEA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x15,0x40,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x50,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xBF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x55,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x55,0x55,0x50,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55, +0x40,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xBF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x54,0x00,0x15, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF, +0xFF,0xFF,0xFE,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAB,0xFF,0xFF, +0xFA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xEA,0xBF, +0xFF,0xFF,0xFD,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,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAF,0xFE,0xAA,0xBF,0xFF,0xFF, +0xFD,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,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAB,0xFA,0xAA,0xBF,0xFF,0xFF,0xFD,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,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xEA,0xAA,0xBF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA, +0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xEA,0xAA,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAB,0xFA,0xAA,0xBF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xBF,0xFF,0xAA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x54,0x00,0x51,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xFF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x50,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAF,0xFF,0xFF,0xFA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x54,0x00, +0x50,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xBF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x40,0x50, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x54,0x00,0x54,0x01, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01,0x54,0x00,0x54,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x01,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x40,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x55,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xBF,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x15,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAA,0xBF,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x15,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xAA,0xAF,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x55,0x40, +0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA, +0xBF,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x51,0x55,0x50,0x00,0x05, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xBF,0xAA, +0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x05,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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x05,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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x40,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x40,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00, +0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x40,0x00, +0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, +0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x05,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA, +0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xFE,0xAA,0xBF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAB,0xFF,0xAA,0xBF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x54,0x05,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x05,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x54,0x01,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x05,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x54,0x01,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x15,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFA,0xAF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55, +0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFA,0xAF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x40,0x01, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA, +0xAF,0xFF,0xEA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x40,0x01,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAF,0xFF, +0xEA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x40,0x01,0x55,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x15,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,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,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,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,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,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,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, +0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, +0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,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,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,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,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x00,0x50,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x40,0x00,0x00,0x50,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x40,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00, +0x40,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x45,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x40,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x14,0x00,0x50,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x50,0x01,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x50,0x01,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x01,0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA, +0xAA,0xAA,0xAA,0xAB,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, +0x54,0x00,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA, +0xAA,0xAA,0xBF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x14,0x00, +0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA, +0xAB,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x01, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x55,0x50,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x41,0x55,0x50,0x15,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, +0xFF,0xFA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01, +0x55,0x54,0x05,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,0xFF,0xFF, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50, +0x05,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,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x55,0x40,0x15,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,0xFF,0xFF,0xFF,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,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,0xFF,0xFF,0xFF,0xFA,0xAA,0xAF,0xFF,0xFF, +0xFF,0xFF,0xFD,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,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF, +0xFD,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,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x00,0x15,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,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x15,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,0xFF,0xFF,0xFF,0xFF, +0xEA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAB, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,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,0xFA,0xAA,0xBF,0xFF,0xFF,0xAA,0xAA,0xAA,0xBF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,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,0xAA,0xAA,0xAB,0xFF,0xFA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,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,0xFA,0xAA,0xAA,0xAA,0xFF,0xEA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xEA, +0xAA,0xAA,0xAA,0xBF,0xEA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA, +0xAA,0xAF,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAE, +0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFD,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, +0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFE,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xFF,0xEA,0xAA,0xAA,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAB,0xFF,0xFA,0xAA,0xAA,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF, +0xFE,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00, +0x50,0x50,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAF,0xFF,0xFE,0xAA, +0xAB,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x50,0x54, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAF,0xFF,0xFE,0xAA,0xAB,0xFF, +0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x50,0x54,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAF,0xFF,0xFE,0xAA,0xAB,0xFF,0xFF,0xFA, +0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x50,0x14,0x05,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFE,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xAB, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFA,0xAA,0xAA,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xFF,0xEA,0xAA,0xAA,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x51,0x55,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xAA,0xAA,0xAF,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,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAB,0xFE,0xAA,0xAA,0xAF,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,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,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,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x15,0x55,0x51,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAE,0xAA,0xAA,0xAA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x40,0x15,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAF,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x40,0x05,0x55,0x40,0x05,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xBF,0xEA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x05,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFA,0xAA,0xAA,0xAA,0xFF,0xEA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x01,0x55,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xAA,0xAA,0xAB,0xFF,0xFA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x15,0x55,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, +0x05,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA, +0xBF,0xFF,0xFE,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x45, +0x55,0x54,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55, +0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xEA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x41,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x50,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x54,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x10,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x05,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x01,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x55,0x51,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x55,0x50,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x15,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01, +0x55,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x40,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x50,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xEA,0xAA,0xAB,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, +0x54,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFA, +0xAA,0xAB,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,0x54,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x01,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x50,0x50,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x50,0x54,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,0x50,0x54,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x50,0x14,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, +0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x54,0x00,0x15,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,0xFA,0xBF,0xFF, +0xFF,0xFF,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x51,0x55,0x00, +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,0xEA,0xAF,0xFF,0xFF,0xFE, +0xAB,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xFF,0xFF,0xEA,0xAA,0xBF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x50,0x00,0x54,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xBF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x50,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xEA,0xAA,0xAA,0xAF,0xFE,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00, +0x14,0x00,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAB,0xFA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x54,0x00, +0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA, +0xAA,0xAA,0xEA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x01,0x54,0x00,0x00,0x00, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA, +0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x40,0x15,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,0xFA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,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, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x05,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x00,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54, +0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xEA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01, +0x55,0x54,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00, +0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA, +0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x50,0x00,0x00,0x00,0x01, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA, +0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x15,0x40,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x05,0x55,0x40,0x00,0x15,0x00,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x40,0x01,0x55,0x50,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x05,0x40,0x01,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x00,0x40,0x01,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFE,0xAA,0xAA,0xAB,0xEA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x00,0x00,0x01,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAF,0xFA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00, +0x01,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA, +0xAA,0xBF,0xFE,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x55, +0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xFF, +0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50, +0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x15,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xFF,0xFF,0xEA, +0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x05, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00,0x00,0x01,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAF,0xFF,0xFF,0xFE,0xAB,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xBF,0xFF,0xFF,0xFF,0xAF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,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,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x40, +0x15,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,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x00,0x00,0x05,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x50, +0x00,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55, +0x50,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x05,0x55,0x40,0x00,0x15, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x40, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x40,0x01,0x55,0x50,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x05,0x40,0x01,0x55,0x50,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x40,0x01,0x55,0x54,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x00,0x00,0x00,0x01,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x00,0x00,0x00,0x01,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFE,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x00,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x00, +0x00,0x15,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x00, +0x00,0x01,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x00,0x01, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x05,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA, +0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAB,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAB, +0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAF,0xFF, +0xFF,0xFA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x00,0x00,0x00,0x00,0x15,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,0xEA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00, +0x00,0x00,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,0xFE,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xBF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA, +0xAF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,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,0xFF,0xEA,0xAA,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x54,0x00,0x00,0x15,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x05,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x00,0x55,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +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,0x00,0x00,0x00, +0x00,0x15,0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x00,0x00,0x00,0x00,0x05, +0x50,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x51, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x50,0x00,0x01,0x50,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x50,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x00,0x00,0x50,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x40,0x15,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x55,0x40,0x00,0x10,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x40,0x50,0x15,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x54,0x00,0x15,0x55,0x50,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x54,0x00,0x15,0x55,0x54,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00, +0x05,0x55,0x55,0x40,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x01,0x40,0x54,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x01,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x40,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x15,0x55,0x54, +0x00,0x00,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x55,0x55,0x00,0x00, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xBF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x40,0x00,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAB,0xFF,0xFF,0xEA,0xAA,0xAA,0xBF,0xFE,0xAA, +0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x54,0x01,0x55,0x55,0x55,0x50,0x00,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xBF,0xFF,0xEA,0xAA,0xAB,0xFF,0xFF,0xAA,0xAA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x55,0x54,0x00,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x45,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, +0xFA,0xAA,0xAA,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,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,0xFA,0xAA, +0xAA,0xAF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x01,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,0xFA,0xAA,0xAA,0xAB, +0xEA,0xAA,0xAF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,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,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xBA,0xAA, +0xAF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,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,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF, +0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,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,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFA, +0xAA,0xAB,0xFF,0xFF,0xFD,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, +0x57,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xEA,0xAA,0xAF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x00,0x01,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x00,0x50,0x01,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFE,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x05,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5F, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xEA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0x55, +0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x45,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xF5,0x55,0x5F,0xFF, +0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0xFF,0xFF,0xFF, +0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAB,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x00,0x15,0x55,0x55, +0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x75,0xFF,0xFF,0xF5,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x05,0x55,0x55,0x55,0x55, +0x55,0x5F,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xF5,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x7F, +0xFF,0xFF,0xF5,0x55,0x55,0x5D,0x55,0x55,0x7F,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xFF, +0x55,0x55,0x55,0xFF,0xD5,0x55,0x5F,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x55,0x55, +0x5F,0xFF,0xFD,0x55,0x57,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x55,0x55,0x55,0xFF, +0xFF,0x55,0x55,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00, +0x15,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x5F,0xFD,0x55, +0x55,0x7F,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55, +0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40,0x55,0x50,0x55,0x55,0x55,0x55, +0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xF5,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x41,0x55,0x50,0x15,0x55,0x55,0x55,0x55,0x55, +0x7F,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x01,0x55,0x54,0x05,0x55,0x55,0x55,0x55,0x55,0x7F,0xFD, +0x55,0x55,0x5F,0xFF,0xF5,0x55,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x01,0x55,0x50,0x05,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0x55,0x55, +0x7F,0xFF,0xFD,0x55,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAB,0xFF,0xFF,0xFF,0xAA,0xAA,0xAA,0xAA,0xBF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x00,0x55,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0x7F,0xFF,0xD5,0x55,0x57,0xFF, +0x57,0xD5,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xFF, +0xFF,0xFE,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF5,0x55,0x55,0x5F,0x55,0x7D, +0x57,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xBF,0xFF,0xFA, +0xAA,0xAA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x50,0x00,0x00, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFD,0x55,0x55,0x55,0xF5,0x55,0xFF,0xFF, +0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAF,0xFF,0xEA,0xAA,0xAA, +0xAA,0xAA,0xAA,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54,0x00,0x01,0x55,0x55, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF, +0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAF,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xFF,0xF7,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xF5,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAB,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xF7,0xF5,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xFF,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAA,0xAA,0xBE,0xAA,0xAA,0xAF,0xFA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x54,0x00,0x51,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFD,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAA,0xAA,0xAE,0xAA,0xAA,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x50,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA, +0xAA,0xAA,0xAB,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x40, +0x00,0x40,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55, +0x55,0xFF,0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA, +0xAB,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x00,0x40,0x50, +0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xF5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAB,0xFF, +0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xD5,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFA, +0xAA,0xAB,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x05,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x7F,0xFF,0xFF,0xFF,0xFF,0xD5,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xAA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFA,0xAA,0xAB, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x01,0x40,0x54,0x15,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAB,0xEA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x55,0x40,0x40,0x50,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAB,0xFA,0xAA,0xAA,0xAB,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x55,0x40,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0xD5,0x55,0x55,0x5F,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAB,0xFE,0xAA,0xAA,0xAA,0xFF,0xFF,0xEA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x55,0x50,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0x55, +0x55,0x55,0x7F,0xFF,0xFF,0xFF,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF, +0xAA,0xAA,0xAB,0xFF,0xFF,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x54, +0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55, +0x55,0xFF,0xFF,0xFD,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xEA,0xAA, +0xAF,0xFF,0xFE,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0xFF, +0xFF,0xFD,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFA,0xAA,0xFF,0xFF, +0xEA,0xAA,0xAA,0xAF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0xFF,0xFF,0xF5, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFE,0xAB,0xFF,0xFF,0xEA,0xAA, +0xAA,0xBF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x50,0x00,0x15,0x50,0x15,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xD5,0x55,0x55,0x55,0x55,0xFF,0xFF,0xD5,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xAF,0xFF,0xFF,0xFA,0xAA,0xAA,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x40,0x00,0x05,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x5F,0xFF,0xFF,0xD5,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAA,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x04,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x00,0x54,0x00,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF, +0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA, +0xAB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xAF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55, +0x01,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0x55,0x55, +0x7F,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFA,0xAA,0xAB,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFE,0xAA,0xBF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x01,0x55, +0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0x55,0x5F,0xFF,0xFF, +0xFF,0xFF,0xD5,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFE,0xAA,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x01,0x55,0x01,0x55, +0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0x57,0xFF,0xFF,0xFF,0xFF,0xFD, +0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xAF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x01,0x55,0x01,0x55,0x55,0x55, +0x55,0x55,0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55, +0x55,0x55,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55, +0x55,0x55,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x55,0x55,0x55,0x55,0x55, +0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x57,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFD,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xF5,0x55,0x55,0x55,0x55,0x55,0x55,0x57,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0x55, +0x55,0x55,0x00,0x00,0x00,0x00,0x15,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,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,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,0x57,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, +0xFF,0xFF,0xFF,0xFF,0xFD,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55, +}; + + + + + + + + + + + + diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.c new file mode 100644 index 000000000..642b01b9a --- /dev/null +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.c @@ -0,0 +1,219 @@ +/***************************************************************************** +* | File : EPD_2in66g.c +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_2in66g.h" +#include "Debug.h" + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_2IN66g_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_2IN66g_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_2IN66g_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +static void EPD_2IN66g_ReadBusyH(void) +{ + Debug("e-Paper busy H\r\n"); + while(!DEV_Digital_Read(EPD_BUSY_PIN)) { //LOW: idle, HIGH: busy + DEV_Delay_ms(5); + } + Debug("e-Paper busy H release\r\n"); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_2IN66g_TurnOnDisplay(void) +{ + EPD_2IN66g_SendCommand(0x12); // DISPLAY_REFRESH + EPD_2IN66g_SendData(0x01); + EPD_2IN66g_ReadBusyH(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_2IN66g_Init(void) +{ + EPD_2IN66g_Reset(); + EPD_2IN66g_ReadBusyH(); + + EPD_2IN66g_SendCommand(0x4D); + EPD_2IN66g_SendData(0x78); + + EPD_2IN66g_SendCommand(0x00); //PSR + EPD_2IN66g_SendData(0x0F); + EPD_2IN66g_SendData(0x29); + + EPD_2IN66g_SendCommand(0x01); //PWRR + EPD_2IN66g_SendData(0x07); + EPD_2IN66g_SendData(0x00); + + EPD_2IN66g_SendCommand(0x03); //POFS + EPD_2IN66g_SendData(0x10); + EPD_2IN66g_SendData(0x54); + EPD_2IN66g_SendData(0x44); + + EPD_2IN66g_SendCommand(0x06); //BTST_P + EPD_2IN66g_SendData(0x05); + EPD_2IN66g_SendData(0x00); + EPD_2IN66g_SendData(0x3F); + EPD_2IN66g_SendData(0x0A); + EPD_2IN66g_SendData(0x25); + EPD_2IN66g_SendData(0x12); + EPD_2IN66g_SendData(0x1A); + + EPD_2IN66g_SendCommand(0x50); //CDI + EPD_2IN66g_SendData(0x37); + + EPD_2IN66g_SendCommand(0x60); //TCON + EPD_2IN66g_SendData(0x02); + EPD_2IN66g_SendData(0x02); + + EPD_2IN66g_SendCommand(0x61); //TRES + EPD_2IN66g_SendData(EPD_2IN66g_WIDTH/256); // Source_BITS_H + EPD_2IN66g_SendData(EPD_2IN66g_WIDTH%256); // Source_BITS_L + EPD_2IN66g_SendData(EPD_2IN66g_HEIGHT/256); // Gate_BITS_H + EPD_2IN66g_SendData(EPD_2IN66g_HEIGHT%256); // Gate_BITS_L + + EPD_2IN66g_SendCommand(0xE7); + EPD_2IN66g_SendData(0x1C); + + EPD_2IN66g_SendCommand(0xE3); + EPD_2IN66g_SendData(0x22); + + EPD_2IN66g_SendCommand(0xB4); + EPD_2IN66g_SendData(0xD0); + EPD_2IN66g_SendCommand(0xB5); + EPD_2IN66g_SendData(0x03); + + EPD_2IN66g_SendCommand(0xE9); + EPD_2IN66g_SendData(0x01); + + EPD_2IN66g_SendCommand(0x30); + EPD_2IN66g_SendData(0x08); + + EPD_2IN66g_SendCommand(0x04); + EPD_2IN66g_ReadBusyH(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_2IN66g_Clear(UBYTE color) +{ + UWORD Width, Height; + Width = (EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1); + Height = EPD_2IN66g_HEIGHT; + + EPD_2IN66g_SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN66g_SendData((color << 6) | (color << 4) | (color << 2) | color); + } + } + + EPD_2IN66g_TurnOnDisplay(); +} + +/****************************************************************************** +function : Sends the image buffer in RAM to e-Paper and displays +parameter: +******************************************************************************/ +void EPD_2IN66g_Display(UBYTE *Image) +{ + UWORD Width, Height; + Width = (EPD_2IN66g_WIDTH % 4 == 0)? (EPD_2IN66g_WIDTH / 4 ): (EPD_2IN66g_WIDTH / 4 + 1); + Height = EPD_2IN66g_HEIGHT; + + EPD_2IN66g_SendCommand(0x10); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN66g_SendData(Image[i + j * Width]); + } + } + + EPD_2IN66g_TurnOnDisplay(); +} + +/****************************************************************************** +function : Enter sleep mode +parameter: +******************************************************************************/ +void EPD_2IN66g_Sleep(void) +{ + EPD_2IN66g_SendCommand(0x02); // POWER_OFF + EPD_2IN66g_SendData(0X00); + EPD_2IN66g_ReadBusyH(); + + EPD_2IN66g_SendCommand(0x07); // DEEP_SLEEP + EPD_2IN66g_SendData(0XA5); +} + diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.h b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.h new file mode 100644 index 000000000..5a8217bd3 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in66g.h @@ -0,0 +1,51 @@ +/***************************************************************************** +* | File : EPD_2in66g.h +* | Author : Waveshare team +* | Function : 2.66inch e-Paper (G) +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-20 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#ifndef __EPD_2IN66g_H_ +#define __EPD_2IN66g_H_ + +#include "DEV_Config.h" + +// Display resolution +#define EPD_2IN66g_WIDTH 184 +#define EPD_2IN66g_HEIGHT 360 + +// Color +#define EPD_2IN66g_BLACK 0x0 +#define EPD_2IN66g_WHITE 0x1 +#define EPD_2IN66g_YELLOW 0x2 +#define EPD_2IN66g_RED 0x3 + +void EPD_2IN66g_Init(void); +void EPD_2IN66g_Clear(UBYTE color); +void EPD_2IN66g_Display(UBYTE *Image); +void EPD_2IN66g_Sleep(void); + +#endif diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c index 44f31baf5..395e6a747 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c @@ -98,7 +98,30 @@ unsigned char Gray4[159] = 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 0x24, 0x22, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON 0x22, 0x17, 0x41, 0xAE, 0x32, 0x28, //EOPT VGH VSH1 VSH2 VSL VCOM -}; +}; + +unsigned char WF_FULL[159] = +{ +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L0 1.00S +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L1 +0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L2 +0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //VS L4 +0x19, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group0 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group1 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group2 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group3 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group4 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group5 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group6 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group7 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group8 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group9 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group10 +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //TP, SR, RP of Group11 +0x24, 0x42, 0x22, 0x22, 0x23, 0x32, 0x00, 0x00, 0x00, //FR, XON +0x22, 0x17, 0x41, 0xAE, 0x32, 0x38, //EOPT VGH VSH1 VSH2 VSL VCOM +}; /****************************************************************************** function : Software reset @@ -266,6 +289,38 @@ void EPD_2IN9_V2_Init(void) EPD_2IN9_V2_LUT_by_host(WS_20_30); } +void EPD_2IN9_V2_Init_Fast(void) +{ + EPD_2IN9_V2_Reset(); + DEV_Delay_ms(100); + + EPD_2IN9_V2_ReadBusy(); + EPD_2IN9_V2_SendCommand(0x12); // soft reset + EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_SendCommand(0x01); //Driver output control + EPD_2IN9_V2_SendData(0x27); + EPD_2IN9_V2_SendData(0x01); + EPD_2IN9_V2_SendData(0x00); + + EPD_2IN9_V2_SendCommand(0x11); //data entry mode + EPD_2IN9_V2_SendData(0x03); + + EPD_2IN9_V2_SetWindows(0, 0, EPD_2IN9_V2_WIDTH-1, EPD_2IN9_V2_HEIGHT-1); + + EPD_2IN9_V2_SendCommand(0x3C); + EPD_2IN9_V2_SendData(0x05); + + EPD_2IN9_V2_SendCommand(0x21); // Display update control + EPD_2IN9_V2_SendData(0x00); + EPD_2IN9_V2_SendData(0x80); + + EPD_2IN9_V2_SetCursor(0, 0); + EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_LUT_by_host(WF_FULL); +} + void EPD_2IN9_V2_Gray4_Init(void) { EPD_2IN9_V2_Reset(); diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.h b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.h index 7074a8f96..dd4b0bdbe 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.h +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.h @@ -38,6 +38,7 @@ #define EPD_2IN9_V2_HEIGHT 296 void EPD_2IN9_V2_Init(void); +void EPD_2IN9_V2_Init_Fast(void); void EPD_2IN9_V2_Gray4_Init(void); void EPD_2IN9_V2_Clear(void); void EPD_2IN9_V2_Display(UBYTE *Image); diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.c new file mode 100644 index 000000000..9ecc59064 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.c @@ -0,0 +1,465 @@ +/***************************************************************************** +* | File : EPD_2in9b_V4.c +* | Author : Waveshare team +* | Function : 2.9inch e-paper b V4 +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_2in9b_V4.h" +#include "Debug.h" +#include + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_2IN9B_V4_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(200); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(200); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_2IN9B_V4_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_2IN9B_V4_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_ReadBusy(void) +{ + Debug("e-Paper busy\r\n"); + while(1) + { //=1 BUSY + if(DEV_Digital_Read(EPD_BUSY_PIN)==0) + break; + DEV_Delay_ms(50); + } + Debug("e-Paper busy release\r\n"); + DEV_Delay_ms(200); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_2IN9B_V4_TurnOnDisplay(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xF7); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Base(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xF4); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Partial(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0x1C); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +static void EPD_2IN9B_V4_TurnOnDisplay_Fast(void) +{ + EPD_2IN9B_V4_SendCommand(0x22); //Display Update Control + EPD_2IN9B_V4_SendData(0xC7); + EPD_2IN9B_V4_SendCommand(0x20); //Activate Display Update Sequence + EPD_2IN9B_V4_ReadBusy(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Init(void) +{ + EPD_2IN9B_V4_Reset(); + + EPD_2IN9B_V4_ReadBusy(); + EPD_2IN9B_V4_SendCommand(0x12); //SWRESET + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x01); //Driver output control + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x11); //data entry mode + EPD_2IN9B_V4_SendData(0x03); + + EPD_2IN9B_V4_SendCommand(0x44); //set Ram-X address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(EPD_2IN9B_V4_WIDTH/8-1); + + EPD_2IN9B_V4_SendCommand(0x45); //set Ram-Y address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + + EPD_2IN9B_V4_SendCommand(0x3C); //BorderWavefrom + EPD_2IN9B_V4_SendData(0x05); + + EPD_2IN9B_V4_SendCommand(0x21); // Display update control + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x18); //Read built-in temperature sensor + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X199; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_ReadBusy(); +} + +void EPD_2IN9B_V4_Init_Fast(void) +{ + EPD_2IN9B_V4_Reset(); + + EPD_2IN9B_V4_ReadBusy(); + EPD_2IN9B_V4_SendCommand(0x12); //SWRESET + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x18); //Read built-in temperature sensor + EPD_2IN9B_V4_SendData(0x80); + + EPD_2IN9B_V4_SendCommand(0x22); // Load temperature value + EPD_2IN9B_V4_SendData(0xB1); + EPD_2IN9B_V4_SendCommand(0x20); + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x1A); // Write to temperature register + EPD_2IN9B_V4_SendData(0x5a); // 90 + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x22); // Load temperature value + EPD_2IN9B_V4_SendData(0x91); + EPD_2IN9B_V4_SendCommand(0x20); + EPD_2IN9B_V4_ReadBusy(); + + EPD_2IN9B_V4_SendCommand(0x01); //Driver output control + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + EPD_2IN9B_V4_SendData(0x00); + + EPD_2IN9B_V4_SendCommand(0x11); //data entry mode + EPD_2IN9B_V4_SendData(0x03); + + EPD_2IN9B_V4_SendCommand(0x44); //set Ram-X address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(EPD_2IN9B_V4_WIDTH/8-1); + + EPD_2IN9B_V4_SendCommand(0x45); //set Ram-Y address start/end position + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)%256); + EPD_2IN9B_V4_SendData((EPD_2IN9B_V4_HEIGHT-1)/256); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X199; + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_SendData(0x00); + EPD_2IN9B_V4_ReadBusy(); + +} + + + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Clear(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay(); +} + +void EPD_2IN9B_V4_Clear_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Clear_Black_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0x00); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Clear_Red_Fast(void) +{ + UWORD Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + UWORD Height = EPD_2IN9B_V4_HEIGHT; + + //send black data + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + //send red data + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(0xFF); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +/****************************************************************************** +function : Sends the image buffer in RAM to e-Paper and displays +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Display(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay(); +} + +void EPD_2IN9B_V4_Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Fast(); +} + +void EPD_2IN9B_V4_Display_Base(const UBYTE *blackimage, const UBYTE *ryimage) +{ + UWORD Width, Height; + Width = (EPD_2IN9B_V4_WIDTH % 8 == 0)? (EPD_2IN9B_V4_WIDTH / 8 ): (EPD_2IN9B_V4_WIDTH / 8 + 1); + Height = EPD_2IN9B_V4_HEIGHT; + + EPD_2IN9B_V4_SendCommand(0x24); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(~ryimage[i + j * Width]); + } + } + + EPD_2IN9B_V4_TurnOnDisplay_Base(); + + EPD_2IN9B_V4_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_2IN9B_V4_SendData(blackimage[i + j * Width]); + } + } +} + +//Partial refresh display +void EPD_2IN9B_V4_Display_Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + if((Xstart % 8 + Xend % 8 == 8 && Xstart % 8 > Xend % 8) || Xstart % 8 + Xend % 8 == 0 || (Xend - Xstart)%8 == 0) + { + Xstart = Xstart / 8 ; + Xend = Xend / 8; + } + else + { + Xstart = Xstart / 8 ; + Xend = Xend % 8 == 0 ? Xend / 8 : Xend / 8 + 1; + } + + + UWORD i, Width; + Width = Xend - Xstart; + UWORD IMAGE_COUNTER = Width * (Yend-Ystart); + + Xend -= 1; + Yend -= 1; + + EPD_2IN9B_V4_SendCommand(0x44); // set RAM x address start/end, in page 35 + EPD_2IN9B_V4_SendData(Xstart & 0xff); // RAM x address start at 00h; + EPD_2IN9B_V4_SendData(Xend & 0xff); // RAM x address end at 0fh(15+1)*8->128 + EPD_2IN9B_V4_SendCommand(0x45); // set RAM y address start/end, in page 35 + EPD_2IN9B_V4_SendData(Ystart & 0xff); // RAM y address start at 0127h; + EPD_2IN9B_V4_SendData((Ystart>>8) & 0x01); // RAM y address start at 0127h; + EPD_2IN9B_V4_SendData(Yend & 0xff); // RAM y address end at 00h; + EPD_2IN9B_V4_SendData((Yend>>8) & 0x01); + + EPD_2IN9B_V4_SendCommand(0x4E); // set RAM x address count to 0; + EPD_2IN9B_V4_SendData(Xstart & 0xff); + EPD_2IN9B_V4_SendCommand(0x4F); // set RAM y address count to 0X127; + EPD_2IN9B_V4_SendData(Ystart & 0xff); + EPD_2IN9B_V4_SendData((Ystart>>8) & 0x01); + + + EPD_2IN9B_V4_SendCommand(0x24); //Write Black and White image to RAM + for (i = 0; i < IMAGE_COUNTER; i++) { + EPD_2IN9B_V4_SendData(Image[i]); + } + EPD_2IN9B_V4_TurnOnDisplay_Partial(); + +} + +/****************************************************************************** +function : Enter sleep mode +parameter: +******************************************************************************/ +void EPD_2IN9B_V4_Sleep(void) +{ + EPD_2IN9B_V4_SendCommand(0x10); //enter deep sleep + EPD_2IN9B_V4_SendData(0x01); + DEV_Delay_ms(100); +} diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.h b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.h new file mode 100644 index 000000000..70eb30518 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9b_V4.h @@ -0,0 +1,52 @@ +/***************************************************************************** +* | File : EPD_2in9b V4.h +* | Author : Waveshare team +* | Function : 2.9inch e-paper b V4 +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-18 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#ifndef __EPD_2IN9B_V4_H_ +#define __EPD_2IN9B_V4_H_ + +#include "DEV_Config.h" + +// Display resolution +#define EPD_2IN9B_V4_WIDTH 128 +#define EPD_2IN9B_V4_HEIGHT 296 + +void EPD_2IN9B_V4_Init(void); +void EPD_2IN9B_V4_Init_Fast(void); +void EPD_2IN9B_V4_Clear_Fast(void); +void EPD_2IN9B_V4_Clear_Black_Fast(void); +void EPD_2IN9B_V4_Clear_Red_Fast(void); +void EPD_2IN9B_V4_Clear(void); +void EPD_2IN9B_V4_Display(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Fast(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Base(const UBYTE *blackimage, const UBYTE *ryimage); +void EPD_2IN9B_V4_Display_Partial(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend); +void EPD_2IN9B_V4_Sleep(void); + +#endif diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_4in26.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_4in26.c new file mode 100644 index 000000000..a1d804bb9 --- /dev/null +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_4in26.c @@ -0,0 +1,547 @@ +/***************************************************************************** +* | File : EPD_4in26.c +* | Author : Waveshare team +* | Function : 4.26inch e-paper test demo +* | Info : +*---------------- +* | This version: V1.0 +* | Date : 2023-12-19 +* | Info : +* ----------------------------------------------------------------------------- +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documnetation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +******************************************************************************/ +#include "EPD_4in26.h" +#include "Debug.h" + +const unsigned char LUT_DATA_4Gray[112] = //112bytes +{ +0x80, 0x48, 0x4A, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x88, 0x48, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xA8, 0x48, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x1E, 0x1C, 0x02, 0x00, +0x05, 0x01, 0x05, 0x01, 0x02, +0x08, 0x01, 0x01, 0x04, 0x04, +0x00, 0x02, 0x00, 0x02, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, +0x22, 0x22, 0x22, 0x22, 0x22, +0x17, 0x41, 0xA8, 0x32, 0x30, +0x00, 0x00, +}; + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_4in26_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(100); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(100); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_4in26_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_4in26_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +static void EPD_4in26_SendData2(UBYTE *pData, UDOUBLE len) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_Write_nByte(pData, len); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +void EPD_4in26_ReadBusy(void) +{ + Debug("e-Paper busy\r\n"); + while(1) + { //=1 BUSY + if(DEV_Digital_Read(EPD_BUSY_PIN)==0) + break; + DEV_Delay_ms(20); + } + DEV_Delay_ms(20); + Debug("e-Paper busy release\r\n"); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_4in26_TurnOnDisplay(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xF7); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_Fast(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xC7); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_Part(void) +{ + EPD_4in26_SendCommand(0x22); //Display Update Control + EPD_4in26_SendData(0xFF); + EPD_4in26_SendCommand(0x20); //Activate Display Update Sequence + EPD_4in26_ReadBusy(); +} + +static void EPD_4in26_TurnOnDisplay_4GRAY(void) +{ + EPD_4in26_SendCommand(0x22); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendCommand(0x20); + EPD_4in26_ReadBusy(); +} + +/****************************************************************************** +function : set the look-up tables +parameter: +******************************************************************************/ +static void EPD_4in26_Lut(void) +{ + unsigned int count; + EPD_4in26_SendCommand(0x32); //vcom + for(count = 0; count < 105 ; count++) { + EPD_4in26_SendData(LUT_DATA_4Gray[count]); + } + + EPD_4in26_SendCommand(0x03); //VGH + EPD_4in26_SendData(LUT_DATA_4Gray[105]); + + EPD_4in26_SendCommand(0x04); // + EPD_4in26_SendData(LUT_DATA_4Gray[106]); //VSH1 + EPD_4in26_SendData(LUT_DATA_4Gray[107]); //VSH2 + EPD_4in26_SendData(LUT_DATA_4Gray[108]); //VSL + + EPD_4in26_SendCommand(0x2C); //VCOM Voltage + EPD_4in26_SendData(LUT_DATA_4Gray[109]); //0x1C +} + +/****************************************************************************** +function : Setting the display window +parameter: +******************************************************************************/ +static void EPD_4in26_SetWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + EPD_4in26_SendCommand(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + EPD_4in26_SendData(Xstart & 0xFF); + EPD_4in26_SendData((Xstart>>8) & 0x03); + EPD_4in26_SendData(Xend & 0xFF); + EPD_4in26_SendData((Xend>>8) & 0x03); + + EPD_4in26_SendCommand(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + EPD_4in26_SendData(Ystart & 0xFF); + EPD_4in26_SendData((Ystart>>8) & 0x03); + EPD_4in26_SendData(Yend & 0xFF); + EPD_4in26_SendData((Yend>>8) & 0x03); +} + +/****************************************************************************** +function : Set Cursor +parameter: +******************************************************************************/ +static void EPD_4in26_SetCursor(UWORD Xstart, UWORD Ystart) +{ + EPD_4in26_SendCommand(0x4E); // SET_RAM_X_ADDRESS_COUNTER + EPD_4in26_SendData(Xstart & 0xFF); + EPD_4in26_SendData((Xstart>>8) & 0x03); + + EPD_4in26_SendCommand(0x4F); // SET_RAM_Y_ADDRESS_COUNTER + EPD_4in26_SendData(Ystart & 0xFF); + EPD_4in26_SendData((Ystart>>8) & 0x03); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +void EPD_4in26_Init(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); +} + +void EPD_4in26_Init_Fast(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_HEIGHT-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); + + //TEMP (1.5s) + EPD_4in26_SendCommand(0x1A); + EPD_4in26_SendData(0x5A); + + EPD_4in26_SendCommand(0x22); + EPD_4in26_SendData(0x91); + EPD_4in26_SendCommand(0x20); + + EPD_4in26_ReadBusy(); +} + +void EPD_4in26_Init_4GRAY(void) +{ + EPD_4in26_Reset(); + DEV_Delay_ms(100); + + EPD_4in26_ReadBusy(); + EPD_4in26_SendCommand(0x12); //SWRESET + EPD_4in26_ReadBusy(); + + EPD_4in26_SendCommand(0x18); // use the internal temperature sensor + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x0C); //set soft start + EPD_4in26_SendData(0xAE); + EPD_4in26_SendData(0xC7); + EPD_4in26_SendData(0xC3); + EPD_4in26_SendData(0xC0); + EPD_4in26_SendData(0x80); + + EPD_4in26_SendCommand(0x01); // drive output control + EPD_4in26_SendData((EPD_4in26_WIDTH-1)%256); // Y + EPD_4in26_SendData((EPD_4in26_WIDTH-1)/256); // Y + EPD_4in26_SendData(0x02); + + EPD_4in26_SendCommand(0x3C); // Border Border setting + EPD_4in26_SendData(0x01); + + EPD_4in26_SendCommand(0x11); // data entry mode + EPD_4in26_SendData(0x01); // X-mode x+ y- + + EPD_4in26_SetWindows(0, EPD_4in26_HEIGHT-1, EPD_4in26_WIDTH-1, 0); + + EPD_4in26_SetCursor(0, 0); + + EPD_4in26_ReadBusy(); + + EPD_4in26_Lut(); +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_4in26_Clear(void) +{ + UWORD i; + UWORD height = EPD_4in26_HEIGHT; + UWORD width = EPD_4in26_WIDTH/8; + UBYTE image[EPD_4in26_WIDTH / 8] = {0x00}; + for(i=0; i + +UBYTE Voltage_Frame_7IN5_V2[]={ + 0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17, +}; + +UBYTE LUT_VCOM_7IN5_V2[]={ + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x0, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_WW_7IN5_V2[]={ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_BW_7IN5_V2[]={ + 0x10, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x20, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_WB_7IN5_V2[]={ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +UBYTE LUT_BB_7IN5_V2[]={ + 0x80, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x84, 0xF, 0x1, 0xF, 0x1, 0x2, + 0x40, 0xF, 0xF, 0x0, 0x0, 0x1, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +}; + +const unsigned char +Lut_all_fresh[]={0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, +//VCOM +0x00, 0x32, 0x32, 0x00, 0x00, 0x01, +0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x00, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WW +0x60, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x80, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BW +0x60, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x80, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WB +0x90, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x40, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BB +0x90, 0x32, 0x32, 0x00, 0x00, 0x01, +0x60, 0x0A, 0x0A, 0x00, 0x00, 0x00, +0x40, 0x28, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//Reserved +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, +}; + + + +const unsigned char +Lut_partial[]={0x67, 0xBF, 0x3F, 0x0D, 0x00, 0x1C, +//VCOM +0x00, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WW +0x20, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BW +0x80, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//WB +0x40, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//BB +0x00, 0x14, 0x02, 0x00, 0x00, 0x01, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +//Reserved +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, +}; + +/****************************************************************************** +function : Software reset +parameter: +******************************************************************************/ +static void EPD_Reset(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(20); +} + +/****************************************************************************** +function : send command +parameter: + Reg : Command register +******************************************************************************/ +static void EPD_SendCommand(UBYTE Reg) +{ + DEV_Digital_Write(EPD_DC_PIN, 0); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Reg); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : send data +parameter: + Data : Write data +******************************************************************************/ +static void EPD_SendData(UBYTE Data) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_WriteByte(Data); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +static void EPD_SendData2(UBYTE *pData, UDOUBLE len) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + DEV_SPI_Write_nByte(pData, len); + DEV_Digital_Write(EPD_CS_PIN, 1); +} + +/****************************************************************************** +function : Wait until the busy_pin goes LOW +parameter: +******************************************************************************/ +static void EPD_WaitUntilIdle(void) +{ + Debug("e-Paper busy\r\n"); + do{ + DEV_Delay_ms(5); + }while(!(DEV_Digital_Read(EPD_BUSY_PIN))); + DEV_Delay_ms(5); + Debug("e-Paper busy release\r\n"); +} + +static void EPD_7IN5_V2_LUT(UBYTE* lut_vcom, UBYTE* lut_ww, UBYTE* lut_bw, UBYTE* lut_wb, UBYTE* lut_bb) +{ + UBYTE count; + + EPD_SendCommand(0x20); //VCOM + for(count=0; count<42; count++) + EPD_SendData(lut_vcom[count]); + + EPD_SendCommand(0x21); //LUTBW + for(count=0; count<42; count++) + EPD_SendData(lut_ww[count]); + + EPD_SendCommand(0x22); //LUTBW + for(count=0; count<42; count++) + EPD_SendData(lut_bw[count]); + + EPD_SendCommand(0x23); //LUTWB + for(count=0; count<42; count++) + EPD_SendData(lut_wb[count]); + + EPD_SendCommand(0x24); //LUTBB + for(count=0; count<42; count++) + EPD_SendData(lut_bb[count]); +} + +/****************************************************************************** +function : Turn On Display +parameter: +******************************************************************************/ +static void EPD_7IN5_V2_TurnOnDisplay(void) +{ + EPD_SendCommand(0x12); //DISPLAY REFRESH + DEV_Delay_ms(100); //!!!The delay here is necessary, 200uS at least!!! + EPD_WaitUntilIdle(); +} + +/****************************************************************************** +function : Initialize the e-Paper register +parameter: +******************************************************************************/ +UBYTE EPD_7IN5_V2_Init(void) +{ + EPD_Reset(); + + // EPD_SendCommand(0x01); //POWER SETTING + // EPD_SendData(0x07); + // EPD_SendData(0x07); //VGH=20V,VGL=-20V + // EPD_SendData(0x3f); //VDH=15V + // EPD_SendData(0x3f); //VDL=-15V + + EPD_SendCommand(0x01); // power setting + EPD_SendData(0x17); // 1-0=11: internal power + EPD_SendData(*(Voltage_Frame_7IN5_V2+6)); // VGH&VGL + EPD_SendData(*(Voltage_Frame_7IN5_V2+1)); // VSH + EPD_SendData(*(Voltage_Frame_7IN5_V2+2)); // VSL + EPD_SendData(*(Voltage_Frame_7IN5_V2+3)); // VSHR + + EPD_SendCommand(0x82); // VCOM DC Setting + EPD_SendData(*(Voltage_Frame_7IN5_V2+4)); // VCOM + + EPD_SendCommand(0x06); // Booster Setting + EPD_SendData(0x27); + EPD_SendData(0x27); + EPD_SendData(0x2F); + EPD_SendData(0x17); + + EPD_SendCommand(0x30); // OSC Setting + EPD_SendData(*(Voltage_Frame_7IN5_V2+0)); // 2-0=100: N=4 ; 5-3=111: M=7 ; 3C=50Hz 3A=100HZ + + EPD_SendCommand(0x04); //POWER ON + DEV_Delay_ms(100); + EPD_WaitUntilIdle(); + + EPD_SendCommand(0X00); //PANNEL SETTING + EPD_SendData(0x3F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + + EPD_SendCommand(0x61); //tres + EPD_SendData(0x03); //source 800 + EPD_SendData(0x20); + EPD_SendData(0x01); //gate 480 + EPD_SendData(0xE0); + + EPD_SendCommand(0X15); + EPD_SendData(0x00); + + EPD_SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING + EPD_SendData(0x10); + EPD_SendData(0x00); + + EPD_SendCommand(0X60); //TCON SETTING + EPD_SendData(0x22); + + EPD_SendCommand(0x65); // Resolution setting + EPD_SendData(0x00); + EPD_SendData(0x00);//800*480 + EPD_SendData(0x00); + EPD_SendData(0x00); + + EPD_7IN5_V2_LUT(LUT_VCOM_7IN5_V2, LUT_WW_7IN5_V2, LUT_BW_7IN5_V2, LUT_WB_7IN5_V2, LUT_BB_7IN5_V2); + + return 0; +} + +void Epaper_LUT_By_MCU( UBYTE* wavedata) +{ + UBYTE count; + UBYTE VCEND,BDEND,EVS,XON,PLL; + + VCEND=wavedata[0]&0x08; + BDEND=(wavedata[1]&0xC0)>>6; + EVS=VCEND|BDEND; + PLL=(wavedata[0]&0xF0)>>4; + XON=wavedata[2]&0xC0; + + EPD_SendCommand(0x52); //EVS + EPD_SendData(EVS); + + EPD_SendCommand(0x30); //PLL setting + EPD_SendData(PLL); + + EPD_SendCommand(0x01); //Set VGH VGL VSH VSL VSHR + EPD_SendData (0x17); + EPD_SendData ((*wavedata++)&0x07); //VGH/VGL Voltage Level selection + EPD_SendData ((*wavedata++)&0x3F); //VSH for black + EPD_SendData ((*wavedata++)&0x3F); //VSL for white + EPD_SendData ((*wavedata++)&0x3F); //VSHR for red + + EPD_SendCommand(0x2A); //LUTOPT + EPD_SendData(XON); + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x82); //VCOM_DC setting + EPD_SendData (*wavedata++); //Vcom value + + + EPD_SendCommand(0x20); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x21); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x22); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x23); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + EPD_SendCommand(0x24); + for(count=0;count<42;count++) + EPD_SendData(*wavedata++); + + +} + +UBYTE EPD_7IN5_V2_Init2(void) +{ + EPD_Reset(); + + EPD_SendCommand(0x00); // Panel setting + EPD_SendData(0x3F); + + EPD_SendCommand(0x06); // Booster Setting + EPD_SendData(0x17); + EPD_SendData(0x17); + EPD_SendData(0x28); + EPD_SendData(0x18); + + EPD_SendCommand(0x50); // VCOM and DATA interval setting + EPD_SendData(0x22); + EPD_SendData(0x07); + + EPD_SendCommand(0x60); // TCON setting + EPD_SendData(0x22); // S-G G-S + + EPD_SendCommand(0x61); // Resolution setting + EPD_SendData(0x03);//800*480 + EPD_SendData(0x20); + EPD_SendData(0x01); + EPD_SendData(0xE0); + + EPD_SendCommand(0x65); // Resolution setting + EPD_SendData(0x00); + EPD_SendData(0x00); + EPD_SendData(0x00); + EPD_SendData(0x00); + + EPD_SendCommand(0x04); //POWER ON + DEV_Delay_ms(100); + EPD_WaitUntilIdle(); + + return 0; +} + +UBYTE EPD_7IN5_V2_Init_Fast(void) +{ + EPD_7IN5_V2_Init2(); + Epaper_LUT_By_MCU((UBYTE*)Lut_all_fresh); + return 0; +} + +UBYTE EPD_7IN5_V2_Init_Partial(void) +{ + EPD_7IN5_V2_Init2(); + Epaper_LUT_By_MCU((UBYTE*)Lut_partial); + return 0; +} + +/****************************************************************************** +function : Clear screen +parameter: +******************************************************************************/ +void EPD_7IN5_V2_Clear(void) +{ + UWORD Width, Height; + Width =(EPD_7IN5_V2_WIDTH % 8 == 0)?(EPD_7IN5_V2_WIDTH / 8 ):(EPD_7IN5_V2_WIDTH / 8 + 1); + Height = EPD_7IN5_V2_HEIGHT; + UBYTE image[EPD_7IN5_V2_WIDTH / 8] = {0x00}; + + UWORD i; + EPD_SendCommand(0x10); + for(i=0; i