From 452880de5273e0e42341dec484ff773d9de765b1 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Thu, 15 Jul 2021 15:11:46 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=20Speed=20up=20the=20refresh=20of=20some?= =?UTF-8?q?=20screens=20(experimental)=EF=BC=881.54=20v2=E3=80=812.13=20v3?= =?UTF-8?q?=E3=80=812.9=20v2=E3=80=817.5=20v2=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RaspberryPi_JetsonNano/c/Makefile | 2 +- .../c/examples/EPD_2in7_test.c | 7 +- .../c/examples/EPD_5in65f_test.c | 27 ++- .../c/lib/e-Paper/EPD_1in54_V2.c | 113 ++++++++--- .../c/lib/e-Paper/EPD_1in54_V2.h | 1 + .../c/lib/e-Paper/EPD_2in13_V3.c | 100 ++++++++- .../c/lib/e-Paper/EPD_2in9_V2.c | 58 +++++- .../c/lib/e-Paper/EPD_7in5_V2.c | 189 ++++++++++++++++-- RaspberryPi_JetsonNano/c/pic/2in7_Scale.bmp | Bin 23350 -> 23350 bytes .../python/examples/epd_2in9_V2_test.py | 1 + .../python/examples/epd_5in83b_V2_test.py | 4 +- .../python/examples/epd_7in5b_V2_test.py | 4 +- .../python/pic/2in7_Scale.bmp | Bin 23350 -> 23350 bytes .../python/pic/5.83_V2_0.bmp | Bin 0 -> 40382 bytes .../python/pic/Pico-ePaper-5.65.bmp | Bin 0 -> 806454 bytes .../python/pic/Pico_2in7.bmp | Bin 0 -> 23350 bytes 16 files changed, 432 insertions(+), 74 deletions(-) create mode 100644 RaspberryPi_JetsonNano/python/pic/5.83_V2_0.bmp create mode 100644 RaspberryPi_JetsonNano/python/pic/Pico-ePaper-5.65.bmp create mode 100644 RaspberryPi_JetsonNano/python/pic/Pico_2in7.bmp diff --git a/RaspberryPi_JetsonNano/c/Makefile b/RaspberryPi_JetsonNano/c/Makefile index 1d07247..a3edad5 100644 --- a/RaspberryPi_JetsonNano/c/Makefile +++ b/RaspberryPi_JetsonNano/c/Makefile @@ -14,7 +14,7 @@ JETSON_DEV_C = $(wildcard $(DIR_BIN)/sysfs_software_spi.o $(DIR_BIN)/sysfs_gpio. DEBUG = -D DEBUG USELIB_RPI = USE_BCM2835_LIB -# USELIB_RPI = USE_WIRINGPI_LIB +#USELIB_RPI = USE_WIRINGPI_LIB # USELIB_RPI = USE_DEV_LIB LIB_RPI=-Wl,--gc-sections diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_2in7_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_2in7_test.c index 2c67f19..7cb090c 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_2in7_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_2in7_test.c @@ -29,6 +29,7 @@ ******************************************************************************/ #include "EPD_Test.h" #include "EPD_2in7.h" +#include int EPD_2in7_test(void) { @@ -39,8 +40,12 @@ int EPD_2in7_test(void) printf("e-Paper Init and Clear...\r\n"); EPD_2IN7_Init(); + + struct timespec start={0,0}, finish={0,0}; + clock_gettime(CLOCK_REALTIME,&start); EPD_2IN7_Clear(); - DEV_Delay_ms(500); + clock_gettime(CLOCK_REALTIME,&finish); + printf("%ld S\r\n",finish.tv_sec-start.tv_sec); //Create a new image cache UBYTE *BlackImage; diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_5in65f_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_5in65f_test.c index 1e59680..2b3f9c6 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_5in65f_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_5in65f_test.c @@ -91,26 +91,25 @@ int EPD_5in65f_test(void) Paint_DrawString_EN(10, 20, "hello world", &Font12, EPD_5IN65F_WHITE, EPD_5IN65F_BLACK); Paint_DrawNum(10, 33, 123456789, &Font12, EPD_5IN65F_BLACK, EPD_5IN65F_WHITE); Paint_DrawNum(10, 50, 987654321, &Font16, EPD_5IN65F_WHITE, EPD_5IN65F_BLACK); - Paint_DrawString_CN(300, 0, "你好abc", &Font12CN, EPD_5IN65F_BLACK, EPD_5IN65F_WHITE); - Paint_DrawString_CN(300, 20, "你好abc", &Font12CN, EPD_5IN65F_GREEN, EPD_5IN65F_WHITE); - Paint_DrawString_CN(300, 40, "你好abc", &Font12CN, EPD_5IN65F_BLUE, EPD_5IN65F_WHITE); - Paint_DrawString_CN(300, 60, "你好abc", &Font12CN, EPD_5IN65F_RED, EPD_5IN65F_WHITE); - Paint_DrawString_CN(300, 80, "你好abc", &Font12CN, EPD_5IN65F_YELLOW, EPD_5IN65F_WHITE); - Paint_DrawString_CN(300, 100, "你好abc", &Font12CN, EPD_5IN65F_ORANGE, EPD_5IN65F_WHITE); - Paint_DrawString_CN(150, 0, "微雪电子", &Font24CN, EPD_5IN65F_WHITE, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 40, "微雪电子", &Font24CN, EPD_5IN65F_GREEN, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 80, "微雪电子", &Font24CN, EPD_5IN65F_BLUE, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 120, "微雪电子", &Font24CN, EPD_5IN65F_RED, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 160, "微雪电子", &Font24CN, EPD_5IN65F_YELLOW, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 200, "微雪电子", &Font24CN, EPD_5IN65F_ORANGE, EPD_5IN65F_BLACK); - Paint_DrawString_CN(150, 240, "微雪电子", &Font24CN, EPD_5IN65F_BLACK, EPD_5IN65F_YELLOW); + Paint_DrawString_CN(300, 0, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_BLACK, EPD_5IN65F_WHITE); + Paint_DrawString_CN(300, 20, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_GREEN, EPD_5IN65F_WHITE); + Paint_DrawString_CN(300, 40, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_BLUE, EPD_5IN65F_WHITE); + Paint_DrawString_CN(300, 60, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_RED, EPD_5IN65F_WHITE); + Paint_DrawString_CN(300, 80, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_YELLOW, EPD_5IN65F_WHITE); + Paint_DrawString_CN(300, 100, "锟斤拷锟絘bc", &Font12CN, EPD_5IN65F_ORANGE, EPD_5IN65F_WHITE); + Paint_DrawString_CN(150, 0, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_WHITE, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 40, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_GREEN, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 80, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_BLUE, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 120, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_RED, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 160, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_YELLOW, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 200, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_ORANGE, EPD_5IN65F_BLACK); + Paint_DrawString_CN(150, 240, "微雪锟斤拷锟斤拷", &Font24CN, EPD_5IN65F_BLACK, EPD_5IN65F_YELLOW); EPD_5IN65F_Display(BlackImage); DEV_Delay_ms(4000); #endif printf("e-Paper Clear...\r\n"); EPD_5IN65F_Clear(EPD_5IN65F_WHITE); - EPD_5IN65F_Clear(EPD_5IN65F_WHITE); DEV_Delay_ms(1000); printf("e-Paper Sleep...\r\n"); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c index d21d0a5..9d62011 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c @@ -30,14 +30,14 @@ #include "EPD_1in54_V2.h" #include "Debug.h" -const unsigned char WF_PARTIAL_1IN54[159] = +const unsigned char WF_PARTIAL_1IN54_0[159] = { 0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, -0xF,0x0,0x0,0x0,0x0,0x0,0x1, +0xF,0x0,0x0,0x0,0x0,0x0,0x0, 0x1,0x1,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0,0x0,0x0,0x0, @@ -53,6 +53,29 @@ const unsigned char WF_PARTIAL_1IN54[159] = 0x02,0x17,0x41,0xB0,0x32,0x28, }; +const unsigned char WF_PARTIAL_1IN54_1[159] = +{ +0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xA,0x0,0x0,0x0,0x0,0x0,0x1, +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,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +0x22,0x17,0x41,0x0,0x32,0x20, +}; + /****************************************************************************** function : Software reset parameter: @@ -101,7 +124,7 @@ static void EPD_1IN54_V2_ReadBusy(void) { Debug("e-Paper busy\r\n"); while(DEV_Digital_Read(EPD_BUSY_PIN) == 1) { //LOW: idle, HIGH: busy - DEV_Delay_ms(10); + DEV_Delay_ms(1); } Debug("e-Paper busy release\r\n"); } @@ -113,7 +136,7 @@ parameter: static void EPD_1IN54_V2_TurnOnDisplay(void) { EPD_1IN54_V2_SendCommand(0x22); - EPD_1IN54_V2_SendData(0xF7); + EPD_1IN54_V2_SendData(0xc7); EPD_1IN54_V2_SendCommand(0x20); EPD_1IN54_V2_ReadBusy(); } @@ -125,19 +148,38 @@ parameter: static void EPD_1IN54_V2_TurnOnDisplayPart(void) { EPD_1IN54_V2_SendCommand(0x22); - EPD_1IN54_V2_SendData(0xFF); + EPD_1IN54_V2_SendData(0xcF); EPD_1IN54_V2_SendCommand(0x20); EPD_1IN54_V2_ReadBusy(); } -static void EPD_1IN54_V2_SetLut(void) +static void EPD_1IN54_V2_Lut(UBYTE *lut) { EPD_1IN54_V2_SendCommand(0x32); for(UBYTE i=0; i<153; i++) - EPD_1IN54_V2_SendData(WF_PARTIAL_1IN54[i]); + EPD_1IN54_V2_SendData(lut[i]); EPD_1IN54_V2_ReadBusy(); } +static void EPD_1IN54_V2_SetLut(UBYTE *lut) +{ + EPD_1IN54_V2_Lut(lut); + + EPD_1IN54_V2_SendCommand(0x3f); + EPD_1IN54_V2_SendData(lut[153]); + + EPD_1IN54_V2_SendCommand(0x03); + EPD_1IN54_V2_SendData(lut[154]); + + EPD_1IN54_V2_SendCommand(0x04); + EPD_1IN54_V2_SendData(lut[155]); + EPD_1IN54_V2_SendData(lut[156]); + EPD_1IN54_V2_SendData(lut[157]); + + EPD_1IN54_V2_SendCommand(0x2c); + EPD_1IN54_V2_SendData(lut[158]); +} + static void EPD_1IN54_V2_SetWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) { EPD_1IN54_V2_SendCommand(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION @@ -211,6 +253,40 @@ void EPD_1IN54_V2_Init(void) EPD_1IN54_V2_ReadBusy(); } +/****************************************************************************** +function : Initialize the e-Paper register (Partial display) +parameter: +******************************************************************************/ +void EPD_1IN54_V2_Init_Partial(void) +{ + DEV_Digital_Write(EPD_RST_PIN, 0); + DEV_Delay_ms(2); + DEV_Digital_Write(EPD_RST_PIN, 1); + DEV_Delay_ms(5); + EPD_1IN54_V2_ReadBusy(); + + EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_0); + EPD_1IN54_V2_SendCommand(0x37); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x40); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + + EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom + EPD_1IN54_V2_SendData(0x80); + + EPD_1IN54_V2_SendCommand(0x22); + EPD_1IN54_V2_SendData(0xc0); + EPD_1IN54_V2_SendCommand(0x20); + EPD_1IN54_V2_ReadBusy(); +} + /****************************************************************************** function : Clear screen parameter: @@ -283,7 +359,7 @@ void EPD_1IN54_V2_DisplayPartBaseImage(UBYTE *Image) EPD_1IN54_V2_SendData(Image[Addr]); } } - EPD_1IN54_V2_TurnOnDisplayPart(); + EPD_1IN54_V2_TurnOnDisplay(); } /****************************************************************************** @@ -295,27 +371,6 @@ void EPD_1IN54_V2_DisplayPart(UBYTE *Image) UWORD Width, Height; Width = (EPD_1IN54_V2_WIDTH % 8 == 0)? (EPD_1IN54_V2_WIDTH / 8 ): (EPD_1IN54_V2_WIDTH / 8 + 1); Height = EPD_1IN54_V2_HEIGHT; - - DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(2); - DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(5); - - EPD_1IN54_V2_SetLut(); - EPD_1IN54_V2_SendCommand(0x37); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x40); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - - EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom - EPD_1IN54_V2_SendData(0x80); UDOUBLE Addr = 0; EPD_1IN54_V2_SendCommand(0x24); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.h b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.h index 83f39fb..be61804 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.h +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.h @@ -37,6 +37,7 @@ #define EPD_1IN54_V2_HEIGHT 200 void EPD_1IN54_V2_Init(void); +void EPD_1IN54_V2_Init_Partial(void); void EPD_1IN54_V2_Clear(void); void EPD_1IN54_V2_Display(UBYTE *Image); void EPD_1IN54_V2_DisplayPartBaseImage(UBYTE *Image); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in13_V3.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in13_V3.c index 55381e5..7680251 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in13_V3.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in13_V3.c @@ -31,6 +31,52 @@ #include "EPD_2in13_V3.h" #include "Debug.h" +UBYTE WF_PARTIAL_2IN13_V2[159] = +{ +0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x14,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,0x0,0x0,0x0,0x0,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,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +0x22,0x17,0x41,0x00,0x32,0x36, +}; + +UBYTE WS_20_30_2IN13_V2[159] = +{ +0x80, 0x4A, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x4A, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x80, 0x4A, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x4A, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0xF, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0xF, 0x0, 0x0, 0xF, 0x0, 0x0, 0x2, +0xF, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x36 +}; + /****************************************************************************** function : Software reset parameter: @@ -95,7 +141,7 @@ parameter: static void EPD_2in13_V3_TurnOnDisplay(void) { EPD_2in13_V3_SendCommand(0x22); //Display Update Control - EPD_2in13_V3_SendData(0xF7); + EPD_2in13_V3_SendData(0xc7); EPD_2in13_V3_SendCommand(0x20); //Activate Display Update Sequence EPD_2in13_V3_ReadBusy(); } @@ -103,11 +149,36 @@ static void EPD_2in13_V3_TurnOnDisplay(void) static void EPD_2in13_V3_TurnOnDisplay_Partial(void) { EPD_2in13_V3_SendCommand(0x22); //Display Update Control - EPD_2in13_V3_SendData(0xFF); + EPD_2in13_V3_SendData(0x0f); // c0/ff EPD_2in13_V3_SendCommand(0x20); //Activate Display Update Sequence EPD_2in13_V3_ReadBusy(); } +static void EPD_2IN13_V3_LUT(UBYTE *lut) +{ + UBYTE count; + EPD_2in13_V3_SendCommand(0x32); + for(count=0; count<153; count++) + EPD_2in13_V3_SendData(lut[count]); + EPD_2in13_V3_ReadBusy(); +} + +static void EPD_2IN13_V2_LUT_by_host(UBYTE *lut) +{ + EPD_2IN13_V3_LUT((UBYTE *)lut); //lut + EPD_2in13_V3_SendCommand(0x3f); + EPD_2in13_V3_SendData(*(lut+153)); + EPD_2in13_V3_SendCommand(0x03); // gate voltage + EPD_2in13_V3_SendData(*(lut+154)); + EPD_2in13_V3_SendCommand(0x04); // source voltage + EPD_2in13_V3_SendData(*(lut+155)); // VSH + EPD_2in13_V3_SendData(*(lut+156)); // VSH2 + EPD_2in13_V3_SendData(*(lut+157)); // VSL + EPD_2in13_V3_SendCommand(0x2c); // VCOM + EPD_2in13_V3_SendData(*(lut+158)); + +} + /****************************************************************************** function : Setting the display window parameter: @@ -178,6 +249,8 @@ void EPD_2in13_V3_Init(void) EPD_2in13_V3_SetCursor(0, 0); EPD_2in13_V3_ReadBusy(); + + EPD_2IN13_V2_LUT_by_host(WS_20_30_2IN13_V2); } /****************************************************************************** @@ -233,12 +306,31 @@ void EPD_2in13_V3_Display_Partial(UBYTE *Image) //Reset DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(5); + DEV_Delay_ms(2); DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(10); + DEV_Delay_ms(3); + + EPD_2IN13_V2_LUT_by_host(WF_PARTIAL_2IN13_V2); + + EPD_2in13_V3_SendCommand(0x37); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x40); ///RAM Ping-Pong enable + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); + EPD_2in13_V3_SendData(0x00); EPD_2in13_V3_SendCommand(0x3C); //BorderWavefrom EPD_2in13_V3_SendData(0x80); + + EPD_2in13_V3_SendCommand(0x22); //Display Update Sequence Option + EPD_2in13_V3_SendData(0xC0); // Enable clock and Enable analog + EPD_2in13_V3_SendCommand(0x20); //Activate Display Update Sequence + EPD_2in13_V3_ReadBusy(); EPD_2in13_V3_SetWindows(0, 0, EPD_2in13_V3_WIDTH-1, 296-1); EPD_2in13_V3_SetCursor(0, 0); 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 fa8c708..c3df139 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_2in9_V2.c @@ -54,6 +54,29 @@ UBYTE _WF_PARTIAL_2IN9[159] = 0x22,0x17,0x41,0xB0,0x32,0x36, }; +UBYTE WS_20_30[159] = +{ +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, +0xA, 0xA, 0x0, 0xA, 0xA, 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, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x1, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x36 +}; + /****************************************************************************** function : Software reset parameter: @@ -61,11 +84,11 @@ parameter: static void EPD_2IN9_V2_Reset(void) { DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(100); + DEV_Delay_ms(10); DEV_Digital_Write(EPD_RST_PIN, 0); DEV_Delay_ms(2); DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(100); + DEV_Delay_ms(10); } /****************************************************************************** @@ -111,15 +134,31 @@ void EPD_2IN9_V2_ReadBusy(void) Debug("e-Paper busy release\r\n"); } -static void EPD_2IN9_V2_LUT(void) +static void EPD_2IN9_V2_LUT(UBYTE *lut) { UBYTE count; EPD_2IN9_V2_SendCommand(0x32); for(count=0; count<153; count++) - EPD_2IN9_V2_SendData(_WF_PARTIAL_2IN9[count]); + EPD_2IN9_V2_SendData(lut[count]); EPD_2IN9_V2_ReadBusy(); } +static void EPD_2IN9_V2_LUT_by_host(UBYTE *lut) +{ + EPD_2IN9_V2_LUT((UBYTE *)lut); //lut + EPD_2IN9_V2_SendCommand(0x3f); + EPD_2IN9_V2_SendData(*(lut+153)); + EPD_2IN9_V2_SendCommand(0x03); // gate voltage + EPD_2IN9_V2_SendData(*(lut+154)); + EPD_2IN9_V2_SendCommand(0x04); // source voltage + EPD_2IN9_V2_SendData(*(lut+155)); // VSH + EPD_2IN9_V2_SendData(*(lut+156)); // VSH2 + EPD_2IN9_V2_SendData(*(lut+157)); // VSL + EPD_2IN9_V2_SendCommand(0x2c); // VCOM + EPD_2IN9_V2_SendData(*(lut+158)); + +} + /****************************************************************************** function : Turn On Display parameter: @@ -127,7 +166,7 @@ parameter: static void EPD_2IN9_V2_TurnOnDisplay(void) { EPD_2IN9_V2_SendCommand(0x22); //Display Update Control - EPD_2IN9_V2_SendData(0xF7); + EPD_2IN9_V2_SendData(0xc7); EPD_2IN9_V2_SendCommand(0x20); //Activate Display Update Sequence EPD_2IN9_V2_ReadBusy(); } @@ -200,6 +239,8 @@ void EPD_2IN9_V2_Init(void) EPD_2IN9_V2_SetCursor(0, 0); EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_LUT_by_host(WS_20_30); } /****************************************************************************** @@ -209,6 +250,7 @@ parameter: void EPD_2IN9_V2_Clear(void) { UWORD i; + EPD_2IN9_V2_SendCommand(0x24); //write RAM for black(0)/white (1) for(i=0;i<4736;i++) { @@ -255,11 +297,11 @@ void EPD_2IN9_V2_Display_Partial(UBYTE *Image) //Reset DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(5); + DEV_Delay_ms(1); DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(10); + DEV_Delay_ms(2); - EPD_2IN9_V2_LUT(); + EPD_2IN9_V2_LUT(_WF_PARTIAL_2IN9); EPD_2IN9_V2_SendCommand(0x37); EPD_2IN9_V2_SendData(0x00); EPD_2IN9_V2_SendData(0x00); diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c index e1dfcef..79b59a7 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c @@ -31,6 +31,125 @@ #include "EPD_7in5_V2.h" #include "Debug.h" + +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, +}; + + + +UBYTE lut_vcomDC_7IN5_V2[] ={ + 0x00, 0x15, 0x19, 0x00, 0x00, 0x01, + 0x00, 0x19, 0x01, 0x19, 0x01, 0x02, + 0x00, 0x06, 0x01, 0x05, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +UBYTE lut_ww_7IN5_V2[] ={ + 0x04, 0x14, 0x01, 0x18, 0x01, 0x01, + 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, + 0x80, 0x06, 0x01, 0x05, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +UBYTE lut_bw_7IN5_V2[] ={ + 0x04, 0x14, 0x01, 0x18, 0x01, 0x01, + 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, + 0x80, 0x06, 0x01, 0x05, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +UBYTE lut_wb_7IN5_V2[] ={ + 0x80, 0x14, 0x01, 0x18, 0x01, 0x01, + 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, + 0x04, 0x06, 0x01, 0x05, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + +UBYTE lut_bb_7IN5_V2[] ={ + 0x80, 0x14, 0x01, 0x18, 0x01, 0x01, + 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, + 0x04, 0x06, 0x01, 0x05, 0x01, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; + /****************************************************************************** function : Software reset parameter: @@ -38,11 +157,11 @@ parameter: static void EPD_Reset(void) { DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(200); + 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(200); + DEV_Delay_ms(20); } /****************************************************************************** @@ -79,20 +198,43 @@ static void EPD_WaitUntilIdle(void) { Debug("e-Paper busy\r\n"); do{ - EPD_SendCommand(0x71); - DEV_Delay_ms(20); + DEV_Delay_ms(5); }while(!(DEV_Digital_Read(EPD_BUSY_PIN))); - DEV_Delay_ms(20); + 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<60; count++) + EPD_SendData(lut_vcom[count]); + + EPD_SendCommand(0x21); //LUTBW + for(count=0; count<60; count++) + EPD_SendData(lut_ww[count]); + + EPD_SendCommand(0x22); //LUTBW + for(count=0; count<60; count++) + EPD_SendData(lut_bw[count]); + + EPD_SendCommand(0x23); //LUTWB + for(count=0; count<60; count++) + EPD_SendData(lut_wb[count]); + + EPD_SendCommand(0x24); //LUTBB + for(count=0; count<60; 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(); @@ -106,18 +248,37 @@ 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(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(0x1F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + EPD_SendData(0x3F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f EPD_SendCommand(0x61); //tres EPD_SendData(0x03); //source 800 @@ -141,6 +302,8 @@ UBYTE EPD_7IN5_V2_Init(void) 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; } @@ -193,7 +356,7 @@ void EPD_7IN5_V2_Display(const UBYTE *blackimage) UDOUBLE 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; - + EPD_SendCommand(0x10); for (UDOUBLE j = 0; j < Height; j++) { for (UDOUBLE i = 0; i < Width; i++) { diff --git a/RaspberryPi_JetsonNano/c/pic/2in7_Scale.bmp b/RaspberryPi_JetsonNano/c/pic/2in7_Scale.bmp index 499f3c7b818f489e216f981f7114e6354c0cf779..98b422d8047ee2f2286d1ae3444310c78fc0e6d7 100644 GIT binary patch literal 23350 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 I@sG&;5BZM(#Q*>R literal 23350 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 diff --git a/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py index 09960fa..2d94a01 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_2in9_V2_test.py @@ -41,6 +41,7 @@ try: 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) + # Himage = Himage.transpose(method=Image.ROTATE_180) epd.display(epd.getbuffer(Himage)) time.sleep(2) diff --git a/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py index 7c05f10..6ffa112 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_5in83b_V2_test.py @@ -36,7 +36,7 @@ try: drawblack = ImageDraw.Draw(HBlackimage) drawry = ImageDraw.Draw(HRYimage) drawblack.text((10, 0), 'hello world', font = font24, fill = 0) - drawblack.text((10, 20), '5.83inch e-Paper bc', font = font24, fill = 0) + drawblack.text((10, 20), '5.83inch e-Paper b V2', 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) @@ -57,7 +57,7 @@ try: drawry = ImageDraw.Draw(LRYimage) drawblack.text((2, 0), 'hello world', font = font18, fill = 0) - drawblack.text((2, 20), '5.83inch epd bc', font = font18, fill = 0) + drawblack.text((2, 20), '5.83inch epd b V2', 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) diff --git a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py index 2002cef..096e762 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py @@ -67,8 +67,8 @@ try: time.sleep(2) logging.info("3.read bmp file") - Himage = Image.open(os.path.join(picdir, '7in5_V2_r.bmp')) - Himage_Other = Image.open(os.path.join(picdir, '7in5_V2_b.bmp')) + Himage = Image.open(os.path.join(picdir, '7in5_V2_b.bmp')) + Himage_Other = Image.open(os.path.join(picdir, '7in5_V2_r.bmp')) epd.display(epd.getbuffer(Himage),epd.getbuffer(Himage_Other)) time.sleep(2) diff --git a/RaspberryPi_JetsonNano/python/pic/2in7_Scale.bmp b/RaspberryPi_JetsonNano/python/pic/2in7_Scale.bmp index 499f3c7b818f489e216f981f7114e6354c0cf779..98b422d8047ee2f2286d1ae3444310c78fc0e6d7 100644 GIT binary patch literal 23350 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 I@sG&;5BZM(#Q*>R literal 23350 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 diff --git a/RaspberryPi_JetsonNano/python/pic/5.83_V2_0.bmp b/RaspberryPi_JetsonNano/python/pic/5.83_V2_0.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6b60a013f48542cbd10f18f63dc8ee2f243f423c GIT binary patch literal 40382 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 AhyVZp literal 0 HcmV?d00001 diff --git a/RaspberryPi_JetsonNano/python/pic/Pico-ePaper-5.65.bmp b/RaspberryPi_JetsonNano/python/pic/Pico-ePaper-5.65.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f0d5b00295c762cc335dc60f69b9b16a5c737904 GIT binary patch literal 806454 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

YzSLLi_`bB) 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

8}>(<$4nHGv-7FyKXE*rU{ zZhZO6U*?%#HOH;Y#zcab1?0$DC`Ya(V5iW)T6BRY<;#lhXxNyd`{xJk1m*1P=JY_q zt)3-B5b7C>&nVCdtIo$N*90_}ORXa|F%n8z6A8_KlC&sO70)e{WLq?;WOE6??loG1n}86AIKZOJm|>-iV5f`5V3v5s z$Zh}ppoh#Q59o2C{i7Y?&wu`No`+Swi^a_d3rTJ%Zlx;yM5N-|#hg?U6+2jovMyx$ z*S6%_$Yfm6;v8dwc-3JsMEQ;4BTol3s;$drNKVYAd8#V-NxwQ2QRQqNQ#U!0idWid zRZ*8^w#aN+&^6cI!(R=l43Ku);9t?`NSj(Jf*x9BQB_?s!`6y0n-g|PSfB}IHilL~ z-6K90x3P*4nYK(zSS;bR;zWXkND-lk$mSLyPKAqA)Fp$=KuA>DM70ezL0Svx(wHX6 zqYBY#n@y4|#h?1;2XTK~(b;jU!Jwz#?Ezt93Ie!Xpei-rHh~D9x@>hLo5(5sR7g#; zva%%BB1<+;EcB9`=C@HSoI*fi-O6l(L^+9x<|fOk39gHMEGE(mGR?P>u0Vy&_6@R>c}j{p4&yn69Skc}&!0=<33Y>fYjJbrAvV zv36*9qEflSswMEmjC6*QR9lV-OLGhs%1G(ONPhCK=I=Kljk2VXF7fmPpGGPg#m9nM z^58VGs&0J${Gi8u@_nUSBJqa$i4U%^yRZsWgt2OTB7-mzL5cDhEH;Md4+<~|YDYtW>KTg(t>5Qe?CW+2&m zMJObm3tfcRK&W_V2>n#Gg!o23RhgT|SdQ(19}rxN#GtTG;MBDcdu)S{smoS3Qs~wF zsppZgn1rFio-68JVE_DJF&s>RJfK{jLPxTEl<(73!J%qZBTJc8^)s83C>~~46=+A6 zge>-!giaf2>D5o}>lQ05GFWUilAmO}cnC#APUyOkC7!l!CD1KPHYhaC64*p_=_hVW zG3}b<}j33YM~8~5E-dRn^%&*1WdI7R!t07wBP3S z&>o9ImsOikq|C7PNSITEIdyB{CAKEFPJ$?|5~piaj3}`zALzigB^j1-q(ga03puHd`5()>2?fd?L7DKZQG*IH{WjAVC!Y{*Wq#UjgW z8G(#IMj#{5TLhTXKKI;nIX&`w-}~OonKK~>dvzi0oO8}$^$TCj*?H%kIZ4KA`N)L_ z<~Tvqz0F;gmJ!GZWCSt-8G$AUXtq{9s85~U|UH&LA zs_??0>;&uLmLoF)8G(#IMqtSx;DMMOQ*ZU+`;crcCE-zNBc4){e47!-2xJ5@0vUmx zBOreyPZURRy;X#KsX%PhqH$txb!BN8fs8;#AR~|w$OvQvG6ETaj6g;pBajiu2xJ5@ z0vUmfKt>=VkP*lTWCSt-8G(#IMj#`Q5y%K+1Tq2{fs8;#AR~|w$OvQvG6ETaj6g;p nBajiu2xJ5@0vUmfKt>=VkP*lTWCSt-8G(#IMj#`w3?cA;E}o#? literal 0 HcmV?d00001 diff --git a/RaspberryPi_JetsonNano/python/pic/Pico_2in7.bmp b/RaspberryPi_JetsonNano/python/pic/Pico_2in7.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cefc3432d4607ba1ee5143b63f70492279b9ffc9 GIT binary patch literal 23350 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 L<7XcJ|MKu}#7KFr literal 0 HcmV?d00001 From 07230521f9bc34a59ebee9d636d060d02154af16 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Fri, 16 Jul 2021 14:46:14 +0800 Subject: [PATCH 2/6] The 1in54_V2 program uses external waveform, Improved refresh speed and compatibility --- .../c/examples/EPD_1in54_V2_test.c | 11 +- .../c/lib/e-Paper/EPD_1in54_V2.c | 53 +++-- .../python/examples/epd_1in54_V2_test.py | 5 +- .../python/lib/waveshare_epd/epd1in54_V2.py | 220 ++++++++++++++---- RaspberryPi_JetsonNano/python/pic/4in2_1.bmp | Bin 0 -> 60120 bytes RaspberryPi_JetsonNano/python/pic/4in2_B.bmp | Bin 0 -> 15664 bytes .../python/pic/4in2_Pico.bmp | Bin 0 -> 60120 bytes RaspberryPi_JetsonNano/python/pic/4in2_R.bmp | Bin 0 -> 15664 bytes .../python/pic/Pico-ePaper-5.65.bmp | Bin 806454 -> 806456 bytes 9 files changed, 212 insertions(+), 77 deletions(-) create mode 100644 RaspberryPi_JetsonNano/python/pic/4in2_1.bmp create mode 100644 RaspberryPi_JetsonNano/python/pic/4in2_B.bmp create mode 100644 RaspberryPi_JetsonNano/python/pic/4in2_Pico.bmp create mode 100644 RaspberryPi_JetsonNano/python/pic/4in2_R.bmp diff --git a/RaspberryPi_JetsonNano/c/examples/EPD_1in54_V2_test.c b/RaspberryPi_JetsonNano/c/examples/EPD_1in54_V2_test.c index 800b496..d1a8343 100644 --- a/RaspberryPi_JetsonNano/c/examples/EPD_1in54_V2_test.c +++ b/RaspberryPi_JetsonNano/c/examples/EPD_1in54_V2_test.c @@ -114,23 +114,24 @@ int EPD_1in54_V2_test(void) Paint_DrawString_CN(5, 155, "微雪电子", &Font24CN, WHITE, BLACK); EPD_1IN54_V2_Display(BlackImage); + DEV_Delay_ms(2000); #endif #if 1 //Partial refresh, example shows time - // The image of the previous frame must be uploaded, otherwise the // first few seconds will display an exception. - EPD_1IN54_V2_Init(); - EPD_1IN54_V2_DisplayPartBaseImage(BlackImage); - + EPD_1IN54_V2_DisplayPartBaseImage(BlackImage); + + // enter partial mode + EPD_1IN54_V2_Init_Partial(); printf("Partial refresh\r\n"); Paint_SelectImage(BlackImage); PAINT_TIME sPaint_time; sPaint_time.Hour = 12; sPaint_time.Min = 34; sPaint_time.Sec = 56; - UBYTE num = 20; + UBYTE num = 15; for (;;) { sPaint_time.Sec = sPaint_time.Sec + 1; if (sPaint_time.Sec == 60) { diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c index 9d62011..c448037 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_1in54_V2.c @@ -30,7 +30,32 @@ #include "EPD_1in54_V2.h" #include "Debug.h" -const unsigned char WF_PARTIAL_1IN54_0[159] = +// waveform full refresh +unsigned char WF_Full_1IN54[159] = +{ +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x8, 0x1, 0x0, 0x8, 0x1, 0x0, 0x2, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x20 +}; + +// waveform partial refresh(fast) +unsigned char WF_PARTIAL_1IN54_0[159] = { 0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, @@ -53,7 +78,8 @@ const unsigned char WF_PARTIAL_1IN54_0[159] = 0x02,0x17,0x41,0xB0,0x32,0x28, }; -const unsigned char WF_PARTIAL_1IN54_1[159] = +// waveform partial refresh(quality) +unsigned char WF_PARTIAL_1IN54_1[159] = { 0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, @@ -223,15 +249,6 @@ void EPD_1IN54_V2_Init(void) EPD_1IN54_V2_SendCommand(0x11); //data entry mode EPD_1IN54_V2_SendData(0x01); - // EPD_1IN54_V2_SendCommand(0x44); //set Ram-X address start/end position - // EPD_1IN54_V2_SendData(0x00); - // EPD_1IN54_V2_SendData(0x18); //0x0C-->(18+1)*8=200 - - // EPD_1IN54_V2_SendCommand(0x45); //set Ram-Y address start/end position - // EPD_1IN54_V2_SendData(0xC7); //0xC7-->(199+1)=200 - // EPD_1IN54_V2_SendData(0x00); - // EPD_1IN54_V2_SendData(0x00); - // EPD_1IN54_V2_SendData(0x00); EPD_1IN54_V2_SetWindows(0, EPD_1IN54_V2_HEIGHT-1, EPD_1IN54_V2_WIDTH-1, 0); EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom @@ -244,13 +261,10 @@ void EPD_1IN54_V2_Init(void) EPD_1IN54_V2_SendData(0XB1); EPD_1IN54_V2_SendCommand(0x20); - // EPD_1IN54_V2_SendCommand(0x4E); // set RAM x address count to 0; - // EPD_1IN54_V2_SendData(0x00); - // EPD_1IN54_V2_SendCommand(0x4F); // set RAM y address count to 0X199; - // EPD_1IN54_V2_SendData(0xC7); - // EPD_1IN54_V2_SendData(0x00); EPD_1IN54_V2_SetCursor(0, EPD_1IN54_V2_HEIGHT-1); EPD_1IN54_V2_ReadBusy(); + + EPD_1IN54_V2_SetLut(WF_Full_1IN54); } /****************************************************************************** @@ -259,13 +273,10 @@ parameter: ******************************************************************************/ void EPD_1IN54_V2_Init_Partial(void) { - DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(2); - DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(5); + EPD_1IN54_V2_Reset(); EPD_1IN54_V2_ReadBusy(); - EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_0); + EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_1); EPD_1IN54_V2_SendCommand(0x37); EPD_1IN54_V2_SendData(0x00); EPD_1IN54_V2_SendData(0x00); diff --git a/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py b/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py index 8f09aca..3ba5589 100644 --- a/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py +++ b/RaspberryPi_JetsonNano/python/examples/epd_1in54_V2_test.py @@ -21,7 +21,7 @@ try: epd = epd1in54_V2.EPD() logging.info("init and Clear") - epd.init() + epd.init(0) epd.Clear(0xFF) time.sleep(1) @@ -67,6 +67,7 @@ try: # Image.new('1', (epd.width, epd.height), 255) epd.displayPartBaseImage(epd.getbuffer(time_image)) + epd.init(1) # into partial refresh mode time_draw = ImageDraw.Draw(time_image) num = 0 while (True): @@ -80,7 +81,7 @@ try: break logging.info("Clear...") - epd.init() + epd.init(0) epd.Clear(0xFF) logging.info("Goto Sleep...") diff --git a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py index 64e1610..f28d6ba 100644 --- a/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py +++ b/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epd1in54_V2.py @@ -43,6 +43,75 @@ class EPD: self.width = EPD_WIDTH self.height = EPD_HEIGHT + # waveform full refresh + WF_Full_1IN54 = [ + 0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x8, 0x1, 0x0, 0x8, 0x1, 0x0, 0x2, + 0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, + 0x22, 0x17, 0x41, 0x0, 0x32, 0x20 + ] + + # waveform partial refresh(fast) + WF_PARTIAL_1IN54_0 = [ + 0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0xF,0x0,0x0,0x0,0x0,0x0,0x0, + 0x1,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,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, + 0x02,0x17,0x41,0xB0,0x32,0x28, + ] + + # waveform partial refresh(quality) + WF_PARTIAL_1IN54_1 = [ + 0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0xA,0x0,0x0,0x0,0x0,0x0,0x1, + 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,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x0,0x0,0x0,0x0,0x0,0x0,0x0, + 0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, + 0x22,0x17,0x41,0x0,0x32,0x20, + ] + # Hardware reset def reset(self): epdconfig.digital_write(self.reset_pin, 1) @@ -72,62 +141,123 @@ class EPD: def TurnOnDisplay(self): self.send_command(0x22) # DISPLAY_UPDATE_CONTROL_2 - self.send_data(0xF7) + self.send_data(0xc7) self.send_command(0x20) # MASTER_ACTIVATION self.ReadBusy() def TurnOnDisplayPart(self): self.send_command(0x22) # DISPLAY_UPDATE_CONTROL_2 - self.send_data(0xFF) + self.send_data(0xcF) self.send_command(0x20) # MASTER_ACTIVATION self.ReadBusy() - def init(self): + def lut(self, lut): + self.send_command(0x32) # WRITE_LUT_REGISTER + for i in range(0, len(lut)): + self.send_data(lut[i]) + + def set_lut(self, lut): + self.lut(lut) + + self.send_command(0x3f) + self.send_data(lut[153]) + + self.send_command(0x03) + self.send_data(lut[154]) + + self.send_command(0x04) + self.send_data(lut[155]) + self.send_data(lut[156]) + self.send_data(lut[157]) + + self.send_command(0x2c) + self.send_data(lut[158]) + + def SetWindows(self, Xstart, Ystart, Xend, Yend): + self.send_command(0x44); # SET_RAM_X_ADDRESS_START_END_POSITION + self.send_data((Xstart>>3) & 0xFF); + self.send_data((Xend>>3) & 0xFF); + + self.send_command(0x45); # SET_RAM_Y_ADDRESS_START_END_POSITION + self.send_data(Ystart & 0xFF); + self.send_data((Ystart >> 8) & 0xFF); + self.send_data(Yend & 0xFF); + self.send_data((Yend >> 8) & 0xFF); + + + def SetCursor(self, Xstart, Ystart): + self.send_command(0x4E); # SET_RAM_X_ADDRESS_COUNTER + self.send_data(Xstart & 0xFF); + + self.send_command(0x4F); # SET_RAM_Y_ADDRESS_COUNTER + self.send_data(Ystart & 0xFF); + self.send_data((Ystart >> 8) & 0xFF); + + def init(self, isPartial): if (epdconfig.module_init() != 0): return -1 - # EPD hardware init start - self.reset() + if(isPartial): + logging.debug("full refresh") + self.reset() + self.ReadBusy() + + self.set_lut(self.WF_PARTIAL_1IN54_0) + + self.send_command(0x37) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x40) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + self.send_data(0x00) + + self.send_command(0x3c) # BorderWavefrom + self.send_data(0x80) + + self.send_command(0x22) + self.send_data(0xc0) + self.send_command(0x20) + self.ReadBusy() - self.ReadBusy() - self.send_command(0x12) # SWRESET - self.ReadBusy() - - self.send_command(0x01) # DRIVER_OUTPUT_CONTROL - self.send_data(0xC7) # (EPD_HEIGHT - 1) & 0xFF - self.send_data(0x00) # ((EPD_HEIGHT - 1) >> 8) & 0xFF - self.send_data(0x01) # GD = 0 SM = 0 TB = 0 - - self.send_command(0x11) # data entry mode - self.send_data(0x01) - - self.send_command(0x44) # set Ram-X address start/end position - self.send_data(0x00) - self.send_data(0x18) # 0x0C-->(18+1)*8=200 - - self.send_command(0x45) # set Ram-Y address start/end position - self.send_data(0xC7) # 0xC7-->(199+1)=200 - self.send_data(0x00) - self.send_data(0x00) - self.send_data(0x00) + else: + logging.debug("partial refresh") + # EPD hardware init start + self.reset() + + self.ReadBusy() + self.send_command(0x12) # SWRESET (software reset) + self.ReadBusy() + + self.send_command(0x01) # DRIVER_OUTPUT_CONTROL + self.send_data(0xC7) # (EPD_HEIGHT - 1) & 0xFF + self.send_data(0x00) # ((EPD_HEIGHT - 1) >> 8) & 0xFF + self.send_data(0x01) # GD = 0 SM = 0 TB = 0 + + self.send_command(0x11) # data entry mode + self.send_data(0x01) + + self.SetWindows(0, self.height-1, self.width-1, 0) # Set Windows + + self.send_command(0x3C) # BorderWavefrom + self.send_data(0x01) - self.send_command(0x3C) # BorderWavefrom - self.send_data(0x01) + self.send_command(0x18) + self.send_data(0x80) - self.send_command(0x18) - self.send_data(0x80) + self.send_command(0x22) # #Load Temperature and waveform setting. + self.send_data(0XB1) + self.send_command(0x20) - self.send_command(0x22) # #Load Temperature and waveform setting. - self.send_data(0XB1) - self.send_command(0x20) - - 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(0xC7) - self.send_data(0x00) - - self.ReadBusy() + self.SetCursor(0, self.height-1) # Set Cursor + + self.ReadBusy() + + self.set_lut(self.WF_Full_1IN54) # Set lut def Clear(self, color): self.send_command(0x24) @@ -188,14 +318,6 @@ class EPD: def displayPart(self, image): if (image == None): return - - epdconfig.digital_write(self.reset_pin, 0) - epdconfig.delay_ms(10) - epdconfig.digital_write(self.reset_pin, 1) - epdconfig.delay_ms(10) - - self.send_command(0x3c) - self.send_data(0x80) self.send_command(0x24) for j in range(0, self.height): diff --git a/RaspberryPi_JetsonNano/python/pic/4in2_1.bmp b/RaspberryPi_JetsonNano/python/pic/4in2_1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..de70694f7dbcdc5ec783751d3e83d26f76b4406a GIT binary patch literal 60120 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 V-GSYK-GSYK-GSYK=jg!U@c)a-L_`1p literal 0 HcmV?d00001 diff --git a/RaspberryPi_JetsonNano/python/pic/4in2_R.bmp b/RaspberryPi_JetsonNano/python/pic/4in2_R.bmp new file mode 100644 index 0000000000000000000000000000000000000000..bb39bf4406fd63698378661be99639904f405c17 GIT binary patch literal 15664 zcmeI3%WmXE6o$)qG~UH4Myx27EYOhUEQZtw2@vA)3~Z3tfe?!2&=aT`2ESRa*>ZdkTY|LPiN@-b~;B%&diD1xm@M|1nMo+ zG95jGDLUr$$J3<}LWH(uJ@e(q({*&uOed5wJtOglkiTU9a0vd8F)8W1lrbDOFJp4j z@kUfT9iv5zW}RHb7-q5=jLf!ThHY~gk_msx{0U{7SC=9t30H0IE>lU|l3<(6or#!~ z8I#n?nyI5M4XR141~dHtbDsXBt(bY1%a~T3CyJQq{$#B>1*0Uk5u;otib2+Z`Qf3I zQR@5GL^*|yQXeWAL(YG$L^VpC-+EWdJWyX4C7MGr4@OIw6XmrP%^{iZ7(czNRaTv- zI(J6KVC+a4r;{eD3XzV}S8~Q&H;E6GBnFrfTda?B7$?+epd)3-HY?N#bC@gH4FfOr zbC@!;0(TVaya+TaOg@--IfHo>XeOC_u+Be0Qr4Y6vT|E7Zn9zM$hOH++B2f`^o%HM zJyS{C=@~0$WbSl2P9(E*ULvqW;D3w&-`0p4em*85Xet!~=zeU>qsPY;gJbjO*y?TZ z=Wfp-)*RP-a65mTMl^;?czS~BX&+8aqk})!*R?L`?yRe8t8p)cUQNHdr8~WX8oCS` zVlH%6Wo3i&1Jfv6p(c~A$)u;?0MF7wQ#WsRrH1A}{%g6?sNAVHN=qx*)KliVgT zgYJgzR|{rvg^X^G@~$DB;$fb?C}HASCuZ;|-DDohVf-Qyb80h7=zRn|4E zW8cg}N#Ph6bkFgLT*u+?j=W2|ren^CsYQ%CQ%Ok~9CYwB4o}PQ{3iSi9h-VpxU@~3>!L;L8D_wyxE)P1q3N}abTvmgjrcv4#6)_ExvDPuf6fSS`;Dgoto|v4O%onUv zBk5p}2Bpx&r??2fEL4RuIAJwTaDyW8g+0rWAG3>T(%=kPZMK=R^u?G7b&5w9p3Jwp zV<3h&p=q@91#$}JLXT`47!^24&>1lmG3j;bpX_EXp#lqH<{PTfp{_Xw@U~8176sy> zXE+etG}?p7T(+v~4W?C3xVTjjGc@LM(}^wT)quj2Wt( zF%veJno?T9z>#e#-C%4H>CkipCW{!$s--kPaK17#>WiTK^*ICrp_XruHGdAZGmh3Q%iqRgovRhPdt%VU2aN^HOVAnCQ|jQbo_0$q zuctd08ku(AT0e=w)*!(=vf3Z)U@)!FF5>2W$PElG8t;+D`<)#O_7Y^sh^dtt@2hq& zRLFbxZ#OVo`$QA4&=h?WL7X3?J?!0&MhLB0{oyp;Skr$Rw!Gcuw?EtcS~Jn>S-sWEyogpyB>jOciq6nz9j-n1eORa5m+LyL|}=){fNLL!T%ZE#-p#F--e#f9?GBT Y7A-xO2;83tO#i=}`{C2E`9o3v7pz^y-2eap literal 0 HcmV?d00001 diff --git a/RaspberryPi_JetsonNano/python/pic/Pico-ePaper-5.65.bmp b/RaspberryPi_JetsonNano/python/pic/Pico-ePaper-5.65.bmp index f0d5b00295c762cc335dc60f69b9b16a5c737904..2ca74d0fce8b80ee525b14e240df4d903ac6b5ac 100644 GIT binary patch literal 806456 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

YzSLLi_`bB) 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

8}>(<$4nHGv-7FyKXE*rU{ zZhZO6U*?%#HOH;Y#zcab1?0$DC`Ya(V5iW)T6BRY<;#lhXxNyd`{xJk1m*1P=JY_q zt)3-B5b7C>&nVCdtIo$N*90_}ORXa|F%n8z6A8_KlC&sO70)e{WLq?;WOE6??loG1n}86AIKZOJm|>-iV5f`5V3v5s z$Zh}ppoh#Q59o2C{i7Y?&wu`No`+Swi^a_d3rTJ%Zlx;yM5N-|#hg?U6+2jovMyx$ z*S6%_$Yfm6;v8dwc-3JsMEQ;4BTol3s;$drNKVYAd8#V-NxwQ2QRQqNQ#U!0idWid zRZ*8^w#aN+&^6cI!(R=l43Ku);9t?`NSj(Jf*x9BQB_?s!`6y0n-g|PSfB}IHilL~ z-6K90x3P*4nYK(zSS;bR;zWXkND-lk$mSLyPKAqA)Fp$=KuA>DM70ezL0Svx(wHX6 zqYBY#n@y4|#h?1;2XTK~(b;jU!Jwz#?Ezt93Ie!Xpei-rHh~D9x@>hLo5(5sR7g#; zva%%BB1<+;EcB9`=C@HSoI*fi-O6l(L^+9x<|fOk39gHMEGE(mGR?P>u0Vy&_6@R>c}j{p4&yn69Skc}&!0=<33Y>fYjJbrAvV zv36*9qEflSswMEmjC6*QR9lV-OLGhs%1G(ONPhCK=I=Kljk2VXF7fmPpGGPg#m9nM z^58VGs&0J${Gi8u@_nUSBJqa$i4U%^yRZsWgt2OTB7-mzL5cDhEH;Md4+<~|YDYtW>KTg(t>5Qe?CW+2&m zMJObm3tfcRK&W_V2>n#Gg!o23RhgT|SdQ(19}rxN#GtTG;MBDcdu)S{smoS3Qs~wF zsppZgn1rFio-68JVE_DJF&s>RJfK{jLPxTEl<(73!J%qZBTJc8^)s83C>~~46=+A6 zge>-!giaf2>D5o}>lQ05GFWUilAmO}cnC#APUyOkC7!l!CD1KPHYhaC64*p_=_hVW zG3}b<}j33YM~8~5E-dRn^%&*1WdI7R!t07wBP3S z&>o9ImsOikq|C7PNSITEIdyB{CAKEFPJ$?|5~piaj3}`zALzigB^j1-q(ga03puHd`5()>2?fd?L7DKZQG*IH{WjAVC!Y{*Wq#UjgW z8G(#IMj#{5TLhTXKKI;nIX&`w-}~OonKK~>dvzi0oO8}$^$TCj*?H%kIZ4KA`N)L_ z<~Tvqz0F;gmJ!GZWCSt-8G$AUXtq{9s85~U|UH&LA zs_??0>;&uLmLoF)8G(#IMqtSx;DMMOQ*ZU+`;crcCE-zNBc4){e47!-2xJ5@0vUmx zBOreyPZURRy;X#KsX%PhqH$txb!BN8fs8;#AR~|w$OvQvG6ETaj6g;pBajiu2xJ5@ z0vUmfKt>=VkP*lTWCSt-8G(#IMj#`Q5y%K+1Tq2{fs8;#AR~|w$OvQvG6ETaj6g;p nBajiu2xJ5@0vUmfKt>=VkP*lTWCSt-8G(#IMj#`w3?cA;E}o#? From 588163b1766a884905f53edabf762c18f9e4d4aa Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Mon, 19 Jul 2021 15:03:19 +0800 Subject: [PATCH 3/6] Updates STM32 and Arduino refresh rates (1.54v2, 2.9v2, 7.5) --- Arduino/epd1in54_V2/epd1in54_V2.cpp | 198 +- Arduino/epd1in54_V2/epd1in54_V2.h | 9 + Arduino/epd1in54_V2/epd1in54_V2.ino | 4 +- Arduino/epd2in9_V2/epd2in9_V2.cpp | 61 +- Arduino/epd2in9_V2/epd2in9_V2.h | 3 +- Arduino/epd7in5_V2/epd7in5_V2.cpp | 153 +- Arduino/epd7in5_V2/epd7in5_V2.h | 3 + .../c/lib/e-Paper/EPD_7in5_V2.c | 76 +- .../MDK-ARM/epd-demo.uvguix.Ezio | 1949 --------- .../MDK-ARM/epd-demo.uvguix.pengqiangyou | 3636 ----------------- .../MDK-ARM/epd-demo.uvguix.qiumingsong | 24 +- STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx | 54 +- STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx | 8 +- .../MDK-ARM/epd-demo/epd-demo.build_log.htm | 116 +- .../MDK-ARM/epd-demo/epd-demo.htm | 1286 +++--- .../MDK-ARM/epd-demo/epd-demo.map | 849 ++-- STM32/STM32-F103ZET6/Src/main.c | 2 +- .../User/Examples/EPD_1in54_V2_test.c | 14 +- .../User/e-Paper/EPD_1in54_V2.c | 197 +- .../User/e-Paper/EPD_1in54_V2.h | 1 + .../STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c | 61 +- .../STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c | 142 +- 22 files changed, 1645 insertions(+), 7201 deletions(-) delete mode 100644 STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.Ezio delete mode 100644 STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.pengqiangyou diff --git a/Arduino/epd1in54_V2/epd1in54_V2.cpp b/Arduino/epd1in54_V2/epd1in54_V2.cpp index 60d3845..c071a20 100644 --- a/Arduino/epd1in54_V2/epd1in54_V2.cpp +++ b/Arduino/epd1in54_V2/epd1in54_V2.cpp @@ -30,6 +30,79 @@ #include #include "epd1in54_V2.h" + +// waveform full refresh +unsigned char WF_Full_1IN54[159] = +{ +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x8, 0x1, 0x0, 0x8, 0x1, 0x0, 0x2, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x20 +}; + +// waveform partial refresh(fast) +unsigned char WF_PARTIAL_1IN54_0[159] = +{ +0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xF,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,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,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +0x02,0x17,0x41,0xB0,0x32,0x28, +}; + +// waveform partial refresh(quality) +// unsigned char WF_PARTIAL_1IN54_1[159] = +// { +// 0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0xA,0x0,0x0,0x0,0x0,0x0,0x1, +// 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,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x0,0x0,0x0,0x0,0x0,0x0,0x0, +// 0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +// 0x22,0x17,0x41,0x0,0x32,0x20, +// }; + Epd::~Epd() { }; @@ -73,6 +146,33 @@ void Epd::WaitUntilIdle(void) DelayMs(200); } +void Epd::Lut(unsigned char* lut) +{ + SendCommand(0x32); + for(unsigned char i=0; i<153; i++) + SendData(lut[i]); + WaitUntilIdle(); +} + +void Epd::SetLut(unsigned char* lut) +{ + Lut(lut); + + SendCommand(0x3f); + SendData(lut[153]); + + SendCommand(0x03); + SendData(lut[154]); + + SendCommand(0x04); + SendData(lut[155]); + SendData(lut[156]); + SendData(lut[157]); + + SendCommand(0x2c); + SendData(lut[158]); +} + // High Direction int Epd::HDirInit(void) { @@ -121,6 +221,8 @@ int Epd::HDirInit(void) SendData(0xC7); SendData(0x00); WaitUntilIdle(); + + SetLut(WF_Full_1IN54); /* EPD hardware init end */ return 0; @@ -151,12 +253,12 @@ int Epd::LDirInit(void) SendCommand(0x44); /* x point must be the multiple of 8 or the last 3 bits will be ignored */ SendData((0 >> 3) & 0xFF); - SendData((200 >> 3) & 0xFF); + SendData((199 >> 3) & 0xFF); SendCommand(0x45); SendData(0 & 0xFF); SendData((0 >> 8) & 0xFF); - SendData(200 & 0xFF); - SendData((200 >> 8) & 0xFF); + SendData(199 & 0xFF); + SendData((199 >> 8) & 0xFF); SendCommand(0x3C); //BorderWavefrom SendData(0x01); @@ -174,6 +276,8 @@ int Epd::LDirInit(void) SendData(0xC7); SendData(0x00); WaitUntilIdle(); + + SetLut(WF_Full_1IN54); /* EPD hardware init end */ return 0; @@ -188,11 +292,11 @@ int Epd::LDirInit(void) void Epd::Reset(void) { DigitalWrite(reset_pin, HIGH); - DelayMs(200); + DelayMs(20); DigitalWrite(reset_pin, LOW); //module reset - DelayMs(10); + DelayMs(5); DigitalWrite(reset_pin, HIGH); - DelayMs(200); + DelayMs(20); } void Epd::Clear(void) @@ -207,6 +311,12 @@ void Epd::Clear(void) SendData(0xff); } } + SendCommand(0x26); + for (int j = 0; j < h; j++) { + for (int i = 0; i < w; i++) { + SendData(0xff); + } + } //DISPLAY REFRESH DisplayFrame(); } @@ -339,7 +449,7 @@ void Epd::DisplayFrame(void) { //DISPLAY REFRESH SendCommand(0x22); - SendData(0xF7); + SendData(0xc7); SendCommand(0x20); WaitUntilIdle(); } @@ -347,7 +457,7 @@ void Epd::DisplayFrame(void) void Epd::DisplayPartFrame(void) { SendCommand(0x22); - SendData(0xFF); + SendData(0xcF); SendCommand(0x20); WaitUntilIdle(); } @@ -365,9 +475,9 @@ void Epd::SetFrameMemory( int y_end; DigitalWrite(reset_pin, LOW); //module reset - DelayMs(10); + DelayMs(2); DigitalWrite(reset_pin, HIGH); - DelayMs(10); + DelayMs(2); SendCommand(0x3c); SendData(0x80); @@ -402,6 +512,74 @@ void Epd::SetFrameMemory( } } +void Epd::SetFrameMemoryPartial( + const unsigned char* image_buffer, + int x, + int y, + int image_width, + int image_height +) +{ + int x_end; + int y_end; + + DigitalWrite(reset_pin, LOW); //module reset + DelayMs(2); + DigitalWrite(reset_pin, HIGH); + DelayMs(2); + + SetLut(WF_PARTIAL_1IN54_0); + SendCommand(0x37); + SendData(0x00); + SendData(0x00); + SendData(0x00); + SendData(0x00); + SendData(0x00); + SendData(0x40); + SendData(0x00); + SendData(0x00); + SendData(0x00); + SendData(0x00); + + SendCommand(0x3c); + SendData(0x80); + + SendCommand(0x22); + SendData(0xc0); + SendCommand(0x20); + WaitUntilIdle(); + + if ( + image_buffer == NULL || + x < 0 || image_width < 0 || + y < 0 || image_height < 0 + ) { + return; + } + /* x point must be the multiple of 8 or the last 3 bits will be ignored */ + x &= 0xF8; + image_width &= 0xF8; + if (x + image_width >= this->width) { + x_end = this->width - 1; + } else { + x_end = x + image_width - 1; + } + if (y + image_height >= this->height) { + y_end = this->height - 1; + } else { + y_end = y + image_height - 1; + } + SetMemoryArea(x, y, x_end, y_end); + SetMemoryPointer(x, y); + SendCommand(0x24); + /* send the image data */ + for (int j = 0; j < y_end - y + 1; j++) { + for (int i = 0; i < (x_end - x + 1) / 8; i++) { + SendData(image_buffer[i + j * (image_width / 8)]); + } + } +} + /** * @brief: After this command is transmitted, the chip would enter the * deep-sleep mode to save power. diff --git a/Arduino/epd1in54_V2/epd1in54_V2.h b/Arduino/epd1in54_V2/epd1in54_V2.h index 2801b44..42682c1 100644 --- a/Arduino/epd1in54_V2/epd1in54_V2.h +++ b/Arduino/epd1in54_V2/epd1in54_V2.h @@ -64,6 +64,13 @@ public: int image_width, int image_height ); + void SetFrameMemoryPartial( + const unsigned char* image_buffer, + int x, + int y, + int image_width, + int image_height + ); void DisplayFrame(void); void DisplayPartFrame(void); @@ -74,6 +81,8 @@ private: unsigned int cs_pin; unsigned int busy_pin; + void Lut(unsigned char* lut); + void SetLut(unsigned char* lut); void SetMemoryArea(int x_start, int y_start, int x_end, int y_end); void SetMemoryPointer(int x, int y); }; diff --git a/Arduino/epd1in54_V2/epd1in54_V2.ino b/Arduino/epd1in54_V2/epd1in54_V2.ino index 0b16841..7fbc5cd 100644 --- a/Arduino/epd1in54_V2/epd1in54_V2.ino +++ b/Arduino/epd1in54_V2/epd1in54_V2.ino @@ -58,7 +58,7 @@ void setup() Serial.println("e-Paper show pic"); epd.HDirInit(); - epd.Display(IMAGE_DATA); + // epd.Display(IMAGE_DATA); //Part display epd.HDirInit(); @@ -73,7 +73,7 @@ void setup() for (i = 0; i < 10; i++) { paint.Clear(UNCOLORED); paint.DrawStringAt(10, 10, str[i], &Font24, COLORED); - epd.SetFrameMemory(paint.GetImage(), 80, 70, paint.GetWidth(), paint.GetHeight()); + epd.SetFrameMemoryPartial(paint.GetImage(), 80, 70, paint.GetWidth(), paint.GetHeight()); epd.DisplayPartFrame(); delay(100); } diff --git a/Arduino/epd2in9_V2/epd2in9_V2.cpp b/Arduino/epd2in9_V2/epd2in9_V2.cpp index 58a47a9..0d87035 100644 --- a/Arduino/epd2in9_V2/epd2in9_V2.cpp +++ b/Arduino/epd2in9_V2/epd2in9_V2.cpp @@ -27,7 +27,7 @@ #include #include "epd2in9_V2.h" -unsigned char WF_PARTIAL_2IN9[159] = +unsigned char _WF_PARTIAL_2IN9[159] = { 0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, @@ -50,6 +50,29 @@ unsigned char WF_PARTIAL_2IN9[159] = 0x22,0x17,0x41,0xB0,0x32,0x36, }; +unsigned char WS_20_30[159] = +{ +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, +0xA, 0xA, 0x0, 0xA, 0xA, 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, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x1, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x36 +}; + Epd::~Epd() { }; @@ -91,6 +114,8 @@ int Epd::Init() { SetMemoryPointer(0, 0); WaitUntilIdle(); + + SetLut_by_host(WS_20_30); /* EPD hardware init end */ return 0; } @@ -122,9 +147,9 @@ void Epd::WaitUntilIdle(void) { while(1) { //=1 BUSY if(DigitalRead(busy_pin)==LOW) break; - DelayMs(50); + DelayMs(5); } - DelayMs(50); + DelayMs(5); } /** @@ -134,11 +159,11 @@ void Epd::WaitUntilIdle(void) { */ void Epd::Reset(void) { DigitalWrite(reset_pin, HIGH); - DelayMs(200); + DelayMs(20); DigitalWrite(reset_pin, LOW); //module reset DelayMs(5); DigitalWrite(reset_pin, HIGH); - DelayMs(200); + DelayMs(20); } /** @@ -217,11 +242,11 @@ void Epd::SetFrameMemory_Partial( } DigitalWrite(reset_pin, LOW); - DelayMs(5); + DelayMs(2); DigitalWrite(reset_pin, HIGH); - DelayMs(10); + DelayMs(2); - SetLut(); + SetLut(_WF_PARTIAL_2IN9); SendCommand(0x37); SendData(0x00); SendData(0x00); @@ -317,7 +342,7 @@ void Epd::ClearFrameMemory(unsigned char color) { */ void Epd::DisplayFrame(void) { SendCommand(0x22); - SendData(0xF7); + SendData(0xc7); SendCommand(0x20); WaitUntilIdle(); } @@ -329,14 +354,28 @@ void Epd::DisplayFrame_Partial(void) { WaitUntilIdle(); } -void Epd::SetLut(void) { +void Epd::SetLut(unsigned char *lut) { unsigned char count; SendCommand(0x32); for(count=0; count<153; count++) - SendData(WF_PARTIAL_2IN9[count]); + SendData(lut[count]); WaitUntilIdle(); } +void Epd::SetLut_by_host(unsigned char *lut) { + SetLut((unsigned char *)lut); + SendCommand(0x3f); + SendData(*(lut+153)); + SendCommand(0x03); // gate voltage + SendData(*(lut+154)); + SendCommand(0x04); // source voltage + SendData(*(lut+155)); // VSH + SendData(*(lut+156)); // VSH2 + SendData(*(lut+157)); // VSL + SendCommand(0x2c); // VCOM + SendData(*(lut+158)); +} + /** * @brief: private function to specify the memory area for data R/W */ diff --git a/Arduino/epd2in9_V2/epd2in9_V2.h b/Arduino/epd2in9_V2/epd2in9_V2.h index 7ee6514..a384ffa 100644 --- a/Arduino/epd2in9_V2/epd2in9_V2.h +++ b/Arduino/epd2in9_V2/epd2in9_V2.h @@ -72,7 +72,8 @@ private: unsigned int cs_pin; unsigned int busy_pin; - void SetLut(void); + void SetLut(unsigned char *lut); + void SetLut_by_host(unsigned char *lut); void SetMemoryArea(int x_start, int y_start, int x_end, int y_end); void SetMemoryPointer(int x, int y); }; diff --git a/Arduino/epd7in5_V2/epd7in5_V2.cpp b/Arduino/epd7in5_V2/epd7in5_V2.cpp index ed96de2..6913910 100644 --- a/Arduino/epd7in5_V2/epd7in5_V2.cpp +++ b/Arduino/epd7in5_V2/epd7in5_V2.cpp @@ -27,6 +27,60 @@ #include #include "epd7in5_V2.h" +unsigned char Voltage_Frame_7IN5_V2[]={ + 0x6, 0x3F, 0x3F, 0x11, 0x24, 0x7, 0x17, +}; + +unsigned char 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, +}; + +unsigned char 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, +}; + +unsigned char 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, +}; + +unsigned char 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, +}; + +unsigned char 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, +}; + Epd::~Epd() { }; @@ -45,18 +99,60 @@ int Epd::Init(void) { } Reset(); - SendCommand(0x01); - SendData(0x07); - SendData(0x07); - SendData(0x3f); - SendData(0x3f); + // SendCommand(0x01); + // SendData(0x07); + // SendData(0x07); + // SendData(0x3f); + // SendData(0x3f); - SendCommand(0x04); + // SendCommand(0x04); + // DelayMs(100); + // WaitUntilIdle(); + + // SendCommand(0X00); //PANNEL SETTING + // SendData(0x1F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + + // SendCommand(0x61); //tres + // SendData(0x03); //source 800 + // SendData(0x20); + // SendData(0x01); //gate 480 + // SendData(0xE0); + + // SendCommand(0X15); + // SendData(0x00); + + // SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING + // SendData(0x10); + // SendData(0x07); + + // SendCommand(0X60); //TCON SETTING + // SendData(0x22); + + SendCommand(0x01); // power setting + SendData(0x17); // 1-0=11: internal power + SendData(*(Voltage_Frame_7IN5_V2+6)); // VGH&VGL + SendData(*(Voltage_Frame_7IN5_V2+1)); // VSH + SendData(*(Voltage_Frame_7IN5_V2+2)); // VSL + SendData(*(Voltage_Frame_7IN5_V2+3)); // VSHR + + SendCommand(0x82); // VCOM DC Setting + SendData(*(Voltage_Frame_7IN5_V2+4)); // VCOM + + SendCommand(0x06); // Booster Setting + SendData(0x27); + SendData(0x27); + SendData(0x2F); + SendData(0x17); + + SendCommand(0x30); // OSC Setting + SendData(*(Voltage_Frame_7IN5_V2+0)); // 2-0=100: N=4 ; 5-3=111: M=7 ; 3C=50Hz 3A=100HZ + + SendCommand(0x04); //POWER ON DelayMs(100); WaitUntilIdle(); - + SendCommand(0X00); //PANNEL SETTING - SendData(0x1F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + SendData(0x3F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f SendCommand(0x61); //tres SendData(0x03); //source 800 @@ -69,11 +165,19 @@ int Epd::Init(void) { SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING SendData(0x10); - SendData(0x07); + SendData(0x00); SendCommand(0X60); //TCON SETTING SendData(0x22); + SendCommand(0x65); // Resolution setting + SendData(0x00); + SendData(0x00);//800*480 + SendData(0x00); + SendData(0x00); + + SetLut_by_host(LUT_VCOM_7IN5_V2, LUT_WW_7IN5_V2, LUT_BW_7IN5_V2, LUT_WB_7IN5_V2, LUT_BB_7IN5_V2); + return 0; } @@ -102,7 +206,7 @@ void Epd::WaitUntilIdle(void) { SendCommand(0x71); busy = DigitalRead(busy_pin); }while(busy == 0); - DelayMs(200); + DelayMs(20); } /** @@ -114,7 +218,7 @@ void Epd::Reset(void) { DigitalWrite(reset_pin, LOW); //module reset DelayMs(4); DigitalWrite(reset_pin, HIGH); - DelayMs(200); + DelayMs(20); } void Epd::DisplayFrame(const unsigned char* frame_buffer) { @@ -148,8 +252,33 @@ void Epd::Displaypart(const unsigned char* pbuffer, unsigned long xStart, unsign SendCommand(0x12); DelayMs(100); WaitUntilIdle(); - } + +void Epd::SetLut_by_host(unsigned char* lut_vcom, unsigned char* lut_ww, unsigned char* lut_bw, unsigned char* lut_wb, unsigned char* lut_bb) +{ + unsigned char count; + + SendCommand(0x20); //VCOM + for(count=0; count<60; count++) + SendData(lut_vcom[count]); + + SendCommand(0x21); //LUTBW + for(count=0; count<60; count++) + SendData(lut_ww[count]); + + SendCommand(0x22); //LUTBW + for(count=0; count<60; count++) + SendData(lut_bw[count]); + + SendCommand(0x23); //LUTWB + for(count=0; count<60; count++) + SendData(lut_wb[count]); + + SendCommand(0x24); //LUTBB + for(count=0; count<60; count++) + SendData(lut_bb[count]); +} + /** * @brief: After this command is transmitted, the chip would enter the * deep-sleep mode to save power. diff --git a/Arduino/epd7in5_V2/epd7in5_V2.h b/Arduino/epd7in5_V2/epd7in5_V2.h index e23380c..0278611 100644 --- a/Arduino/epd7in5_V2/epd7in5_V2.h +++ b/Arduino/epd7in5_V2/epd7in5_V2.h @@ -55,6 +55,9 @@ private: unsigned int busy_pin; unsigned long width; unsigned long height; + + void SetLut(unsigned char *lut); + void SetLut_by_host(unsigned char *lut_vcom, unsigned char *lut_ww, unsigned char *lut_bw, unsigned char *lut_wb, unsigned char *lut_bb); }; #endif /* EPD7IN5_H */ diff --git a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c index 79b59a7..b8cbf2e 100644 --- a/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c +++ b/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_7in5_V2.c @@ -86,70 +86,6 @@ UBYTE LUT_BB_7IN5_V2[]={ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; - - -UBYTE lut_vcomDC_7IN5_V2[] ={ - 0x00, 0x15, 0x19, 0x00, 0x00, 0x01, - 0x00, 0x19, 0x01, 0x19, 0x01, 0x02, - 0x00, 0x06, 0x01, 0x05, 0x01, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -UBYTE lut_ww_7IN5_V2[] ={ - 0x04, 0x14, 0x01, 0x18, 0x01, 0x01, - 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, - 0x80, 0x06, 0x01, 0x05, 0x01, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -UBYTE lut_bw_7IN5_V2[] ={ - 0x04, 0x14, 0x01, 0x18, 0x01, 0x01, - 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, - 0x80, 0x06, 0x01, 0x05, 0x01, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -UBYTE lut_wb_7IN5_V2[] ={ - 0x80, 0x14, 0x01, 0x18, 0x01, 0x01, - 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, - 0x04, 0x06, 0x01, 0x05, 0x01, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -UBYTE lut_bb_7IN5_V2[] ={ - 0x80, 0x14, 0x01, 0x18, 0x01, 0x01, - 0x84, 0x19, 0x01, 0x19, 0x01, 0x02, - 0x04, 0x06, 0x01, 0x05, 0x01, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - /****************************************************************************** function : Software reset parameter: @@ -357,12 +293,12 @@ void EPD_7IN5_V2_Display(const UBYTE *blackimage) Width =(EPD_7IN5_V2_WIDTH % 8 == 0)?(EPD_7IN5_V2_WIDTH / 8 ):(EPD_7IN5_V2_WIDTH / 8 + 1); Height = EPD_7IN5_V2_HEIGHT; - EPD_SendCommand(0x10); - for (UDOUBLE j = 0; j < Height; j++) { - for (UDOUBLE i = 0; i < Width; i++) { - EPD_SendData(blackimage[i + j * Width]); - } - } + // EPD_SendCommand(0x10); + // for (UDOUBLE j = 0; j < Height; j++) { + // for (UDOUBLE i = 0; i < Width; i++) { + // EPD_SendData(blackimage[i + j * Width]); + // } + // } EPD_SendCommand(0x13); for (UDOUBLE j = 0; j < Height; j++) { for (UDOUBLE i = 0; i < Width; i++) { diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.Ezio b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.Ezio deleted file mode 100644 index a071161..0000000 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.Ezio +++ /dev/null @@ -1,1949 +0,0 @@ - - - - -6.1 - -

### uVision Project, (C) Keil Software
- - - - - - 38003 - Registers - 188 122 - - - 346 - Code Coverage - 1410 160 - - - 204 - Performance Analyzer - 1570 - - - - - - 1506 - Symbols - - 106 106 106 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 0 - 1 - - -1 - -1 - - - -1 - -1 - - - 10 - -5 - 1259 - 1401 - - - - 0 - - 1415 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000080000000100000051473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF60473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F31696E3534622E63000000000C4550445F31696E3534622E6300000000FFDC7800FFFFFFFF5F473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F31696E35342E63000000000B4550445F31696E35342E6300000000BECEA100FFFFFFFF62473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F31696E35345F56322E63000000000E4550445F31696E35345F56322E6300000000F0A0A100FFFFFFFF60473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F31696E3534632E63000000000C4550445F31696E3534632E6300000000BCA8E100FFFFFFFF5F473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F32696E31332E63000000000B4550445F32696E31332E63000000009CC1B600FFFFFFFF61473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F32696E313362632E63000000000D4550445F32696E313362632E6300000000F7B88600FFFFFFFF60473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F32696E3962632E63000000000C4550445F32696E3962632E6300000000D9ADC200FFFFFFFF5F473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F32696E37622E63000000000B4550445F32696E37622E6300000000A5C2D700FFFFFFFF62473A5C4D6F646F756C655C652D50617065725C636F64655C652D50617065725F636F64655C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F37696E35625F56322E63000000000E4550445F37696E35625F56322E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000004701000078000000E304000094040000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 440100004F0000007007000015010000 - - - 16 - E8010000F800000014080000BE010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003D01000052040000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003D01000052040000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003D01000052040000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003D01000052040000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0000000083040000E004000035050000 - - - 16 - BE000000D5000000760400009B010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000F102000070070000CB030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000086040000DD0400001C050000 - - - 16 - BE000000D5000000760400009B010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000760400009B010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003D010000F4020000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000086040000DD0400001C050000 - - - 16 - BE000000D5000000760400009B010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000086040000DD0400001C050000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000086040000DD0400001C050000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000086040000DD0400001C050000 - - - 16 - BE000000D50000003A020000ED030000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - BE000000D5000000760400009B010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 953 - 0 - 8192 - 0 - - 16 - 0000000000000000C40300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0000000035050000E004000048050000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - BE000000D5000000FE010000E8010000 - - - - 3317 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000E8010000F800000014080000BE010000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D4060000F800000014080000AA030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100004F000000440100006B040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000A4000000F8000000E4010000B6030000000000004F000000400100006B0400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000A40000009A030000140800007404000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000006B040000E00400006F040000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000A4000000BA0300008405000080040000000000006F040000E0040000350500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2582 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000F4570617065725F5245414442555359960000000000000014000F4570617065725F5245414442555359114570617065725F57726974655F44617461144570617065725F57726974655F436F6D6D616E64114550445F5732315F577269746544415441104550445F5732315F5772697465434D44104445565F5350495F52656164427974650220280D6C63645F63686B737461747573106472697665725F64656C61795F786D730973656C662E646174610C73656C662E636F6D6D616E6415736F6674776172655F7370692E4D4F53495F50494E15736F6674776172655F7370692E53434C4B5F50494E124550445F5732315F57726974654441544120043F3F3F3F0A4550445F32494E3133440632494E313344066C75745F6262066C75745F7762096C75745F76636F6D310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000086570642D64656D6F96000000000000000100086570642D64656D6F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - - - 1 - 0 - - 100 - 8 - - ../Src/main.c - 23 - 67 - 87 - 1 - - 0 - - - ..\User\e-Paper\EPD_1in54b.c - 24 - 255 - 305 - 1 - - 0 - - - ..\User\e-Paper\EPD_1in54.c - 0 - 233 - 1 - 1 - - 0 - - - ..\User\e-Paper\EPD_1in54_V2.c - 0 - 133 - 1 - 1 - - 0 - - - ..\User\e-Paper\EPD_1in54c.c - 26 - 180 - 237 - 1 - - 0 - - - ..\User\e-Paper\EPD_2in13.c - 0 - 189 - 184 - 1 - - 0 - - - ..\User\e-Paper\EPD_2in13bc.c - 30 - 183 - 226 - 1 - - 0 - - - ..\User\e-Paper\EPD_2in9bc.c - 0 - 180 - 241 - 1 - - 0 - - - ..\User\e-Paper\EPD_2in7b.c - 40 - 306 - 349 - 1 - - 0 - - - ..\User\e-Paper\EPD_7in5b_V2.c - 28 - 136 - 142 - 1 - - 0 - - - - - diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.pengqiangyou b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.pengqiangyou deleted file mode 100644 index abfe3c3..0000000 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.pengqiangyou +++ /dev/null @@ -1,3636 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - - - - 38003 - Registers - 188 114 - - - 346 - Code Coverage - 1410 160 - - - 204 - Performance Analyzer - 1570 - - - - - - 1506 - Symbols - - 106 106 106 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 133 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 0 - 1 - - -1 - -1 - - - -1 - -1 - - - 0 - 162 - 2024 - 1244 - - - - 0 - - 631 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000004000000030000000100000058453A5C50726F6A6563745C652D50617065725C452D50617065725F636F64655F3230303431315C53544D33325C53544D33322D463130335A4554365C557365725C652D50617065725C4550445F32696E3133625F56332E63000000000F4550445F32696E3133625F56332E6300000000FFDC7800FFFFFFFF5E453A5C50726F6A6563745C652D50617065725C452D50617065725F636F64655F3230303431315C53544D33325C53544D33322D463130335A4554365C557365725C4578616D706C65735C4550445F32696E3133625F56335F746573742E6300000000144550445F32696E3133625F56335F746573742E6300000000BECEA100FFFFFFFF54453A5C50726F6A6563745C652D50617065725C452D50617065725F636F64655F3230303431315C53544D33325C53544D33322D463130335A4554365C557365725C4578616D706C65735C4550445F546573742E68000000000A4550445F546573742E6800000000F0A0A100FFFFFFFF46453A5C50726F6A6563745C652D50617065725C452D50617065725F636F64655F3230303431315C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000E60100006E000000E007000017040000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 440100004F0000007007000015010000 - - - 16 - EE0100006E0000001A08000034010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000035010000DF030000 - - - 16 - 7D0000003E000000BD0100007E030000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000035010000DF030000 - - - 16 - 7D0000003E000000BD0100007E030000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000035010000DF030000 - - - 16 - 7D0000003E000000BD0100007E030000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000035010000DF030000 - - - 16 - 7D0000003E000000BD0100007E030000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000001004000036070000A2040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000F102000070070000CB030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000130400003307000089040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000AA040000CF010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000320200001C020000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000035010000DF030000 - - - 16 - 7D0000003E000000BD0100007E030000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000130400003307000089040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000130400003307000089040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000130400003307000089040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000130400003307000089040000 - - - 16 - 3003000099040000A50800005F050000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 47010000660000006D070000FC000000 - - - 16 - F200000009010000AA040000CF010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - F200000009010000320200001C020000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 953 - 0 - 8192 - 0 - - 16 - 0000000000000000C40300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000A204000036070000B5040000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000080300006D070000B2030000 - - - 16 - F200000009010000320200001C020000 - - - - 3357 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF44010000150100007007000019010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000EE0100006E0000001A08000034010000440100004F00000070070000150100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000DA0600006E0000001A08000020030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED02000070070000F102000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000AA000000100300001A080000EA03000000000000F102000070070000CB03000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000F1020000BC030000CB03000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000010000001000000FFFFFFFFFFFFFFFF380100004F0000003C010000F803000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000AA0000006E000000E201000017040000000000004F00000038010000F80300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000F803000036070000FC03000001000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000AA0000001B040000E0070000C104000000000000FC03000036070000A20400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2581 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D4550445F32494E3133425F563296000000000000001400035F56320256320D4550445F32494E3133425F56321848414C5F4750494F5F455854495F49525148616E646C657230766F69642048414C5F4750494F5F455854495F49525148616E646C65722875696E7431365F74204750494F5F50696E291648414C5F4750494F5F455854495F43616C6C6261636B0C5441475F52414D5F4241534501340A3078383030303030303007484152565F454E0820484152565F454E0355494404656C73650E353735333434354133313330364404747275650E34363533353434453331333036440F4E46435F52585F43616C6C6261636B144550445F37494E355F48445F53656E6444617461174550445F37494E355F48445F53656E64436F6D6D616E64084550445F32494E390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000086570642D64656D6F96000000000000000100086570642D64656D6F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - 1 - Debug - - -1 - -1 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 430100004F0000007505000015010000 - - - 16 - F7010000E100000029060000A7010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003C01000062030000 - - - 16 - 0C010000230100004C02000036020000 - - - - 109 - 109 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003C01000062030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 1465 - 1465 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1935 - 1935 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 195 - 195 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003C01000062030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 196 - 196 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003C01000062030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 198 - 198 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000007F030000BB02000059040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 199 - 199 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 203 - 203 - 1 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 43010000630000007505000015010000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 38003 - 38003 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003C01000062030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001C0300006D070000B2030000 - - - 16 - 0C01000023010000880200003B040000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 460100006600000072050000FC000000 - - - 16 - 0C01000023010000C4040000E9010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 33060000660000006D070000E8020000 - - - 16 - 0C010000230100004C02000036020000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 953 - 0 - 8192 - 0 - - 16 - 0000000000000000C40300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0000000059040000750500006C040000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 0 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 1 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 000000001C0000006F02000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C2020000960300007205000040040000 - - - 16 - 0C010000230100004C02000036020000 - - - - 3316 - 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF43010000150100007505000019010000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F7010000E100000029060000A7010000430100004F00000075050000150100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600004F0000003006000001030000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000E4060000E10000002408000093030000300600004F000000700700000103000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF3F0100004F000000430100007B03000001000000020000100400000001000000C2FEFFFF27060000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000B4000000E1000000F30100000D040000000000004F0000003F0100007B0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000007B030000750500007F03000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000730300001104000029060000EB040000BF0200007F030000750500005904000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFBB0200007F030000BF0200005904000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000010300007007000005030000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000B400000097030000240800005D040000000000000503000070070000CB0300000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2587 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000165554494C5F4C43445F54524143455F5055544348415296000000000000001300165554494C5F4C43445F54524143455F505554434841521A696E7420667075746328696E742063682C2046494C45202A66290D4344435F44454D4F5F49444C450D4344435F44454D4F5F53454E44134755495F436C656172537472696E674C696E651C5554494C5F4C43445F54524143455F436C656172546578745A6F6E650C4C43445F45727254726163650F4344435F4D656E7550726F63657373134344435F496E69744170706C69636174696F6E09555342485F496E69740C555342485F4C4C5F496E69740C48414C5F4843445F496E69740F48414C5F4843445F4D7370496E6974054750494F49054750494F450B4750494F5F50494E5F31310452585F740D756E7369676E65642063686172046164647200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 2560 - 1440 - - - - - - 1 - 0 - - 100 - 3 - - ..\User\e-Paper\EPD_2in13b_V3.c - 26 - 19 - 50 - 1 - - 0 - - - ..\User\Examples\EPD_2in13b_V3_test.c - 17 - 1 - 30 - 1 - - 0 - - - ..\User\Examples\EPD_Test.h - 22 - 24 - 58 - 1 - - 0 - - - ../Src/main.c - 2 - 58 - 92 - 1 - - 0 - - - - -
diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong index 6773495..6ae885d 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvguix.qiumingsong @@ -91,17 +91,17 @@ -1 - 155 - 2694 - 4383 - 1320 + 139 + 609 + 2298 + 1304 0 - 251 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000037453A5C70726F6A6563745C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000AA0B00000A01000017110000CC030000 + 250 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000036453A5C6769746875625C452D50617065725F636F64655C53544D33325C53544D33322D463130335A4554365C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000085030000FA000000F2080000BC030000 @@ -124,7 +124,7 @@ 16 - B40300000C010000E0090000D2010000 + AD030000FA000000D9090000C0010000 @@ -1789,7 +1789,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF4401000016010000700700001A010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000B40300000C010000E0090000D2010000440100005000000070070000160100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600005000000030060000FE020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A00800000C010000E0090000BA030000300600005000000070070000FE02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF18010000500000001C0100001203000001000000020000100400000001000000C2FEFFFFB5030000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000700200000C01000088030000CE030000000000005000000018010000120300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E402000070070000E802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000070020000A4030000E00900008404000000000000E802000070070000C803000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000E8020000BC030000C803000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000012030000890600001603000001000000010000100400000001000000DDFBFFFFC4000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000070020000D2030000F90800000C050000000000001603000089060000500400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF4401000016010000700700001A010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000AD030000FA000000D9090000C0010000440100005000000070070000160100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF2C0600005000000030060000FE020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000099080000FA000000D9090000A8030000300600005000000070070000FE02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF18010000500000001C0100001203000001000000020000100400000001000000C2FEFFFFB5030000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000069020000FA00000081030000BC030000000000005000000018010000120300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E402000070070000E802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000006902000092030000D90900007204000000000000E802000070070000C803000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB8030000E8020000BC030000C803000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000012030000890600001603000001000000010000100400000001000000DDFBFFFFC4000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000069020000C0030000F2080000FA040000000000001603000089060000500400000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1828,7 +1828,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3596,9 +3596,9 @@ 0 ../Src/main.c - 14 - 1 - 28 + 2 + 91 + 100 1 0 diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx index a70dd1f..d2c4958 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvoptx @@ -145,7 +145,7 @@ 0 ST-LINKIII-KEIL_SWO - -U34FF68064157373036130757 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("") -D00(00000000) -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) + -U38FF6D064246373030270457 -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 -FS08000000 -FL080000 -FP0($$Device:STM32F103ZE$Flash\STM32F10x_512.FLM) @@ -243,7 +243,7 @@ Application/MDK-ARM - 0 + 1 0 0 0 @@ -343,7 +343,7 @@ Examples - 0 + 1 0 0 0 @@ -1421,14 +1421,6 @@ - - ::CMSIS - 0 - 0 - 0 - 1 - - Drivers/CMSIS 0 @@ -1436,7 +1428,7 @@ 0 0 - 10 + 9 94 1 0 @@ -1456,7 +1448,7 @@ 0 0 - 11 + 10 95 1 0 @@ -1468,7 +1460,7 @@ 0 - 11 + 10 96 1 0 @@ -1480,7 +1472,7 @@ 0 - 11 + 10 97 1 0 @@ -1492,7 +1484,7 @@ 0 - 11 + 10 98 1 0 @@ -1504,7 +1496,7 @@ 0 - 11 + 10 99 1 0 @@ -1516,7 +1508,7 @@ 0 - 11 + 10 100 1 0 @@ -1528,7 +1520,7 @@ 0 - 11 + 10 101 1 0 @@ -1540,7 +1532,7 @@ 0 - 11 + 10 102 1 0 @@ -1552,7 +1544,7 @@ 0 - 11 + 10 103 1 0 @@ -1564,7 +1556,7 @@ 0 - 11 + 10 104 1 0 @@ -1576,7 +1568,7 @@ 0 - 11 + 10 105 1 0 @@ -1588,7 +1580,7 @@ 0 - 11 + 10 106 1 0 @@ -1600,7 +1592,7 @@ 0 - 11 + 10 107 1 0 @@ -1612,7 +1604,7 @@ 0 - 11 + 10 108 1 0 @@ -1624,7 +1616,7 @@ 0 - 11 + 10 109 1 0 @@ -1637,4 +1629,12 @@ + + ::CMSIS + 0 + 0 + 0 + 1 + + diff --git a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx index c1f0f91..149f786 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo.uvprojx @@ -134,7 +134,7 @@ 0 1 1 - 4103 + 4101 1 STLink\ST-LINKIII-KEIL_SWO.dll @@ -883,9 +883,6 @@ - - ::CMSIS - Drivers/CMSIS @@ -1930,6 +1927,9 @@ + + ::CMSIS + 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 5b50418..d6a39b6 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 @@ -21,121 +21,15 @@ Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.1.0 Dialog DLL: TCM.DLL V1.35.1.0

Project:

-E:\project\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx -Project File Date: 05/27/2021 +E:\github\E-Paper_code\STM32\STM32-F103ZET6\MDK-ARM\epd-demo.uvprojx +Project File Date: 07/19/2021

Output:

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\keil5\ARM\ARMCC\Bin' -Rebuild target 'epd-demo' -assembling startup_stm32f103xe.s... -compiling ImageData.c... -compiling stm32f1xx_hal_msp.c... -compiling gpio.c... -compiling EPD_1in02_test.c... -compiling spi.c... -compiling stm32f1xx_it.c... +Build target 'epd-demo' compiling main.c... -compiling usart.c... -compiling EPD_1in54_test.c... -compiling EPD_1in54b_test.c... -compiling EPD_1in54c_test.c... -compiling EPD_2in7_test.c... -compiling EPD_1in54b_V2_test.c... -compiling EPD_2in7b_test.c... -compiling EPD_1in54_V2_test.c... -compiling EPD_2in9_V2_test.c... -compiling EPD_2in9_test.c... -compiling EPD_2in9bc_test.c... -compiling EPD_2in13_test.c... -compiling EPD_2in9d_test.c... -compiling EPD_2in13_V2_test.c... -compiling EPD_2in13d_test.c... -compiling EPD_2in9b_V3_test.c... -compiling EPD_2in13b_V3_test.c... -compiling EPD_2in13bc_test.c... -compiling EPD_4in01f_test.c... -compiling EPD_2in66_test.c... -compiling EPD_4in2bc_test.c... -compiling EPD_2in66b_test.c... -compiling EPD_4in2b_V2_test.c... -compiling EPD_3in7_test.c... -compiling EPD_5in65f_test.c... -compiling EPD_4in2_test.c... -compiling EPD_5in83_V2_test.c... -compiling EPD_5in83bc_test.c... -compiling EPD_7in5_V2_test.c... -compiling EPD_7in5_test.c... -compiling EPD_7in5b_V2_test.c... -compiling EPD_5in83b_V2_test.c... -compiling EPD_5in83_test.c... -compiling EPD_7in5bc_test.c... -compiling EPD_7in5b_HD_test.c... -compiling EPD_2in7b_V2_test.c... -compiling EPD_1in54b.c... -compiling EPD_7in5_HD_test.c... -compiling EPD_1in54_V2.c... -compiling EPD_1in02d.c... -compiling EPD_1in54.c... -compiling EPD_1in54b_V2.c... -compiling EPD_2in7b_V2.c... -compiling EPD_2in7.c... -compiling EPD_2in9.c... -compiling EPD_2in7b.c... -compiling EPD_1in54c.c... -compiling EPD_2in9bc.c... -compiling EPD_2in9b_V3.c... -compiling EPD_2in9_V2.c... -compiling EPD_2in13bc.c... -compiling EPD_2in13b_V3.c... -compiling EPD_2in66.c... -compiling EPD_2in13_V2.c... -compiling EPD_2in13.c... -compiling EPD_2in9d.c... -compiling EPD_2in13d.c... -compiling EPD_2in66b.c... -compiling EPD_5in83.c... -compiling EPD_4in2bc.c... -compiling EPD_4in2b_V2.c... -compiling EPD_4in01f.c... -compiling EPD_4in2.c... -compiling EPD_5in83_V2.c... -compiling EPD_5in65f.c... -compiling EPD_3in7.c... -compiling EPD_5in83bc.c... -compiling EPD_7in5_HD.c... -compiling EPD_7in5.c... -compiling EPD_7in5b_HD.c... -compiling EPD_7in5_V2.c... -compiling EPD_5in83b_V2.c... -compiling EPD_7in5b_V2.c... -compiling EPD_7in5bc.c... -compiling font8.c... -compiling font12.c... -compiling font12CN.c... -compiling font16.c... -compiling font20.c... -compiling font24CN.c... -compiling font24.c... -compiling GUI_Paint.c... -compiling DEV_Config.c... -compiling stm32f1xx_hal_rcc_ex.c... -compiling stm32f1xx_hal.c... -compiling system_stm32f1xx.c... -compiling stm32f1xx_hal_gpio_ex.c... -compiling stm32f1xx_hal_spi.c... -compiling stm32f1xx_hal_rcc.c... -compiling stm32f1xx_hal_cortex.c... -compiling stm32f1xx_hal_flash.c... -compiling stm32f1xx_hal_pwr.c... -compiling stm32f1xx_hal_tim.c... -compiling stm32f1xx_hal_gpio.c... -compiling stm32f1xx_hal_exti.c... -compiling stm32f1xx_hal_dma.c... -compiling stm32f1xx_hal_flash_ex.c... -compiling stm32f1xx_hal_tim_ex.c... -compiling stm32f1xx_hal_uart.c... linking... -Program Size: Code=25320 RO-data=28600 RW-data=68 ZI-data=41140 +Program Size: Code=18544 RO-data=360 RW-data=20 ZI-data=4252 FromELF: creating hex file... "epd-demo\epd-demo.axf" - 0 Error(s), 0 Warning(s). @@ -160,7 +54,7 @@ Package Vendor: Keil

Collection of Component Files used:

* Component: ARM::CMSIS:CORE:5.4.0 -Build Time Elapsed: 00:00:47 +Build Time Elapsed: 00:00:03 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 30ce8f6..04e31f0 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.htm @@ -3,11 +3,11 @@ Static Call Graph - [epd-demo\epd-demo.axf]

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


-

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu May 27 18:22:17 2021 +

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Mon Jul 19 11:44:54 2021

-

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

+

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

Call chain for Maximum Stack Depth:

-main ⇒ EPD_2in7_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf +main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

Mutually Recursive functions @@ -133,25 +133,25 @@ Global Symbols

__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_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

__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) @@ -354,7 +354,7 @@ Global Symbols

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

[Stack]

  • Max Depth = 124
  • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq +

    [Stack]
    • Max Depth = 124
    • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

    [Calls]
    • >>   HAL_RCC_OscConfig
    • >>   HAL_RCC_ClockConfig @@ -364,15 +364,14 @@ Global Symbols
      [Called By]
      • >>   main
      -

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

      [Stack]

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

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

        [Stack]

        • Max Depth = 124
        • Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority

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

        [Address Reference Count : 1]
        • entry9a.o(.ARM.Collect$$$$0000000B) @@ -380,8 +379,8 @@ Global Symbols

          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 +
            [Calls]
            • >>   HAL_GPIO_WritePin +
            • >>   HAL_GPIO_Init

            [Called By]
            • >>   main
            @@ -389,56 +388,56 @@ Global Symbols

            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 +
              [Calls]
              • >>   HAL_SPI_Init
              • >>   Error_Handler

              [Called By]
              • >>   main
              -

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

              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 +
                [Calls]
                • >>   HAL_GPIO_Init
                -
                [Called By]
                • >>   HAL_SPI_Init +
                  [Called By]
                  • >>   HAL_SPI_Init
                  -

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

                  [Calls]

                  • >>   HAL_GPIO_DeInit +

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

                    [Calls]

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

                      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 +
                        [Calls]
                        • >>   HAL_UART_Init
                        • >>   Error_Handler

                        [Called By]
                        • >>   main
                        -

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

                        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
                        -
                        [Calls]
                        • >>   HAL_GPIO_Init +
                          [Calls]
                          • >>   HAL_GPIO_Init
                          -
                          [Called By]
                          • >>   HAL_UART_Init -
                          • >>   HAL_MultiProcessor_Init -
                          • >>   HAL_LIN_Init -
                          • >>   HAL_HalfDuplex_Init +
                            [Called By]
                            • >>   HAL_UART_Init +
                            • >>   HAL_MultiProcessor_Init +
                            • >>   HAL_LIN_Init +
                            • >>   HAL_HalfDuplex_Init
                            -

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

                            [Calls]

                            • >>   HAL_GPIO_DeInit +

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

                              [Calls]

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

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

                                [Stack]

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

                                  [Address Reference Count : 1]
                                  • printf3.o(i.__0printf$3)
                                  @@ -483,1076 +482,703 @@ Global Symbols
                                  [Address Reference Count : 1]
                                  • startup_stm32f103xe.o(RESET)

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

                                  [Calls]

                                  • >>   HAL_IncTick +

                                    [Calls]
                                    • >>   HAL_IncTick

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

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

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

                                    [Stack]

                                    • Max Depth = 8
                                    • Call Chain = HAL_MspInit

                                    [Called By]
                                    • >>   HAL_Init
                                    -

                                    EPD_2in7_test (Thumb, 930 bytes, Stack size 48 bytes, epd_2in7_test.o(.text)) -

                                    [Stack]

                                    • Max Depth = 752
                                    • Call Chain = EPD_2in7_test ⇒ Paint_DrawNum ⇒ Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   Paint_SetScale -
                                    • >>   EPD_2IN7_Sleep -
                                    • >>   EPD_2IN7_Init_4Gray -
                                    • >>   EPD_2IN7_Init -
                                    • >>   EPD_2IN7_Display -
                                    • >>   EPD_2IN7_Clear -
                                    • >>   EPD_2IN7_4GrayDisplay -
                                    • >>   Paint_DrawBitMap -
                                    • >>   Paint_SelectImage -
                                    • >>   Paint_NewImage -
                                    • >>   Paint_DrawString_EN -
                                    • >>   Paint_DrawString_CN -
                                    • >>   Paint_DrawRectangle -
                                    • >>   Paint_DrawPoint -
                                    • >>   Paint_DrawNum -
                                    • >>   Paint_DrawLine -
                                    • >>   Paint_DrawCircle -
                                    • >>   Paint_Clear -
                                    • >>   DEV_Module_Init -
                                    • >>   DEV_Module_Exit -
                                    • >>   HAL_Delay -
                                    • >>   __2printf -
                                    • >>   malloc -
                                    • >>   free -
                                    -
                                    [Called By]
                                    • >>   main -
                                    - -

                                    EPD_2in7_gray_SetLut (Thumb, 142 bytes, Stack size 16 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 128
                                    • Call Chain = EPD_2in7_gray_SetLut ⇒ EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    -
                                    [Called By]
                                    • >>   EPD_2IN7_4GrayDisplay -
                                    - -

                                    EPD_2IN7_Init (Thumb, 258 bytes, Stack size 8 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 136
                                    • Call Chain = EPD_2IN7_Init ⇒ EPD_2in7_SetLut ⇒ EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SetLut -
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    • >>   EPD_2in7_ReadBusy -
                                    • >>   EPD_2in7_Reset -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    EPD_2IN7_Init_4Gray (Thumb, 290 bytes, Stack size 8 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 128
                                    • Call Chain = EPD_2IN7_Init_4Gray ⇒ EPD_2in7_ReadBusy ⇒ EPD_2in7_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    • >>   EPD_2in7_ReadBusy -
                                    • >>   EPD_2in7_Reset -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    EPD_2IN7_Clear (Thumb, 86 bytes, Stack size 24 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 144
                                    • Call Chain = EPD_2IN7_Clear ⇒ EPD_2in7_ReadBusy ⇒ EPD_2in7_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    • >>   EPD_2in7_ReadBusy -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    EPD_2IN7_Display (Thumb, 98 bytes, Stack size 32 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 152
                                    • Call Chain = EPD_2IN7_Display ⇒ EPD_2in7_ReadBusy ⇒ EPD_2in7_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    • >>   EPD_2in7_ReadBusy -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    EPD_2IN7_4GrayDisplay (Thumb, 302 bytes, Stack size 24 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 152
                                    • Call Chain = EPD_2IN7_4GrayDisplay ⇒ EPD_2in7_gray_SetLut ⇒ EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   HAL_Delay -
                                    • >>   EPD_2in7_gray_SetLut -
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    • >>   EPD_2in7_ReadBusy -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    EPD_2IN7_Sleep (Thumb, 36 bytes, Stack size 8 bytes, epd_2in7.o(.text)) -

                                    [Stack]

                                    • Max Depth = 120
                                    • Call Chain = EPD_2IN7_Sleep ⇒ EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                    -
                                    [Calls]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

                                    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]
                                    • >>   HAL_SPI_Transmit -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_SendData -
                                    • >>   EPD_2in7_SendCommand -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 8
                                    • Call Chain = DEV_Module_Init -
                                    -
                                    [Calls]
                                    • >>   HAL_GPIO_WritePin -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 8
                                    • Call Chain = DEV_Module_Exit -
                                    -
                                    [Calls]
                                    • >>   HAL_GPIO_WritePin -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Stack]

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

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

                                    [Called By]

                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Calls]

                                    • >>   __2printf -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 32
                                    • Call Chain = Paint_SetScale ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   __2printf -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Calls]

                                    • >>   __2printf -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 40
                                    • Call Chain = Paint_SetPixel ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   __2printf -
                                    -
                                    [Called By]
                                    • >>   Paint_DrawString_CN -
                                    • >>   Paint_DrawPoint -
                                    • >>   Paint_ClearWindows -
                                    • >>   Paint_DrawChar -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 12
                                    • Call Chain = Paint_Clear -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Calls]

                                    • >>   Paint_SetPixel -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 80
                                    • Call Chain = Paint_DrawPoint ⇒ Paint_SetPixel ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   Paint_SetPixel -
                                    • >>   __2printf -
                                    -
                                    [Called By]
                                    • >>   Paint_DrawLine -
                                    • >>   Paint_DrawCircle -
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Stack]

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

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

                                    [Stack]

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

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

                                    [Stack]

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

                                    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]
                                    • >>   Paint_SetPixel -
                                    • >>   __2printf -
                                    -
                                    [Called By]
                                    • >>   Paint_DrawTime -
                                    • >>   Paint_DrawString_EN -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 128
                                    • Call Chain = Paint_DrawString_EN ⇒ Paint_DrawChar ⇒ Paint_SetPixel ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   Paint_DrawChar -
                                    • >>   __2printf -
                                    -
                                    [Called By]
                                    • >>   Paint_DrawNum -
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Stack]

                                    • Max Depth = 80
                                    • Call Chain = Paint_DrawString_CN ⇒ Paint_SetPixel ⇒ __2printf -
                                    -
                                    [Calls]
                                    • >>   Paint_SetPixel -
                                    -
                                    [Called By]
                                    • >>   EPD_2in7_test -
                                    - -

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

                                    [Stack]

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

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

                                    [Calls]

                                    • >>   Paint_DrawChar -
                                    - -

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

                                    [Stack]

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

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

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

                                    • startup_stm32f103xe.o(.text)
                                    -

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

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

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

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

                                    [Stack]

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

                                      [Called By]
                                      • >>   MX_SPI1_Init
                                      -

                                      HAL_SPI_DeInit (Thumb, 48 bytes, Stack size 8 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                      [Calls]

                                      • >>   HAL_SPI_MspDeInit +

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

                                        [Calls]

                                        • >>   HAL_SPI_MspDeInit
                                        -

                                        HAL_SPI_Transmit (Thumb, 412 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text)) -

                                        [Stack]

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

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

                                          [Calls]

                                          • >>   HAL_GetTick +
                                          • >>   SPI_EndRxTxTransaction
                                          -

                                          HAL_SPI_TransmitReceive (Thumb, 510 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                          [Calls]

                                          • >>   HAL_GetTick -
                                          • >>   SPI_EndRxTxTransaction +

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

                                            [Calls]

                                            • >>   HAL_GetTick +
                                            • >>   SPI_EndRxTxTransaction
                                            -
                                            [Called By]
                                            • >>   HAL_SPI_Receive +
                                              [Called By]
                                              • >>   HAL_SPI_Receive
                                              -

                                              HAL_SPI_Receive (Thumb, 366 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                              [Calls]

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

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

                                                [Calls]

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

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

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

                                                [Called By]

                                                • >>   SPI_DMATransmitCplt -
                                                • >>   SPI_CloseTx_ISR +
                                                • >>   SPI_CloseTx_ISR
                                                -

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

                                                [Called By]

                                                • >>   HAL_SPI_IRQHandler +

                                                  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 +
                                                  • >>   SPI_CloseRxTx_ISR +
                                                  • >>   SPI_CloseRx_ISR +
                                                  • >>   SPI_CloseTx_ISR
                                                  -

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

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

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

                                                  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 +
                                                  • >>   SPI_CloseRxTx_ISR +
                                                  • >>   SPI_CloseRx_ISR
                                                  -

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

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

                                                  [Called By]

                                                  • >>   SPI_DMATransmitReceiveCplt -
                                                  • >>   SPI_CloseRxTx_ISR +
                                                  • >>   SPI_CloseRxTx_ISR
                                                  -

                                                  HAL_SPI_TransmitReceive_IT (Thumb, 188 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                  [Called By]

                                                  • >>   HAL_SPI_Receive_IT +

                                                    HAL_SPI_TransmitReceive_IT (Thumb, 188 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                    [Called By]

                                                    • >>   HAL_SPI_Receive_IT
                                                    -

                                                    HAL_SPI_Receive_IT (Thumb, 176 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                    [Calls]

                                                    • >>   HAL_SPI_TransmitReceive_IT +

                                                      HAL_SPI_Receive_IT (Thumb, 176 bytes, Stack size 12 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                      [Calls]

                                                      • >>   HAL_SPI_TransmitReceive_IT
                                                      -

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

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

                                                      [Called By]

                                                      • >>   SPI_DMAHalfTransmitCplt
                                                      -

                                                      HAL_SPI_Transmit_DMA (Thumb, 208 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                      [Calls]

                                                      • >>   HAL_DMA_Start_IT +

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

                                                        [Calls]

                                                        • >>   HAL_DMA_Start_IT
                                                        -

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

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

                                                        [Called By]

                                                        • >>   SPI_DMAHalfReceiveCplt
                                                        -

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

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

                                                        [Called By]

                                                        • >>   SPI_DMAHalfTransmitReceiveCplt
                                                        -

                                                        HAL_SPI_TransmitReceive_DMA (Thumb, 302 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                        [Calls]

                                                        • >>   HAL_DMA_Start_IT +

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

                                                          [Calls]

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

                                                            HAL_SPI_Receive_DMA (Thumb, 278 bytes, Stack size 24 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                            [Calls]

                                                            • >>   HAL_DMA_Start_IT -
                                                            • >>   HAL_SPI_TransmitReceive_DMA +

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

                                                              [Calls]

                                                              • >>   HAL_DMA_Start_IT +
                                                              • >>   HAL_SPI_TransmitReceive_DMA
                                                              -

                                                              HAL_SPI_Abort (Thumb, 290 bytes, Stack size 32 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                              [Calls]

                                                              • >>   HAL_DMA_Abort +

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

                                                                [Calls]

                                                                • >>   HAL_DMA_Abort
                                                                -

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

                                                                [Called By]

                                                                • >>   HAL_SPI_Abort_IT +

                                                                  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
                                                                  -

                                                                  HAL_SPI_Abort_IT (Thumb, 328 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                                  [Calls]

                                                                  • >>   HAL_SPI_AbortCpltCallback -
                                                                  • >>   HAL_DMA_Abort_IT +

                                                                    HAL_SPI_Abort_IT (Thumb, 328 bytes, Stack size 40 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) +

                                                                    [Calls]

                                                                    • >>   HAL_SPI_AbortCpltCallback +
                                                                    • >>   HAL_DMA_Abort_IT
                                                                    -

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

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

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

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

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

                                                                    [Calls]

                                                                    • >>   HAL_DMA_Abort +

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

                                                                      [Calls]

                                                                      • >>   HAL_DMA_Abort
                                                                      -

                                                                      HAL_SPI_IRQHandler (Thumb, 250 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text), UNUSED) -

                                                                      [Calls]

                                                                      • >>   HAL_SPI_ErrorCallback -
                                                                      • >>   HAL_DMA_Abort_IT +

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

                                                                        [Calls]

                                                                        • >>   HAL_SPI_ErrorCallback +
                                                                        • >>   HAL_DMA_Abort_IT
                                                                        -

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

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

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

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

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

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

                                                                        [Stack]

                                                                        • Max Depth = 20
                                                                        • Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                        -
                                                                        [Calls]
                                                                        • >>   HAL_SYSTICK_Config -
                                                                        • >>   HAL_NVIC_SetPriority +
                                                                          [Calls]
                                                                          • >>   HAL_SYSTICK_Config +
                                                                          • >>   HAL_NVIC_SetPriority

                                                                          [Called By]
                                                                          • >>   HAL_RCC_ClockConfig
                                                                          • >>   HAL_Init -
                                                                          • >>   HAL_RCC_DeInit -
                                                                          • >>   HAL_SetTickFreq +
                                                                          • >>   HAL_SetTickFreq +
                                                                          • >>   HAL_RCC_DeInit

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

                                                                          [Stack]

                                                                          • Max Depth = 28
                                                                          • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                          -
                                                                          [Calls]
                                                                          • >>   HAL_MspInit -
                                                                          • >>   HAL_InitTick -
                                                                          • >>   HAL_NVIC_SetPriorityGrouping +
                                                                            [Calls]
                                                                            • >>   HAL_MspInit +
                                                                            • >>   HAL_InitTick +
                                                                            • >>   HAL_NVIC_SetPriorityGrouping

                                                                            [Called By]
                                                                            • >>   main
                                                                            -

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

                                                                            [Called By]

                                                                            • >>   HAL_DeInit +

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

                                                                              [Called By]

                                                                              • >>   HAL_DeInit
                                                                              -

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

                                                                              [Calls]

                                                                              • >>   HAL_MspDeInit +

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

                                                                                [Calls]

                                                                                • >>   HAL_MspDeInit
                                                                                -

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

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

                                                                                [Called By]

                                                                                • >>   SysTick_Handler
                                                                                -

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

                                                                                [Called By]

                                                                                • >>   HAL_UART_Transmit +

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

                                                                                  [Called By]

                                                                                  • >>   HAL_UART_Transmit
                                                                                  • >>   HAL_RCC_OscConfig
                                                                                  • >>   HAL_RCC_ClockConfig -
                                                                                  • >>   HAL_Delay -
                                                                                  • >>   HAL_RCC_DeInit -
                                                                                  • >>   HAL_SPI_Receive -
                                                                                  • >>   HAL_SPI_TransmitReceive +
                                                                                  • >>   HAL_Delay +
                                                                                  • >>   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 -
                                                                                  • >>   HAL_SPI_Transmit -
                                                                                  • >>   HAL_UART_Receive -
                                                                                  • >>   UART_WaitOnFlagUntilTimeout -
                                                                                  • >>   HAL_DMA_PollForTransfer +
                                                                                  • >>   SPI_CloseRxTx_ISR +
                                                                                  • >>   SPI_CloseRx_ISR +
                                                                                  • >>   SPI_CloseTx_ISR +
                                                                                  • >>   SPI_WaitFlagStateUntilTimeout +
                                                                                  • >>   HAL_SPI_Transmit +
                                                                                  • >>   HAL_UART_Receive +
                                                                                  • >>   UART_WaitOnFlagUntilTimeout +
                                                                                  • >>   HAL_DMA_PollForTransfer +
                                                                                  • >>   HAL_RCC_DeInit
                                                                                  -

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

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

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

                                                                                  [Calls]

                                                                                  • >>   HAL_InitTick +

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

                                                                                    [Calls]

                                                                                    • >>   HAL_InitTick
                                                                                    -

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

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

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

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

                                                                                    [Stack]

                                                                                    • Max Depth = 16
                                                                                    • Call Chain = HAL_Delay
                                                                                    -
                                                                                    [Calls]
                                                                                    • >>   HAL_GetTick +
                                                                                      [Calls]
                                                                                      • >>   HAL_GetTick
                                                                                      -
                                                                                      [Called By]
                                                                                      • >>   EPD_2IN7_4GrayDisplay -
                                                                                      • >>   EPD_2in7_test -
                                                                                      • >>   main -
                                                                                      • >>   EPD_2in7_ReadBusy -
                                                                                      • >>   EPD_2in7_Reset +
                                                                                        [Called By]
                                                                                        • >>   main
                                                                                        -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                                                                        [Calls]

                                                                                        • >>   HAL_InitTick -
                                                                                        • >>   HAL_GetTick +

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

                                                                                          [Calls]

                                                                                          • >>   HAL_InitTick +
                                                                                          • >>   HAL_GetTick

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

                                                                                          [Stack]

                                                                                          • Max Depth = 44
                                                                                          • Call Chain = HAL_RCC_OscConfig ⇒ RCC_Delay
                                                                                          -
                                                                                          [Calls]
                                                                                          • >>   RCC_Delay -
                                                                                          • >>   HAL_GetTick +
                                                                                            [Calls]
                                                                                            • >>   RCC_Delay +
                                                                                            • >>   HAL_GetTick

                                                                                            [Called By]
                                                                                            • >>   SystemClock_Config
                                                                                            -

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

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

                                                                                            [Stack]

                                                                                            • Max Depth = 20
                                                                                            • Call Chain = HAL_RCC_GetSysClockFreq

                                                                                            [Called By]
                                                                                            • >>   HAL_RCC_ClockConfig

                                                                                            HAL_RCC_ClockConfig (Thumb, 364 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text)) -

                                                                                            [Stack]

                                                                                            • Max Depth = 52
                                                                                            • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_RCC_GetSysClockFreq +

                                                                                              [Stack]
                                                                                              • Max Depth = 52
                                                                                              • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority
                                                                                              -
                                                                                              [Calls]
                                                                                              • >>   HAL_RCC_GetSysClockFreq -
                                                                                              • >>   HAL_InitTick -
                                                                                              • >>   HAL_GetTick +
                                                                                                [Calls]
                                                                                                • >>   HAL_InitTick +
                                                                                                • >>   HAL_GetTick +
                                                                                                • >>   HAL_RCC_GetSysClockFreq

                                                                                                [Called By]
                                                                                                • >>   SystemClock_Config
                                                                                                -

                                                                                                HAL_RCC_MCOConfig (Thumb, 64 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) -

                                                                                                [Calls]

                                                                                                • >>   HAL_GPIO_Init +

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

                                                                                                  [Calls]

                                                                                                  • >>   HAL_GPIO_Init
                                                                                                  -

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

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

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

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

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

                                                                                                  [Called By]

                                                                                                  • >>   HAL_RCC_GetPCLK2Freq -
                                                                                                  • >>   HAL_RCC_GetPCLK1Freq +

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

                                                                                                    [Called By]

                                                                                                    • >>   HAL_RCC_GetPCLK2Freq +
                                                                                                    • >>   HAL_RCC_GetPCLK1Freq
                                                                                                    -

                                                                                                    HAL_RCC_GetPCLK1Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                    HAL_RCC_GetPCLK1Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text))

                                                                                                    [Stack]

                                                                                                    • Max Depth = 4
                                                                                                    • Call Chain = HAL_RCC_GetPCLK1Freq
                                                                                                    -
                                                                                                    [Calls]
                                                                                                    • >>   HAL_RCC_GetHCLKFreq +
                                                                                                      [Calls]
                                                                                                      • >>   HAL_RCC_GetHCLKFreq
                                                                                                      -
                                                                                                      [Called By]
                                                                                                      • >>   UART_SetConfig +
                                                                                                        [Called By]
                                                                                                        • >>   UART_SetConfig
                                                                                                        -

                                                                                                        HAL_RCC_GetPCLK2Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                        HAL_RCC_GetPCLK2Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text))

                                                                                                        [Stack]

                                                                                                        • Max Depth = 4
                                                                                                        • Call Chain = HAL_RCC_GetPCLK2Freq
                                                                                                        -
                                                                                                        [Calls]
                                                                                                        • >>   HAL_RCC_GetHCLKFreq +
                                                                                                          [Calls]
                                                                                                          • >>   HAL_RCC_GetHCLKFreq
                                                                                                          -
                                                                                                          [Called By]
                                                                                                          • >>   UART_SetConfig +
                                                                                                            [Called By]
                                                                                                            • >>   UART_SetConfig
                                                                                                            -

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

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

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

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

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

                                                                                                            [Called By]

                                                                                                            • >>   HAL_RCC_NMI_IRQHandler +

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

                                                                                                              [Called By]

                                                                                                              • >>   HAL_RCC_NMI_IRQHandler
                                                                                                              -

                                                                                                              HAL_RCC_NMI_IRQHandler (Thumb, 22 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text), UNUSED) -

                                                                                                              [Calls]

                                                                                                              • >>   HAL_RCC_CSSCallback +

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

                                                                                                                [Calls]

                                                                                                                • >>   HAL_RCC_CSSCallback
                                                                                                                -

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

                                                                                                                HAL_GPIO_Init (Thumb, 524 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 +
                                                                                                                  [Called By]
                                                                                                                  • >>   HAL_UART_MspInit +
                                                                                                                  • >>   HAL_SPI_MspInit
                                                                                                                  • >>   MX_GPIO_Init -
                                                                                                                  • >>   HAL_RCC_MCOConfig +
                                                                                                                  • >>   HAL_RCC_MCOConfig
                                                                                                                  -

                                                                                                                  HAL_GPIO_DeInit (Thumb, 320 bytes, Stack size 36 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) -

                                                                                                                  [Called By]

                                                                                                                  • >>   HAL_UART_MspDeInit -
                                                                                                                  • >>   HAL_SPI_MspDeInit +

                                                                                                                    HAL_GPIO_DeInit (Thumb, 320 bytes, Stack size 36 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) +

                                                                                                                    [Called By]

                                                                                                                    • >>   HAL_UART_MspDeInit +
                                                                                                                    • >>   HAL_SPI_MspDeInit
                                                                                                                    -

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

                                                                                                                    [Called By]

                                                                                                                    • >>   EPD_2in7_ReadBusy +

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

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

                                                                                                                      [Called By]

                                                                                                                      • >>   MX_GPIO_Init
                                                                                                                      -

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

                                                                                                                      [Called By]

                                                                                                                      • >>   DEV_Module_Init -
                                                                                                                      • >>   DEV_Module_Exit -
                                                                                                                      • >>   MX_GPIO_Init -
                                                                                                                      • >>   EPD_2in7_SendData -
                                                                                                                      • >>   EPD_2in7_SendCommand -
                                                                                                                      • >>   EPD_2in7_Reset +

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

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

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

                                                                                                                        [Called By]

                                                                                                                        • >>   HAL_GPIO_EXTI_IRQHandler
                                                                                                                        -

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

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

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

                                                                                                                        [Called By]

                                                                                                                        • >>   HAL_GPIO_EXTI_IRQHandler +

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

                                                                                                                          [Calls]

                                                                                                                          • >>   HAL_GPIO_EXTI_Callback
                                                                                                                          -

                                                                                                                          HAL_GPIO_EXTI_IRQHandler (Thumb, 18 bytes, Stack size 8 bytes, stm32f1xx_hal_gpio.o(.text), UNUSED) -

                                                                                                                          [Calls]

                                                                                                                          • >>   HAL_GPIO_EXTI_Callback +

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

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

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

                                                                                                                            [Calls]

                                                                                                                            • >>   DMA_SetConfig
                                                                                                                            -

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

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

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

                                                                                                                            [Calls]

                                                                                                                            • >>   DMA_SetConfig +

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

                                                                                                                              [Calls]

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

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

                                                                                                                              [Calls]

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

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

                                                                                                                                [Called By]

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

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

                                                                                                                                [Called By]

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

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

                                                                                                                                  [Called By]

                                                                                                                                  • >>   HAL_SPI_IRQHandler +
                                                                                                                                  • >>   HAL_SPI_Abort_IT +
                                                                                                                                  • >>   HAL_UART_IRQHandler +
                                                                                                                                  • >>   HAL_UART_AbortReceive_IT +
                                                                                                                                  • >>   HAL_UART_AbortTransmit_IT +
                                                                                                                                  • >>   HAL_UART_Abort_IT
                                                                                                                                  -

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

                                                                                                                                  [Called By]

                                                                                                                                  • >>   HAL_SPI_IRQHandler -
                                                                                                                                  • >>   HAL_SPI_Abort_IT -
                                                                                                                                  • >>   HAL_UART_IRQHandler -
                                                                                                                                  • >>   HAL_UART_AbortReceive_IT -
                                                                                                                                  • >>   HAL_UART_AbortTransmit_IT -
                                                                                                                                  • >>   HAL_UART_Abort_IT +

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

                                                                                                                                    [Calls]

                                                                                                                                    • >>   HAL_GetTick
                                                                                                                                    -

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

                                                                                                                                    [Calls]

                                                                                                                                    • >>   HAL_GetTick +

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

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

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

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

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

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

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

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

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

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

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

                                                                                                                                      [Called By]

                                                                                                                                      • >>   HAL_Init
                                                                                                                                      -

                                                                                                                                      HAL_NVIC_SetPriority (Thumb, 98 bytes, Stack size 4 bytes, stm32f1xx_hal_cortex.o(.text)) +

                                                                                                                                      HAL_NVIC_SetPriority (Thumb, 98 bytes, Stack size 4 bytes, stm32f1xx_hal_cortex.o(.text))

                                                                                                                                      [Stack]

                                                                                                                                      • Max Depth = 4
                                                                                                                                      • Call Chain = HAL_NVIC_SetPriority
                                                                                                                                      -
                                                                                                                                      [Called By]
                                                                                                                                      • >>   HAL_InitTick +
                                                                                                                                        [Called By]
                                                                                                                                        • >>   HAL_InitTick
                                                                                                                                        -

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

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

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

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

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

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

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

                                                                                                                                        [Called By]

                                                                                                                                        • >>   HAL_InitTick +

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

                                                                                                                                          [Called By]

                                                                                                                                          • >>   HAL_InitTick
                                                                                                                                          -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                                                                                                                          [Called By]

                                                                                                                                          • >>   HAL_SYSTICK_IRQHandler +

                                                                                                                                            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_SYSTICK_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text), UNUSED) +

                                                                                                                                              [Calls]

                                                                                                                                              • >>   HAL_SYSTICK_Callback
                                                                                                                                              -

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

                                                                                                                                              HAL_UART_Init (Thumb, 100 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 +
                                                                                                                                                [Calls]
                                                                                                                                                • >>   HAL_UART_MspInit +
                                                                                                                                                • >>   UART_SetConfig

                                                                                                                                                [Called By]
                                                                                                                                                • >>   MX_USART1_UART_Init
                                                                                                                                                -

                                                                                                                                                HAL_HalfDuplex_Init (Thumb, 110 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                [Calls]

                                                                                                                                                • >>   HAL_UART_MspInit -
                                                                                                                                                • >>   UART_SetConfig +

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

                                                                                                                                                  [Calls]

                                                                                                                                                  • >>   HAL_UART_MspInit +
                                                                                                                                                  • >>   UART_SetConfig
                                                                                                                                                  -

                                                                                                                                                  HAL_LIN_Init (Thumb, 130 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                  [Calls]

                                                                                                                                                  • >>   HAL_UART_MspInit -
                                                                                                                                                  • >>   UART_SetConfig +

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

                                                                                                                                                    [Calls]

                                                                                                                                                    • >>   HAL_UART_MspInit +
                                                                                                                                                    • >>   UART_SetConfig
                                                                                                                                                    -

                                                                                                                                                    HAL_MultiProcessor_Init (Thumb, 146 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                    [Calls]

                                                                                                                                                    • >>   HAL_UART_MspInit -
                                                                                                                                                    • >>   UART_SetConfig +

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

                                                                                                                                                      [Calls]

                                                                                                                                                      • >>   HAL_UART_MspInit +
                                                                                                                                                      • >>   UART_SetConfig
                                                                                                                                                      -

                                                                                                                                                      HAL_UART_DeInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                      [Calls]

                                                                                                                                                      • >>   HAL_UART_MspDeInit +

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

                                                                                                                                                        [Calls]

                                                                                                                                                        • >>   HAL_UART_MspDeInit
                                                                                                                                                        -

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

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

                                                                                                                                                        [Stack]

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

                                                                                                                                                          [Called By]
                                                                                                                                                          • >>   fputc
                                                                                                                                                          -

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

                                                                                                                                                          [Calls]

                                                                                                                                                          • >>   HAL_GetTick -
                                                                                                                                                          • >>   UART_WaitOnFlagUntilTimeout +

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

                                                                                                                                                            [Calls]

                                                                                                                                                            • >>   HAL_GetTick +
                                                                                                                                                            • >>   UART_WaitOnFlagUntilTimeout
                                                                                                                                                            -

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

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

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

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

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

                                                                                                                                                            [Called By]

                                                                                                                                                            • >>   HAL_UART_IRQHandler +

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

                                                                                                                                                              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]

                                                                                                                                                              • >>   UART_EndTransmit_IT +

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

                                                                                                                                                                [Called By]

                                                                                                                                                                • >>   UART_EndTransmit_IT
                                                                                                                                                                • >>   UART_DMATransmitCplt
                                                                                                                                                                -

                                                                                                                                                                HAL_UART_Transmit_DMA (Thumb, 138 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                [Calls]

                                                                                                                                                                • >>   HAL_DMA_Start_IT +

                                                                                                                                                                  HAL_UART_Transmit_DMA (Thumb, 138 bytes, Stack size 24 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)) +

                                                                                                                                                                  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 +

                                                                                                                                                                    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, 150 bytes, Stack size 32 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                    [Calls]

                                                                                                                                                                    • >>   HAL_DMA_Start_IT +

                                                                                                                                                                      HAL_UART_Receive_DMA (Thumb, 150 bytes, Stack size 32 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_DMAPause (Thumb, 102 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

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

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

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

                                                                                                                                                                      [Calls]

                                                                                                                                                                      • >>   HAL_DMA_Abort -
                                                                                                                                                                      • >>   UART_EndTxTransfer -
                                                                                                                                                                      • >>   UART_EndRxTransfer +

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

                                                                                                                                                                        [Calls]

                                                                                                                                                                        • >>   HAL_DMA_Abort +
                                                                                                                                                                        • >>   UART_EndTxTransfer +
                                                                                                                                                                        • >>   UART_EndRxTransfer
                                                                                                                                                                        -

                                                                                                                                                                        HAL_UART_Abort (Thumb, 148 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                        [Calls]

                                                                                                                                                                        • >>   HAL_DMA_Abort -
                                                                                                                                                                        • >>   HAL_DMA_GetError +

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

                                                                                                                                                                          [Calls]

                                                                                                                                                                          • >>   HAL_DMA_Abort +
                                                                                                                                                                          • >>   HAL_DMA_GetError
                                                                                                                                                                          -

                                                                                                                                                                          HAL_UART_AbortTransmit (Thumb, 80 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                          [Calls]

                                                                                                                                                                          • >>   HAL_DMA_Abort -
                                                                                                                                                                          • >>   HAL_DMA_GetError +

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

                                                                                                                                                                            [Calls]

                                                                                                                                                                            • >>   HAL_DMA_Abort +
                                                                                                                                                                            • >>   HAL_DMA_GetError
                                                                                                                                                                            -

                                                                                                                                                                            HAL_UART_AbortReceive (Thumb, 90 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                            [Calls]

                                                                                                                                                                            • >>   HAL_DMA_Abort -
                                                                                                                                                                            • >>   HAL_DMA_GetError +

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

                                                                                                                                                                              [Calls]

                                                                                                                                                                              • >>   HAL_DMA_Abort +
                                                                                                                                                                              • >>   HAL_DMA_GetError
                                                                                                                                                                              -

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

                                                                                                                                                                              [Called By]

                                                                                                                                                                              • >>   HAL_UART_Abort_IT +

                                                                                                                                                                                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, 178 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                [Calls]

                                                                                                                                                                                • >>   HAL_DMA_Abort_IT -
                                                                                                                                                                                • >>   HAL_UART_AbortCpltCallback +

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

                                                                                                                                                                                  [Calls]

                                                                                                                                                                                  • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                  • >>   HAL_UART_AbortCpltCallback
                                                                                                                                                                                  -

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

                                                                                                                                                                                  [Called By]

                                                                                                                                                                                  • >>   HAL_UART_AbortTransmit_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, 94 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                    [Calls]

                                                                                                                                                                                    • >>   HAL_DMA_Abort_IT -
                                                                                                                                                                                    • >>   HAL_UART_AbortTransmitCpltCallback +

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

                                                                                                                                                                                      [Calls]

                                                                                                                                                                                      • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                      • >>   HAL_UART_AbortTransmitCpltCallback
                                                                                                                                                                                      -

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

                                                                                                                                                                                      [Called By]

                                                                                                                                                                                      • >>   HAL_UART_AbortReceive_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, 104 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                        [Calls]

                                                                                                                                                                                        • >>   HAL_DMA_Abort_IT -
                                                                                                                                                                                        • >>   HAL_UART_AbortReceiveCpltCallback +

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

                                                                                                                                                                                          [Calls]

                                                                                                                                                                                          • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                          • >>   HAL_UART_AbortReceiveCpltCallback
                                                                                                                                                                                          -

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

                                                                                                                                                                                          [Calls]

                                                                                                                                                                                          • >>   HAL_DMA_Abort_IT -
                                                                                                                                                                                          • >>   HAL_UART_ErrorCallback -
                                                                                                                                                                                          • >>   UART_Receive_IT -
                                                                                                                                                                                          • >>   UART_Transmit_IT -
                                                                                                                                                                                          • >>   UART_EndTransmit_IT -
                                                                                                                                                                                          • >>   UART_EndRxTransfer +

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

                                                                                                                                                                                            [Calls]

                                                                                                                                                                                            • >>   HAL_DMA_Abort_IT +
                                                                                                                                                                                            • >>   HAL_UART_ErrorCallback +
                                                                                                                                                                                            • >>   UART_Receive_IT +
                                                                                                                                                                                            • >>   UART_Transmit_IT +
                                                                                                                                                                                            • >>   UART_EndTransmit_IT +
                                                                                                                                                                                            • >>   UART_EndRxTransfer
                                                                                                                                                                                            -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                                                                                                                                                                            [Called By]

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

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

                                                                                                                                                                                              [Called By]

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

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

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

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

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

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

                                                                                                                                                                                              [Calls]

                                                                                                                                                                                              • >>   __aeabi_memset +

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

                                                                                                                                                                                                [Calls]

                                                                                                                                                                                                • >>   __aeabi_memset

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

                                                                                                                                                                                                [Called By]

                                                                                                                                                                                                • >>   Paint_DrawNum -
                                                                                                                                                                                                • >>   SystemClock_Config +

                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                  • >>   SystemClock_Config
                                                                                                                                                                                                  -

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

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

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

                                                                                                                                                                                                  [Calls]

                                                                                                                                                                                                  • >>   __aeabi_memset +

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

                                                                                                                                                                                                    [Calls]

                                                                                                                                                                                                    • >>   __aeabi_memset
                                                                                                                                                                                                    -

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

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

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

                                                                                                                                                                                                    [Called By]

                                                                                                                                                                                                    • >>   _printf_core +

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

                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                      • >>   _printf_core

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

                                                                                                                                                                                                      [Calls]

                                                                                                                                                                                                      • >>   __main_after_scatterload +

                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                        • >>   __main_after_scatterload

                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                        • >>   _main_scatterload
                                                                                                                                                                                                        -

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

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

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

                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                        • >>   _printf_core +

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

                                                                                                                                                                                                          [Calls]

                                                                                                                                                                                                          • >>   _printf_core
                                                                                                                                                                                                          -

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

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

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

                                                                                                                                                                                                          [Stack]

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

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

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

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

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

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

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

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 8
                                                                                                                                                                                                            • Call Chain = free -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2in7_test -
                                                                                                                                                                                                            - -

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

                                                                                                                                                                                                            [Stack]

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

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

                                                                                                                                                                                                            Local Symbols

                                                                                                                                                                                                            -

                                                                                                                                                                                                            EPD_2in7_Reset (Thumb, 56 bytes, Stack size 8 bytes, epd_2in7.o(.text)) -

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 24
                                                                                                                                                                                                            • Call Chain = EPD_2in7_Reset ⇒ HAL_Delay -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   HAL_GPIO_WritePin -
                                                                                                                                                                                                            • >>   HAL_Delay -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2IN7_Init_4Gray -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            EPD_2in7_ReadBusy (Thumb, 48 bytes, Stack size 8 bytes, epd_2in7.o(.text)) -

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 120
                                                                                                                                                                                                            • Call Chain = EPD_2in7_ReadBusy ⇒ EPD_2in7_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   HAL_Delay -
                                                                                                                                                                                                            • >>   EPD_2in7_SendCommand -
                                                                                                                                                                                                            • >>   HAL_GPIO_ReadPin -
                                                                                                                                                                                                            • >>   __2printf -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2IN7_Init_4Gray -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init -
                                                                                                                                                                                                            • >>   EPD_2IN7_Display -
                                                                                                                                                                                                            • >>   EPD_2IN7_Clear -
                                                                                                                                                                                                            • >>   EPD_2IN7_4GrayDisplay -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            EPD_2in7_SendCommand (Thumb, 46 bytes, Stack size 16 bytes, epd_2in7.o(.text)) -

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 112
                                                                                                                                                                                                            • Call Chain = EPD_2in7_SendCommand ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   HAL_GPIO_WritePin -
                                                                                                                                                                                                            • >>   DEV_SPI_WriteByte -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2IN7_Sleep -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init_4Gray -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init -
                                                                                                                                                                                                            • >>   EPD_2IN7_Display -
                                                                                                                                                                                                            • >>   EPD_2IN7_Clear -
                                                                                                                                                                                                            • >>   EPD_2IN7_4GrayDisplay -
                                                                                                                                                                                                            • >>   EPD_2in7_gray_SetLut -
                                                                                                                                                                                                            • >>   EPD_2in7_SetLut -
                                                                                                                                                                                                            • >>   EPD_2in7_ReadBusy -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            EPD_2in7_SendData (Thumb, 46 bytes, Stack size 16 bytes, epd_2in7.o(.text)) -

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 112
                                                                                                                                                                                                            • Call Chain = EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   HAL_GPIO_WritePin -
                                                                                                                                                                                                            • >>   DEV_SPI_WriteByte -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2IN7_Sleep -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init_4Gray -
                                                                                                                                                                                                            • >>   EPD_2IN7_Init -
                                                                                                                                                                                                            • >>   EPD_2IN7_Display -
                                                                                                                                                                                                            • >>   EPD_2IN7_Clear -
                                                                                                                                                                                                            • >>   EPD_2IN7_4GrayDisplay -
                                                                                                                                                                                                            • >>   EPD_2in7_gray_SetLut -
                                                                                                                                                                                                            • >>   EPD_2in7_SetLut -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            EPD_2in7_SetLut (Thumb, 122 bytes, Stack size 16 bytes, epd_2in7.o(.text)) -

                                                                                                                                                                                                            [Stack]

                                                                                                                                                                                                            • Max Depth = 128
                                                                                                                                                                                                            • Call Chain = EPD_2in7_SetLut ⇒ EPD_2in7_SendData ⇒ DEV_SPI_WriteByte ⇒ HAL_SPI_Transmit ⇒ SPI_EndRxTxTransaction ⇒ SPI_WaitFlagStateUntilTimeout -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Calls]
                                                                                                                                                                                                            • >>   EPD_2in7_SendData -
                                                                                                                                                                                                            • >>   EPD_2in7_SendCommand -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                            • >>   EPD_2IN7_Init -
                                                                                                                                                                                                            - -

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

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

                                                                                                                                                                                                            [Stack]

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

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

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

                                                                                                                                                                                                                [Stack]

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

                                                                                                                                                                                                                    SPI_EndRxTransaction (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text)) +

                                                                                                                                                                                                                    SPI_EndRxTransaction (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text))

                                                                                                                                                                                                                    [Stack]

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

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

                                                                                                                                                                                                                        SPI_CloseTx_ISR (Thumb, 130 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 +
                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                          • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                          • >>   HAL_SPI_TxCpltCallback +
                                                                                                                                                                                                                          • >>   HAL_GetTick +
                                                                                                                                                                                                                          • >>   SPI_EndRxTxTransaction

                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                          • >>   SPI_TxISR_16BIT
                                                                                                                                                                                                                          • >>   SPI_TxISR_8BIT @@ -1561,24 +1187,24 @@ Local Symbols

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

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

                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                • Max Depth = 64
                                                                                                                                                                                                                                • Call Chain = SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                • >>   HAL_SPI_RxCpltCallback -
                                                                                                                                                                                                                                • >>   HAL_SPI_ErrorCallback -
                                                                                                                                                                                                                                • >>   HAL_GetTick -
                                                                                                                                                                                                                                • >>   SPI_EndRxTransaction +
                                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                                  • >>   HAL_SPI_RxCpltCallback +
                                                                                                                                                                                                                                  • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                  • >>   HAL_GetTick +
                                                                                                                                                                                                                                  • >>   SPI_EndRxTransaction

                                                                                                                                                                                                                                  [Called By]
                                                                                                                                                                                                                                  • >>   SPI_RxISR_16BIT
                                                                                                                                                                                                                                  • >>   SPI_RxISR_8BIT @@ -1587,25 +1213,25 @@ Local Symbols

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

                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                    • Max Depth = 64
                                                                                                                                                                                                                                    • Call Chain = SPI_RxISR_8BIT ⇒ SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                    • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                      [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 = 64
                                                                                                                                                                                                                                      • Call Chain = SPI_RxISR_16BIT ⇒ SPI_CloseRx_ISR ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                      • >>   SPI_CloseRx_ISR +
                                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                                        • >>   SPI_CloseRx_ISR

                                                                                                                                                                                                                                        [Address Reference Count : 1]
                                                                                                                                                                                                                                        • stm32f1xx_hal_spi.o(.text)
                                                                                                                                                                                                                                        -

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

                                                                                                                                                                                                                                        SPI_CloseRxTx_ISR (Thumb, 158 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 +
                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                          • >>   HAL_SPI_TxRxCpltCallback +
                                                                                                                                                                                                                                          • >>   HAL_SPI_RxCpltCallback +
                                                                                                                                                                                                                                          • >>   HAL_SPI_ErrorCallback +
                                                                                                                                                                                                                                          • >>   HAL_GetTick +
                                                                                                                                                                                                                                          • >>   SPI_EndRxTxTransaction

                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                          • >>   SPI_2linesRxISR_16BIT
                                                                                                                                                                                                                                          • >>   SPI_2linesTxISR_16BIT @@ -1616,86 +1242,86 @@ Local Symbols

                                                                                                                                                                                                                                            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 +
                                                                                                                                                                                                                                              [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 +
                                                                                                                                                                                                                                                [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 +
                                                                                                                                                                                                                                                  [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 +
                                                                                                                                                                                                                                                    [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 +
                                                                                                                                                                                                                                                      [Calls]
                                                                                                                                                                                                                                                      • >>   HAL_SPI_ErrorCallback

                                                                                                                                                                                                                                                      [Address Reference Count : 1]
                                                                                                                                                                                                                                                      • stm32f1xx_hal_spi.o(.text)

                                                                                                                                                                                                                                                      SPI_DMATransmitCplt (Thumb, 102 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 +
                                                                                                                                                                                                                                                        [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 +
                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                          • >>   HAL_SPI_TxHalfCpltCallback

                                                                                                                                                                                                                                                          [Address Reference Count : 1]
                                                                                                                                                                                                                                                          • stm32f1xx_hal_spi.o(.text)

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

                                                                                                                                                                                                                                                          [Stack]

                                                                                                                                                                                                                                                          • Max Depth = 64
                                                                                                                                                                                                                                                          • Call Chain = SPI_DMAReceiveCplt ⇒ SPI_EndRxTransaction ⇒ SPI_WaitFlagStateUntilTimeout
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                          • >>   HAL_SPI_RxCpltCallback -
                                                                                                                                                                                                                                                          • >>   HAL_SPI_ErrorCallback -
                                                                                                                                                                                                                                                          • >>   HAL_GetTick -
                                                                                                                                                                                                                                                          • >>   SPI_EndRxTransaction +
                                                                                                                                                                                                                                                            [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 +
                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                              • >>   HAL_SPI_RxHalfCpltCallback

                                                                                                                                                                                                                                                              [Address Reference Count : 1]
                                                                                                                                                                                                                                                              • stm32f1xx_hal_spi.o(.text)

                                                                                                                                                                                                                                                              SPI_DMATransmitReceiveCplt (Thumb, 92 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 +
                                                                                                                                                                                                                                                                [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 +
                                                                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                                                                  • >>   HAL_SPI_TxRxHalfCpltCallback

                                                                                                                                                                                                                                                                  [Address Reference Count : 1]
                                                                                                                                                                                                                                                                  • stm32f1xx_hal_spi.o(.text)
                                                                                                                                                                                                                                                                  @@ -1710,161 +1336,161 @@ Local Symbols

                                                                                                                                                                                                                                                                  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 +
                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                    • >>   HAL_SPI_AbortCpltCallback +
                                                                                                                                                                                                                                                                    • >>   HAL_GetTick +
                                                                                                                                                                                                                                                                    • >>   SPI_EndRxTxTransaction

                                                                                                                                                                                                                                                                    [Address Reference Count : 1]
                                                                                                                                                                                                                                                                    • stm32f1xx_hal_spi.o(.text)

                                                                                                                                                                                                                                                                    SPI_DMATxAbortCallback (Thumb, 114 bytes, Stack size 16 bytes, stm32f1xx_hal_spi.o(.text))

                                                                                                                                                                                                                                                                    [Stack]

                                                                                                                                                                                                                                                                    • Max Depth = 16
                                                                                                                                                                                                                                                                    • Call Chain = SPI_DMATxAbortCallback
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    [Calls]
                                                                                                                                                                                                                                                                    • >>   HAL_SPI_AbortCpltCallback +
                                                                                                                                                                                                                                                                      [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 +
                                                                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                                                                        • >>   HAL_SPI_ErrorCallback

                                                                                                                                                                                                                                                                        [Address Reference Count : 1]
                                                                                                                                                                                                                                                                        • stm32f1xx_hal_spi.o(.text)
                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                        RCC_Delay (Thumb, 32 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text)) +

                                                                                                                                                                                                                                                                        RCC_Delay (Thumb, 32 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(.text))

                                                                                                                                                                                                                                                                        [Stack]

                                                                                                                                                                                                                                                                        • Max Depth = 4
                                                                                                                                                                                                                                                                        • Call Chain = RCC_Delay

                                                                                                                                                                                                                                                                        [Called By]
                                                                                                                                                                                                                                                                        • >>   HAL_RCC_OscConfig
                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                        DMA_SetConfig (Thumb, 56 bytes, Stack size 4 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) -

                                                                                                                                                                                                                                                                        [Called By]

                                                                                                                                                                                                                                                                        • >>   HAL_DMA_Start_IT -
                                                                                                                                                                                                                                                                        • >>   HAL_DMA_Start +

                                                                                                                                                                                                                                                                          DMA_SetConfig (Thumb, 56 bytes, Stack size 4 bytes, stm32f1xx_hal_dma.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                          [Called By]

                                                                                                                                                                                                                                                                          • >>   HAL_DMA_Start_IT +
                                                                                                                                                                                                                                                                          • >>   HAL_DMA_Start
                                                                                                                                                                                                                                                                          -

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

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

                                                                                                                                                                                                                                                                          [Stack]

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

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

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

                                                                                                                                                                                                                                                                              [Stack]

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

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

                                                                                                                                                                                                                                                                                  [Called By]

                                                                                                                                                                                                                                                                                  • >>   HAL_UART_IRQHandler -
                                                                                                                                                                                                                                                                                  • >>   HAL_UART_DMAStop +

                                                                                                                                                                                                                                                                                    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_EndTxTransfer (Thumb, 18 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text)) +

                                                                                                                                                                                                                                                                                      [Called By]

                                                                                                                                                                                                                                                                                      • >>   HAL_UART_DMAStop
                                                                                                                                                                                                                                                                                      • >>   UART_DMAError

                                                                                                                                                                                                                                                                                      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 +
                                                                                                                                                                                                                                                                                        [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 +
                                                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                                                          • >>   HAL_UART_TxHalfCpltCallback

                                                                                                                                                                                                                                                                                          [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                          • stm32f1xx_hal_uart.o(.text)

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

                                                                                                                                                                                                                                                                                          [Stack]

                                                                                                                                                                                                                                                                                          • Max Depth = 8
                                                                                                                                                                                                                                                                                          • Call Chain = UART_DMATransmitCplt
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          [Calls]
                                                                                                                                                                                                                                                                                          • >>   HAL_UART_TxCpltCallback +
                                                                                                                                                                                                                                                                                            [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 +
                                                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                                                              • >>   HAL_UART_RxHalfCpltCallback

                                                                                                                                                                                                                                                                                              [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                              • stm32f1xx_hal_uart.o(.text)

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

                                                                                                                                                                                                                                                                                              [Stack]

                                                                                                                                                                                                                                                                                              • Max Depth = 8
                                                                                                                                                                                                                                                                                              • Call Chain = UART_DMAReceiveCplt
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              [Calls]
                                                                                                                                                                                                                                                                                              • >>   HAL_UART_RxCpltCallback +
                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                • >>   HAL_UART_RxCpltCallback

                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text)

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

                                                                                                                                                                                                                                                                                                [Stack]

                                                                                                                                                                                                                                                                                                • Max Depth = 8
                                                                                                                                                                                                                                                                                                • Call Chain = UART_DMARxAbortCallback
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                • >>   HAL_UART_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                                                                                                  • >>   HAL_UART_AbortCpltCallback

                                                                                                                                                                                                                                                                                                  [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                  • stm32f1xx_hal_uart.o(.text)

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

                                                                                                                                                                                                                                                                                                  [Stack]

                                                                                                                                                                                                                                                                                                  • Max Depth = 8
                                                                                                                                                                                                                                                                                                  • Call Chain = UART_DMATxAbortCallback
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  [Calls]
                                                                                                                                                                                                                                                                                                  • >>   HAL_UART_AbortCpltCallback +
                                                                                                                                                                                                                                                                                                    [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 +
                                                                                                                                                                                                                                                                                                      [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 +
                                                                                                                                                                                                                                                                                                        [Calls]
                                                                                                                                                                                                                                                                                                        • >>   HAL_UART_AbortReceiveCpltCallback

                                                                                                                                                                                                                                                                                                        [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                        • stm32f1xx_hal_uart.o(.text)
                                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                                        UART_EndTransmit_IT (Thumb, 26 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                                                                                                                                        [Calls]

                                                                                                                                                                                                                                                                                                        • >>   HAL_UART_TxCpltCallback +

                                                                                                                                                                                                                                                                                                          UART_EndTransmit_IT (Thumb, 26 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                          [Calls]

                                                                                                                                                                                                                                                                                                          • >>   HAL_UART_TxCpltCallback
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          [Called By]
                                                                                                                                                                                                                                                                                                          • >>   HAL_UART_IRQHandler +
                                                                                                                                                                                                                                                                                                            [Called By]
                                                                                                                                                                                                                                                                                                            • >>   HAL_UART_IRQHandler
                                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                                            UART_Transmit_IT (Thumb, 94 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                                                                                                                                            [Called By]

                                                                                                                                                                                                                                                                                                            • >>   HAL_UART_IRQHandler +

                                                                                                                                                                                                                                                                                                              UART_Transmit_IT (Thumb, 94 bytes, Stack size 0 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) +

                                                                                                                                                                                                                                                                                                              [Called By]

                                                                                                                                                                                                                                                                                                              • >>   HAL_UART_IRQHandler

                                                                                                                                                                                                                                                                                                              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 +
                                                                                                                                                                                                                                                                                                                [Calls]
                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_ErrorCallback

                                                                                                                                                                                                                                                                                                                [Address Reference Count : 1]
                                                                                                                                                                                                                                                                                                                • stm32f1xx_hal_uart.o(.text)
                                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                                UART_Receive_IT (Thumb, 146 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(.text), UNUSED) -

                                                                                                                                                                                                                                                                                                                [Calls]

                                                                                                                                                                                                                                                                                                                • >>   HAL_UART_RxCpltCallback +

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

                                                                                                                                                                                                                                                                                                                  [Calls]

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

                                                                                                                                                                                                                                                                                                                    _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 6c01f0f..ae79e14 100644 --- a/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map +++ b/STM32/STM32-F103ZET6/MDK-ARM/epd-demo/epd-demo.map @@ -16,7 +16,6 @@ Section Cross References main.o(.text) refers to gpio.o(.text) for MX_GPIO_Init main.o(.text) refers to usart.o(.text) for MX_USART1_UART_Init main.o(.text) refers to spi.o(.text) for MX_SPI1_Init - main.o(.text) refers to epd_2in7_test.o(.text) for EPD_2in7_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 @@ -60,6 +59,9 @@ Section Cross References epd_1in54_v2_test.o(.text) refers to gui_paint.o(.text) for Paint_NewImage epd_1in54_v2_test.o(.text) refers to malloc.o(i.free) for free epd_1in54_v2_test.o(.text) refers to imagedata.o(.constdata) for gImage_1in54 + epd_1in54_v2_test.o(.text) refers to font20.o(.data) for Font20 + epd_1in54_v2_test.o(.text) refers to font12cn.o(.data) for Font12CN + epd_1in54_v2_test.o(.text) refers to font24cn.o(.data) for Font24CN epd_1in54b_test.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_1in54b_test.o(.text) refers to dev_config.o(.text) for DEV_Module_Init epd_1in54b_test.o(.text) refers to epd_1in54b.o(.text) for EPD_1IN54B_Init @@ -497,10 +499,11 @@ Section Cross References epd_1in54.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin epd_1in54.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte epd_1in54.o(.text) refers to epd_1in54.o(.constdata) for .constdata - epd_1in54_v2.o(.text) refers to printf3.o(i.__0printf$3) for __2printf + epd_1in54_v2.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_WritePin epd_1in54_v2.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay - epd_1in54_v2.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin + epd_1in54_v2.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_1in54_v2.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte + epd_1in54_v2.o(.text) refers to epd_1in54_v2.o(.data) for .data epd_1in54b.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_1in54b.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin epd_1in54b.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay @@ -630,6 +633,7 @@ Section Cross References epd_7in5_v2.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin epd_7in5_v2.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_7in5_v2.o(.text) refers to dev_config.o(.text) for DEV_SPI_WriteByte + epd_7in5_v2.o(.text) refers to epd_7in5_v2.o(.data) for .data epd_7in5_hd.o(.text) refers to printf3.o(i.__0printf$3) for __2printf epd_7in5_hd.o(.text) refers to stm32f1xx_hal.o(.text) for HAL_Delay epd_7in5_hd.o(.text) refers to stm32f1xx_hal_gpio.o(.text) for HAL_GPIO_ReadPin @@ -990,6 +994,7 @@ Section Cross References Removing Unused input sections from the image. + Removing startup_stm32f103xe.o(HEAP), (36864 bytes). Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). @@ -1018,6 +1023,8 @@ Removing Unused input sections from the image. 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), (4736 bytes). @@ -1060,7 +1067,7 @@ Removing Unused input sections from the image. Removing epd_1in54_v2_test.o(.rev16_text), (4 bytes). Removing epd_1in54_v2_test.o(.revsh_text), (4 bytes). Removing epd_1in54_v2_test.o(.rrx_text), (6 bytes). - Removing epd_1in54_v2_test.o(.text), (388 bytes). + Removing epd_1in54_v2_test.o(.text), (976 bytes). Removing epd_1in54b_test.o(.rev16_text), (4 bytes). Removing epd_1in54b_test.o(.revsh_text), (4 bytes). Removing epd_1in54b_test.o(.rrx_text), (6 bytes). @@ -1076,6 +1083,7 @@ Removing Unused input sections from the image. Removing epd_2in7_test.o(.rev16_text), (4 bytes). Removing epd_2in7_test.o(.revsh_text), (4 bytes). Removing epd_2in7_test.o(.rrx_text), (6 bytes). + Removing epd_2in7_test.o(.text), (1352 bytes). Removing epd_2in7b_test.o(.rev16_text), (4 bytes). Removing epd_2in7b_test.o(.revsh_text), (4 bytes). Removing epd_2in7b_test.o(.rrx_text), (6 bytes). @@ -1210,7 +1218,9 @@ Removing Unused input sections from the image. Removing epd_1in54_v2.o(.rev16_text), (4 bytes). Removing epd_1in54_v2.o(.revsh_text), (4 bytes). Removing epd_1in54_v2.o(.rrx_text), (6 bytes). - Removing epd_1in54_v2.o(.text), (796 bytes). + Removing epd_1in54_v2.o(.text), (1024 bytes). + Removing epd_1in54_v2.o(.data), (318 bytes). + Removing epd_1in54_v2.o(.data), (159 bytes). Removing epd_1in54b.o(.rev16_text), (4 bytes). Removing epd_1in54b.o(.revsh_text), (4 bytes). Removing epd_1in54b.o(.rrx_text), (6 bytes). @@ -1227,6 +1237,8 @@ Removing Unused input sections from the image. Removing epd_2in7.o(.rev16_text), (4 bytes). Removing epd_2in7.o(.revsh_text), (4 bytes). Removing epd_2in7.o(.rrx_text), (6 bytes). + Removing epd_2in7.o(.text), (1540 bytes). + Removing epd_2in7.o(.constdata), (424 bytes). Removing epd_2in7b.o(.rev16_text), (4 bytes). Removing epd_2in7b.o(.revsh_text), (4 bytes). Removing epd_2in7b.o(.rrx_text), (6 bytes). @@ -1244,8 +1256,8 @@ Removing Unused input sections from the image. 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 epd_2in9_v2.o(.text), (908 bytes). - Removing epd_2in9_v2.o(.data), (159 bytes). + Removing epd_2in9_v2.o(.text), (968 bytes). + Removing epd_2in9_v2.o(.data), (318 bytes). Removing epd_2in9bc.o(.rev16_text), (4 bytes). Removing epd_2in9bc.o(.revsh_text), (4 bytes). Removing epd_2in9bc.o(.rrx_text), (6 bytes). @@ -1340,7 +1352,8 @@ Removing Unused input sections from the image. Removing epd_7in5_v2.o(.rev16_text), (4 bytes). Removing epd_7in5_v2.o(.revsh_text), (4 bytes). Removing epd_7in5_v2.o(.rrx_text), (6 bytes). - Removing epd_7in5_v2.o(.text), (684 bytes). + Removing epd_7in5_v2.o(.text), (940 bytes). + Removing epd_7in5_v2.o(.data), (217 bytes). Removing epd_7in5_hd.o(.rev16_text), (4 bytes). Removing epd_7in5_hd.o(.revsh_text), (4 bytes). Removing epd_7in5_hd.o(.rrx_text), (6 bytes). @@ -1360,15 +1373,27 @@ Removing Unused input sections from the image. 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 dev_config.o(.text), (104 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(.text), (3588 bytes). + Removing gui_paint.o(.bss), (24 bytes). + Removing gui_paint.o(.conststring), (236 bytes). Removing font8.o(.constdata), (760 bytes). Removing font8.o(.data), (8 bytes). + Removing font12.o(.constdata), (1140 bytes). + Removing font12.o(.data), (8 bytes). + Removing font12cn.o(.constdata), (1494 bytes). + Removing font12cn.o(.data), (12 bytes). + Removing font16.o(.constdata), (3040 bytes). + Removing font16.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 font24cn.o(.constdata), (4482 bytes). + Removing font24cn.o(.data), (12 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). @@ -1431,7 +1456,7 @@ Removing Unused input sections from the image. Removing cdrcmple.o(.text), (48 bytes). Removing depilogue.o(.text), (186 bytes). -440 unused section(s) (total 885185 bytes) removed from the image. +461 unused section(s) (total 958922 bytes) removed from the image. ============================================================================== @@ -1463,44 +1488,44 @@ 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/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.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 entry7a.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 uldiv.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 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.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 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 malloc.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.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 printf7.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.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 printfb.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE @@ -1708,118 +1733,81 @@ Image Symbol Table __lit__00000000 0x08000140 Data 4 entry2.o(.ARM.Collect$$$$00002712) .text 0x08000144 Section 36 startup_stm32f103xe.o(.text) .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_2in7_test.o(.text) - .text 0x080009a8 Section 0 epd_2in7.o(.text) - EPD_2in7_Reset 0x080009a9 Thumb Code 56 epd_2in7.o(.text) - EPD_2in7_ReadBusy 0x080009e1 Thumb Code 48 epd_2in7.o(.text) - EPD_2in7_SendCommand 0x08000ecd Thumb Code 46 epd_2in7.o(.text) - EPD_2in7_SendData 0x08000efb Thumb Code 46 epd_2in7.o(.text) - EPD_2in7_SetLut 0x08000f29 Thumb Code 122 epd_2in7.o(.text) - .text 0x08000fac Section 0 dev_config.o(.text) - .text 0x08001014 Section 0 gui_paint.o(.text) - .text 0x08001e18 Section 0 system_stm32f1xx.o(.text) - .text 0x08001edc Section 0 stm32f1xx_hal_spi.o(.text) - SPI_WaitFlagStateUntilTimeout 0x08001fc5 Thumb Code 210 stm32f1xx_hal_spi.o(.text) - SPI_EndRxTxTransaction 0x08002097 Thumb Code 36 stm32f1xx_hal_spi.o(.text) - SPI_EndRxTransaction 0x08002257 Thumb Code 112 stm32f1xx_hal_spi.o(.text) - SPI_CloseTx_ISR 0x08002637 Thumb Code 130 stm32f1xx_hal_spi.o(.text) - SPI_TxISR_8BIT 0x080026b9 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_TxISR_16BIT 0x080026d7 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_CloseRx_ISR 0x08002799 Thumb Code 76 stm32f1xx_hal_spi.o(.text) - SPI_RxISR_8BIT 0x080027e5 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_RxISR_16BIT 0x08002803 Thumb Code 30 stm32f1xx_hal_spi.o(.text) - SPI_CloseRxTx_ISR 0x08002823 Thumb Code 158 stm32f1xx_hal_spi.o(.text) - SPI_2linesTxISR_8BIT 0x080028c1 Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesRxISR_8BIT 0x080028ef Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesTxISR_16BIT 0x0800291d Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_2linesRxISR_16BIT 0x0800294b Thumb Code 46 stm32f1xx_hal_spi.o(.text) - SPI_DMAError 0x08002ae5 Thumb Code 34 stm32f1xx_hal_spi.o(.text) - SPI_DMATransmitCplt 0x08002b07 Thumb Code 102 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfTransmitCplt 0x08002b6f Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_DMAReceiveCplt 0x08002c49 Thumb Code 110 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfReceiveCplt 0x08002cb9 Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_DMATransmitReceiveCplt 0x08002cc3 Thumb Code 92 stm32f1xx_hal_spi.o(.text) - SPI_DMAHalfTransmitReceiveCplt 0x08002d21 Thumb Code 10 stm32f1xx_hal_spi.o(.text) - SPI_AbortRx_ISR 0x08002f6f Thumb Code 82 stm32f1xx_hal_spi.o(.text) - SPI_AbortTx_ISR 0x08002fc1 Thumb Code 28 stm32f1xx_hal_spi.o(.text) - SPI_DMARxAbortCallback 0x08003101 Thumb Code 98 stm32f1xx_hal_spi.o(.text) - SPI_DMATxAbortCallback 0x08003163 Thumb Code 114 stm32f1xx_hal_spi.o(.text) - SPI_DMAAbortOnError 0x080033ad Thumb Code 16 stm32f1xx_hal_spi.o(.text) - .text 0x080034c4 Section 0 stm32f1xx_hal.o(.text) - .text 0x0800364c Section 0 stm32f1xx_hal_rcc.o(.text) - RCC_Delay 0x08003747 Thumb Code 32 stm32f1xx_hal_rcc.o(.text) - .text 0x08003f14 Section 0 stm32f1xx_hal_gpio.o(.text) - .text 0x080042e8 Section 0 stm32f1xx_hal_dma.o(.text) - DMA_SetConfig 0x080043f7 Thumb Code 56 stm32f1xx_hal_dma.o(.text) - .text 0x08004f30 Section 0 stm32f1xx_hal_cortex.o(.text) - .text 0x08005154 Section 0 stm32f1xx_hal_uart.o(.text) - UART_SetConfig 0x08005155 Thumb Code 194 stm32f1xx_hal_uart.o(.text) - UART_WaitOnFlagUntilTimeout 0x08005435 Thumb Code 120 stm32f1xx_hal_uart.o(.text) - UART_EndRxTransfer 0x080056e5 Thumb Code 28 stm32f1xx_hal_uart.o(.text) - UART_EndTxTransfer 0x08005701 Thumb Code 18 stm32f1xx_hal_uart.o(.text) - UART_DMAError 0x08005713 Thumb Code 74 stm32f1xx_hal_uart.o(.text) - UART_DMATxHalfCplt 0x0800575f Thumb Code 10 stm32f1xx_hal_uart.o(.text) - UART_DMATransmitCplt 0x0800576b Thumb Code 48 stm32f1xx_hal_uart.o(.text) - UART_DMARxHalfCplt 0x08005827 Thumb Code 10 stm32f1xx_hal_uart.o(.text) - UART_DMAReceiveCplt 0x08005833 Thumb Code 62 stm32f1xx_hal_uart.o(.text) - UART_DMARxAbortCallback 0x08005b67 Thumb Code 44 stm32f1xx_hal_uart.o(.text) - UART_DMATxAbortCallback 0x08005b93 Thumb Code 66 stm32f1xx_hal_uart.o(.text) - UART_DMATxOnlyAbortCallback 0x08005c89 Thumb Code 20 stm32f1xx_hal_uart.o(.text) - UART_DMARxOnlyAbortCallback 0x08005cfd Thumb Code 20 stm32f1xx_hal_uart.o(.text) - UART_EndTransmit_IT 0x08005d79 Thumb Code 26 stm32f1xx_hal_uart.o(.text) - UART_Transmit_IT 0x08005d93 Thumb Code 94 stm32f1xx_hal_uart.o(.text) - UART_DMAAbortOnError 0x08005df1 Thumb Code 16 stm32f1xx_hal_uart.o(.text) - UART_Receive_IT 0x08005e01 Thumb Code 146 stm32f1xx_hal_uart.o(.text) - .text 0x080060f0 Section 0 memseta.o(.text) - .text 0x08006114 Section 0 uidiv.o(.text) - .text 0x08006140 Section 36 init.o(.text) - i.__0printf$3 0x08006164 Section 0 printf3.o(i.__0printf$3) - i.__scatterload_copy 0x08006184 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08006192 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08006194 Section 14 handlers.o(i.__scatterload_zeroinit) - i._printf_core 0x080061a4 Section 0 printf3.o(i._printf_core) - _printf_core 0x080061a5 Thumb Code 436 printf3.o(i._printf_core) - i.free 0x0800635c Section 0 malloc.o(i.free) - i.malloc 0x080063ac Section 0 malloc.o(i.malloc) - .constdata 0x08006418 Section 5808 imagedata.o(.constdata) - .constdata 0x08007ac8 Section 11616 imagedata.o(.constdata) - .constdata 0x0800a828 Section 424 epd_2in7.o(.constdata) - EPD_2in7_lut_vcom_dc 0x0800a828 Data 44 epd_2in7.o(.constdata) - EPD_2in7_lut_ww 0x0800a854 Data 42 epd_2in7.o(.constdata) - EPD_2in7_lut_bw 0x0800a87e Data 42 epd_2in7.o(.constdata) - EPD_2in7_lut_bb 0x0800a8a8 Data 42 epd_2in7.o(.constdata) - EPD_2in7_lut_wb 0x0800a8d2 Data 42 epd_2in7.o(.constdata) - EPD_2in7_gray_lut_vcom 0x0800a8fc Data 44 epd_2in7.o(.constdata) - EPD_2in7_gray_lut_ww 0x0800a928 Data 42 epd_2in7.o(.constdata) - EPD_2in7_gray_lut_bw 0x0800a952 Data 42 epd_2in7.o(.constdata) - EPD_2in7_gray_lut_wb 0x0800a97c Data 42 epd_2in7.o(.constdata) - EPD_2in7_gray_lut_bb 0x0800a9a6 Data 42 epd_2in7.o(.constdata) - .constdata 0x0800a9d0 Section 1140 font12.o(.constdata) - .constdata 0x0800ae44 Section 1494 font12cn.o(.constdata) - .constdata 0x0800b41a Section 3040 font16.o(.constdata) - .constdata 0x0800bffa Section 4482 font24cn.o(.constdata) - .constdata 0x0800d17c Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x0800d18c Section 8 system_stm32f1xx.o(.constdata) - .conststring 0x0800d194 Section 233 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 36864 startup_stm32f103xe.o(HEAP) - STACK 0x200090f8 Section 4096 startup_stm32f103xe.o(STACK) + .text 0x080001fc Section 0 gpio.o(.text) + .text 0x0800025c Section 0 spi.o(.text) + .text 0x08000318 Section 0 usart.o(.text) + .text 0x080003f0 Section 0 stm32f1xx_it.o(.text) + .text 0x08000420 Section 0 stm32f1xx_hal_msp.o(.text) + .text 0x0800045c Section 0 system_stm32f1xx.o(.text) + .text 0x08000520 Section 0 stm32f1xx_hal_spi.o(.text) + SPI_WaitFlagStateUntilTimeout 0x08000609 Thumb Code 210 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTxTransaction 0x080006db Thumb Code 36 stm32f1xx_hal_spi.o(.text) + SPI_EndRxTransaction 0x0800089b Thumb Code 112 stm32f1xx_hal_spi.o(.text) + SPI_CloseTx_ISR 0x08000c7b Thumb Code 130 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_8BIT 0x08000cfd Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_TxISR_16BIT 0x08000d1b Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRx_ISR 0x08000ddd Thumb Code 76 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_8BIT 0x08000e29 Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_RxISR_16BIT 0x08000e47 Thumb Code 30 stm32f1xx_hal_spi.o(.text) + SPI_CloseRxTx_ISR 0x08000e67 Thumb Code 158 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_8BIT 0x08000f05 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_8BIT 0x08000f33 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesTxISR_16BIT 0x08000f61 Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_2linesRxISR_16BIT 0x08000f8f Thumb Code 46 stm32f1xx_hal_spi.o(.text) + SPI_DMAError 0x08001129 Thumb Code 34 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitCplt 0x0800114b Thumb Code 102 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitCplt 0x080011b3 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMAReceiveCplt 0x0800128d Thumb Code 110 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfReceiveCplt 0x080012fd Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_DMATransmitReceiveCplt 0x08001307 Thumb Code 92 stm32f1xx_hal_spi.o(.text) + SPI_DMAHalfTransmitReceiveCplt 0x08001365 Thumb Code 10 stm32f1xx_hal_spi.o(.text) + SPI_AbortRx_ISR 0x080015b3 Thumb Code 82 stm32f1xx_hal_spi.o(.text) + SPI_AbortTx_ISR 0x08001605 Thumb Code 28 stm32f1xx_hal_spi.o(.text) + SPI_DMARxAbortCallback 0x08001745 Thumb Code 98 stm32f1xx_hal_spi.o(.text) + SPI_DMATxAbortCallback 0x080017a7 Thumb Code 114 stm32f1xx_hal_spi.o(.text) + SPI_DMAAbortOnError 0x080019f1 Thumb Code 16 stm32f1xx_hal_spi.o(.text) + .text 0x08001b08 Section 0 stm32f1xx_hal.o(.text) + .text 0x08001c90 Section 0 stm32f1xx_hal_rcc.o(.text) + RCC_Delay 0x08001d8b Thumb Code 32 stm32f1xx_hal_rcc.o(.text) + .text 0x08002558 Section 0 stm32f1xx_hal_gpio.o(.text) + .text 0x0800292c Section 0 stm32f1xx_hal_dma.o(.text) + DMA_SetConfig 0x08002a3b Thumb Code 56 stm32f1xx_hal_dma.o(.text) + .text 0x08003574 Section 0 stm32f1xx_hal_cortex.o(.text) + .text 0x08003798 Section 0 stm32f1xx_hal_uart.o(.text) + UART_SetConfig 0x08003799 Thumb Code 194 stm32f1xx_hal_uart.o(.text) + UART_WaitOnFlagUntilTimeout 0x08003a79 Thumb Code 120 stm32f1xx_hal_uart.o(.text) + UART_EndRxTransfer 0x08003d29 Thumb Code 28 stm32f1xx_hal_uart.o(.text) + UART_EndTxTransfer 0x08003d45 Thumb Code 18 stm32f1xx_hal_uart.o(.text) + UART_DMAError 0x08003d57 Thumb Code 74 stm32f1xx_hal_uart.o(.text) + UART_DMATxHalfCplt 0x08003da3 Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMATransmitCplt 0x08003daf Thumb Code 48 stm32f1xx_hal_uart.o(.text) + UART_DMARxHalfCplt 0x08003e6b Thumb Code 10 stm32f1xx_hal_uart.o(.text) + UART_DMAReceiveCplt 0x08003e77 Thumb Code 62 stm32f1xx_hal_uart.o(.text) + UART_DMARxAbortCallback 0x080041ab Thumb Code 44 stm32f1xx_hal_uart.o(.text) + UART_DMATxAbortCallback 0x080041d7 Thumb Code 66 stm32f1xx_hal_uart.o(.text) + UART_DMATxOnlyAbortCallback 0x080042cd Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_DMARxOnlyAbortCallback 0x08004341 Thumb Code 20 stm32f1xx_hal_uart.o(.text) + UART_EndTransmit_IT 0x080043bd Thumb Code 26 stm32f1xx_hal_uart.o(.text) + UART_Transmit_IT 0x080043d7 Thumb Code 94 stm32f1xx_hal_uart.o(.text) + UART_DMAAbortOnError 0x08004435 Thumb Code 16 stm32f1xx_hal_uart.o(.text) + UART_Receive_IT 0x08004445 Thumb Code 146 stm32f1xx_hal_uart.o(.text) + .text 0x08004734 Section 0 memseta.o(.text) + .text 0x08004758 Section 0 uidiv.o(.text) + .text 0x08004784 Section 36 init.o(.text) + i.__0printf$3 0x080047a8 Section 0 printf3.o(i.__0printf$3) + i.__scatterload_copy 0x080047c8 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x080047d6 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x080047d8 Section 14 handlers.o(i.__scatterload_zeroinit) + i._printf_core 0x080047e8 Section 0 printf3.o(i._printf_core) + _printf_core 0x080047e9 Thumb Code 436 printf3.o(i._printf_core) + .constdata 0x080049a0 Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x080049b0 Section 8 system_stm32f1xx.o(.constdata) + .data 0x20000000 Section 4 system_stm32f1xx.o(.data) + .data 0x20000004 Section 12 stm32f1xx_hal.o(.data) + .data 0x20000010 Section 4 stdout.o(.data) + .bss 0x20000014 Section 88 spi.o(.bss) + .bss 0x2000006c Section 64 usart.o(.bss) + STACK 0x200000b0 Section 4096 startup_stm32f103xe.o(STACK) Global Symbols @@ -1948,239 +1936,192 @@ Image Symbol Table WWDG_IRQHandler 0x0800015f Thumb Code 0 startup_stm32f103xe.o(.text) 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_2in7_test 0x08000461 Thumb Code 930 epd_2in7_test.o(.text) - EPD_2in7_gray_SetLut 0x08000a11 Thumb Code 142 epd_2in7.o(.text) - EPD_2IN7_Init 0x08000a9f Thumb Code 258 epd_2in7.o(.text) - EPD_2IN7_Init_4Gray 0x08000ba1 Thumb Code 290 epd_2in7.o(.text) - EPD_2IN7_Clear 0x08000cc3 Thumb Code 86 epd_2in7.o(.text) - EPD_2IN7_Display 0x08000d19 Thumb Code 98 epd_2in7.o(.text) - EPD_2IN7_4GrayDisplay 0x08000d7b Thumb Code 302 epd_2in7.o(.text) - EPD_2IN7_Sleep 0x08000ea9 Thumb Code 36 epd_2in7.o(.text) - DEV_SPI_WriteByte 0x08000fad Thumb Code 18 dev_config.o(.text) - DEV_Module_Init 0x08000fbf Thumb Code 38 dev_config.o(.text) - DEV_Module_Exit 0x08000fe5 Thumb Code 38 dev_config.o(.text) - Paint_NewImage 0x08001015 Thumb Code 56 gui_paint.o(.text) - Paint_SelectImage 0x0800104d Thumb Code 6 gui_paint.o(.text) - Paint_SetRotate 0x08001053 Thumb Code 44 gui_paint.o(.text) - Paint_SetScale 0x0800107f Thumb Code 80 gui_paint.o(.text) - Paint_SetMirroring 0x080010cf Thumb Code 62 gui_paint.o(.text) - Paint_SetPixel 0x0800110d Thumb Code 238 gui_paint.o(.text) - Paint_Clear 0x080011fb Thumb Code 104 gui_paint.o(.text) - Paint_ClearWindows 0x08001263 Thumb Code 52 gui_paint.o(.text) - Paint_DrawPoint 0x08001297 Thumb Code 180 gui_paint.o(.text) - Paint_DrawLine 0x0800134b Thumb Code 654 gui_paint.o(.text) - Paint_DrawRectangle 0x080015d9 Thumb Code 170 gui_paint.o(.text) - Paint_DrawCircle 0x08001683 Thumb Code 528 gui_paint.o(.text) - Paint_DrawChar 0x08001893 Thumb Code 172 gui_paint.o(.text) - Paint_DrawString_EN 0x0800193f Thumb Code 116 gui_paint.o(.text) - Paint_DrawString_CN 0x080019b3 Thumb Code 518 gui_paint.o(.text) - Paint_DrawNum 0x08001bb9 Thumb Code 140 gui_paint.o(.text) - Paint_DrawTime 0x08001c45 Thumb Code 282 gui_paint.o(.text) - Paint_DrawBitMap 0x08001d5f Thumb Code 46 gui_paint.o(.text) - Paint_DrawBitMap_Block 0x08001d8d Thumb Code 56 gui_paint.o(.text) - SystemInit 0x08001e19 Thumb Code 60 system_stm32f1xx.o(.text) - SystemCoreClockUpdate 0x08001e55 Thumb Code 108 system_stm32f1xx.o(.text) - HAL_SPI_Init 0x08001edf Thumb Code 180 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DeInit 0x08001f95 Thumb Code 48 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit 0x080020bb Thumb Code 412 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive 0x080022c7 Thumb Code 510 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive 0x080024c5 Thumb Code 366 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxCpltCallback 0x08002633 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_ErrorCallback 0x08002635 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit_IT 0x080026f5 Thumb Code 162 stm32f1xx_hal_spi.o(.text) - HAL_SPI_RxCpltCallback 0x08002797 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxRxCpltCallback 0x08002821 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive_IT 0x08002979 Thumb Code 188 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive_IT 0x08002a35 Thumb Code 176 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxHalfCpltCallback 0x08002b6d Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Transmit_DMA 0x08002b79 Thumb Code 208 stm32f1xx_hal_spi.o(.text) - HAL_SPI_RxHalfCpltCallback 0x08002cb7 Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TxRxHalfCpltCallback 0x08002d1f Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_TransmitReceive_DMA 0x08002d2b Thumb Code 302 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Receive_DMA 0x08002e59 Thumb Code 278 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Abort 0x08002fdd Thumb Code 290 stm32f1xx_hal_spi.o(.text) - HAL_SPI_AbortCpltCallback 0x080030ff Thumb Code 2 stm32f1xx_hal_spi.o(.text) - HAL_SPI_Abort_IT 0x080031d5 Thumb Code 328 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAPause 0x0800331d Thumb Code 38 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAResume 0x08003343 Thumb Code 38 stm32f1xx_hal_spi.o(.text) - HAL_SPI_DMAStop 0x08003369 Thumb Code 68 stm32f1xx_hal_spi.o(.text) - HAL_SPI_IRQHandler 0x080033bd Thumb Code 250 stm32f1xx_hal_spi.o(.text) - HAL_SPI_GetState 0x080034b7 Thumb Code 6 stm32f1xx_hal_spi.o(.text) - HAL_SPI_GetError 0x080034bd Thumb Code 4 stm32f1xx_hal_spi.o(.text) - HAL_InitTick 0x080034c7 Thumb Code 58 stm32f1xx_hal.o(.text) - HAL_Init 0x08003501 Thumb Code 32 stm32f1xx_hal.o(.text) - HAL_MspDeInit 0x08003521 Thumb Code 2 stm32f1xx_hal.o(.text) - HAL_DeInit 0x08003523 Thumb Code 26 stm32f1xx_hal.o(.text) - HAL_IncTick 0x0800353d Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_GetTick 0x08003549 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetTickPrio 0x0800354f Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_SetTickFreq 0x08003555 Thumb Code 30 stm32f1xx_hal.o(.text) - HAL_GetTickFreq 0x08003573 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_Delay 0x08003579 Thumb Code 34 stm32f1xx_hal.o(.text) - HAL_SuspendTick 0x0800359b Thumb Code 14 stm32f1xx_hal.o(.text) - HAL_ResumeTick 0x080035a9 Thumb Code 14 stm32f1xx_hal.o(.text) - HAL_GetHalVersion 0x080035b7 Thumb Code 4 stm32f1xx_hal.o(.text) - HAL_GetREVID 0x080035bb Thumb Code 8 stm32f1xx_hal.o(.text) - HAL_GetDEVID 0x080035c3 Thumb Code 10 stm32f1xx_hal.o(.text) - HAL_GetUIDw0 0x080035cd Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetUIDw1 0x080035d3 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_GetUIDw2 0x080035d9 Thumb Code 6 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGSleepMode 0x080035df Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGSleepMode 0x080035eb Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGStopMode 0x080035f7 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGStopMode 0x08003603 Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_EnableDBGStandbyMode 0x0800360f Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_DBGMCU_DisableDBGStandbyMode 0x0800361b Thumb Code 12 stm32f1xx_hal.o(.text) - HAL_RCC_DeInit 0x0800364d Thumb Code 250 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_OscConfig 0x08003767 Thumb Code 1080 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetSysClockFreq 0x08003b9f Thumb Code 88 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_ClockConfig 0x08003bf7 Thumb Code 364 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_MCOConfig 0x08003d63 Thumb Code 64 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_EnableCSS 0x08003da3 Thumb Code 8 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_DisableCSS 0x08003dab Thumb Code 8 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetHCLKFreq 0x08003db3 Thumb Code 6 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetPCLK1Freq 0x08003db9 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetPCLK2Freq 0x08003dcf Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetOscConfig 0x08003de5 Thumb Code 168 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_GetClockConfig 0x08003e8d Thumb Code 52 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_CSSCallback 0x08003ec1 Thumb Code 2 stm32f1xx_hal_rcc.o(.text) - HAL_RCC_NMI_IRQHandler 0x08003ec3 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) - HAL_GPIO_Init 0x08003f15 Thumb Code 524 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_DeInit 0x08004121 Thumb Code 320 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_ReadPin 0x08004261 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_WritePin 0x0800426f Thumb Code 14 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_TogglePin 0x0800427d Thumb Code 16 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_LockPin 0x0800428d Thumb Code 42 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_EXTI_Callback 0x080042b7 Thumb Code 2 stm32f1xx_hal_gpio.o(.text) - HAL_GPIO_EXTI_IRQHandler 0x080042b9 Thumb Code 18 stm32f1xx_hal_gpio.o(.text) - HAL_DMA_Init 0x080042e9 Thumb Code 144 stm32f1xx_hal_dma.o(.text) - HAL_DMA_DeInit 0x08004379 Thumb Code 126 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Start 0x0800442f Thumb Code 88 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Start_IT 0x08004487 Thumb Code 124 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Abort 0x08004503 Thumb Code 72 stm32f1xx_hal_dma.o(.text) - HAL_DMA_Abort_IT 0x0800454b Thumb Code 318 stm32f1xx_hal_dma.o(.text) - HAL_DMA_PollForTransfer 0x08004689 Thumb Code 1316 stm32f1xx_hal_dma.o(.text) - HAL_DMA_IRQHandler 0x08004bad Thumb Code 672 stm32f1xx_hal_dma.o(.text) - HAL_DMA_RegisterCallback 0x08004e4d Thumb Code 80 stm32f1xx_hal_dma.o(.text) - HAL_DMA_UnRegisterCallback 0x08004e9d Thumb Code 86 stm32f1xx_hal_dma.o(.text) - HAL_DMA_GetState 0x08004ef3 Thumb Code 6 stm32f1xx_hal_dma.o(.text) - HAL_DMA_GetError 0x08004ef9 Thumb Code 4 stm32f1xx_hal_dma.o(.text) - HAL_NVIC_SetPriorityGrouping 0x08004f31 Thumb Code 30 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SetPriority 0x08004f4f Thumb Code 98 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_EnableIRQ 0x08004fb1 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_DisableIRQ 0x08004fcd Thumb Code 36 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SystemReset 0x08004ff1 Thumb Code 26 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_Config 0x0800500b Thumb Code 36 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPriorityGrouping 0x0800502f Thumb Code 10 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPriority 0x08005039 Thumb Code 94 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_SetPendingIRQ 0x08005097 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetPendingIRQ 0x080050b3 Thumb Code 42 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_ClearPendingIRQ 0x080050dd Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_NVIC_GetActive 0x080050f9 Thumb Code 42 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_CLKSourceConfig 0x08005123 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_Callback 0x0800513f Thumb Code 2 stm32f1xx_hal_cortex.o(.text) - HAL_SYSTICK_IRQHandler 0x08005141 Thumb Code 8 stm32f1xx_hal_cortex.o(.text) - HAL_UART_Init 0x08005219 Thumb Code 100 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_Init 0x0800527d Thumb Code 110 stm32f1xx_hal_uart.o(.text) - HAL_LIN_Init 0x080052eb Thumb Code 130 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_Init 0x0800536d Thumb Code 146 stm32f1xx_hal_uart.o(.text) - HAL_UART_DeInit 0x08005401 Thumb Code 52 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit 0x080054ad Thumb Code 202 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive 0x08005577 Thumb Code 212 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit_IT 0x0800564b Thumb Code 66 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive_IT 0x0800568d Thumb Code 86 stm32f1xx_hal_uart.o(.text) - HAL_UART_ErrorCallback 0x080056e3 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_TxHalfCpltCallback 0x0800575d Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_TxCpltCallback 0x08005769 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Transmit_DMA 0x0800579b Thumb Code 138 stm32f1xx_hal_uart.o(.text) - HAL_UART_RxHalfCpltCallback 0x08005825 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_RxCpltCallback 0x08005831 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Receive_DMA 0x08005871 Thumb Code 150 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAPause 0x08005907 Thumb Code 102 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAResume 0x0800596d Thumb Code 98 stm32f1xx_hal_uart.o(.text) - HAL_UART_DMAStop 0x080059cf Thumb Code 88 stm32f1xx_hal_uart.o(.text) - HAL_UART_Abort 0x08005a27 Thumb Code 148 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmit 0x08005abb Thumb Code 80 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceive 0x08005b0b Thumb Code 90 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortCpltCallback 0x08005b65 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_Abort_IT 0x08005bd5 Thumb Code 178 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmitCpltCallback 0x08005c87 Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortTransmit_IT 0x08005c9d Thumb Code 94 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceiveCpltCallback 0x08005cfb Thumb Code 2 stm32f1xx_hal_uart.o(.text) - HAL_UART_AbortReceive_IT 0x08005d11 Thumb Code 104 stm32f1xx_hal_uart.o(.text) - HAL_UART_IRQHandler 0x08005e93 Thumb Code 312 stm32f1xx_hal_uart.o(.text) - HAL_LIN_SendBreak 0x08005fcb Thumb Code 70 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_EnterMuteMode 0x08006011 Thumb Code 50 stm32f1xx_hal_uart.o(.text) - HAL_MultiProcessor_ExitMuteMode 0x08006043 Thumb Code 50 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_EnableTransmitter 0x08006075 Thumb Code 54 stm32f1xx_hal_uart.o(.text) - HAL_HalfDuplex_EnableReceiver 0x080060ab Thumb Code 54 stm32f1xx_hal_uart.o(.text) - HAL_UART_GetState 0x080060e1 Thumb Code 12 stm32f1xx_hal_uart.o(.text) - HAL_UART_GetError 0x080060ed Thumb Code 4 stm32f1xx_hal_uart.o(.text) - __aeabi_memset 0x080060f1 Thumb Code 14 memseta.o(.text) - __aeabi_memset4 0x080060f1 Thumb Code 0 memseta.o(.text) - __aeabi_memset8 0x080060f1 Thumb Code 0 memseta.o(.text) - __aeabi_memclr 0x080060ff Thumb Code 4 memseta.o(.text) - __aeabi_memclr4 0x080060ff Thumb Code 0 memseta.o(.text) - __aeabi_memclr8 0x080060ff Thumb Code 0 memseta.o(.text) - _memset$wrapper 0x08006103 Thumb Code 18 memseta.o(.text) - __aeabi_uidiv 0x08006115 Thumb Code 0 uidiv.o(.text) - __aeabi_uidivmod 0x08006115 Thumb Code 44 uidiv.o(.text) - __scatterload 0x08006141 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x08006141 Thumb Code 0 init.o(.text) - __0printf$3 0x08006165 Thumb Code 22 printf3.o(i.__0printf$3) - __1printf$3 0x08006165 Thumb Code 0 printf3.o(i.__0printf$3) - __2printf 0x08006165 Thumb Code 0 printf3.o(i.__0printf$3) - __scatterload_copy 0x08006185 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08006193 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08006195 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - free 0x0800635d Thumb Code 76 malloc.o(i.free) - malloc 0x080063ad Thumb Code 92 malloc.o(i.malloc) - gImage_2in7 0x08006418 Data 5808 imagedata.o(.constdata) - gImage_2in7_4Gray 0x08007ac8 Data 11616 imagedata.o(.constdata) - Font12_Table 0x0800a9d0 Data 1140 font12.o(.constdata) - Font12CN_Table 0x0800ae44 Data 1494 font12cn.o(.constdata) - Font16_Table 0x0800b41a Data 3040 font16.o(.constdata) - Font24CN_Table 0x0800bffa Data 4482 font24cn.o(.constdata) - AHBPrescTable 0x0800d17c Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x0800d18c Data 8 system_stm32f1xx.o(.constdata) - Region$$Table$$Base 0x0800d280 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x0800d2a0 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 0x200090f8 Data 0 startup_stm32f103xe.o(HEAP) - __initial_sp 0x2000a0f8 Data 0 startup_stm32f103xe.o(STACK) + main 0x080001c9 Thumb Code 32 main.o(.text) + MX_GPIO_Init 0x080001fd Thumb Code 86 gpio.o(.text) + MX_SPI1_Init 0x0800025d Thumb Code 62 spi.o(.text) + HAL_SPI_MspInit 0x0800029b Thumb Code 80 spi.o(.text) + HAL_SPI_MspDeInit 0x080002eb Thumb Code 28 spi.o(.text) + MX_USART1_UART_Init 0x08000319 Thumb Code 48 usart.o(.text) + HAL_UART_MspInit 0x08000349 Thumb Code 100 usart.o(.text) + HAL_UART_MspDeInit 0x080003ad Thumb Code 30 usart.o(.text) + fputc 0x080003cb Thumb Code 20 usart.o(.text) + NMI_Handler 0x080003f1 Thumb Code 2 stm32f1xx_it.o(.text) + HardFault_Handler 0x080003f3 Thumb Code 8 stm32f1xx_it.o(.text) + MemManage_Handler 0x080003fb Thumb Code 2 stm32f1xx_it.o(.text) + BusFault_Handler 0x080003fd Thumb Code 2 stm32f1xx_it.o(.text) + UsageFault_Handler 0x080003ff Thumb Code 2 stm32f1xx_it.o(.text) + SVC_Handler 0x08000401 Thumb Code 2 stm32f1xx_it.o(.text) + DebugMon_Handler 0x08000403 Thumb Code 2 stm32f1xx_it.o(.text) + PendSV_Handler 0x08000405 Thumb Code 2 stm32f1xx_it.o(.text) + SysTick_Handler 0x08000407 Thumb Code 4 stm32f1xx_it.o(.text) + HAL_MspInit 0x08000421 Thumb Code 52 stm32f1xx_hal_msp.o(.text) + SystemInit 0x0800045d Thumb Code 60 system_stm32f1xx.o(.text) + SystemCoreClockUpdate 0x08000499 Thumb Code 108 system_stm32f1xx.o(.text) + HAL_SPI_Init 0x08000523 Thumb Code 180 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DeInit 0x080005d9 Thumb Code 48 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit 0x080006ff Thumb Code 412 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive 0x0800090b Thumb Code 510 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive 0x08000b09 Thumb Code 366 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxCpltCallback 0x08000c77 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_ErrorCallback 0x08000c79 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_IT 0x08000d39 Thumb Code 162 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxCpltCallback 0x08000ddb Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxCpltCallback 0x08000e65 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_IT 0x08000fbd Thumb Code 188 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_IT 0x08001079 Thumb Code 176 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxHalfCpltCallback 0x080011b1 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Transmit_DMA 0x080011bd Thumb Code 208 stm32f1xx_hal_spi.o(.text) + HAL_SPI_RxHalfCpltCallback 0x080012fb Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TxRxHalfCpltCallback 0x08001363 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_TransmitReceive_DMA 0x0800136f Thumb Code 302 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Receive_DMA 0x0800149d Thumb Code 278 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort 0x08001621 Thumb Code 290 stm32f1xx_hal_spi.o(.text) + HAL_SPI_AbortCpltCallback 0x08001743 Thumb Code 2 stm32f1xx_hal_spi.o(.text) + HAL_SPI_Abort_IT 0x08001819 Thumb Code 328 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAPause 0x08001961 Thumb Code 38 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAResume 0x08001987 Thumb Code 38 stm32f1xx_hal_spi.o(.text) + HAL_SPI_DMAStop 0x080019ad Thumb Code 68 stm32f1xx_hal_spi.o(.text) + HAL_SPI_IRQHandler 0x08001a01 Thumb Code 250 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetState 0x08001afb Thumb Code 6 stm32f1xx_hal_spi.o(.text) + HAL_SPI_GetError 0x08001b01 Thumb Code 4 stm32f1xx_hal_spi.o(.text) + HAL_InitTick 0x08001b0b Thumb Code 58 stm32f1xx_hal.o(.text) + HAL_Init 0x08001b45 Thumb Code 32 stm32f1xx_hal.o(.text) + HAL_MspDeInit 0x08001b65 Thumb Code 2 stm32f1xx_hal.o(.text) + HAL_DeInit 0x08001b67 Thumb Code 26 stm32f1xx_hal.o(.text) + HAL_IncTick 0x08001b81 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_GetTick 0x08001b8d Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetTickPrio 0x08001b93 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_SetTickFreq 0x08001b99 Thumb Code 30 stm32f1xx_hal.o(.text) + HAL_GetTickFreq 0x08001bb7 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_Delay 0x08001bbd Thumb Code 34 stm32f1xx_hal.o(.text) + HAL_SuspendTick 0x08001bdf Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_ResumeTick 0x08001bed Thumb Code 14 stm32f1xx_hal.o(.text) + HAL_GetHalVersion 0x08001bfb Thumb Code 4 stm32f1xx_hal.o(.text) + HAL_GetREVID 0x08001bff Thumb Code 8 stm32f1xx_hal.o(.text) + HAL_GetDEVID 0x08001c07 Thumb Code 10 stm32f1xx_hal.o(.text) + HAL_GetUIDw0 0x08001c11 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetUIDw1 0x08001c17 Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_GetUIDw2 0x08001c1d Thumb Code 6 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGSleepMode 0x08001c23 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGSleepMode 0x08001c2f Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStopMode 0x08001c3b Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStopMode 0x08001c47 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_EnableDBGStandbyMode 0x08001c53 Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_DBGMCU_DisableDBGStandbyMode 0x08001c5f Thumb Code 12 stm32f1xx_hal.o(.text) + HAL_RCC_DeInit 0x08001c91 Thumb Code 250 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_OscConfig 0x08001dab Thumb Code 1080 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetSysClockFreq 0x080021e3 Thumb Code 88 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_ClockConfig 0x0800223b Thumb Code 364 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_MCOConfig 0x080023a7 Thumb Code 64 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_EnableCSS 0x080023e7 Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_DisableCSS 0x080023ef Thumb Code 8 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetHCLKFreq 0x080023f7 Thumb Code 6 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK1Freq 0x080023fd Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetPCLK2Freq 0x08002413 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetOscConfig 0x08002429 Thumb Code 168 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_GetClockConfig 0x080024d1 Thumb Code 52 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_CSSCallback 0x08002505 Thumb Code 2 stm32f1xx_hal_rcc.o(.text) + HAL_RCC_NMI_IRQHandler 0x08002507 Thumb Code 22 stm32f1xx_hal_rcc.o(.text) + HAL_GPIO_Init 0x08002559 Thumb Code 524 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_DeInit 0x08002765 Thumb Code 320 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_ReadPin 0x080028a5 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_WritePin 0x080028b3 Thumb Code 14 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_TogglePin 0x080028c1 Thumb Code 16 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_LockPin 0x080028d1 Thumb Code 42 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_Callback 0x080028fb Thumb Code 2 stm32f1xx_hal_gpio.o(.text) + HAL_GPIO_EXTI_IRQHandler 0x080028fd Thumb Code 18 stm32f1xx_hal_gpio.o(.text) + HAL_DMA_Init 0x0800292d Thumb Code 144 stm32f1xx_hal_dma.o(.text) + HAL_DMA_DeInit 0x080029bd Thumb Code 126 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start 0x08002a73 Thumb Code 88 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Start_IT 0x08002acb Thumb Code 124 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort 0x08002b47 Thumb Code 72 stm32f1xx_hal_dma.o(.text) + HAL_DMA_Abort_IT 0x08002b8f Thumb Code 318 stm32f1xx_hal_dma.o(.text) + HAL_DMA_PollForTransfer 0x08002ccd Thumb Code 1316 stm32f1xx_hal_dma.o(.text) + HAL_DMA_IRQHandler 0x080031f1 Thumb Code 672 stm32f1xx_hal_dma.o(.text) + HAL_DMA_RegisterCallback 0x08003491 Thumb Code 80 stm32f1xx_hal_dma.o(.text) + HAL_DMA_UnRegisterCallback 0x080034e1 Thumb Code 86 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetState 0x08003537 Thumb Code 6 stm32f1xx_hal_dma.o(.text) + HAL_DMA_GetError 0x0800353d Thumb Code 4 stm32f1xx_hal_dma.o(.text) + HAL_NVIC_SetPriorityGrouping 0x08003575 Thumb Code 30 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPriority 0x08003593 Thumb Code 98 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_EnableIRQ 0x080035f5 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_DisableIRQ 0x08003611 Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SystemReset 0x08003635 Thumb Code 26 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Config 0x0800364f Thumb Code 36 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriorityGrouping 0x08003673 Thumb Code 10 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPriority 0x0800367d Thumb Code 94 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_SetPendingIRQ 0x080036db Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetPendingIRQ 0x080036f7 Thumb Code 42 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_ClearPendingIRQ 0x08003721 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_NVIC_GetActive 0x0800373d Thumb Code 42 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_CLKSourceConfig 0x08003767 Thumb Code 28 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_Callback 0x08003783 Thumb Code 2 stm32f1xx_hal_cortex.o(.text) + HAL_SYSTICK_IRQHandler 0x08003785 Thumb Code 8 stm32f1xx_hal_cortex.o(.text) + HAL_UART_Init 0x0800385d Thumb Code 100 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_Init 0x080038c1 Thumb Code 110 stm32f1xx_hal_uart.o(.text) + HAL_LIN_Init 0x0800392f Thumb Code 130 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_Init 0x080039b1 Thumb Code 146 stm32f1xx_hal_uart.o(.text) + HAL_UART_DeInit 0x08003a45 Thumb Code 52 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit 0x08003af1 Thumb Code 202 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive 0x08003bbb Thumb Code 212 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_IT 0x08003c8f Thumb Code 66 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_IT 0x08003cd1 Thumb Code 86 stm32f1xx_hal_uart.o(.text) + HAL_UART_ErrorCallback 0x08003d27 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxHalfCpltCallback 0x08003da1 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_TxCpltCallback 0x08003dad Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Transmit_DMA 0x08003ddf Thumb Code 138 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxHalfCpltCallback 0x08003e69 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_RxCpltCallback 0x08003e75 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Receive_DMA 0x08003eb5 Thumb Code 150 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAPause 0x08003f4b Thumb Code 102 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAResume 0x08003fb1 Thumb Code 98 stm32f1xx_hal_uart.o(.text) + HAL_UART_DMAStop 0x08004013 Thumb Code 88 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort 0x0800406b Thumb Code 148 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit 0x080040ff Thumb Code 80 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive 0x0800414f Thumb Code 90 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortCpltCallback 0x080041a9 Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_Abort_IT 0x08004219 Thumb Code 178 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmitCpltCallback 0x080042cb Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortTransmit_IT 0x080042e1 Thumb Code 94 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceiveCpltCallback 0x0800433f Thumb Code 2 stm32f1xx_hal_uart.o(.text) + HAL_UART_AbortReceive_IT 0x08004355 Thumb Code 104 stm32f1xx_hal_uart.o(.text) + HAL_UART_IRQHandler 0x080044d7 Thumb Code 312 stm32f1xx_hal_uart.o(.text) + HAL_LIN_SendBreak 0x0800460f Thumb Code 70 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_EnterMuteMode 0x08004655 Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_MultiProcessor_ExitMuteMode 0x08004687 Thumb Code 50 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableTransmitter 0x080046b9 Thumb Code 54 stm32f1xx_hal_uart.o(.text) + HAL_HalfDuplex_EnableReceiver 0x080046ef Thumb Code 54 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetState 0x08004725 Thumb Code 12 stm32f1xx_hal_uart.o(.text) + HAL_UART_GetError 0x08004731 Thumb Code 4 stm32f1xx_hal_uart.o(.text) + __aeabi_memset 0x08004735 Thumb Code 14 memseta.o(.text) + __aeabi_memset4 0x08004735 Thumb Code 0 memseta.o(.text) + __aeabi_memset8 0x08004735 Thumb Code 0 memseta.o(.text) + __aeabi_memclr 0x08004743 Thumb Code 4 memseta.o(.text) + __aeabi_memclr4 0x08004743 Thumb Code 0 memseta.o(.text) + __aeabi_memclr8 0x08004743 Thumb Code 0 memseta.o(.text) + _memset$wrapper 0x08004747 Thumb Code 18 memseta.o(.text) + __aeabi_uidiv 0x08004759 Thumb Code 0 uidiv.o(.text) + __aeabi_uidivmod 0x08004759 Thumb Code 44 uidiv.o(.text) + __scatterload 0x08004785 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x08004785 Thumb Code 0 init.o(.text) + __0printf$3 0x080047a9 Thumb Code 22 printf3.o(i.__0printf$3) + __1printf$3 0x080047a9 Thumb Code 0 printf3.o(i.__0printf$3) + __2printf 0x080047a9 Thumb Code 0 printf3.o(i.__0printf$3) + __scatterload_copy 0x080047c9 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x080047d7 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x080047d9 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + AHBPrescTable 0x080049a0 Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x080049b0 Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x080049b8 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080049d8 Number 0 anon$$obj.o(Region$$Table) + SystemCoreClock 0x20000000 Data 4 system_stm32f1xx.o(.data) + uwTickFreq 0x20000004 Data 1 stm32f1xx_hal.o(.data) + uwTickPrio 0x20000008 Data 4 stm32f1xx_hal.o(.data) + uwTick 0x2000000c Data 4 stm32f1xx_hal.o(.data) + __stdout 0x20000010 Data 4 stdout.o(.data) + hspi1 0x20000014 Data 88 spi.o(.bss) + huart1 0x2000006c Data 64 usart.o(.bss) + __initial_sp 0x200010b0 Data 0 startup_stm32f103xe.o(STACK) @@ -2190,85 +2131,62 @@ Memory Map of the image Image Entry point : 0x08000131 - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x0000d2e4, Max: 0x00080000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000049ec, Max: 0x00080000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000d2a0, Max: 0x00080000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000049d8, 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 2854 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x08000130 0x08000130 0x00000004 Code RO 3154 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x08000134 0x08000134 0x00000004 Code RO 3157 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x08000138 0x08000138 0x00000000 Code RO 3159 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x08000138 0x08000138 0x00000000 Code RO 3161 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x08000138 0x08000138 0x00000008 Code RO 3162 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x08000140 0x08000140 0x00000000 Code RO 3164 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x08000140 0x08000140 0x00000000 Code RO 3166 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x08000140 0x08000140 0x00000004 Code RO 3155 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000130 0x08000130 0x00000000 Code RO 2861 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x08000130 0x08000130 0x00000004 Code RO 3161 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x08000134 0x08000134 0x00000004 Code RO 3164 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x08000138 0x08000138 0x00000000 Code RO 3166 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x08000138 0x08000138 0x00000000 Code RO 3168 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x08000138 0x08000138 0x00000008 Code RO 3169 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x08000140 0x08000140 0x00000000 Code RO 3171 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x08000140 0x08000140 0x00000000 Code RO 3173 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x08000140 0x08000140 0x00000004 Code RO 3162 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x08000144 0x08000144 0x00000024 Code RO 4 .text startup_stm32f103xe.o - 0x08000168 0x08000168 0x00000098 Code RO 13 .text main.o - 0x08000200 0x08000200 0x00000060 Code RO 162 .text gpio.o - 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 0x00000548 Code RO 516 .text epd_2in7_test.o - 0x080009a8 0x080009a8 0x00000604 Code RO 1510 .text epd_2in7.o - 0x08000fac 0x08000fac 0x00000068 Code RO 2304 .text dev_config.o - 0x08001014 0x08001014 0x00000e04 Code RO 2329 .text gui_paint.o - 0x08001e18 0x08001e18 0x000000c4 Code RO 2463 .text system_stm32f1xx.o - 0x08001edc 0x08001edc 0x000015e8 Code RO 2519 .text stm32f1xx_hal_spi.o - 0x080034c4 0x080034c4 0x00000188 Code RO 2543 .text stm32f1xx_hal.o - 0x0800364c 0x0800364c 0x000008c8 Code RO 2573 .text stm32f1xx_hal_rcc.o - 0x08003f14 0x08003f14 0x000003d4 Code RO 2621 .text stm32f1xx_hal_gpio.o - 0x080042e8 0x080042e8 0x00000c48 Code RO 2645 .text stm32f1xx_hal_dma.o - 0x08004f30 0x08004f30 0x00000224 Code RO 2669 .text stm32f1xx_hal_cortex.o - 0x08005154 0x08005154 0x00000f9c Code RO 2833 .text stm32f1xx_hal_uart.o - 0x080060f0 0x080060f0 0x00000024 Code RO 2861 .text mc_w.l(memseta.o) - 0x08006114 0x08006114 0x0000002c Code RO 3169 .text mc_w.l(uidiv.o) - 0x08006140 0x08006140 0x00000024 Code RO 3186 .text mc_w.l(init.o) - 0x08006164 0x08006164 0x00000020 Code RO 2954 i.__0printf$3 mc_w.l(printf3.o) - 0x08006184 0x08006184 0x0000000e Code RO 3196 i.__scatterload_copy mc_w.l(handlers.o) - 0x08006192 0x08006192 0x00000002 Code RO 3197 i.__scatterload_null mc_w.l(handlers.o) - 0x08006194 0x08006194 0x0000000e Code RO 3198 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x080061a2 0x080061a2 0x00000002 PAD - 0x080061a4 0x080061a4 0x000001b8 Code RO 2961 i._printf_core mc_w.l(printf3.o) - 0x0800635c 0x0800635c 0x00000050 Code RO 3126 i.free mc_w.l(malloc.o) - 0x080063ac 0x080063ac 0x0000006c Code RO 3127 i.malloc mc_w.l(malloc.o) - 0x08006418 0x08006418 0x000016b0 Data RO 300 .constdata imagedata.o - 0x08007ac8 0x08007ac8 0x00002d60 Data RO 305 .constdata imagedata.o - 0x0800a828 0x0800a828 0x000001a8 Data RO 1511 .constdata epd_2in7.o - 0x0800a9d0 0x0800a9d0 0x00000474 Data RO 2376 .constdata font12.o - 0x0800ae44 0x0800ae44 0x000005d6 Data RO 2390 .constdata font12cn.o - 0x0800b41a 0x0800b41a 0x00000be0 Data RO 2404 .constdata font16.o - 0x0800bffa 0x0800bffa 0x00001182 Data RO 2446 .constdata font24cn.o - 0x0800d17c 0x0800d17c 0x00000010 Data RO 2464 .constdata system_stm32f1xx.o - 0x0800d18c 0x0800d18c 0x00000008 Data RO 2465 .constdata system_stm32f1xx.o - 0x0800d194 0x0800d194 0x000000e9 Data RO 2331 .conststring gui_paint.o - 0x0800d27d 0x0800d27d 0x00000003 PAD - 0x0800d280 0x0800d280 0x00000020 Data RO 3194 Region$$Table anon$$obj.o + 0x08000168 0x08000168 0x00000094 Code RO 13 .text main.o + 0x080001fc 0x080001fc 0x00000060 Code RO 162 .text gpio.o + 0x0800025c 0x0800025c 0x000000bc Code RO 186 .text spi.o + 0x08000318 0x08000318 0x000000d8 Code RO 216 .text usart.o + 0x080003f0 0x080003f0 0x00000030 Code RO 246 .text stm32f1xx_it.o + 0x08000420 0x08000420 0x0000003c Code RO 273 .text stm32f1xx_hal_msp.o + 0x0800045c 0x0800045c 0x000000c4 Code RO 2470 .text system_stm32f1xx.o + 0x08000520 0x08000520 0x000015e8 Code RO 2526 .text stm32f1xx_hal_spi.o + 0x08001b08 0x08001b08 0x00000188 Code RO 2550 .text stm32f1xx_hal.o + 0x08001c90 0x08001c90 0x000008c8 Code RO 2580 .text stm32f1xx_hal_rcc.o + 0x08002558 0x08002558 0x000003d4 Code RO 2628 .text stm32f1xx_hal_gpio.o + 0x0800292c 0x0800292c 0x00000c48 Code RO 2652 .text stm32f1xx_hal_dma.o + 0x08003574 0x08003574 0x00000224 Code RO 2676 .text stm32f1xx_hal_cortex.o + 0x08003798 0x08003798 0x00000f9c Code RO 2840 .text stm32f1xx_hal_uart.o + 0x08004734 0x08004734 0x00000024 Code RO 2868 .text mc_w.l(memseta.o) + 0x08004758 0x08004758 0x0000002c Code RO 3176 .text mc_w.l(uidiv.o) + 0x08004784 0x08004784 0x00000024 Code RO 3193 .text mc_w.l(init.o) + 0x080047a8 0x080047a8 0x00000020 Code RO 2961 i.__0printf$3 mc_w.l(printf3.o) + 0x080047c8 0x080047c8 0x0000000e Code RO 3203 i.__scatterload_copy mc_w.l(handlers.o) + 0x080047d6 0x080047d6 0x00000002 Code RO 3204 i.__scatterload_null mc_w.l(handlers.o) + 0x080047d8 0x080047d8 0x0000000e Code RO 3205 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x080047e6 0x080047e6 0x00000002 PAD + 0x080047e8 0x080047e8 0x000001b8 Code RO 2968 i._printf_core mc_w.l(printf3.o) + 0x080049a0 0x080049a0 0x00000010 Data RO 2471 .constdata system_stm32f1xx.o + 0x080049b0 0x080049b0 0x00000008 Data RO 2472 .constdata system_stm32f1xx.o + 0x080049b8 0x080049b8 0x00000020 Data RO 3201 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x0800d2a0, Size: 0x0000a0f8, Max: 0x00010000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080049d8, Size: 0x000010b0, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x0800d2a0 0x00000008 Data RW 2377 .data font12.o - 0x20000008 0x0800d2a8 0x0000000c Data RW 2391 .data font12cn.o - 0x20000014 0x0800d2b4 0x00000008 Data RW 2405 .data font16.o - 0x2000001c 0x0800d2bc 0x0000000c Data RW 2447 .data font24cn.o - 0x20000028 0x0800d2c8 0x00000004 Data RW 2466 .data system_stm32f1xx.o - 0x2000002c 0x0800d2cc 0x0000000c Data RW 2544 .data stm32f1xx_hal.o - 0x20000038 0x0800d2d8 0x00000004 Data RW 3168 .data mc_w.l(stdout.o) - 0x2000003c 0x0800d2dc 0x00000004 Data RW 3173 .data mc_w.l(mvars.o) - 0x20000040 0x0800d2e0 0x00000004 Data RW 3174 .data mc_w.l(mvars.o) - 0x20000044 - 0x00000058 Zero RW 187 .bss spi.o - 0x2000009c - 0x00000040 Zero RW 217 .bss usart.o - 0x200000dc - 0x00000018 Zero RW 2330 .bss gui_paint.o - 0x200000f4 0x0800d2e4 0x00000004 PAD - 0x200000f8 - 0x00009000 Zero RW 2 HEAP startup_stm32f103xe.o - 0x200090f8 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o + 0x20000000 0x080049d8 0x00000004 Data RW 2473 .data system_stm32f1xx.o + 0x20000004 0x080049dc 0x0000000c Data RW 2551 .data stm32f1xx_hal.o + 0x20000010 0x080049e8 0x00000004 Data RW 3175 .data mc_w.l(stdout.o) + 0x20000014 - 0x00000058 Zero RW 187 .bss spi.o + 0x2000006c - 0x00000040 Zero RW 217 .bss usart.o + 0x200000ac 0x080049ec 0x00000004 PAD + 0x200000b0 - 0x00001000 Zero RW 1 STACK startup_stm32f103xe.o ============================================================================== @@ -2278,35 +2196,26 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 104 10 0 0 0 780 dev_config.o - 1540 74 424 0 0 4746 epd_2in7.o - 1352 422 0 0 0 1328 epd_2in7_test.o - 0 0 1140 8 0 1361 font12.o - 0 0 1494 12 0 1363 font12cn.o - 0 0 3040 8 0 1361 font16.o - 0 0 4482 12 0 1363 font24cn.o 96 10 0 0 0 803 gpio.o - 3588 660 233 0 24 13545 gui_paint.o - 0 0 17424 0 0 3058 imagedata.o - 152 20 0 0 0 461944 main.o - 188 18 0 0 88 1437 spi.o - 36 8 304 0 40960 796 startup_stm32f103xe.o + 148 20 0 0 0 461070 main.o + 188 18 0 0 88 1429 spi.o + 36 8 304 0 4096 796 startup_stm32f103xe.o 392 38 0 12 0 7649 stm32f1xx_hal.o - 548 12 0 0 0 30678 stm32f1xx_hal_cortex.o + 548 12 0 0 0 30674 stm32f1xx_hal_cortex.o 3144 164 0 0 0 7109 stm32f1xx_hal_dma.o 980 30 0 0 0 4391 stm32f1xx_hal_gpio.o - 60 8 0 0 0 830 stm32f1xx_hal_msp.o + 60 8 0 0 0 826 stm32f1xx_hal_msp.o 2248 88 0 0 0 6559 stm32f1xx_hal_rcc.o 5608 106 0 0 0 19625 stm32f1xx_hal_spi.o - 3996 46 0 0 0 17436 stm32f1xx_hal_uart.o + 3996 46 0 0 0 17432 stm32f1xx_hal_uart.o 48 22 0 0 0 1246 stm32f1xx_it.o - 196 28 24 4 0 1517 system_stm32f1xx.o + 196 28 24 4 0 1509 system_stm32f1xx.o 216 18 0 0 64 1753 usart.o ---------------------------------------------------------------------- - 24492 1782 28600 56 41140 592678 Object Totals + 17904 616 360 16 4252 562871 Object Totals 0 0 32 0 0 0 (incl. Generated) - 0 0 3 0 4 0 (incl. Padding) + 0 0 0 0 4 0 (incl. Padding) ---------------------------------------------------------------------- @@ -2322,25 +2231,23 @@ 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 - 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 ---------------------------------------------------------------------- - 828 50 0 12 0 600 Library Totals + 640 30 0 4 0 440 Library Totals 2 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 + 638 30 0 4 0 440 mc_w.l ---------------------------------------------------------------------- - 828 50 0 12 0 600 Library Totals + 640 30 0 4 0 440 Library Totals ---------------------------------------------------------------------- @@ -2349,15 +2256,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 25320 1832 28600 68 41140 591558 Grand Totals - 25320 1832 28600 68 41140 591558 ELF Image Totals - 25320 1832 28600 68 0 0 ROM Totals + 18544 646 360 20 4252 561955 Grand Totals + 18544 646 360 20 4252 561955 ELF Image Totals + 18544 646 360 20 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 53920 ( 52.66kB) - Total RW Size (RW Data + ZI Data) 41208 ( 40.24kB) - Total ROM Size (Code + RO Data + RW Data) 53988 ( 52.72kB) + Total RO Size (Code + RO Data) 18904 ( 18.46kB) + Total RW Size (RW Data + ZI Data) 4272 ( 4.17kB) + Total ROM Size (Code + RO Data + RW Data) 18924 ( 18.48kB) ============================================================================== diff --git a/STM32/STM32-F103ZET6/Src/main.c b/STM32/STM32-F103ZET6/Src/main.c index 5184a94..d29d027 100644 --- a/STM32/STM32-F103ZET6/Src/main.c +++ b/STM32/STM32-F103ZET6/Src/main.c @@ -102,7 +102,7 @@ int main(void) // EPD_1in54b_V2_test(); // EPD_1in54c_test(); - EPD_2in7_test(); +// EPD_2in7_test(); // EPD_2in7b_test(); // EPD_2in7b_V2_test(); diff --git a/STM32/STM32-F103ZET6/User/Examples/EPD_1in54_V2_test.c b/STM32/STM32-F103ZET6/User/Examples/EPD_1in54_V2_test.c index 1558a4d..dca98d5 100644 --- a/STM32/STM32-F103ZET6/User/Examples/EPD_1in54_V2_test.c +++ b/STM32/STM32-F103ZET6/User/Examples/EPD_1in54_V2_test.c @@ -61,7 +61,7 @@ int EPD_1in54_V2_test(void) DEV_Delay_ms(2000); #endif -#if 0 // Drawing on the image +#if 1 // Drawing on the image printf("Drawing\r\n"); //1.Select Image Paint_SelectImage(BlackImage); @@ -86,27 +86,29 @@ int EPD_1in54_V2_test(void) Paint_DrawString_EN(5, 85, "waveshare", &Font20, BLACK, WHITE); Paint_DrawNum(5, 110, 123456789, &Font20, BLACK, WHITE); - Paint_DrawString_CN(5, 135,"你好abc", &Font12CN, BLACK, WHITE); - Paint_DrawString_CN(5, 155, "微雪电子", &Font24CN, WHITE, BLACK); + Paint_DrawString_CN(5, 135,"锟斤拷锟絘bc", &Font12CN, BLACK, WHITE); + Paint_DrawString_CN(5, 155, "微雪锟斤拷锟斤拷", &Font24CN, WHITE, BLACK); EPD_1IN54_V2_Display(BlackImage); DEV_Delay_ms(2000); #endif -#if 0 //Partial refresh, example shows time +#if 1 //Partial refresh, example shows time // The image of the previous frame must be uploaded, otherwise the // first few seconds will display an exception. - EPD_1IN54_V2_Init(); + EPD_1IN54_V2_DisplayPartBaseImage(BlackImage); + // enter partial mode + EPD_1IN54_V2_Init_Partial(); printf("Partial refresh\r\n"); Paint_SelectImage(BlackImage); PAINT_TIME sPaint_time; sPaint_time.Hour = 12; sPaint_time.Min = 34; sPaint_time.Sec = 56; - UBYTE num = 20; + UBYTE num = 10; for (;;) { sPaint_time.Sec = sPaint_time.Sec + 1; if (sPaint_time.Sec == 60) { diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.c index 84414a4..b674cd9 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.c +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.c @@ -30,6 +30,78 @@ #include "EPD_1in54_V2.h" #include "Debug.h" +// waveform full refresh +unsigned char WF_Full_1IN54[159] = +{ +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x80, 0x48, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x40, 0x48, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x8, 0x1, 0x0, 0x8, 0x1, 0x0, 0x2, +0xA, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x20 +}; + +// waveform partial refresh(fast) +unsigned char WF_PARTIAL_1IN54_0[159] = +{ +0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x80,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x40,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xF,0x0,0x0,0x0,0x0,0x0,0x0, +0x1,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,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +0x02,0x17,0x41,0xB0,0x32,0x28, +}; + +// waveform partial refresh(quality) +unsigned char WF_PARTIAL_1IN54_1[159] = +{ +0x0,0x00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0xA,0x0,0x0,0x0,0x0,0x0,0x1, +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,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x0,0x0,0x0,0x0,0x0,0x0,0x0, +0x22,0x22,0x22,0x22,0x22,0x22,0x0,0x0,0x0, +0x22,0x17,0x41,0x0,0x32,0x20, +}; + /****************************************************************************** function : Software reset parameter: @@ -77,15 +149,8 @@ parameter: static void EPD_1IN54_V2_ReadBusy(void) { Debug("e-Paper busy\r\n"); - // UBYTE busy; - // do { - // EPD_1IN54_V2_SendCommand(0x71); - // busy = DEV_Digital_Read(EPD_BUSY_PIN); - // busy = !(busy & 0x01); - // } while(busy); - // DEV_Delay_ms(200); while(DEV_Digital_Read(EPD_BUSY_PIN) == 1) { //LOW: idle, HIGH: busy - DEV_Delay_ms(100); + DEV_Delay_ms(10); } Debug("e-Paper busy release\r\n"); } @@ -97,7 +162,7 @@ parameter: static void EPD_1IN54_V2_TurnOnDisplay(void) { EPD_1IN54_V2_SendCommand(0x22); - EPD_1IN54_V2_SendData(0xF7); + EPD_1IN54_V2_SendData(0xc7); EPD_1IN54_V2_SendCommand(0x20); EPD_1IN54_V2_ReadBusy(); } @@ -109,11 +174,61 @@ parameter: static void EPD_1IN54_V2_TurnOnDisplayPart(void) { EPD_1IN54_V2_SendCommand(0x22); - EPD_1IN54_V2_SendData(0xFF); + EPD_1IN54_V2_SendData(0xcF); EPD_1IN54_V2_SendCommand(0x20); EPD_1IN54_V2_ReadBusy(); } +static void EPD_1IN54_V2_Lut(UBYTE *lut) +{ + EPD_1IN54_V2_SendCommand(0x32); + for(UBYTE i=0; i<153; i++) + EPD_1IN54_V2_SendData(lut[i]); + EPD_1IN54_V2_ReadBusy(); +} + +static void EPD_1IN54_V2_SetLut(UBYTE *lut) +{ + EPD_1IN54_V2_Lut(lut); + + EPD_1IN54_V2_SendCommand(0x3f); + EPD_1IN54_V2_SendData(lut[153]); + + EPD_1IN54_V2_SendCommand(0x03); + EPD_1IN54_V2_SendData(lut[154]); + + EPD_1IN54_V2_SendCommand(0x04); + EPD_1IN54_V2_SendData(lut[155]); + EPD_1IN54_V2_SendData(lut[156]); + EPD_1IN54_V2_SendData(lut[157]); + + EPD_1IN54_V2_SendCommand(0x2c); + EPD_1IN54_V2_SendData(lut[158]); +} + +static void EPD_1IN54_V2_SetWindows(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend) +{ + EPD_1IN54_V2_SendCommand(0x44); // SET_RAM_X_ADDRESS_START_END_POSITION + EPD_1IN54_V2_SendData((Xstart>>3) & 0xFF); + EPD_1IN54_V2_SendData((Xend>>3) & 0xFF); + + EPD_1IN54_V2_SendCommand(0x45); // SET_RAM_Y_ADDRESS_START_END_POSITION + EPD_1IN54_V2_SendData(Ystart & 0xFF); + EPD_1IN54_V2_SendData((Ystart >> 8) & 0xFF); + EPD_1IN54_V2_SendData(Yend & 0xFF); + EPD_1IN54_V2_SendData((Yend >> 8) & 0xFF); +} + +static void EPD_1IN54_V2_SetCursor(UWORD Xstart, UWORD Ystart) +{ + EPD_1IN54_V2_SendCommand(0x4E); // SET_RAM_X_ADDRESS_COUNTER + EPD_1IN54_V2_SendData(Xstart & 0xFF); + + EPD_1IN54_V2_SendCommand(0x4F); // SET_RAM_Y_ADDRESS_COUNTER + EPD_1IN54_V2_SendData(Ystart & 0xFF); + EPD_1IN54_V2_SendData((Ystart >> 8) & 0xFF); +} + /****************************************************************************** function : Initialize the e-Paper register parameter: @@ -134,15 +249,7 @@ void EPD_1IN54_V2_Init(void) EPD_1IN54_V2_SendCommand(0x11); //data entry mode EPD_1IN54_V2_SendData(0x01); - EPD_1IN54_V2_SendCommand(0x44); //set Ram-X address start/end position - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x18); //0x0C-->(18+1)*8=200 - - EPD_1IN54_V2_SendCommand(0x45); //set Ram-Y address start/end position - EPD_1IN54_V2_SendData(0xC7); //0xC7-->(199+1)=200 - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SetWindows(0, EPD_1IN54_V2_HEIGHT-1, EPD_1IN54_V2_WIDTH-1, 0); EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom EPD_1IN54_V2_SendData(0x01); @@ -154,12 +261,41 @@ void EPD_1IN54_V2_Init(void) EPD_1IN54_V2_SendData(0XB1); EPD_1IN54_V2_SendCommand(0x20); - EPD_1IN54_V2_SendCommand(0x4E); // set RAM x address count to 0; - EPD_1IN54_V2_SendData(0x00); - EPD_1IN54_V2_SendCommand(0x4F); // set RAM y address count to 0X199; - EPD_1IN54_V2_SendData(0xC7); - EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SetCursor(0, EPD_1IN54_V2_HEIGHT-1); EPD_1IN54_V2_ReadBusy(); + + EPD_1IN54_V2_SetLut(WF_Full_1IN54); +} + +/****************************************************************************** +function : Initialize the e-Paper register (Partial display) +parameter: +******************************************************************************/ +void EPD_1IN54_V2_Init_Partial(void) +{ + EPD_1IN54_V2_Reset(); + EPD_1IN54_V2_ReadBusy(); + + EPD_1IN54_V2_SetLut(WF_PARTIAL_1IN54_1); + EPD_1IN54_V2_SendCommand(0x37); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x40); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + EPD_1IN54_V2_SendData(0x00); + + EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom + EPD_1IN54_V2_SendData(0x80); + + EPD_1IN54_V2_SendCommand(0x22); + EPD_1IN54_V2_SendData(0xc0); + EPD_1IN54_V2_SendCommand(0x20); + EPD_1IN54_V2_ReadBusy(); } /****************************************************************************** @@ -178,6 +314,12 @@ void EPD_1IN54_V2_Clear(void) EPD_1IN54_V2_SendData(0XFF); } } + EPD_1IN54_V2_SendCommand(0x26); + for (UWORD j = 0; j < Height; j++) { + for (UWORD i = 0; i < Width; i++) { + EPD_1IN54_V2_SendData(0XFF); + } + } EPD_1IN54_V2_TurnOnDisplay(); } @@ -240,13 +382,6 @@ void EPD_1IN54_V2_DisplayPart(UBYTE *Image) UWORD Width, Height; Width = (EPD_1IN54_V2_WIDTH % 8 == 0)? (EPD_1IN54_V2_WIDTH / 8 ): (EPD_1IN54_V2_WIDTH / 8 + 1); Height = EPD_1IN54_V2_HEIGHT; - - DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(10); - DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(10); - EPD_1IN54_V2_SendCommand(0x3C); //BorderWavefrom - EPD_1IN54_V2_SendData(0x80); UDOUBLE Addr = 0; EPD_1IN54_V2_SendCommand(0x24); diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.h b/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.h index 83f39fb..be61804 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.h +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_1in54_V2.h @@ -37,6 +37,7 @@ #define EPD_1IN54_V2_HEIGHT 200 void EPD_1IN54_V2_Init(void); +void EPD_1IN54_V2_Init_Partial(void); void EPD_1IN54_V2_Clear(void); void EPD_1IN54_V2_Display(UBYTE *Image); void EPD_1IN54_V2_DisplayPartBaseImage(UBYTE *Image); 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 5305494..634561c 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_2in9_V2.c @@ -54,6 +54,29 @@ UBYTE _WF_PARTIAL_2IN9[159] = 0x22,0x17,0x41,0xB0,0x32,0x36, }; +UBYTE WS_20_30[159] = +{ +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x80, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, +0x10, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x1, +0xA, 0xA, 0x0, 0xA, 0xA, 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, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x14, 0x8, 0x0, 0x1, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, +0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x0, 0x0, 0x0, +0x22, 0x17, 0x41, 0x0, 0x32, 0x36 +}; + /****************************************************************************** function : Software reset parameter: @@ -111,15 +134,31 @@ void EPD_2IN9_V2_ReadBusy(void) Debug("e-Paper busy release\r\n"); } -static void EPD_2IN9_V2_LUT(void) +static void EPD_2IN9_V2_LUT(UBYTE *lut) { UBYTE count; EPD_2IN9_V2_SendCommand(0x32); for(count=0; count<153; count++) - EPD_2IN9_V2_SendData(_WF_PARTIAL_2IN9[count]); + EPD_2IN9_V2_SendData(lut[count]); EPD_2IN9_V2_ReadBusy(); } +static void EPD_2IN9_V2_LUT_by_host(UBYTE *lut) +{ + EPD_2IN9_V2_LUT((UBYTE *)lut); //lut + EPD_2IN9_V2_SendCommand(0x3f); + EPD_2IN9_V2_SendData(*(lut+153)); + EPD_2IN9_V2_SendCommand(0x03); // gate voltage + EPD_2IN9_V2_SendData(*(lut+154)); + EPD_2IN9_V2_SendCommand(0x04); // source voltage + EPD_2IN9_V2_SendData(*(lut+155)); // VSH + EPD_2IN9_V2_SendData(*(lut+156)); // VSH2 + EPD_2IN9_V2_SendData(*(lut+157)); // VSL + EPD_2IN9_V2_SendCommand(0x2c); // VCOM + EPD_2IN9_V2_SendData(*(lut+158)); + +} + /****************************************************************************** function : Turn On Display parameter: @@ -127,7 +166,7 @@ parameter: static void EPD_2IN9_V2_TurnOnDisplay(void) { EPD_2IN9_V2_SendCommand(0x22); //Display Update Control - EPD_2IN9_V2_SendData(0xF7); + EPD_2IN9_V2_SendData(0xc7); EPD_2IN9_V2_SendCommand(0x20); //Activate Display Update Sequence EPD_2IN9_V2_ReadBusy(); } @@ -194,18 +233,20 @@ void EPD_2IN9_V2_Init(void) EPD_2IN9_V2_SetWindows(0, 0, EPD_2IN9_V2_WIDTH-1, EPD_2IN9_V2_HEIGHT-1); - EPD_2IN9_V2_SendCommand(0x3C); //BorderWavefrom - EPD_2IN9_V2_SendData(0x05); + // EPD_2IN9_V2_SendCommand(0x3C); //BorderWavefrom + // 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_SendCommand(0x18); //Read built-in temperature sensor - EPD_2IN9_V2_SendData(0x80); + // EPD_2IN9_V2_SendCommand(0x18); //Read built-in temperature sensor + // EPD_2IN9_V2_SendData(0x80); EPD_2IN9_V2_SetCursor(0, 0); EPD_2IN9_V2_ReadBusy(); + + EPD_2IN9_V2_LUT_by_host(WS_20_30); } /****************************************************************************** @@ -261,11 +302,11 @@ void EPD_2IN9_V2_Display_Partial(UBYTE *Image) //Reset DEV_Digital_Write(EPD_RST_PIN, 0); - DEV_Delay_ms(5); + DEV_Delay_ms(2); DEV_Digital_Write(EPD_RST_PIN, 1); - DEV_Delay_ms(10); + DEV_Delay_ms(2); - EPD_2IN9_V2_LUT(); + EPD_2IN9_V2_LUT(_WF_PARTIAL_2IN9); EPD_2IN9_V2_SendCommand(0x37); EPD_2IN9_V2_SendData(0x00); EPD_2IN9_V2_SendData(0x00); diff --git a/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c b/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c index 162ead9..fc3da19 100644 --- a/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c +++ b/STM32/STM32-F103ZET6/User/e-Paper/EPD_7in5_V2.c @@ -31,6 +31,60 @@ #include "EPD_7in5_V2.h" #include "Debug.h" +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, +}; + /****************************************************************************** function : Software reset parameter: @@ -89,6 +143,30 @@ static void EPD_WaitUntilIdle(void) } +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<60; count++) + EPD_SendData(lut_vcom[count]); + + EPD_SendCommand(0x21); //LUTBW + for(count=0; count<60; count++) + EPD_SendData(lut_ww[count]); + + EPD_SendCommand(0x22); //LUTBW + for(count=0; count<60; count++) + EPD_SendData(lut_bw[count]); + + EPD_SendCommand(0x23); //LUTWB + for(count=0; count<60; count++) + EPD_SendData(lut_wb[count]); + + EPD_SendCommand(0x24); //LUTBB + for(count=0; count<60; count++) + EPD_SendData(lut_bb[count]); +} /****************************************************************************** function : Turn On Display @@ -109,18 +187,60 @@ 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(0x07); + // EPD_SendData(0x07); //VGH=20V,VGL=-20V + // EPD_SendData(0x3f); //VDH=15V + // EPD_SendData(0x3f); //VDL=-15V + + // EPD_SendCommand(0x04); //POWER ON + // DEV_Delay_ms(100); + // EPD_WaitUntilIdle(); + + // EPD_SendCommand(0X00); //PANNEL SETTING + // EPD_SendData(0x1F); //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(0x07); + + // EPD_SendCommand(0X60); //TCON SETTING + // EPD_SendData(0x22); + + 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(0x1F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f + EPD_SendData(0x3F); //KW-3f KWR-2F BWROTP 0f BWOTP 1f EPD_SendCommand(0x61); //tres EPD_SendData(0x03); //source 800 @@ -133,11 +253,19 @@ UBYTE EPD_7IN5_V2_Init(void) EPD_SendCommand(0X50); //VCOM AND DATA INTERVAL SETTING EPD_SendData(0x10); - EPD_SendData(0x07); + 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; } From e9e479f0dc07335c5ec2c45e058f350731b2c5c8 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Mon, 19 Jul 2021 15:06:02 +0800 Subject: [PATCH 4/6] Update version information --- Version_CN.txt | 3 ++- Version_EN.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Version_CN.txt b/Version_CN.txt index d95f504..477dd9d 100644 --- a/Version_CN.txt +++ b/Version_CN.txt @@ -23,4 +23,5 @@ 2020-12-09锛氭坊鍔犳柊绋嬪簭2.9inch V2 e-Paper渚嬬▼銆 2020-12-09锛氭坊鍔犳柊绋嬪簭5.83inch V2 e-Paper渚嬬▼銆 2020-12-25锛氭坊鍔犳柊绋嬪簭4.01inch (F) e-Paper渚嬬▼銆 -2021-02-22锛氭坊鍔犳柊绋嬪簭2.7inch B V2 e-Paper渚嬬▼銆 \ No newline at end of file +2021-02-22锛氭坊鍔犳柊绋嬪簭2.7inch B V2 e-Paper渚嬬▼銆 +2021-07-19: 1.54V2銆2.13V3銆2.9V2銆7.5V2绋嬪簭鍧囬噰鐢ㄥ閮ㄦ尝褰紝骞舵彁鍗囦簡鍒锋柊閫熷害 \ No newline at end of file diff --git a/Version_EN.txt b/Version_EN.txt index c9e9ffb..75c87a3 100644 --- a/Version_EN.txt +++ b/Version_EN.txt @@ -22,4 +22,5 @@ 2020-12-09: Added new program 2.9inch V2 e-Paper routine. 2020-12-09: Added new program 5.83inch V2 e-Paper routine. 2020-12-25: Added new program 4.01inch (F) e-Paper routine. -2021-02-22: Added new program 2.7inch B V2 e-Paper routine. \ No newline at end of file +2021-02-22: Added new program 2.7inch B V2 e-Paper routine. +2021-07-19: 1.54v2, 2.13v3, 2.9v2, and 7.5v2 programs all use external waveforms and have improved refresh speed. \ No newline at end of file From abe28de02229b5ad11543e0a1dd64e4cd9d6a149 Mon Sep 17 00:00:00 2001 From: SSYYL <1032789891@qq.com> Date: Mon, 19 Jul 2021 16:51:02 +0800 Subject: [PATCH 5/6] Adjust reset timing --- Arduino/epd7in5_V2/epd7in5_V2.cpp | 12 ++++++++---- Arduino/epd7in5_V2/epd7in5_V2.ino | 8 +++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Arduino/epd7in5_V2/epd7in5_V2.cpp b/Arduino/epd7in5_V2/epd7in5_V2.cpp index 6913910..fdb1a92 100644 --- a/Arduino/epd7in5_V2/epd7in5_V2.cpp +++ b/Arduino/epd7in5_V2/epd7in5_V2.cpp @@ -202,10 +202,12 @@ void Epd::SendData(unsigned char data) { */ void Epd::WaitUntilIdle(void) { unsigned char busy; + Serial.print("e-Paper Busy\r\n "); do{ SendCommand(0x71); busy = DigitalRead(busy_pin); }while(busy == 0); + Serial.print("e-Paper Busy Release\r\n "); DelayMs(20); } @@ -215,6 +217,8 @@ void Epd::WaitUntilIdle(void) { * 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); @@ -296,10 +300,10 @@ void Epd::Sleep(void) { void Epd::Clear(void) { - SendCommand(0x10); - for(unsigned long i=0; i Date: Mon, 19 Jul 2021 16:58:56 +0800 Subject: [PATCH 6/6] add sleep --- Arduino/epd7in5_V2/epd7in5_V2.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Arduino/epd7in5_V2/epd7in5_V2.ino b/Arduino/epd7in5_V2/epd7in5_V2.ino index 74762b2..b7a82ae 100644 --- a/Arduino/epd7in5_V2/epd7in5_V2.ino +++ b/Arduino/epd7in5_V2/epd7in5_V2.ino @@ -43,6 +43,8 @@ void setup() { Serial.print("e-Paper Clear\r\n "); epd.Clear(); + + epd.Sleep(); } void loop() {