diff --git a/.gitignore b/.gitignore index 690e466..4ac5610 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,6 @@ *.dylib # Executables -*.exe *.out *.app *.i*86 diff --git a/Doc/02.例程修改记录.txt b/Doc/02.例程修改记录.txt index 1172807..2201e38 100755 --- a/Doc/02.例程修改记录.txt +++ b/Doc/02.例程修改记录.txt @@ -3,6 +3,14 @@ 2. usbd_cdc_interface.h 文件中的宏定义移到c文件中,编译过,但是运行异常,奇怪。 3. qspi_read(), lua连续读取存在问题. 2019-07-07 +---------------------------------------------------------------------------- +2019-11-03 V1.03a +1.GBK->UTF-8 +2.TAB -> 4个空格 +3.完善高侧电流表功能:电压、电流、功率、放电容量 +4.增加二极管测量,和电阻测量同一个界面。 + + ---------------------------------------------------------------------------- 2019-10-20 V1.02 1.lua脚本增加bsp_GetRunTimer等时间函数,方便统计时间 diff --git a/Libraries/FatFs/src/drivers/emmc_diskio_dma.c b/Libraries/FatFs/src/drivers/emmc_diskio_dma.c index 243e9a0..6f5f92e 100755 --- a/Libraries/FatFs/src/drivers/emmc_diskio_dma.c +++ b/Libraries/FatFs/src/drivers/emmc_diskio_dma.c @@ -171,7 +171,7 @@ DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count) uint32_t alignedAddr; #endif -#if 0 /* DMAģʽ */ +#if 0 /* 非DMA模式 */ if(BSP_MMC_ReadBlocks((uint32_t *) buff, (uint32_t) (sector), count, 1000) == MMC_OK) { res = RES_OK; @@ -181,7 +181,7 @@ DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count) res = RES_ERROR; } return res; -#else /* DMAģʽ */ +#else /* DMA模式 */ if(BSP_MMC_ReadBlocks_DMA((uint32_t*)buff, (uint32_t) (sector), count) == MMC_OK) diff --git a/Project/MDK-ARM(uV5)/EventRecorderStub.scvd b/Project/MDK-ARM(uV5)/EventRecorderStub.scvd deleted file mode 100755 index 0fb3ee5..0000000 --- a/Project/MDK-ARM(uV5)/EventRecorderStub.scvd +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/Project/MDK-ARM(uV5)/hex2bin.exe b/Project/MDK-ARM(uV5)/hex2bin.exe new file mode 100644 index 0000000..79e50d4 Binary files /dev/null and b/Project/MDK-ARM(uV5)/hex2bin.exe differ diff --git a/Project/MDK-ARM(uV5)/project.uvguix.ASUS b/Project/MDK-ARM(uV5)/project.uvguix.ASUS deleted file mode 100755 index b48ad00..0000000 --- a/Project/MDK-ARM(uV5)/project.uvguix.ASUS +++ /dev/null @@ -1,3619 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - F:\MyWork\01.开发板\H7-TOOL\04.STM32软件\HT_App\User\app\inc - - - - - - - 38003 - Registers - 140 141 - - - 346 - Code Coverage - 770 160 - - - 204 - Performance Analyzer - 930 - - - - - - 35141 - Event Statistics - - 200 50 700 - - - 1506 - Symbols - - 64 64 64 - - - 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 - *** Not Enabled *** - 445 - 148 - - - - - - - - 0 - 0 - 0 - 50 - 16 - - - - - - - 44 - 2 - 3 - - -1 - -1 - - - -1 - -1 - - - 16 - 123 - 1049 - 856 - - - - 0 - - 268 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003D443A5C48372D544F4F4C5F53544D333248375F4170705C50726F6A6563745C4D444B2D41524D28755635295C68372D746F6F6C5F64656275672E736374000000001168372D746F6F6C5F64656275672E73637400000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000002701000066000000000600000F020000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C40000004F00000070040000BD000000 - - - 16 - C40000006600000070040000D4000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000020010000F5020000 - - - 16 - 58FFFFFFA40100008300000063040000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000020010000F5020000 - - - 16 - 58FFFFFFA40100008300000063040000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000020010000F5020000 - - - 16 - 58FFFFFFA40100008300000063040000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000020010000F5020000 - - - 16 - 58FFFFFFA40100008300000063040000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000950100007004000017020000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 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 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000020010000F5020000 - - - 16 - 58FFFFFFA40100008300000063040000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2A01000013020000FD050000F5020000 - - - 16 - C4000000EA020000BD05000099030000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000A4000000 - - - 16 - 8A000000A1000000C20200000F010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D0400008C010000 - - - 16 - 8A000000A10000004A01000041010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 966 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000000E0300000006000021030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 0A0000001C000000F101000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 03000000AC0100006D040000FE010000 - - - 16 - 9C030000660000006B040000AB020000 - - - - 3374 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000AC010000700400002E0200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF27010000F801000000060000FC01000001000000010000100400000001000000E1FDFFFF9500000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002701000013020000000600002503000027010000FC010000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000010000001000000FFFFFFFFFFFFFFFF230100004F000000270100000E03000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002301000025030000000000004F000000230100000E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 - - - 59392 - File - - 2914 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D45535033325F456E7465724154960000000000000014000D45535033325F456E74657241540D6273705F496E697445535033320B4D696E694170705F494438195243435F53504449465258434C4B534F555243455F504C4C331948414C5F52434345785F506572697068434C4B436F6E6669671152434345785F504C4C335F436F6E66696709424545505F53746F70036E74631652454730335F43414C49425F4E54435F5245535F59341652454730335F43414C49425F4E54435F5245535F58310941646353756D417667155343414E5F4D4F44455F53414D504C455F53495A450C546162656C42756653697A6504C5C5D0F203696E740D6273705F4765744164634176670B6C75615F53657454564343087365745F7476636311577269746552656756616C75655F303648063078303146460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 998 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000013466C617368A3A830783038303230303030A3A99600000000000000010013466C617368A3A830783038303230303030A3A9000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1536 - 864 - - - - 1 - Debug - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 100100004F000000D004000091000000 - - - 16 - 1001000066000000D0040000A8000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000F5020000 - - - 16 - BEFFFFFFA2010000C200000061040000 - - - - 109 - 109 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000F5020000 - - - 16 - BEFFFFFFA2010000C200000061040000 - - - - 1465 - 1465 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 1935 - 1935 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1936 - 1936 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 195 - 195 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000F5020000 - - - 16 - BEFFFFFFA2010000C200000061040000 - - - - 196 - 196 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000F5020000 - - - 16 - BEFFFFFFA2010000C200000061040000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E0100004F020000AF040000F5020000 - - - 16 - BE000000D5000000F602000043010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000B7010000D004000039020000 - - - 16 - BE000000D5000000F602000043010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2B0100004C020000B20400000E030000 - - - 16 - BE000000D5000000F602000043010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 38003 - 38003 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000F5020000 - - - 16 - BEFFFFFFA2010000C200000061040000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E0100004F020000AF040000F5020000 - - - 16 - BE000000D5000000F602000043010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E0100004F020000AF040000F5020000 - - - 16 - BE000000D5000000A101000091020000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E0100004F020000AF040000F5020000 - - - 16 - BE000000D5000000A101000091020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E0100004F020000AF040000F5020000 - - - 16 - BE000000D5000000A101000091020000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 1301000066000000CD04000078000000 - - - 16 - BE000000D5000000F602000043010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - F103000066000000AF0400001B020000 - - - 16 - BE000000D50000007E01000075010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 494 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000000E0300000006000021030000 - - - 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 - 16384 - 0 - - 16 - B904000066000000FD050000F5020000 - - - 16 - AC050000A40100007B060000E9030000 - - - - 3526 - 000000000C000000000000000020000000000000FFFFFFFFFFFFFFFF1001000091000000D0040000950000000000000001000000040000000100000094FFFFFFED000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000001001000066000000D0040000A8000000100100004F000000D0040000910000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFEA0300004F000000EE030000340200000000000002000000040000000100000059FCFFFF4601000000000000000000000000000001000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000EE03000066000000B20400004B020000EE0300004F000000B20400003402000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF054750494F49000000003F8C000001000000FFFFFFFFFFFFFFFF054750494F4A00000000408C000001000000FFFFFFFFFFFFFFFF054750494F4100000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000002000000000000000000000002000000FFFFFFFFD20400004F000000D6040000FF01000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF00000000B3010000D0040000B701000000000000010000000400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF000300008C020000040300000E03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF2B01000034020000B20400003802000001000000010000100400000001000000C2FDFFFF76000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002B0100004F020000B2040000250300002B01000038020000B20400000E0300000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFB20400004F000000B60400000E03000001000000020000100400000001000000BBFCFFFFA801000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000B6040000660000000006000025030000B60400004F000000000600000E03000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000010000001000000FFFFFFFFFFFFFFFF270100004F0000002B0100000E03000001000000020000100400000001000000B2FEFFFF5903000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002701000025030000000000004F000000270100000E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 - - - 59392 - File - - 2855 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036E746396000000000000001400036E7463000C43616C63756C4E74635265730C43616C63756C5265665265731652454730335F43414C49425F4E54435F5245535F59341652454730335F43414C49425F4E54435F5245535F58310941646353756D417667155343414E5F4D4F44455F53414D504C455F53495A450C546162656C42756653697A6504C5C5D0F203696E740D6273705F4765744164634176670B6C75615F53657454564343087365745F7476636311577269746552656756616C75655F30364806307830314646063078303030390C52454730335F5933315F313604202D2D2012555342445F48616E646C65547970654465660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65EE010000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1536 - 864 - - - - - - 1 - 0 - - 100 - 0 - - D:\H7-TOOL_STM32H7_App\Project\MDK-ARM(uV5)\h7-tool_debug.sct - 30 - 1 - 12 - 1 - - 0 - - - - -
diff --git a/Project/MDK-ARM(uV5)/project.uvguix.Administrator b/Project/MDK-ARM(uV5)/project.uvguix.Administrator deleted file mode 100755 index 8ddba39..0000000 --- a/Project/MDK-ARM(uV5)/project.uvguix.Administrator +++ /dev/null @@ -1,3591 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - - - - 38003 - Registers - 142 143 - - - 346 - Code Coverage - 1010 160 - - - 204 - Performance Analyzer - 1170 - - - - - - 1506 - Symbols - - 80 80 80 - - - 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 - *** Not Enabled *** - 129 - 43 - - - - - - - - 0 - 0 - 0 - 50 - 16 - - - - - - - 44 - 2 - 3 - - -32000 - -32000 - - - -1 - -1 - - - 0 - -7 - 1927 - 1047 - - - - 0 - - 60 - 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F40000004F00000090050000DF000000 - - - 16 - F40000006600000090050000F6000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000CD030000 - - - 16 - 32FFFFFF090200009900000066040000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000CD030000 - - - 16 - 32FFFFFF090200009900000066040000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000CD030000 - - - 16 - 32FFFFFF090200009900000066040000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000CD030000 - - - 16 - 32FFFFFF090200009900000066040000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000CD030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000001902000090050000BD020000 - - - 16 - BE000000D50000008603000065010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000CD030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 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 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D50000008603000065010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006600000024010000CD030000 - - - 16 - 32FFFFFF090200009900000066040000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000E7030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000E7030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000E7030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 2E010000A10200007D070000E7030000 - - - 16 - 4C0100008A030000BE07000031040000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - F7000000660000008D050000C6000000 - - - 16 - BE000000D50000008603000065010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 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 - 00000000E603000080070000F9030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 2 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 1 - - 16 - 000000001C0000006F02000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000300200008D050000A4020000 - - - 16 - BE000000D5000000AE010000A0010000 - - - - 3379 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF2B01000086020000800700008A0200000100000001000010040000000100000079FDFFFF0501000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000002B0100008702000080070000FD0300002B0100008A02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000010000001000000FFFFFFFFFFFFFFFF270100004F0000002B010000E60300000100000002000010040000000100000024FFFFFF3204000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006600000027010000FD030000000000004F00000027010000E60300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000000000000000000 - - - 59392 - File - - 2565 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000400000000000000000000000000000000000001000000010000009600000002002050000000000F6273705F537069427573456E746572960000000000000014000C46535F564F4C554D455F5344000F445244595F49525148616E646C65720F425553595F49525148616E646C657209425553595F4952516E075F454E414C424506454E414C4245144750494F5F4D4F44455F49545F46414C4C494E470F4750494F5F4D4F44455F494E5055540344495F0B445244595F49535F4C4F5710544D373730355F5772697465427974650F544D373730355F526561644279746510544D373730355F5265616433427974650E544D373730355F5265616452656709746D5F7072696E7466067072696E74660D6273705F73706957726974653110544D373730355F526573657448617264134750494F5F4D4F44455F4F55545055545F50500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 970 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000005466C6173689600000000000000010005466C617368000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1920 - 1080 - - - - 1 - Debug - - -1 - -1 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0C0100004F000000D40500009D000000 - - - 16 - 0C01000066000000D4050000B4000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000000501000091020000 - - - 16 - 70000000870000006001000052010000 - - - - 109 - 109 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000000501000091020000 - - - 16 - 70000000870000008C010000C7020000 - - - - 1465 - 1465 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 1935 - 1935 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1936 - 1936 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 195 - 195 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000000501000091020000 - - - 16 - 70000000870000008C010000C7020000 - - - - 196 - 196 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000000501000091020000 - - - 16 - 70000000870000008C010000C7020000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000006D030000D1050000CD030000 - - - 16 - 70000000870000003803000017010000 - - - - 198 - 198 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000AE020000D405000052030000 - - - 16 - 70000000870000003803000017010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000006A030000D4050000E6030000 - - - 16 - 70000000870000003803000017010000 - - - - 203 - 203 - 1 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - 0C01000063000000D40500009D000000 - - - 16 - 70000000870000003803000017010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 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 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000006001000052010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 38003 - 38003 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000000501000091020000 - - - 16 - 70000000870000008C010000C7020000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006D030000D1050000CD030000 - - - 16 - 70000000870000003803000017010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006D030000D1050000CD030000 - - - 16 - 70000000870000008C010000C7020000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006D030000D1050000CD030000 - - - 16 - 70000000870000008C010000C7020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000006D030000D1050000CD030000 - - - 16 - 70000000870000008C010000C7020000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0F01000066000000D105000084000000 - - - 16 - 70000000870000003803000017010000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - A3040000660000008D05000010020000 - - - 16 - 70000000870000006001000052010000 - - - - 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 - 00000000E603000080070000F9030000 - - - 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 - 32768 - 0 - - 16 - DB050000660000007D070000CD030000 - - - 16 - EA0300001102000086060000B5020000 - - - - 3420 - 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF0C0100009D000000D4050000A10000000100000001000010040000000100000072FFFFFF56020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000000C01000066000000D4050000B40000000C0100004F000000D40500009D0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF080100004F0000000C010000AA0200000100000002000010040000000100000051FEFFFFC6050000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006600000008010000C1020000000000004F00000008010000AA0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000AA020000D4050000AE02000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFA1020000A5020000A50200004903000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000052030000D405000056030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006D030000D4050000FD0300000000000056030000D4050000E60300000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFD40500004F000000D8050000E6030000010000000200001004000000010000008DFBFFFFC800000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000D80500006600000080070000FD030000D80500004F00000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000 - - - 59392 - File - - 2588 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000135F5F48414C5F554152545F434C4541525F4954960000000000000013000E554152545F434C4541525F575546135F5F48414C5F554152545F434C4541525F49540F55534152545F4352335F57554649452155534152545F4352315F50454945207C2055534152545F4352315F52584E4549450B55617274566172496E69741948414C5F5541525445785F57616B65757043616C6C6261636B0657414B4555500474686973106273705F53657455617274506172616D0D48414C5F554152545F496E69740D52533438355F536574426175640A636F6D5365744261756407534554424155440E554152545F536574436F6E6669670568756172741055534152545F4352315F5458464549450F554152545F526563656976655F4954055F52584E451448414C5F554152545F5472616E736D69745F495400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65B9030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1920 - 1080 - - - - -
diff --git a/Project/MDK-ARM(uV5)/project.uvoptx b/Project/MDK-ARM(uV5)/project.uvoptx index dfbc465..fe455f7 100755 --- a/Project/MDK-ARM(uV5)/project.uvoptx +++ b/Project/MDK-ARM(uV5)/project.uvoptx @@ -263,7 +263,7 @@ App - 1 + 0 0 0 0 @@ -439,7 +439,7 @@ BSP - 1 + 0 0 0 0 @@ -1963,7 +1963,7 @@ USB_Device_Library_Core - 0 + 1 0 0 0 @@ -2075,7 +2075,7 @@ USBD_Virtual_COM - 1 + 0 0 0 0 @@ -2083,7 +2083,7 @@ 13 144 1 - 0 + 1 0 0 ..\..\User\usbd_virtual_com\usbd_cdc_interface.c @@ -2143,7 +2143,7 @@ USBD_Mass Storage - 0 + 1 0 0 0 @@ -2627,7 +2627,7 @@ LwIP_PhyDrv - 0 + 1 0 0 0 @@ -2647,7 +2647,7 @@ LwIP_IF - 0 + 1 0 0 0 @@ -2715,7 +2715,7 @@ LwIP_HTTP - 0 + 1 0 0 0 @@ -2771,7 +2771,7 @@ LwIP_TCP - 0 + 1 0 0 0 @@ -2847,7 +2847,7 @@ Programmer - 0 + 1 0 0 0 @@ -2867,7 +2867,7 @@ Lua src 5.3.5 - 0 + 1 0 0 0 @@ -3435,7 +3435,7 @@ DAP_bsp - 0 + 1 0 0 0 @@ -3515,7 +3515,7 @@ DAP_Host - 0 + 1 0 0 0 diff --git a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s index b625833..3b0a6a0 100755 --- a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s +++ b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s @@ -68,7 +68,7 @@ __Vectors DCD __initial_sp ; Top of Stack DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler - DCD 0x00000102 ; Reserved H7-TOOL APP̼汾 + DCD 0x00000103 ; Reserved H7-TOOL APP̼汾 DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved diff --git a/Project/h7_tool_app.bin b/Project/h7_tool_app(V1.03).bin similarity index 80% rename from Project/h7_tool_app.bin rename to Project/h7_tool_app(V1.03).bin index 4d11444..75f0aad 100644 Binary files a/Project/h7_tool_app.bin and b/Project/h7_tool_app(V1.03).bin differ diff --git a/README.md b/README.md index 11f6045..f5cd1fc 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,6 @@ 3、程序定位地址(FLASH):0x0802 0000,容量2MB - 128KB 4、MDK中FLASH配置使用STM32H743配置,强行使用2MB Flash + +5、源文件编码为UTF-8, TAB = 4个空格 + diff --git a/User/app/inc/param.h b/User/app/inc/param.h index f9f2698..9ef8419 100755 --- a/User/app/inc/param.h +++ b/User/app/inc/param.h @@ -143,10 +143,10 @@ typedef struct float HighSideCurr; float USBPowerVolt; float ExtPowerVolt; - float TVCCVolt; /* TVCC实测电压 */ - float TVCCCurr; /* TVCC实测电压 */ - float NTCRes; /* NTC电阻 */ - float NTCTemp; /* NTC温度 */ + float TVCCVolt; /* TVCC实测电压 */ + float TVCCCurr; /* TVCC实测电压 */ + float NTCRes; /* NTC电阻 */ + float NTCTemp; /* NTC温度 */ float ADC_CH1Volt; float ADC_CH2Volt; @@ -154,24 +154,27 @@ typedef struct float ADC_HighSideCurr; float ADC_USBPowerVolt; float ADC_ExtPowerVolt; - float ADC_TVCCVolt; /* TVCC实测电压 */ - float ADC_TVCCCurr; /* TVCC实测电压 */ - float ADC_NTCRes; /* NTC电阻 */ + float ADC_TVCCVolt; /* TVCC实测电压 */ + float ADC_TVCCCurr; /* TVCC实测电压 */ + float ADC_NTCRes; /* NTC电阻 */ + + float BatteryCapacity; /* 电池容量累计 */ + uint8_t StartBatCap; /* 开始累计容量 */ - uint16_t OutTVCCDac; /* 输出TVCC dac值 */ - uint16_t OutTVCCmV; /* 输出TVCC mV值 */ + uint16_t OutTVCCDac; /* 输出TVCC dac值 */ + uint16_t OutTVCCmV; /* 输出TVCC mV值 */ - uint16_t OutVoltDAC; /* 输出电压 dac值 */ - int16_t OutVoltmV; /* 输出电压 mV值 有符号数 支持负电压*/ + uint16_t OutVoltDAC; /* 输出电压 dac值 */ + int16_t OutVoltmV; /* 输出电压 mV值 有符号数 支持负电压*/ - uint16_t OutCurrDAC; /* 输出电流 dac值 */ - uint16_t OutCurruA; /* 输出电流 uA值 */ + uint16_t OutCurrDAC; /* 输出电流 dac值 */ + uint16_t OutCurruA; /* 输出电流 uA值 */ uint8_t LuaRunOnce; uint8_t CalibEnable; - uint8_t GpioMode[16]; /* 保存GPIO模式参数,输入,输出或特殊功能 */ + uint8_t GpioMode[16]; /* 保存GPIO模式参数、输入、输出或特殊功能 */ } VAR_T; diff --git a/User/app/src/main.c b/User/app/src/main.c index 7d5fede..4b23996 100755 --- a/User/app/src/main.c +++ b/User/app/src/main.c @@ -3,19 +3,20 @@ * * 模块名称 : H7-TOOL App主程序 * 文件名称 : main.c -* 版 本 : V1.0 +* 版 本 : V1.1 * 说 明 : * * 修改记录 : * 版本号 日期 作者 说明 * V1.0 2019-10-01 armfly 正式发布 +* V1.1 2019-11-02 armfly 整理格式。增加功能。 * * Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ -#include "bsp.h" /* printf函数定向输出到串口,所以必须包含这个文件 */ +#include "bsp.h" #include "main.h" #include "status_link_mode.h" @@ -41,24 +42,24 @@ static void DispLogo(void); -uint16_t g_MainStatus; +uint16_t g_MainStatus; /* 主状态字 */ /* 主状态切换顺序 */ static const uint16_t StatusOrder[] = - { - MS_LINK_MODE, /* 联机状态 */ - MS_VOLTAGE_METER, /* 电压表 */ - MS_RESISTOR_METER, /* 电阻表 */ - MS_CURRENT_METER, /* 高侧电流表 */ - MS_TEMP_METER, /* 温度表 */ - MS_PROGRAMMER, /* 脱机下载器 */ +{ + MS_LINK_MODE, /* 联机状态 */ + MS_VOLTAGE_METER, /* 电压表 */ + MS_RESISTOR_METER, /* 电阻表 */ + MS_CURRENT_METER, /* 高侧电流表 */ + MS_TEMP_METER, /* 温度表 */ + MS_PROGRAMMER, /* 脱机下载器 */ }; /* ********************************************************************************************************* * 函 数 名: main * 功能说明: c程序入口 -* 形 参:无 +* 形 参: 无 * 返 回 值: 错误代码(无需处理) ********************************************************************************************************* */ @@ -101,39 +102,39 @@ int main(void) { switch (g_MainStatus) { - case MS_LINK_MODE: /* 联机状态 */ + case MS_LINK_MODE: /* 联机状态 */ status_LinkMode(); break; - case MS_SYSTEM_SET: /* 系统设置 */ + case MS_SYSTEM_SET: /* 系统设置 */ status_SystemSetMain(); break; - case MS_HARD_INFO: /* 硬件信息 */ + case MS_HARD_INFO: /* 硬件信息 */ status_HardInfo(); break; - case MS_ESP32_TEST: /* ESP32模块固件升级 */ + case MS_ESP32_TEST: /* ESP32模块固件升级 */ status_ESP32Test(); break; - case MS_USB_UART1: /* USB虚拟串口,映射到硬件UART1, RS485 RS232 */ + case MS_USB_UART1: /* USB虚拟串口,映射到硬件UART1, RS485 RS232 */ status_UsbUart1(); break; - case MS_PROGRAMMER: /* 脱机下载器 */ + case MS_PROGRAMMER: /* 脱机下载器 */ status_Programmer(); break; - case MS_VOLTAGE_METER: /* 电压表 */ + case MS_VOLTAGE_METER: /* 电压表 */ status_VoltageMeter(); break; - case MS_CURRENT_METER: /* 高侧电流表 */ + case MS_CURRENT_METER: /* 高侧电流表 */ status_CurrentMeter(); break; - case MS_TEMP_METER: /* 温度表 */ + case MS_TEMP_METER: /* 温度表 */ status_TempMeter(); break; @@ -251,7 +252,8 @@ static void DispLogo(void) uint16_t y = 3; uint16_t line_cap = 20; - LCD_DispStr(x, y, "H7-TOOL多功能开发工具", &tFont); + //LCD_DispStr(x, y, "H7-TOOL多功能开发工具", &tFont); + LCD_DispStr(x, y, "H7-TOOL", &tFont); y += line_cap; sprintf(buf, "App Ver:%d.%02X", @@ -284,10 +286,10 @@ void DispHeader(char *_str) /* 设置字体参数 */ { - tFont.FontCode = FC_ST_24; /* 字体代码 16点阵 */ - tFont.FrontColor = CL_WHITE; /* 字体颜色 */ - tFont.BackColor = HEAD_BAR_COLOR; /* 文字背景颜色 */ - tFont.Space = 0; /* 文字间距,单位 = 像素 */ + tFont.FontCode = FC_ST_24; /* 字体代码 16点阵 */ + tFont.FrontColor = CL_WHITE; /* 字体颜色 */ + tFont.BackColor = HEAD_BAR_COLOR; /* 文字背景颜色 */ + tFont.Space = 0; /* 文字间距,单位 = 像素 */ } LCD_DispStrEx(0, 0, _str, &tFont, 240, ALIGN_CENTER); @@ -312,10 +314,10 @@ void DSO_StartMode2(void) WriteRegValue_06H(0x0203, 0); /* CH2通道增益0档,不放大 */ WriteRegValue_06H(0x0204, 0); /* CH1通道直流偏值,未用 */ WriteRegValue_06H(0x0205, 0); /* CH2通道直流偏值,未用 */ - WriteRegValue_06H(0x0206, 12); /* 采样频率1M */ + WriteRegValue_06H(0x0206, 12); /* 采样频率1M */ WriteRegValue_06H(0x0207, 0); /* 采样深度1K */ WriteRegValue_06H(0x0208, 0); /* 触发电平 */ - WriteRegValue_06H(0x0209, 50); /* 触发位置 */ + WriteRegValue_06H(0x0209, 50); /* 触发位置 */ WriteRegValue_06H(0x020A, 0); /* 触发模式 0=自动 */ WriteRegValue_06H(0x020B, 0); /* 触发通道CH1 */ WriteRegValue_06H(0x020C, 0); /* 触发边沿 */ diff --git a/User/app/src/status_current_meter.c b/User/app/src/status_current_meter.c index f6eae0c..ccfd1a0 100755 --- a/User/app/src/status_current_meter.c +++ b/User/app/src/status_current_meter.c @@ -1,46 +1,47 @@ /* ********************************************************************************************************* * -* 模块名称 : 高侧电压电流表 -* 文件名称 : status_current_meter.c -* 版 本 : V1.0 -* 说 明 : -* 修改记录 : -* 版本号 日期 作者 说明 -* V1.0 2019-10-19 armfly 正式发布 +* 模块名称 : 高侧电压电流表 +* 文件名称 : status_current_meter.c +* 版 本 : V1.1 +* 说 明 : +* 修改记录 : +* 版本号 日期 作者 说明 +* V1.1 2019-10-19 armfly 正式发布 +* V1.2 2019-11-03 armfly 完善功能。增加电池容量计算。 * -* Copyright (C), 2018-2030, 安富莱电子 www.armfly.com +* Copyright (C), 2018-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ #include "bsp.h" #include "main.h" +static void DispCurrentVolt(void); +static void AutoCurrentRange(void); +static void DispHelpCurrentMeter(void); + /* ********************************************************************************************************* -* 函 数 名: status_CurrentMeter -* 功能说明: 高侧电压电流表态. -* 形 参: 无 -* 返 回 值: 无 +* 函 数 名: status_CurrentMeter +* 功能说明: 高侧电压电流表态. +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void status_CurrentMeter(void) { uint8_t ucKeyCode; /* 按键代码 */ uint8_t fRefresh; - FONT_T tFont; /* 定义字体结构体变量 */ + uint8_t ucIgnoreKey = 0; DispHeader("高侧电流表"); - - /* 设置字体参数 */ - { - tFont.FontCode = FC_ST_16; /* 字体代码 16点阵 */ - tFont.FrontColor = CL_BLACK; /* 字体颜色 */ - tFont.BackColor = FORM_BACK_COLOR; /* 文字背景颜色 */ - tFont.Space = 0; /* 文字间距,单位 = 像素 */ - } - + DispHelpCurrentMeter(); + fRefresh = 1; + + bsp_StartAutoTimer(0, 300); + bsp_StartAutoTimer(1, 1000); while (g_MainStatus == MS_CURRENT_METER) { bsp_Idle(); @@ -48,32 +49,64 @@ void status_CurrentMeter(void) if (fRefresh) /* 刷新整个界面 */ { fRefresh = 0; + + DispCurrentVolt(); + AutoCurrentRange(); } + if (bsp_CheckTimer(0)) + { + fRefresh = 1; + } + + /* 每秒统计一次 */ + if (bsp_CheckTimer(1)) + { + if (g_tVar.StartBatCap == 1) + { + /* 1mAh = 0.001安培*3600秒 = 3.6安培秒 = 3.6库仑 */ + g_tVar.BatteryCapacity += g_tVar.HighSideCurr / 3600; + } + } + ucKeyCode = bsp_GetKey(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ if (ucKeyCode != KEY_NONE) { /* 有键按下 */ switch (ucKeyCode) { - case KEY_DOWN_S: /* S键按下 */ + case KEY_DOWN_S: /* S键按下 */ break; - case KEY_UP_S: /* S键释放 */ - g_MainStatus = NextStatus(MS_CURRENT_METER); + case KEY_UP_S: /* S键释放 */ + if (g_tVar.StartBatCap == 0) + { + g_MainStatus = NextStatus(MS_CURRENT_METER); + } + break; - case KEY_LONG_S: /* S键长按 */ + case KEY_LONG_S: /* S键长按 */ + g_tVar.StartBatCap = 1; + g_tVar.BatteryCapacity = 0; + BEEP_KeyTone(); break; - case KEY_DOWN_C: /* C键按下 */ + case KEY_DOWN_C: /* C键按下 */ break; - case KEY_UP_C: /* C键释放 */ - g_MainStatus = LastStatus(MS_CURRENT_METER); + case KEY_UP_C: /* C键释放 */ + if (g_tVar.StartBatCap == 0 && ucIgnoreKey == 0) + { + g_MainStatus = LastStatus(MS_CURRENT_METER); + } + ucIgnoreKey = 0; break; - case KEY_LONG_C: /* C键长按 */ + case KEY_LONG_C: /* C键长按 */ + g_tVar.StartBatCap = 0; + ucIgnoreKey = 1; /* 需要丢弃即将到来的C键弹起事件 */ + BEEP_KeyTone(); break; default: @@ -81,6 +114,84 @@ void status_CurrentMeter(void) } } } + bsp_StopTimer(0); + bsp_StopTimer(1); +} + +/* +********************************************************************************************************* +* 函 数 名: AutoCurrentRange +* 功能说明: 自动调节量程 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static void AutoCurrentRange(void) +{ + if (g_tVar.HighSideCurr < 120) + { + WriteRegValue_06H(0x0211, 0); /* 0表示120mA, 1表示1.2A量程 */ + } + else + { + WriteRegValue_06H(0x0211, 1); /* 0表示120mA, 1表示1.2A量程 */ + } +} + +/* +********************************************************************************************************* +* 函 数 名: DispHelpCurrentMeter +* 功能说明: 显示操作提示 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static void DispHelpCurrentMeter(void) +{ + FONT_T tFont; /* 定义字体结构体变量 */ + + tFont.FontCode = FC_ST_16; /* 字体代码 16点阵 */ + tFont.FrontColor = CL_YELLOW; /* 字体颜色 */ + tFont.BackColor = FORM_BACK_COLOR; /* 文字背景颜色 */ + tFont.Space = 0; /* 文字间距,单位 = 像素 */ + tFont.FrontColor = CL_BLACK; /* 黑字 */ + + LCD_DispStr(5, 240 - 40, "长按S开始测量电池放电容量", &tFont); + LCD_DispStr(5, 240 - 20, "长按C停止测量", &tFont); +} + +/* +********************************************************************************************************* +* 函 数 名: DispCurrentVolt +* 功能说明: 显示电压电流功率 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static void DispCurrentVolt(void) +{ + FONT_T tFont; + char buf[64]; + + /* 设置字体参数 */ + { + tFont.FontCode = FC_ST_24; /* 字体代码 16点阵 */ + tFont.FrontColor = CL_WHITE; /* 字体颜色 */ + tFont.BackColor = HEAD_BAR_COLOR; /* 文字背景颜色 */ + tFont.Space = 0; /* 文字间距,单位 = 像素 */ + } + + sprintf(buf, "电压: %8.3fV", g_tVar.HighSideVolt); + LCD_DispStrEx(10, 50 + 32 * 0, buf, &tFont, 220, ALIGN_CENTER); + + sprintf(buf, "电流: %8.1fmA", g_tVar.HighSideCurr); + LCD_DispStrEx(10, 50 + 32 * 1, buf, &tFont, 220, ALIGN_CENTER); + + sprintf(buf, "功率: %8.3fW", g_tVar.HighSideVolt * g_tVar.HighSideCurr / 1000); + LCD_DispStrEx(10, 50 + 32 * 2, buf, &tFont, 220, ALIGN_CENTER); + + sprintf(buf, "容量: %8.3fmAh", g_tVar.BatteryCapacity); + LCD_DispStrEx(10, 50 + 32 * 3, buf, &tFont, 220, ALIGN_CENTER); } /***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/app/src/status_link_mode.c b/User/app/src/status_link_mode.c index 0bcc15a..72b5999 100755 --- a/User/app/src/status_link_mode.c +++ b/User/app/src/status_link_mode.c @@ -15,6 +15,7 @@ */ #include "bsp.h" #include "main.h" +#include "usbd_user.h" /* ********************************************************************************************************* @@ -78,11 +79,11 @@ void status_LinkMode(void) tFont.FrontColor = CL_BLACK; /* 黑字 */ y = 10 * line_cap; - sprintf(buf, "长按S进入系统设置", &tFont); + sprintf(buf, "长按S进入系统设置"); LCD_DispStr(x, y, buf, &tFont); y = 11 * line_cap; - sprintf(buf, "长按C切换方向", &tFont); + sprintf(buf, "长按C切换方向"); LCD_DispStr(x, y, buf, &tFont); } } @@ -96,7 +97,7 @@ void status_LinkMode(void) case KEY_DOWN_S: /* S键按下 */ break; - case KEY_UP_S: /* S键释放 */ + case KEY_UP_S: /* S键释放 */ g_MainStatus = NextStatus(MS_LINK_MODE); break; @@ -136,8 +137,11 @@ void status_LinkMode(void) } } - usbd_CloseCDC(); - usbd_OpenCDC(1); /* 启用USB虚拟串口1, 用于虚拟串口,RS232 RS485 TTL-UART */ + if (g_MainStatus != MS_SYSTEM_SET) + { + usbd_CloseCDC(); + usbd_OpenCDC(1); /* 启用USB虚拟串口1, 用于虚拟串口,RS232 RS485 TTL-UART */ + } } /***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/app/src/status_resistor_meter.c b/User/app/src/status_resistor_meter.c index 2fbd12f..87b457a 100755 --- a/User/app/src/status_resistor_meter.c +++ b/User/app/src/status_resistor_meter.c @@ -31,7 +31,7 @@ void status_ResistorMeter(void) uint8_t ucKeyCode; /* 按键代码 */ uint8_t fRefresh; - DispHeader("电阻测量"); + DispHeader("电阻、二极管测量"); fRefresh = 1; bsp_StartAutoTimer(0, 300); @@ -92,7 +92,7 @@ void status_ResistorMeter(void) } } bsp_StopTimer(0); - BEEP_Stop(); + //BEEP_Stop(); 打开会导致切换的按键音消失 } /* @@ -107,6 +107,8 @@ static void DispResistor(void) { FONT_T tFont; char buf[64]; + float volt; + float curr; /* 设置字体参数 */ { @@ -116,7 +118,7 @@ static void DispResistor(void) tFont.Space = 0; /* 文字间距,单位 = 像素 */ } - if (g_tVar.NTCRes < 1.0) + if (g_tVar.NTCRes < 1.0f) { sprintf(buf, "电阻: %0.1fΩ", g_tVar.NTCRes * 1000); } @@ -128,8 +130,27 @@ static void DispResistor(void) { sprintf(buf, "电阻: > 1MΩ"); } - LCD_DispStrEx(10, 50, buf, &tFont, 220, ALIGN_CENTER); + + /* 大致计算,不是很精确 */ + volt = 2.5f * g_tVar.NTCRes / (g_tVar.NTCRes + 5.1f); + curr = volt / g_tVar.NTCRes; + if (volt > 2.4f) + { + sprintf(buf, " 压降: > 2.4V"); + LCD_DispStrEx(10, 50 + 50, buf, &tFont, 220, ALIGN_LEFT); + + sprintf(buf, " 电流: %0.3fmA", curr); + LCD_DispStrEx(10, 50 + 50 + 24, buf, &tFont, 220, ALIGN_LEFT); + } + else + { + sprintf(buf, " 压降: %0.3fV", volt); + LCD_DispStrEx(10, 50 + 50, buf, &tFont, 220, ALIGN_LEFT); + + sprintf(buf, " 电流: %0.3fmA", curr); + LCD_DispStrEx(10, 50 + 50 + 24, buf, &tFont, 220, ALIGN_LEFT); + } } /***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/bsp/bsp.c b/User/bsp/bsp.c index db6267c..77825f9 100755 --- a/User/bsp/bsp.c +++ b/User/bsp/bsp.c @@ -421,7 +421,9 @@ void bsp_RunPer1ms(void) ********************************************************************************************************* */ extern void lwip_pro(void); -extern void lua_Poll(); +extern void lua_Poll(void); +extern void wifi_task(void); +extern void EXIO_ScanTask(void); void bsp_Idle(void) { /* --- 喂狗 */ diff --git a/User/bsp/src/bsp_cpu_adc.c b/User/bsp/src/bsp_cpu_adc.c index 211d01d..9a93bc7 100755 --- a/User/bsp/src/bsp_cpu_adc.c +++ b/User/bsp/src/bsp_cpu_adc.c @@ -2366,14 +2366,10 @@ float bsp_AdcToCH1Volt(float _adc) { float volt; - volt = CaculTwoPointFloat( + volt = CaculTwoPointFloat( g_tCalib.CH1[g_tDSO.Gain1].x1, g_tCalib.CH1[g_tDSO.Gain1].y1, g_tCalib.CH1[g_tDSO.Gain1].x2, g_tCalib.CH1[g_tDSO.Gain1].y2, - _adc); -// if (volt > (float)-0.020 && volt < (float)0.020) /* 0值.正负20mV以内自动归零 */ -// { -// volt = 0; -// } + _adc); return volt; } @@ -2389,14 +2385,10 @@ float bsp_AdcToCH2Volt(float _adc) { float volt; - volt = CaculTwoPointFloat( + volt = CaculTwoPointFloat( g_tCalib.CH2[g_tDSO.Gain2].x1, g_tCalib.CH2[g_tDSO.Gain2].y1, g_tCalib.CH2[g_tDSO.Gain2].x2, g_tCalib.CH2[g_tDSO.Gain2].y2, - _adc); -// if (volt > (float)-0.020 && volt < (float)0.020) /* 0值.正负20mV以内自动归零 */ -// { -// volt = 0; -// } + _adc); return volt; } diff --git a/User/bsp/src/bsp_spi_fast.c b/User/bsp/src/bsp_spi_fast.c index 6335e4b..ac9a86b 100755 --- a/User/bsp/src/bsp_spi_fast.c +++ b/User/bsp/src/bsp_spi_fast.c @@ -54,7 +54,7 @@ extern SPI_HandleTypeDef hspi2; void SWD_SendBitsOK(uint8_t _bits, uint32_t _data) { #if 1 - static uint8_t s_first = 1; + //static uint8_t s_first = 1; // if (s_first == 0) // { diff --git a/User/bsp/src/bsp_tft_st7789.c b/User/bsp/src/bsp_tft_st7789.c index e50edff..5b06a4a 100755 --- a/User/bsp/src/bsp_tft_st7789.c +++ b/User/bsp/src/bsp_tft_st7789.c @@ -287,8 +287,6 @@ static void ST7789_SendByteQuick(uint8_t data) /*写数据到 LCD 模块*/ void Lcd_WriteData(uint8_t data1) { - char i; - LCD_RS_1(); LCD_CS_0(); ST7789_SendByteQuick(data1); diff --git a/User/bsp/src/bsp_uart_fifo.c b/User/bsp/src/bsp_uart_fifo.c index 3d3d6d2..d888a17 100755 --- a/User/bsp/src/bsp_uart_fifo.c +++ b/User/bsp/src/bsp_uart_fifo.c @@ -189,7 +189,7 @@ static void UartVarInit(void); static void InitHardUart(void); static void UartSend(UART_T *_pUart, uint8_t *_ucaBuf, uint16_t _usLen); static uint8_t UartGetChar(UART_T *_pUart, uint8_t *_pByte); -static void UartIRQ(UART_T *_pUart); +//static void UartIRQ(UART_T *_pUart); void RS485_InitTXE(void); @@ -848,7 +848,7 @@ void bsp_SetUartParam(USART_TypeDef *Instance, uint32_t BaudRate, uint32_t Parit */ static void InitHardUart(void) { - GPIO_InitTypeDef GPIO_InitStruct; + // GPIO_InitTypeDef GPIO_InitStruct; RCC_PeriphCLKInitTypeDef RCC_PeriphClkInit; UART_HandleTypeDef UartHandle; @@ -1287,7 +1287,7 @@ void comPutRxFifo(COM_PORT_E _ucPort, uint8_t *_buf, uint16_t _len) * 返 回 值: 无 ********************************************************************************************************* */ -static void UartIRQ(UART_T *_pUart) +void UartIRQ(UART_T *_pUart) { uint32_t isrflags = READ_REG(_pUart->uart->ISR); uint32_t cr1its = READ_REG(_pUart->uart->CR1); @@ -1530,6 +1530,7 @@ int fgetc(FILE *f) // return (int)USART_ReceiveData(USART1); //#endif + return 0; } /***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/bsp/src/bsp_user_lib.c b/User/bsp/src/bsp_user_lib.c index 831552d..530bfd0 100755 --- a/User/bsp/src/bsp_user_lib.c +++ b/User/bsp/src/bsp_user_lib.c @@ -794,7 +794,6 @@ void FloatToBEBuf(float _f, uint8_t *_pBuf) { float f; uint8_t *p; - uint8_t buf[4]; f = _f; p = (uint8_t *)&f; diff --git a/User/daplink/source/daplink/cmsis-dap/DAP.c b/User/daplink/source/daplink/cmsis-dap/DAP.c index e66c70c..e963c26 100755 --- a/User/daplink/source/daplink/cmsis-dap/DAP.c +++ b/User/daplink/source/daplink/cmsis-dap/DAP.c @@ -1,4 +1,4 @@ -/** +/** * @file DAP.c * @brief Implementation of DAP.h * diff --git a/User/daplink/source/daplink/cmsis-dap/DAP.h b/User/daplink/source/daplink/cmsis-dap/DAP.h index 17143e3..a1f862a 100755 --- a/User/daplink/source/daplink/cmsis-dap/DAP.h +++ b/User/daplink/source/daplink/cmsis-dap/DAP.h @@ -1,4 +1,4 @@ -/** +/** * @file DAP.h * @brief Access to ARM DAP using CMSIS-DAP protocol * diff --git a/User/daplink/source/daplink/cmsis-dap/DAP_queue.c b/User/daplink/source/daplink/cmsis-dap/DAP_queue.c index 4f7e452..b26a064 100755 --- a/User/daplink/source/daplink/cmsis-dap/DAP_queue.c +++ b/User/daplink/source/daplink/cmsis-dap/DAP_queue.c @@ -1,4 +1,4 @@ -/** +/** * @file DAP_queue.c * @brief DAP processing queue * diff --git a/User/daplink/source/daplink/cmsis-dap/DAP_queue.h b/User/daplink/source/daplink/cmsis-dap/DAP_queue.h index 94d27c4..f081a53 100755 --- a/User/daplink/source/daplink/cmsis-dap/DAP_queue.h +++ b/User/daplink/source/daplink/cmsis-dap/DAP_queue.h @@ -1,4 +1,4 @@ -/** +/** * @file DAP_queue.h * @brief DAP processing queue * diff --git a/User/daplink/source/daplink/cmsis-dap/DAP_vendor.c b/User/daplink/source/daplink/cmsis-dap/DAP_vendor.c index 07527b1..16e0df1 100755 --- a/User/daplink/source/daplink/cmsis-dap/DAP_vendor.c +++ b/User/daplink/source/daplink/cmsis-dap/DAP_vendor.c @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2013-2016 ARM Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 @@ -62,7 +62,7 @@ uint32_t DAP_ProcessVendorCommand(const uint8_t *request, uint8_t *response) { uint32_t num = (1U << 16) | 1U; *response++ = *request; // copy Command ID -#if 0 // armfly ʱ +#if 0 // armfly 临时屏蔽 switch (*request++) { // first byte in request is Command ID case ID_DAP_Vendor0: { const char *id_str = info_get_unique_id(); diff --git a/User/daplink/source/daplink/cmsis-dap/JTAG_DP.c b/User/daplink/source/daplink/cmsis-dap/JTAG_DP.c index 2008d05..87642f6 100755 --- a/User/daplink/source/daplink/cmsis-dap/JTAG_DP.c +++ b/User/daplink/source/daplink/cmsis-dap/JTAG_DP.c @@ -1,4 +1,4 @@ -/** +/** * @file JTAG_DP.c * @brief JTAG driver * diff --git a/User/daplink/source/daplink/cmsis-dap/SWO.c b/User/daplink/source/daplink/cmsis-dap/SWO.c index 897af7f..4cad178 100755 --- a/User/daplink/source/daplink/cmsis-dap/SWO.c +++ b/User/daplink/source/daplink/cmsis-dap/SWO.c @@ -1,4 +1,4 @@ -/* +/* * Copyright (c) 2013-2016 ARM Limited. All rights reserved. * * SPDX-License-Identifier: Apache-2.0 diff --git a/User/daplink/source/daplink/cmsis-dap/SW_DP.c b/User/daplink/source/daplink/cmsis-dap/SW_DP.c index f6605c3..9a87aa5 100755 --- a/User/daplink/source/daplink/cmsis-dap/SW_DP.c +++ b/User/daplink/source/daplink/cmsis-dap/SW_DP.c @@ -1,4 +1,4 @@ -/** +/** * @file SW_DP.c * @brief SWD driver * @@ -31,22 +31,22 @@ #include "DAP_config.h" #include "DAP.h" -#define SPI_MODE_ENABLE 1 /* 1 ʾSPIģʽ 0ʾGPIOģʽ */ +#define SPI_MODE_ENABLE 1 /* 1 表示SPI模式, 0表示GPIO模式 */ /* - SPI_BAUDRATEPRESCALER_4 = 50MHz SCKʱӣܹ - SPI_BAUDRATEPRESCALER_8 = 25MHz SCKʱӣȶд д2048ֽڣʱ5msЧٶ 800KB/s + SPI_BAUDRATEPRESCALER_4 = 50MHz SCK时钟,不能工作。 + SPI_BAUDRATEPRESCALER_8 = 25MHz SCK时钟,稳定读写。 写并读2048字节,耗时5ms,等效传输速度 800KB/s SPI_BAUDRATEPRESCALER_16 = 12.5MHz SPI_BAUDRATEPRESCALER_32 = 6.25MHz SPI_BAUDRATEPRESCALER_64 = 3.125MHz SPI_BAUDRATEPRESCALER_128 = 1.5625MHz - ʵST-LINK640K򣬲Ҫ9루CPUFLASHʱ£̺УҪ13롣 - H7-TOOL800KB/SٶȣSWDʱ1ɣʣµʱҪUSBͨźCPUЧʡ - SWDײʱŻѾûжıҪˣҲߵ1MB/SǶЧûжơ + 实测ST-LINK下载640K程序,擦除需要9秒(这是CPU的FLASH擦除时间较慢导致),编程和校验需要13秒。 + 按H7-TOOL的800KB/S的速度,SWD时序传输可以在1秒内完成,剩下的时间主要靠USB通信和CPU运算来提高效率。 + 因此在SWD底层时序上优化已经没有多大的必要了,也许可以提高到1MB/S。但是对整体效率没有多大改善。 */ -#define SPI_MODE_BAUD SPI_BAUDRATEPRESCALER_8 /* SPI_BAUDRATEPRESCALER_4 ȶ */ +#define SPI_MODE_BAUD SPI_BAUDRATEPRESCALER_8 /* SPI_BAUDRATEPRESCALER_4 不稳定 */ #define PIN_SWCLK_SET PIN_SWCLK_TCK_SET @@ -236,7 +236,7 @@ uint8_t SWD_Transfer(uint32_t request, uint32_t *data) } } -/********************************* armfly Żʱٶ ***************************/ +/********************************* armfly 优化时序速度 ***************************/ // SWD Transfer I/O // request: A[3:2] RnW APnDP // data: DATA[31:0] @@ -425,7 +425,7 @@ void SWD_DIO_OutDisable(void) { #if SPI_MODE_ENABLE == 1 SPI2->CR1 = SPI_CR1_SSI; - GPIOG->BSRRH = GPIO_PIN_9; /* PG9 = 0 / + GPIOG->BSRRH = GPIO_PIN_9; /* PG9 = 0 是输入 */ #else PIN_SWDIO_OUT_DISABLE(); #endif @@ -434,7 +434,7 @@ void SWD_DIO_OutDisable(void) void SWD_DIO_OutEnable(void) { #if SPI_MODE_ENABLE == 1 - GPIOG->BSRRL = GPIO_PIN_9; /* PG9 = 1 */ + GPIOG->BSRRL = GPIO_PIN_9; /* PG9 = 1 是输出 */ SPI2->CR1 = SPI_CR1_SSI | SPI_CR1_HDDIR; #else PIN_SWDIO_OUT_ENABLE(); @@ -472,7 +472,7 @@ void SWJ_Sequence (uint32_t count, const uint8_t *data) { if (rem) { - val = *(uint32_t *)data; /* ܶڴ */ + val = *(uint32_t *)data; /* 可能多访问内存 */ SWD_SendBits(rem, val); } } @@ -558,7 +558,7 @@ uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) // if (ack == DAP_TRANSFER_OK) { /* OK response */ /* Data transfer */ - if (request & DAP_TRANSFER_RnW) /* ָ - 32 + 1 bit */ + if (request & DAP_TRANSFER_RnW) /* 读指令 - 32 + 1 bit */ { ack = SWD_ReadBits(3 + DAP_Data.swd_conf.turnaround); ack >>= DAP_Data.swd_conf.turnaround; @@ -625,7 +625,7 @@ uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) return ((uint8_t)ack); } } - else // дָ + else // 写指令 { ack = SWD_ReadBits(3 + DAP_Data.swd_conf.turnaround + 1); ack >>= DAP_Data.swd_conf.turnaround; @@ -669,7 +669,7 @@ uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) SWD_SendBits(16, val); SWD_SendBits(16 + 1 + DAP_Data.transfer.idle_cycles, (val >> 16) + (parity << 16)); - //PIN_SWDIO_OUT(1U); DZġ + //PIN_SWDIO_OUT(1U); 好像不是必须的。 return ((uint8_t)ack); } @@ -679,7 +679,7 @@ uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) { - if (request & DAP_TRANSFER_RnW) /* 쳣 */ + if (request & DAP_TRANSFER_RnW) /* 读异常 */ { /* WAIT or FAULT response */ // if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) @@ -710,7 +710,7 @@ uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) PIN_SWDIO_OUT(1U); return ((uint8_t)ack); } - else /* д쳣 - ǰ෢1clk */ + else /* 写异常 - 前面多发了1个clk */ { /* WAIT or FAULT response */ // if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) @@ -804,7 +804,7 @@ uint8_t SWD_TransferFastH7_ok(uint32_t request, uint32_t *data) if (ack == DAP_TRANSFER_OK) { /* OK response */ /* Data transfer */ - if (request & DAP_TRANSFER_RnW) /* ָ - 32 + 1 bit */ + if (request & DAP_TRANSFER_RnW) /* 读指令 - 32 + 1 bit */ { /* Read data */ val = 0U; diff --git a/User/daplink/source/daplink/cmsis-dap/debug_ca.h b/User/daplink/source/daplink/cmsis-dap/debug_ca.h index dbe085a..078e3af 100755 --- a/User/daplink/source/daplink/cmsis-dap/debug_ca.h +++ b/User/daplink/source/daplink/cmsis-dap/debug_ca.h @@ -1,4 +1,4 @@ -/** +/** * @file debug_ca.h * @brief Access to ARM DAP (Cortex-A) using CMSIS-DAP protocol * diff --git a/User/daplink/source/daplink/cmsis-dap/debug_cm.h b/User/daplink/source/daplink/cmsis-dap/debug_cm.h index 42a47a8..0e8a34b 100755 --- a/User/daplink/source/daplink/cmsis-dap/debug_cm.h +++ b/User/daplink/source/daplink/cmsis-dap/debug_cm.h @@ -1,4 +1,4 @@ -/** +/** * @file debug_cm.h * @brief Access to ARM DAP (Cortex-M) using CMSIS-DAP protocol * diff --git a/User/fonts/hz16.c b/User/fonts/hz16.c index dac2831..942a2a3 100755 --- a/User/fonts/hz16.c +++ b/User/fonts/hz16.c @@ -1232,6 +1232,19 @@ unsigned char const g_Hz16[] = { 0xCF,0xB5, 0x00,0xF8,0x3F,0x00,0x04,0x00,0x08,0x20,0x10,0x40,0x3F,0x80,0x01,0x00,0x06,0x10,// 系 // 0x18,0x08,0x7F,0xFC,0x01,0x04,0x09,0x20,0x11,0x10,0x21,0x08,0x45,0x04,0x02,0x00, +0xB3,0xD8, 0x00,0x40,0x20,0x40,0x12,0x40,0x12,0x58,0x82,0x68,0x42,0xC8,0x53,0x48,0x1E,0x48,// 池 // + 0x12,0x48,0x22,0x48,0xE2,0x58,0x22,0x42,0x22,0x02,0x22,0x02,0x21,0xFE,0x00,0x00, + + +0xB5,0xE7, 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,// 电 // + 0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x0A,0x01,0x02,0x01,0x02,0x00,0xFE, + + +0xB7,0xC5, 0x20,0x40,0x10,0x40,0x00,0x40,0xFE,0x80,0x20,0xFE,0x21,0x08,0x3E,0x88,0x24,0x88,// 放 // + 0x24,0x88,0x24,0x50,0x24,0x50,0x24,0x20,0x44,0x50,0x54,0x88,0x89,0x04,0x02,0x02, + +0xC8,0xDD, 0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,0x88,0x24,0x11,0x10,0x22,0x88,0x04,0x40,// 容 // + 0x08,0x20,0x30,0x18,0xDF,0xF6,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10, /* 最后一行必须用0xFF,0xFF结束,这是字库数组结束标志 */ 0xFF,0xFF diff --git a/User/fonts/hz24.c b/User/fonts/hz24.c index dc70454..e2f8048 100755 --- a/User/fonts/hz24.c +++ b/User/fonts/hz24.c @@ -377,8 +377,60 @@ unsigned char const g_Hz24[] = { 0x0C,0x60,0x30,0x0C,0x7F,0xF0,0x0C,0x60,0x30,0x0C,0x60,0x30,0x0C,0x60,0x34,0x0D, 0xFF,0xFE,0x0C,0x00,0x00,0x08,0x00,0x00, +0xB9,0xA6, 0x00,0x04,0x00,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0xC6,0x00,0x7F,0xE6,0x00,0x06,// 功 // + 0x06,0x00,0x06,0x06,0x18,0x06,0x7F,0xFC,0x06,0x06,0x18,0x06,0x06,0x18,0x06,0x06, + 0x18,0x06,0x06,0x18,0x06,0x06,0x18,0x06,0x0C,0x18,0x06,0x6C,0x18,0x07,0x8C,0x18, + 0x0E,0x18,0x18,0x78,0x18,0x18,0x30,0x30,0x18,0x20,0x60,0x38,0x00,0xC3,0xF0,0x01, + 0x00,0xE0,0x02,0x00,0x40,0x00,0x00,0x00, + +0xC2,0xCA, 0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x0C,0x00,0x00,0x08,0x18,0x3F,0xFF,0xFC,0x00,// 率 // + 0x20,0x00,0x10,0x32,0x10,0x18,0x43,0x38,0x0D,0xFE,0x40,0x04,0x8C,0x00,0x00,0x1A, + 0x60,0x06,0x21,0x30,0x18,0x4F,0x98,0x71,0xF1,0x90,0x20,0x90,0x80,0x00,0x1C,0x00, + 0x00,0x18,0x0C,0x7F,0xFF,0xFE,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x00,0x00, + 0x18,0x00,0x00,0x18,0x00,0x00,0x10,0x00, + +0xC8,0xDD, 0x00,0x30,0x00,0x00,0x18,0x00,0x00,0x0C,0x00,0x10,0x08,0x04,0x1F,0xFF,0xFE,0x31,// 容 // + 0x00,0x0C,0x71,0xC3,0x08,0x61,0x90,0xC0,0x03,0x1C,0x70,0x06,0x38,0x38,0x0C,0x34, + 0x18,0x10,0x62,0x10,0x00,0xC1,0x80,0x01,0x80,0xE0,0x03,0x00,0x38,0x07,0xFF,0xDF, + 0x19,0x80,0xC4,0x61,0x80,0xC0,0x81,0x80,0xC0,0x01,0x80,0xC0,0x01,0x80,0xC0,0x01, + 0xFF,0xC0,0x01,0x80,0xC0,0x01,0x00,0x80, + +0xB7,0xC5, 0x00,0x02,0x00,0x0C,0x03,0x80,0x06,0x03,0x00,0x03,0x03,0x00,0x02,0x03,0x00,0x00,// 放 // + 0x63,0x0C,0x7F,0xF7,0xFE,0x0C,0x06,0x30,0x0C,0x06,0x30,0x0C,0x64,0x30,0x0F,0xEA, + 0x30,0x0C,0x6A,0x30,0x0C,0x72,0x30,0x0C,0x62,0x60,0x0C,0x61,0x60,0x0C,0x61,0xC0, + 0x18,0x60,0xC0,0x18,0x61,0xC0,0x10,0x63,0x60,0x33,0xE6,0x30,0x20,0xCC,0x1C,0x40, + 0x98,0x0F,0x80,0x60,0x04,0x01,0x80,0x00, + +0xBD,0xB5, 0x00,0x08,0x00,0x21,0x8E,0x00,0x3F,0xCC,0x30,0x31,0x9F,0xF8,0x31,0x18,0x30,0x33,// 降 // + 0x24,0x60,0x32,0x24,0xC0,0x32,0x43,0x80,0x34,0x03,0x80,0x32,0x06,0xE0,0x31,0x18, + 0x7E,0x31,0xE1,0x18,0x31,0x81,0xC0,0x31,0x81,0x98,0x31,0xBF,0xFC,0x31,0x91,0x80, + 0x3F,0x99,0x80,0x33,0x31,0x8C,0x32,0x7F,0xFE,0x30,0x21,0x80,0x30,0x01,0x80,0x30, + 0x01,0x80,0x30,0x01,0x80,0x20,0x01,0x00, + +0xA1,0xA2, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 、 // + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00, + 0x0C,0x00,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x01,0x80,0x00,0x01,0x80,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +0xB6,0xFE, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1F,// 二 // + 0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x7F,0xFF,0xFE,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +0xB9,0xDC, 0x04,0x02,0x00,0x06,0x03,0x00,0x0C,0x66,0x0C,0x0F,0xF7,0xFE,0x1A,0x08,0x80,0x11,// 管 // + 0xB0,0x60,0x21,0x18,0x40,0x50,0x10,0x04,0x1F,0xFF,0xFE,0x30,0x00,0x0C,0x32,0x00, + 0xC8,0x63,0xFF,0xE0,0x03,0x00,0xC0,0x03,0x00,0xC0,0x03,0xFF,0xC0,0x03,0x00,0x00, + 0x03,0x00,0x60,0x03,0xFF,0xF0,0x03,0x00,0x60,0x03,0x00,0x60,0x03,0x00,0x60,0x03, + 0xFF,0xE0,0x03,0x00,0x40,0x02,0x00,0x00, + +0xBC,0xAB, 0x08,0x00,0x00,0x0E,0x00,0x20,0x0C,0x7F,0xF0,0x0C,0x18,0x60,0x0C,0x18,0x60,0x0D,// 极 // + 0x98,0x40,0x7F,0xD8,0xC0,0x0C,0x18,0xC0,0x0C,0x18,0x90,0x1C,0x19,0xF8,0x1E,0x18, + 0xB0,0x3D,0x1C,0x30,0x2D,0xB4,0x30,0x2C,0xB2,0x60,0x4C,0x32,0x60,0x4C,0x33,0xC0, + 0x8C,0x61,0x80,0x0C,0x61,0x80,0x0C,0x43,0xC0,0x0C,0xC6,0x60,0x0C,0x8C,0x38,0x0D, + 0x30,0x1F,0x0E,0x40,0x0C,0x08,0x00,0x00, - /* 最后一行必须用0xFF,0xFF结束,这是字库数组结束标志 */ 0xFF,0xFF diff --git a/User/lua/if/lua_if.c b/User/lua/if/lua_if.c index 4cbc804..e12c526 100755 --- a/User/lua/if/lua_if.c +++ b/User/lua/if/lua_if.c @@ -3,21 +3,21 @@ #include "param.h" /* - lua ӵԴķ: + lua 增加调试代码的方法: -lobject.cļ: +lobject.c文件: const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { #if 1 printf("%s", msg); #endif -ldebug.c ļ luaG_runerror printf +ldebug.c 文件 luaG_runerror 函数,增加printf -lauxlib.c ļ luaL_errorprintf +lauxlib.c 文件 luaL_error函数,增加printf -ldo.c ļ luaD_throw printf("\r\nthrow errcode=%d\r\n", errcode); +ldo.c 文件 luaD_throw 函 printf("\r\nthrow errcode=%d\r\n", errcode); -lua.h +lua.h 定义错误代码 #define LUA_ERRRUN 2 #define LUA_ERRSYNTAX 3 #define LUA_ERRMEM 4 @@ -27,7 +27,7 @@ lua.h */ /* - luaconf.h ļԸĴ ȱʡ64λ˫ȸ + luaconf.h 文件对浮点和整数的处理。 缺省64位整数,双精度浮点 default configuration for 64-bit Lua ('long long' and 'double') */ @@ -60,41 +60,41 @@ int system(const char *cmd) /* time_t : date/time in unix secs past 1-Jan-70 */ time_t time(time_t *_t) { - /* ´ڣ https://blog.csdn.net/qq_29350001/article/details/87637350 */ - #define xMINUTE (60) /* 1ֵ */ - #define xHOUR (60*xMINUTE) /* 1Сʱ */ - #define xDAY (24*xHOUR ) /* 1 */ - #define xYEAR (365*xDAY ) /* 1 */ + /* 以下代码来自于: https://blog.csdn.net/qq_29350001/article/details/87637350 */ + #define xMINUTE (60) /* 1分的秒数 */ + #define xHOUR (60*xMINUTE) /* 1小时的秒数 */ + #define xDAY (24*xHOUR ) /* 1天的秒数 */ + #define xYEAR (365*xDAY ) /* 1年的秒数 */ - /* localtimeUTC+8ʱ䣩תΪUNIX TIME197011Ϊ */ + /* 将localtime(UTC+8北京时间)转为UNIX TIME,以1970年1月1日为起点 */ static unsigned int month[12] = { - /*01*/xDAY*(0), - /*02*/xDAY*(31), - /*03*/xDAY*(31+28), - /*04*/xDAY*(31+28+31), - /*05*/xDAY*(31+28+31+30), - /*06*/xDAY*(31+28+31+30+31), - /*07*/xDAY*(31+28+31+30+31+30), - /*08*/xDAY*(31+28+31+30+31+30+31), - /*09*/xDAY*(31+28+31+30+31+30+31+31), - /*10*/xDAY*(31+28+31+30+31+30+31+31+30), - /*11*/xDAY*(31+28+31+30+31+30+31+31+30+31), - /*12*/xDAY*(31+28+31+30+31+30+31+31+30+31+30) + /*01月*/xDAY*(0), + /*02月*/xDAY*(31), + /*03月*/xDAY*(31+28), + /*04月*/xDAY*(31+28+31), + /*05月*/xDAY*(31+28+31+30), + /*06月*/xDAY*(31+28+31+30+31), + /*07月*/xDAY*(31+28+31+30+31+30), + /*08月*/xDAY*(31+28+31+30+31+30+31), + /*09月*/xDAY*(31+28+31+30+31+30+31+31), + /*10月*/xDAY*(31+28+31+30+31+30+31+31+30), + /*11月*/xDAY*(31+28+31+30+31+30+31+31+30+31), + /*12月*/xDAY*(31+28+31+30+31+30+31+31+30+31+30) }; unsigned int seconds = 0; unsigned int year = 0; RTC_ReadClock(); - year = g_tRTC.Year - 1970; /* 2100ǧ */ - seconds = xYEAR * year + xDAY * ((year + 1) /4); /* ǰȥ */ - seconds += month[g_tRTC.Mon - 1]; /* Ͻ걾¹ȥ */ - if ((g_tRTC.Mon > 2) && (((year + 2) % 4) == 0)) /* 2008Ϊ */ - seconds += xDAY; /* 1 */ - seconds += xDAY * (g_tRTC.Day-1); /* ϱȥ */ - seconds += xHOUR * g_tRTC.Hour; /* ϱСʱȥ */ - seconds += xMINUTE * g_tRTC.Min; /* ϱӹȥ */ - seconds += g_tRTC.Sec; /* ϵǰ
seconds -= 8 * xHOUR; */ + year = g_tRTC.Year - 1970; /* 不考虑2100年千年虫问题 */ + seconds = xYEAR * year + xDAY * ((year + 1) /4); /* 前几年过去的秒数 */ + seconds += month[g_tRTC.Mon - 1]; /* 加上今年本月过去的秒数 */ + if ((g_tRTC.Mon > 2) && (((year + 2) % 4) == 0)) /* 2008年为闰年 */ + seconds += xDAY; /* 闰年加1天秒数 */ + seconds += xDAY * (g_tRTC.Day-1); /* 加上本天过去的秒数 */ + seconds += xHOUR * g_tRTC.Hour; /* 加上本小时过去的秒数 */ + seconds += xMINUTE * g_tRTC.Min; /* 加上本分钟过去的秒数 */ + seconds += g_tRTC.Sec; /* 加上当前秒数
 seconds -= 8 * xHOUR; */ *_t = seconds; return *_t; } @@ -132,32 +132,32 @@ const char lua_test[] = { void lua_Test(void) { - luaL_dostring(g_Lua, lua_test); /* Luaű */ + luaL_dostring(g_Lua, lua_test); /* 运行Lua脚本 */ luaL_dostring(g_Lua, "print(add_f(1.0, 9.09))\n print(sub_f(20.1,19.01))"); } /* ********************************************************************************************************* -* : lua_Init -* ˵: ʼlua -* : -* ֵ: +* 函 数 名: lua_Init +* 功能说明: 初始化lua虚拟机 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_Init(void) { - g_Lua = luaL_newstate(); /* Luaл */ + g_Lua = luaL_newstate(); /* 建立Lua运行环境 */ luaL_openlibs(g_Lua); luaopen_base(g_Lua); - lua_RegisterFunc(); /* עclua */ + lua_RegisterFunc(); /* 注册c函数,供lua调用 */ } -/* رͷLua */ +/* 关闭释放Lua */ void lua_DeInit(void) { - lua_close(g_Lua); /* ͷڴ */ + lua_close(g_Lua); /* 释放内存 */ g_Lua = 0; } @@ -199,12 +199,12 @@ void lua_DoInit(void) luaL_dostring(g_Lua, "init()"); } -// ͨдļ +// 通信写文件 uint8_t lua_66H_Write(uint32_t _addr, uint8_t *_buf, uint32_t _len) { uint8_t re; - lua_getglobal(g_Lua, "write"); // ջ ȡluawrite + lua_getglobal(g_Lua, "write"); // 函数入栈 获取lua函数write lua_pushinteger(g_Lua, _addr); lua_pushlstring(g_Lua, (char *)_buf, _len); lua_pushinteger(g_Lua, _len); @@ -213,22 +213,22 @@ uint8_t lua_66H_Write(uint32_t _addr, uint8_t *_buf, uint32_t _len) /* lua_pcall(lua_State *L,int nargs,int nresults,int errfunc) 1 - nargs - nresults ֵ - errFunc 0ʾޣʾջе + nargs 参数个数 + nresults 返回值个数 + errFunc 错误处理函数,0表示无,表示错误处理函数在栈中的索引 */ re = lua_tonumber(g_Lua, -1); lua_pop(g_Lua, 1); return re; } -// ͨŶļ +// 通信读文件 uint8_t lua_67H_Read(uint32_t _addr, uint8_t *_buf, uint32_t _len) { uint8_t re = 0; uint32_t i; - lua_getglobal(g_Lua, "read"); // ջ ȡluawrite + lua_getglobal(g_Lua, "read"); // 函数入栈 获取lua函数write lua_pushinteger(g_Lua, _addr); lua_pushinteger(g_Lua, _len); @@ -236,9 +236,9 @@ uint8_t lua_67H_Read(uint32_t _addr, uint8_t *_buf, uint32_t _len) /* lua_pcall(lua_State *L,int nargs,int nresults,int errfunc) 1 - nargs - nresults ֵ - errFunc 0ʾޣʾջе + nargs 参数个数 + nresults 返回值个数 + errFunc 错误处理函数,0表示无,表示错误处理函数在栈中的索引 */ for (i = 0; i < _len; i++) @@ -251,34 +251,34 @@ uint8_t lua_67H_Read(uint32_t _addr, uint8_t *_buf, uint32_t _len) /* ********************************************************************************************************* -* : beep -* ˵: lua -* : -* ֵ: +* 函 数 名: beep +* 功能说明: 蜂鸣函数 lua调用 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int beep(lua_State* L) { - //ջеIJǷϷ1ʾLuaʱĵһ()ơ - //LuaڵʱݵIJΪnumberúִֹС + //检查栈中的参数是否合法,1表示Lua调用时的第一个参数(从左到右),依此类推。 + //如果Lua代码在调用时传递的参数不为number,该函数将报错并终止程序的执行。 // double op1 = luaL_checknumber(L, 1); // double op2 = luaL_checknumber(L, 2); BEEP_KeyTone(); - //ĽѹջСжֵѹջС + //将函数的结果压入栈中。如果有多个返回值,可以在这里多次压入栈中。 //lua_pushnumber(L, op1 + op2); - //ֵʾCķֵѹջеķֵ + //返回值用于提示该C函数的返回值数量,即压入栈中的返回值数量。 return 0; } /* ********************************************************************************************************* -* : delayus -* ˵: ΢ӳ lua -* : -* ֵ: +* 函 数 名: delayus +* 功能说明: 微秒延迟 lua函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int delayus(lua_State* L) @@ -291,10 +291,10 @@ static int delayus(lua_State* L) /* ********************************************************************************************************* -* : delayms -* ˵: ӳ lua -* : -* ֵ: +* 函 数 名: delayms +* 功能说明: 毫秒延迟 lua函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int delayms(lua_State* L) @@ -308,22 +308,22 @@ static int delayms(lua_State* L) /* ********************************************************************************************************* -* : printhex -* ˵: ӡhexʽ. pr nthex(100, 2); p inthex("123"); -* : -* ֵ: +* 函 数 名: printhex +* 功能说明: 打印hex格式. pr nthex(100, 2); p inthex("123"); +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ extern uint8_t USBCom_SendBuf(int _Port, uint8_t *_Buf, uint16_t _Len); extern void lua_udp_SendBuf(uint8_t *_buf, uint16_t _len, uint16_t _port); static int printhex(lua_State* L) { - if (lua_type(L, 1) == LUA_TSTRING) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TSTRING) /* 判断第1个参数 */ { const char *data; size_t len; - data = luaL_checklstring(L, 1, &len); /* 1Dzλã lenstringij */ + data = luaL_checklstring(L, 1, &len); /* 1是参数的位置, len是string的长度 */ #if PRINT_TO_UDP == 1 lua_udp_SendBuf((uint8_t *)data, len, LUA_UDP_PORT); #else @@ -331,14 +331,14 @@ static int printhex(lua_State* L) #endif } - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { char buf[32]; uint32_t num; uint32_t bytes; num = luaL_checknumber(L, 1); - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { bytes = luaL_checknumber(L, 2); if (bytes == 1) @@ -378,10 +378,10 @@ static int printhex(lua_State* L) /* ********************************************************************************************************* -* : write_clock -* ˵: дʱ -* : -* ֵ: +* 函 数 名: write_clock +* 功能说明: 写时钟 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int write_clock(lua_State* L) @@ -389,7 +389,7 @@ static int write_clock(lua_State* L) uint16_t year; uint8_t mon, day, hour, min, sec; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { year = luaL_checknumber(L, 1); } @@ -420,10 +420,10 @@ static int write_clock(lua_State* L) /* ********************************************************************************************************* -* : read_clock -* ˵: дʱ -* : -* ֵ: +* 函 数 名: read_clock +* 功能说明: 写时钟 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int read_clock(lua_State* L) @@ -447,10 +447,10 @@ static int read_clock(lua_State* L) /* ********************************************************************************************************* -* : get_runtime -* ˵: CPUʱ䡣msλ -* : -* ֵ: +* 函 数 名: get_runtime +* 功能说明: 获得CPU运行时间。ms单位 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int get_runtime(lua_State* L) @@ -464,10 +464,10 @@ static int get_runtime(lua_State* L) /* ********************************************************************************************************* -* : check_runtime -* ˵: жʱ䳤 -* : -* ֵ: +* 函 数 名: check_runtime +* 功能说明: 判断时间长度 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int check_runtime(lua_State* L) @@ -475,7 +475,7 @@ static int check_runtime(lua_State* L) int32_t lasttime; uint8_t re; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { lasttime = luaL_checknumber(L, 1); } @@ -488,16 +488,16 @@ static int check_runtime(lua_State* L) /* ********************************************************************************************************* -* : lua_RegisterFunc -* ˵: עluaɵõc -* : -* ֵ: +* 函 数 名: lua_RegisterFunc +* 功能说明: 注册lua可调用的c函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static void lua_RegisterFunc(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "beep", beep); lua_register(g_Lua, "delayus", delayus); lua_register(g_Lua, "delayms", delayms); @@ -507,7 +507,7 @@ static void lua_RegisterFunc(void) lua_register(g_Lua, "get_runtime", get_runtime); lua_register(g_Lua, "check_runtime", check_runtime); - /* עӿں */ + /* 注册接口函数 */ lua_gpio_RegisterFun(); lua_i2c_RegisterFun(); lua_spi_RegisterFun(); diff --git a/User/lua/if/lua_if.h b/User/lua/if/lua_if.h index e62fdce..3541460 100755 --- a/User/lua/if/lua_if.h +++ b/User/lua/if/lua_if.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : luaӿģ -* ļ : lua_if.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2015-04-25 armfly ST̼汾 V2.1.0 +* 模块名称 : lua接口模块 +* 文件名称 : lua_if.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2015-04-25 armfly ST固件库版本 V2.1.0 * -* Copyright (C), 2014-2015, www.armfly.com +* Copyright (C), 2014-2015, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -57,4 +57,4 @@ extern uint32_t s_lua_prog_len; #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_adc.c b/User/lua/if/lua_if_adc.c index ccd78fa..b63be18 100755 --- a/User/lua/if/lua_if_adc.c +++ b/User/lua/if/lua_if_adc.c @@ -5,33 +5,33 @@ #include "bsp.h" #include "param.h" -/* Ϊ˱DAPеĺģ麯ǰ׺ h7swd */ +/* 为了避免和DAP驱动中的函数混淆,本模块函数名前缀用 h7swd */ static int lua_ReadAdc(lua_State* L); static int lua_ReadAnalog(lua_State* L); /* ********************************************************************************************************* -* : lua_adc_RegisterFun -* ˵: עlua CԽӿں -* : -* ֵ: +* 函 数 名: lua_adc_RegisterFun +* 功能说明: 注册lua C语言接口函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_adc_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "read_adc", lua_ReadAdc); lua_register(g_Lua, "read_analog", lua_ReadAnalog); } /* ********************************************************************************************************* -* : lua_ReadAdc -* ˵: ADCֵ -* : ͨ 0-8 -* ֵ: +* 函 数 名: lua_ReadAdc +* 功能说明: 读ADC值 +* 形 参: 通道号 0-8 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_ReadAdc(lua_State* L) @@ -39,33 +39,33 @@ static int lua_ReadAdc(lua_State* L) uint8_t ch; float re; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - ch = luaL_checknumber(L, 1); /* ģͨ */ + ch = luaL_checknumber(L, 1); /* 模拟通道 */ } - if (ch == AN_CH1) re = g_tVar.ADC_CH1Volt; /* CH1ѹ */ - else if (ch == AN_CH2) re = g_tVar.ADC_CH2Volt; /* CH2ѹ */ + if (ch == AN_CH1) re = g_tVar.ADC_CH1Volt; /* CH1电压 */ + else if (ch == AN_CH2) re = g_tVar.ADC_CH2Volt; /* CH2电压 */ else if (ch == AN_HIGH_SIDE_VOLT) re = g_tVar.ADC_HighSideVolt; else if (ch == AN_HIGH_SIDE_CURR) re = g_tVar.ADC_HighSideCurr; - else if (ch == AN_TVCC_VOLT) re = g_tVar.ADC_TVCCVolt; /* TVCCʵѹ */ - else if (ch == AN_TVCC_CURR) re = g_tVar.ADC_TVCCCurr; /* TVCCʵѹ */ - else if (ch == AN_NTC_RES) re = g_tVar.ADC_NTCRes; /* NTC */ + else if (ch == AN_TVCC_VOLT) re = g_tVar.ADC_TVCCVolt; /* TVCC实测电压 */ + else if (ch == AN_TVCC_CURR) re = g_tVar.ADC_TVCCCurr; /* TVCC实测电压 */ + else if (ch == AN_NTC_RES) re = g_tVar.ADC_NTCRes; /* NTC电阻 */ else if (ch == AN_12V_VOLT) re = g_tVar.ADC_ExtPowerVolt; else if (ch == AN_USB_VOLT) re = g_tVar.ADC_USBPowerVolt; else re = 0; - lua_pushnumber(L, re); /* ɹ, */ + lua_pushnumber(L, re); /* 成功,返回数据 */ return 1; } /* ********************************************************************************************************* -* : lua_ReadAdc -* ˵: У׼ģ -* : -* ֵ: +* 函 数 名: lua_ReadAdc +* 功能说明: 读校准后的模拟量 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_ReadAnalog(lua_State* L) @@ -73,25 +73,25 @@ static int lua_ReadAnalog(lua_State* L) uint8_t ch; float re; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - ch = luaL_checknumber(L, 1); /* ģͨ */ + ch = luaL_checknumber(L, 1); /* 模拟通道 */ } - if (ch == AN_CH1) re = g_tVar.CH1Volt; /* CH1ѹ */ - else if (ch == AN_CH2) re = g_tVar.CH2Volt; /* CH2ѹ */ + if (ch == AN_CH1) re = g_tVar.CH1Volt; /* CH1电压 */ + else if (ch == AN_CH2) re = g_tVar.CH2Volt; /* CH2电压 */ else if (ch == AN_HIGH_SIDE_VOLT) re = g_tVar.HighSideVolt; else if (ch == AN_HIGH_SIDE_CURR) re = g_tVar.HighSideCurr; - else if (ch == AN_TVCC_VOLT) re = g_tVar.TVCCVolt; /* TVCCʵѹ */ - else if (ch == AN_TVCC_CURR) re = g_tVar.TVCCCurr; /* TVCCʵѹ */ - else if (ch == AN_NTC_RES) re = g_tVar.NTCRes; /* NTC */ + else if (ch == AN_TVCC_VOLT) re = g_tVar.TVCCVolt; /* TVCC实测电压 */ + else if (ch == AN_TVCC_CURR) re = g_tVar.TVCCCurr; /* TVCC实测电压 */ + else if (ch == AN_NTC_RES) re = g_tVar.NTCRes; /* NTC电阻 */ else if (ch == AN_12V_VOLT) re = g_tVar.ExtPowerVolt; else if (ch == AN_USB_VOLT) re = g_tVar.USBPowerVolt; else re = 0; - lua_pushnumber(L, re); /* ɹ, */ + lua_pushnumber(L, re); /* 成功,返回数据 */ return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_adc.h b/User/lua/if/lua_if_adc.h index 7d602fa..4632be7 100755 --- a/User/lua/if/lua_if_adc.h +++ b/User/lua/if/lua_if_adc.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua adcģ -* ļ : lua_if_adc.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-10-15 armfly ׷ +* 模块名称 : lua adc模块 +* 文件名称 : lua_if_adc.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-10-15 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_adc_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_dac.c b/User/lua/if/lua_if_dac.c index 3f97df9..95401ef 100755 --- a/User/lua/if/lua_if_dac.c +++ b/User/lua/if/lua_if_dac.c @@ -7,7 +7,7 @@ #include "modbus_reg_addr.h" #include "modbus_register.h" -/* Ϊ˱DAPеĺģ麯ǰ׺ h7swd */ +/* 为了避免和DAP驱动中的函数混淆,本模块函数名前缀用 h7swd */ static int lua_WriteDac(lua_State* L); static int lua_WriteVolt(lua_State* L); @@ -19,16 +19,16 @@ static int lua_PowerOffDac(lua_State* L); /* ********************************************************************************************************* -* : lua_adc_RegisterFun -* ˵: עlua CԽӿں -* : -* ֵ: +* 函 数 名: lua_adc_RegisterFun +* 功能说明: 注册lua C语言接口函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_dac_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "dac_on", lua_PowerOnDac); lua_register(g_Lua, "dac_off", lua_PowerOffDac); lua_register(g_Lua, "dac_write", lua_WriteDac); @@ -40,47 +40,47 @@ void lua_dac_RegisterFun(void) /* ********************************************************************************************************* -* : lua_PowerOnDac -* ˵: DACԴ -* : -* ֵ: +* 函 数 名: lua_PowerOnDac +* 功能说明: 打开DAC电源 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_PowerOnDac(lua_State* L) { - WriteRegValue_06H(REG03_DAC_WAVE_TYPE, 0); /* ֱ */ + WriteRegValue_06H(REG03_DAC_WAVE_TYPE, 0); /* 直流 */ WriteRegValue_06H(REG03_DAC_WAVE_START, 1); return 1; } /* ********************************************************************************************************* -* : lua_PowerOffDac -* ˵: رDACԴ -* : -* ֵ: +* 函 数 名: lua_PowerOffDac +* 功能说明: 关闭DAC电源 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_PowerOffDac(lua_State* L) { - WriteRegValue_06H(REG03_DAC_WAVE_TYPE, 0); /* ֱ */ + WriteRegValue_06H(REG03_DAC_WAVE_TYPE, 0); /* 直流 */ WriteRegValue_06H(REG03_DAC_WAVE_START, 0); return 1; } /* ********************************************************************************************************* -* : lua_WriteDac -* ˵: дDAC -* : dacֵ 0-4095 -* ֵ: +* 函 数 名: lua_WriteDac +* 功能说明: 写DAC +* 形 参: dac值 0-4095 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteDac(lua_State* L) { uint16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { value = luaL_checknumber(L, 1); /* dac */ } @@ -92,19 +92,19 @@ static int lua_WriteDac(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteVolt -* ˵: дѹֵ -* : ѹmv -* ֵ: +* 函 数 名: lua_WriteVolt +* 功能说明: 写电压值 +* 形 参: 电压mv +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteVolt(lua_State* L) { int16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - value = luaL_checknumber(L, 1); /* ѹ */ + value = luaL_checknumber(L, 1); /* 电压 */ } WriteRegValue_06H(REG03_OUT_VOLT_MV, value); @@ -114,10 +114,10 @@ static int lua_WriteVolt(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteCurr -* ˵: дֵ -* : ֵuA -* ֵ: +* 函 数 名: lua_WriteCurr +* 功能说明: 写电流值 +* 形 参: 电流值uA +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteCurr(lua_State* L) @@ -125,7 +125,7 @@ static int lua_WriteCurr(lua_State* L) uint16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { value = luaL_checknumber(L, 1); /* dac */ } @@ -137,17 +137,17 @@ static int lua_WriteCurr(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteTvccDac -* ˵: дTVCC DAC -* : dac 0-127 -* ֵ: +* 函 数 名: lua_WriteTvccDac +* 功能说明: 写TVCC DAC +* 形 参: dac 0-127 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteTvccDac(lua_State* L) { uint16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { value = luaL_checknumber(L, 1); /* dac */ } @@ -159,17 +159,17 @@ static int lua_WriteTvccDac(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteTvccVolt -* ˵: дTVCC ѹ -* : dac 1200-5000 -* ֵ: +* 函 数 名: lua_WriteTvccVolt +* 功能说明: 写TVCC 电压 +* 形 参: dac 1200-5000 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteTvccVolt(lua_State* L) { uint16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { value = luaL_checknumber(L, 1); /* dac */ } @@ -179,4 +179,4 @@ static int lua_WriteTvccVolt(lua_State* L) return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_dac.h b/User/lua/if/lua_if_dac.h index 8c50240..4f64b56 100755 --- a/User/lua/if/lua_if_dac.h +++ b/User/lua/if/lua_if_dac.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua dacģ -* ļ : lua_if_dac.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-10-15 armfly ׷ +* 模块名称 : lua dac模块 +* 文件名称 : lua_if_dac.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-10-15 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_dac_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_extio.c b/User/lua/if/lua_if_extio.c index 2d949a7..19c4019 100755 --- a/User/lua/if/lua_if_extio.c +++ b/User/lua/if/lua_if_extio.c @@ -15,16 +15,16 @@ static int lua_ReadADC(lua_State* L); /* ********************************************************************************************************* -* : lua_extio_RegisterFun -* ˵: עlua CԽӿں -* : -* ֵ: +* 函 数 名: lua_extio_RegisterFun +* 功能说明: 注册lua C语言接口函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_extio_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "ex_start", lua_StartExtIO); lua_register(g_Lua, "ex_stop", lua_StopExtIO); lua_register(g_Lua, "ex_dout", lua_WriteDO); @@ -36,10 +36,10 @@ void lua_extio_RegisterFun(void) /* ********************************************************************************************************* -* : lua_StartExtIO -* ˵: չIO -* : 0-23 -* ֵ: +* 函 数 名: lua_StartExtIO +* 功能说明: 启动扩展IO任务 +* 形 参: 0-23 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_StartExtIO(lua_State* L) @@ -50,10 +50,10 @@ static int lua_StartExtIO(lua_State* L) /* ********************************************************************************************************* -* : lua_StopExtIO -* ˵: ֹͣչIO -* : 0-23 -* ֵ: +* 函 数 名: lua_StopExtIO +* 功能说明: 停止扩展IO任务 +* 形 参: 0-23 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_StopExtIO(lua_State* L) @@ -64,10 +64,10 @@ static int lua_StopExtIO(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteDO -* ˵: дDO -* : 0-23 -* ֵ: +* 函 数 名: lua_WriteDO +* 功能说明: 写DO +* 形 参: 0-23 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteDO(lua_State* L) @@ -75,12 +75,12 @@ static int lua_WriteDO(lua_State* L) uint8_t pin; uint8_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { pin = luaL_checknumber(L, 1); /* dac */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { value = luaL_checknumber(L, 2); /* dac */ } @@ -92,10 +92,10 @@ static int lua_WriteDO(lua_State* L) /* ********************************************************************************************************* -* : lua_ReadDI -* ˵: DI -* : 0-15 -* ֵ: +* 函 数 名: lua_ReadDI +* 功能说明: 读DI +* 形 参: 0-15 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_ReadDI(lua_State* L) @@ -103,24 +103,24 @@ static int lua_ReadDI(lua_State* L) uint8_t pin; uint8_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { pin = luaL_checknumber(L, 1); /* dac */ } value = EX165_GetPin(pin); - lua_pushnumber(L, value); /* ɹ, */ + lua_pushnumber(L, value); /* 成功,返回数据 */ return 1; } /* ********************************************************************************************************* -* : lua_WriteDAC -* ˵: дDAC -* : 0-1 -* ֵ: +* 函 数 名: lua_WriteDAC +* 功能说明: 写DAC +* 形 参: 0-1 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteDAC(lua_State* L) @@ -128,12 +128,12 @@ static int lua_WriteDAC(lua_State* L) uint8_t ch; uint16_t dac; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { ch = luaL_checknumber(L, 1); /* dac */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { dac = luaL_checknumber(L, 2); /* dac */ } @@ -145,10 +145,10 @@ static int lua_WriteDAC(lua_State* L) /* ********************************************************************************************************* -* : lua_ReadADC -* ˵: ADC -* : 0-7 -* ֵ: +* 函 数 名: lua_ReadADC +* 功能说明: 读ADC +* 形 参: 0-7 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_ReadADC(lua_State* L) @@ -156,16 +156,16 @@ static int lua_ReadADC(lua_State* L) uint8_t ch; int16_t adc; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { ch = luaL_checknumber(L, 1); /* dac */ } adc = AD7606_ReadAdc(ch); /* dac */ - lua_pushnumber(L, adc); /* ɹ, */ + lua_pushnumber(L, adc); /* 成功,返回数据 */ return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_extio.h b/User/lua/if/lua_if_extio.h index 7f0a194..d7c551b 100755 --- a/User/lua/if/lua_if_extio.h +++ b/User/lua/if/lua_if_extio.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua extioģ -* ļ : lua_if_extio.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-10-15 armfly ׷ +* 模块名称 : lua extio模块 +* 文件名称 : lua_if_extio.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-10-15 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_extio_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_fatfs.c b/User/lua/if/lua_if_fatfs.c index d81cc02..ad270a8 100755 --- a/User/lua/if/lua_if_fatfs.c +++ b/User/lua/if/lua_if_fatfs.c @@ -11,7 +11,7 @@ FATFS g_lua_fs; FIL g_lua_file1; -char luaDiskPath[4]; /* FatFS · */ +char luaDiskPath[4]; /* 保存FatFS 磁盘路径 */ static int lua_f_mount(lua_State* L); static int lua_f_dir(lua_State* L); @@ -19,28 +19,28 @@ void ViewDir(char *_path); void lua_fatfs_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "f_init", lua_f_mount); lua_register(g_Lua, "f_dir", lua_f_dir); } /* ********************************************************************************************************* -* : lua_udp_SendBytes -* ˵: UDPһݡUDPĿIPһνյUDPȡҲֻһͨŵ -* : -* ֵ: +* 函 数 名: lua_udp_SendBytes +* 功能说明: 向UDP发送一包数据。UDP目标IP由最后一次接收到的UDP包中提取,也就是只发给最后一次通信的主机 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_f_mount(lua_State* L) { FATFS_LinkDriver(&SD_Driver, luaDiskPath); - /* ļϵͳ */ + /* 挂载文件系统 */ if (f_mount(&g_lua_fs, luaDiskPath, 0) != FR_OK) { - printf("f_mountļϵͳʧ"); + printf("f_mount文件系统失败"); } return 1; @@ -48,10 +48,10 @@ static int lua_f_mount(lua_State* L) /* ********************************************************************************************************* -* : lua_f_dir -* ˵: -* : -* ֵ: +* 函 数 名: lua_f_dir +* 功能说明: +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_f_dir(lua_State* L) @@ -59,9 +59,9 @@ static int lua_f_dir(lua_State* L) const char *data; uint32_t len; - if (lua_type(L, 1) == LUA_TSTRING) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TSTRING) /* 判断第1个参数 */ { - data = luaL_checklstring(L, 1, &len); /* 1Dzλã lenstri ij */ + data = luaL_checklstring(L, 1, &len); /* 1是参数的位置, len是stri 的长度 */ } ViewDir((char *)data); @@ -71,35 +71,35 @@ static int lua_f_dir(lua_State* L) /* ********************************************************************************************************* -* : ViewDir -* ˵: ʾĿ¼µļ -* : -* ֵ: +* 函 数 名: ViewDir +* 功能说明: 显示根目录下的文件名 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void ViewDir(char *_path) { - /* ʹõľֲռý϶࣬޸ļ֤ջռ乻 */ + /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */ FRESULT result; DIR DirInf; FILINFO FileInf; uint32_t cnt = 0; - /* 򿪸ļ - Ҫ f_closedir */ - result = f_opendir(&DirInf, _path); /* 1: ʾ̷ */ + /* 打开根文件夹 - 用完后需要 f_closedir */ + result = f_opendir(&DirInf, _path); /* 1: 表示盘符 */ if (result != FR_OK) { - printf("򿪸Ŀ¼ʧ (%d)\r\n", result); + printf("打开根目录失败 (%d)\r\n", result); return; } - printf("\r\nǰĿ¼%s\r\n", _path); + printf("\r\n当前目录:%s\r\n", _path); - /* ȡǰļµļĿ¼ */ - printf(" | ļС | ļ | ļ\r\n"); + /* 读取当前文件夹下的文件和目录 */ + printf("属性 | 文件大小 | 短文件名 | 长文件名\r\n"); for (cnt = 0; ;cnt++) { - result = f_readdir(&DirInf,&FileInf); /* ȡĿ¼Զ */ + result = f_readdir(&DirInf,&FileInf); /* 读取目录项,索引会自动下移 */ if (result != FR_OK || FileInf.fname[0] == 0) { break; @@ -110,26 +110,26 @@ void ViewDir(char *_path) continue; } - /* жļĿ¼ */ + /* 判断是文件还是子目录 */ if (FileInf.fattrib & AM_DIR) { - printf("(0x%02d)Ŀ¼ ", FileInf.fattrib); + printf("(0x%02d)目录 ", FileInf.fattrib); } else { - printf("(0x%02d)ļ ", FileInf.fattrib); + printf("(0x%02d)文件 ", FileInf.fattrib); } - /* ӡļС, 4G */ + /* 打印文件大小, 最大4G */ printf(" %10d", FileInf.fsize); - printf(" %s |", FileInf.altname); /* ļ */ + printf(" %s |", FileInf.altname); /* 短文件名 */ - printf(" %s\r\n", (char *)FileInf.fname); /* ļ */ + printf(" %s\r\n", (char *)FileInf.fname); /* 长文件名 */ } - f_closedir(&DirInf); /*رմ򿪵Ŀ¼ */ + f_closedir(&DirInf); /* 关闭打开的目录 */ } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_fatfs.h b/User/lua/if/lua_if_fatfs.h index dfa0cce..ed62f56 100755 --- a/User/lua/if/lua_if_fatfs.h +++ b/User/lua/if/lua_if_fatfs.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua fatļϵͳ -* ļ : lua_if_fatfs.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua fat文件系统 +* 文件名称 : lua_if_fatfs.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_fatfs_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_gpio.c b/User/lua/if/lua_if_gpio.c index 3de0cfb..3c30b53 100755 --- a/User/lua/if/lua_if_gpio.c +++ b/User/lua/if/lua_if_gpio.c @@ -12,16 +12,16 @@ static int lua_ReadFmcBus(lua_State* L); /* ********************************************************************************************************* -* : lua_GpioCfg -* ˵: GPIO -* : -* ֵ: +* 函 数 名: lua_GpioCfg +* 功能说明: 配置GPIO功能 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ void lua_gpio_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "gpio_cfg", lua_GpioCfg); /* gpio_cfg(0, 1) */ lua_register(g_Lua, "gpio_write", lua_GpioWrite); /* gpio_write(0, 1) */ lua_register(g_Lua, "gpio_read", lua_GpioRead); /* gpio_write(0, 1) */ @@ -33,10 +33,10 @@ void lua_gpio_RegisterFun(void) /* ********************************************************************************************************* -* : lua_GpioCfg -* ˵: GPIO -* : -* ֵ: +* 函 数 名: lua_GpioCfg +* 功能说明: 配置GPIO功能 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_GpioCfg(lua_State* L) @@ -44,7 +44,7 @@ static int lua_GpioCfg(lua_State* L) uint8_t _no; uint8_t _dir; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { _no = luaL_checknumber(L, 1); } @@ -53,7 +53,7 @@ static int lua_GpioCfg(lua_State* L) return 1; } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { _dir = luaL_checknumber(L, 2); } @@ -79,10 +79,10 @@ static int lua_GpioCfg(lua_State* L) /* ********************************************************************************************************* -* : lua_GpioWrite -* ˵: GPIOƽ -* : -* ֵ: +* 函 数 名: lua_GpioWrite +* 功能说明: 设置GPIO输出电平 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_GpioWrite(lua_State* L) @@ -90,7 +90,7 @@ static int lua_GpioWrite(lua_State* L) uint8_t _no; uint8_t _value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { _no = luaL_checknumber(L, 1); } @@ -99,7 +99,7 @@ static int lua_GpioWrite(lua_State* L) return 1; } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { _value = luaL_checknumber(L, 2); } @@ -121,10 +121,10 @@ static int lua_GpioWrite(lua_State* L) /* ********************************************************************************************************* -* : lua_GpioRead -* ˵: ȡGPIOƽ -* : -* ֵ: +* 函 数 名: lua_GpioRead +* 功能说明: 读取GPIO输出电平 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_GpioRead(lua_State* L) @@ -132,7 +132,7 @@ static int lua_GpioRead(lua_State* L) uint8_t _no; uint8_t _value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { _no = luaL_checknumber(L, 1); } @@ -143,21 +143,21 @@ static int lua_GpioRead(lua_State* L) if (EIO_GetInputLevel(_no) == 0) { - lua_pushnumber(L, 0); /* ֵ */ + lua_pushnumber(L, 0); /* 返回值 */ } else { - lua_pushnumber(L, 1); /* ֵ */ + lua_pushnumber(L, 1); /* 返回值 */ } return 1; } /* ********************************************************************************************************* -* : lua_ReadFmcBus -* ˵: ͨFMC߶ȡߵƽ -* : -* ֵ: 16bit +* 函 数 名: lua_ReadFmcBus +* 功能说明: 通过FMC总线读取口线电平 +* 形 参: 无 +* 返 回 值: 16bit数据 ********************************************************************************************************* */ static int lua_ReadFmcBus(lua_State* L) @@ -166,23 +166,23 @@ static int lua_ReadFmcBus(lua_State* L) in = EIO_ReadFMC(); - lua_pushnumber(L, in); /* ֵ */ + lua_pushnumber(L, in); /* 返回值 */ return 1; } /* ********************************************************************************************************* -* : lua_SetTVCC -* ˵: TVCCѹ -* : IOѹ. λָ֧ -* ֵ: +* 函 数 名: lua_SetTVCC +* 功能说明: 设置TVCC电压 +* 形 参: 输入IO电压. 单位伏。支持浮点 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_SetTVCC(lua_State* L) { float volt; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { volt = luaL_checknumber(L, 1); bsp_SetTVCC(volt * 1000); @@ -190,4 +190,4 @@ static int lua_SetTVCC(lua_State* L) return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_gpio.h b/User/lua/if/lua_if_gpio.h index 0d9268a..e6320b7 100755 --- a/User/lua/if/lua_if_gpio.h +++ b/User/lua/if/lua_if_gpio.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua gpioģ -* ļ : lua_gpio.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua gpio模块 +* 文件名称 : lua_gpio.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_gpio_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_i2c.c b/User/lua/if/lua_if_i2c.c index 35c3750..5e9fc3f 100755 --- a/User/lua/if/lua_if_i2c.c +++ b/User/lua/if/lua_if_i2c.c @@ -11,8 +11,8 @@ static int lua_I2C_ReciveBytes(lua_State* L); void lua_i2c_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "i2c_start", lua_I2C_Start); lua_register(g_Lua, "i2c_stop", lua_I2C_Stop); lua_register(g_Lua, "i2c_send", lua_I2C_SendBytes); @@ -32,8 +32,8 @@ static int lua_I2C_Stop(lua_State* L) } /* - ʽ1: i2c_send(buf); - ʽ2: i2c_send(3 ); + 形式1: i2c_send(buf); + 形式2: i2c_send(3 ); */ static int lua_I2C_SendBytes(lua_State* L) { @@ -43,12 +43,12 @@ static int lua_I2C_SendBytes(lua_State* L) uint8_t buf[1]; int re; - if (lua_type(L, 1) == LUA_TSTRING) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TSTRING) /* 判断第1个参数 */ { - data = luaL_checklstring(L, 1, &len); /* 1Dzλã lenstri ij */ + data = luaL_checklstring(L, 1, &len); /* 1是参数的位置, len是stri 的长度 */ } - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { len = 1; buf[0] = luaL_checknumber(L, 1); @@ -67,15 +67,15 @@ static int lua_I2C_SendBytes(lua_State* L) break; } } - lua_pushnumber(L, re); /* ֵ */ + lua_pushnumber(L, re); /* 返回值 */ return 1; } /* -LuaC++bufferʱʹstringУC++ģtolua++ʹȡbuffer +Lua给C++传buffer时,使用string就行,再C++的,tolua++中使用下面代码读取buffer size_t ld; - const char *data = luaL_checklstring(tolua_S, 2, &ld); // 2Dzλã ldbufferij -C++LuabufferʱC++ʹ봫buffer + const char *data = luaL_checklstring(tolua_S, 2, &ld); // 2是参数的位置, ld是buffer的长度 +C++给Lua传buffer时,在C++代码中使用下面代码传入buffer LuaStack *stack = LuaEngine::getInstance()->getLuaStack(); stack-> @@ -89,26 +89,26 @@ static int lua_I2C_ReciveBytes(lua_State* L) len = luaL_checknumber(L, 1); if (len == 0 || len > LUA_READ_LEN_MAX) { - lua_pushnumber(L, 0); /* ֵ */ + lua_pushnumber(L, 0); /* 返回值 */ return 0; } for (i = 0; i < len; i++) { - s_lua_read_buf[i] = i2c_ReadByte(); /* 1ֽ */ + s_lua_read_buf[i] = i2c_ReadByte(); /* 读1个字节 */ - /* ÿ1ֽںҪAck һֽڲҪAckNack */ + /* 每读完1个字节后,需要发送Ack, 最后一个字节不需要Ack,发Nack */ if (i != len - 1) { - i2c_Ack(); /* мֽڶCPUACKź(SDA = 0) */ + i2c_Ack(); /* 中间字节读完后,CPU产生ACK信号(驱动SDA = 0) */ } else { - i2c_NAck(); /* 1ֽڶCPUNACKź(SDA = 1) */ + i2c_NAck(); /* 最后1个字节读完后,CPU产生NACK信号(驱动SDA = 1) */ } } - //lua_pushnumber(L, 1); /* ֵ */ + //lua_pushnumber(L, 1); /* 返回值 */ // strcpy(s_lua_read_buf, "s_lua_read_buf"); lua_pushlstring(L, (char *)s_lua_read_buf, len); return 1; diff --git a/User/lua/if/lua_if_i2c.h b/User/lua/if/lua_if_i2c.h index 36e0f52..43c5b04 100755 --- a/User/lua/if/lua_if_i2c.h +++ b/User/lua/if/lua_if_i2c.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua i2cģ -* ļ : lua_i2c.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ST̼汾 V2.1.0 +* 模块名称 : lua i2c模块 +* 文件名称 : lua_i2c.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly ST固件库版本 V2.1.0 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_i2c_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_qspi.c b/User/lua/if/lua_if_qspi.c index bd381b6..097aa58 100755 --- a/User/lua/if/lua_if_qspi.c +++ b/User/lua/if/lua_if_qspi.c @@ -11,8 +11,8 @@ static int qspi_erase4k(lua_State* L); void lua_qspi_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "qspi_readid", qspi_readid); lua_register(g_Lua, "qspi_read", qspi_read); lua_register(g_Lua, "qspi_write", qspi_write); @@ -21,10 +21,10 @@ void lua_qspi_RegisterFun(void) /* ********************************************************************************************************* -* : qspi_readid -* ˵: оƬID -* : -* ֵ: +* 函 数 名: qspi_readid +* 功能说明: 读芯片ID +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int qspi_readid(lua_State* L) @@ -32,7 +32,7 @@ static int qspi_readid(lua_State* L) uint32_t id; id = QSPI_ReadID(); - lua_pushnumber(L, id); /* ֵ */ + lua_pushnumber(L, id); /* 返回值 */ return 1; } @@ -40,17 +40,17 @@ static int qspi_readid(lua_State* L) /* ********************************************************************************************************* -* : qspi_erase4k -* ˵: һ4KB -* : -* ֵ: +* 函 数 名: qspi_erase4k +* 功能说明: 擦除一个扇区,4KB +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int qspi_erase4k(lua_State* L) { uint32_t addr; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第2个参数 */ { addr = luaL_checknumber(L, 1); @@ -59,17 +59,17 @@ static int qspi_erase4k(lua_State* L) } QSPI_EraseSector(addr); - lua_pushnumber(L, 1); /* ɹ */ + lua_pushnumber(L, 1); /* 成功 */ return 1; } /* ********************************************************************************************************* -* : qspi_write -* ˵: дһݣС256ֽ -* : -* ֵ: +* 函 数 名: qspi_write +* 功能说明: 写一包数据,小于256字节 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int qspi_write(lua_State* L) @@ -78,39 +78,39 @@ static int qspi_write(lua_State* L) const char *data; uint32_t addr; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第2个参数 */ { addr = luaL_checknumber(L, 1); } - if (lua_type(L, 2) == LUA_TSTRING) /* жϵ1 */ + if (lua_type(L, 2) == LUA_TSTRING) /* 判断第1个参数 */ { - data = luaL_checklstring(L, 2, &len); /* 1Dzλã lenstri ij */ + data = luaL_checklstring(L, 2, &len); /* 1是参数的位置, len是stri 的长度 */ } if (len > QSPI_PAGE_SIZE) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ return 1; } if (QSPI_WriteBuffer((uint8_t *)data, addr, len) == 0) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ } else { - lua_pushnumber(L, 1); /* ɹ */ + lua_pushnumber(L, 1); /* 成功 */ } return 1; } /* ********************************************************************************************************* -* : qspi_read -* ˵: һݣɴ256ֽ -* : -* ֵ: +* 函 数 名: qspi_read +* 功能说明: 读一包数据,可大于256字节 +* 形 参: +* 返 回 值: 无 ********************************************************************************************************* */ static int qspi_read(lua_State* L) @@ -118,12 +118,12 @@ static int qspi_read(lua_State* L) uint32_t addr; uint32_t num; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* 1Dzλã lenstri ij */ + addr = luaL_checknumber(L, 1); /* 1是参数的位置, len是stri 的长度 */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { num = luaL_checknumber(L, 2); @@ -142,4 +142,4 @@ static int qspi_read(lua_State* L) return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_qspi.h b/User/lua/if/lua_if_qspi.h index 914581b..f3495c2 100755 --- a/User/lua/if/lua_if_qspi.h +++ b/User/lua/if/lua_if_qspi.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua qspiģ -* ļ : lua_qspi.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua qspi模块 +* 文件名称 : lua_qspi.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_qspi_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_register.c b/User/lua/if/lua_if_register.c index 8520090..cd6bc75 100755 --- a/User/lua/if/lua_if_register.c +++ b/User/lua/if/lua_if_register.c @@ -7,7 +7,7 @@ #include "modbus_reg_addr.h" #include "modbus_register.h" -/* Ϊ˱DAPеĺģ麯ǰ׺ h7swd */ +/* 为了避免和DAP驱动中的函数混淆,本模块函数名前缀用 h7swd */ static int lua_WriteReg16(lua_State* L); static int lua_WriteReg32(lua_State* L); static int lua_WriteRegFloat(lua_State* L); @@ -19,16 +19,16 @@ static int lua_SaveParam(lua_State* L); /* ********************************************************************************************************* -* : lua_reg_RegisterFun -* ˵: עlua CԽӿں -* : -* ֵ: +* 函 数 名: lua_reg_RegisterFun +* 功能说明: 注册lua C语言接口函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_reg_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "write_reg16", lua_WriteReg16); lua_register(g_Lua, "write_reg32", lua_WriteReg32); lua_register(g_Lua, "write_regfloat", lua_WriteRegFloat); @@ -42,10 +42,10 @@ void lua_reg_RegisterFun(void) /* ********************************************************************************************************* -* : lua_SaveParam -* ˵: дˢµeeprom -* : -* ֵ: +* 函 数 名: lua_SaveParam +* 功能说明: 写参数。将参数刷新到eeprom +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_SaveParam(lua_State* L) @@ -61,10 +61,10 @@ static int lua_SaveParam(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteReg16 -* ˵: дĴ 16bit -* : Addrַ Ĵֵ -* ֵ: +* 函 数 名: lua_WriteReg16 +* 功能说明: 写寄存器 16bit +* 形 参: Addr地址 和 寄存器值 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteReg16(lua_State* L) @@ -73,14 +73,14 @@ static int lua_WriteReg16(lua_State* L) int16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第1个参数 */ { - value = luaL_checknumber(L, 2); /* Ĵֵ */ + value = luaL_checknumber(L, 2); /* 寄存器值 */ } WriteRegValue_06H(addr, (uint16_t)value); @@ -90,10 +90,10 @@ static int lua_WriteReg16(lua_State* L) /* ********************************************************************************************************* -* : lua_ReadReg16 -* ˵: Ĵ 16bit -* : Addrַ -* ֵ: Ĵֵ +* 函 数 名: lua_ReadReg16 +* 功能说明: 读寄存器 16bit +* 形 参: Addr地址 +* 返 回 值: 寄存器值 ********************************************************************************************************* */ static int lua_ReadReg16(lua_State* L) @@ -101,18 +101,18 @@ static int lua_ReadReg16(lua_State* L) uint16_t addr; uint16_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } if (ReadRegValue_03H(addr, &value) == 1) { - lua_pushnumber(L, value); /* ɹ, */ + lua_pushnumber(L, value); /* 成功,返回数据 */ } else { - lua_pushnumber(L, 0); /* ɹ, */ + lua_pushnumber(L, 0); /* 成功,返回数据 */ } return 1; @@ -120,10 +120,10 @@ static int lua_ReadReg16(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteReg32 -* ˵: дĴ 32Bit -* : Addrַ Ĵֵ -* ֵ: +* 函 数 名: lua_WriteReg32 +* 功能说明: 写寄存器 32Bit整数 +* 形 参: Addr地址 和 寄存器值 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteReg32(lua_State* L) @@ -131,14 +131,14 @@ static int lua_WriteReg32(lua_State* L) uint16_t addr; int32_t value; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { - value = luaL_checknumber(L, 2); /* Ĵַ */ + value = luaL_checknumber(L, 2); /* 寄存器地址 */ } WriteRegValue_06H(addr, (uint32_t)value >> 16); @@ -148,10 +148,10 @@ static int lua_WriteReg32(lua_State* L) /* ********************************************************************************************************* -* : lua_ReadReg32 -* ˵: Ĵ 32bit з -* : Addrַ -* ֵ: Ĵֵ +* 函 数 名: lua_ReadReg32 +* 功能说明: 读寄存器 32bit 有符号 +* 形 参: Addr地址 +* 返 回 值: 寄存器值 ********************************************************************************************************* */ static int lua_ReadReg32(lua_State* L) @@ -162,9 +162,9 @@ static int lua_ReadReg32(lua_State* L) int32_t value32; uint8_t re = 0; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } re = ReadRegValue_03H(addr, &value1); @@ -173,11 +173,11 @@ static int lua_ReadReg32(lua_State* L) if (re == 2) { value32 =(value1 << 8) + value2; - lua_pushnumber(L, value32); /* ɹ, */ + lua_pushnumber(L, value32); /* 成功,返回数据 */ } else { - lua_pushnumber(L, 0); /* ɹ, */ + lua_pushnumber(L, 0); /* 成功,返回数据 */ } return 1; @@ -186,10 +186,10 @@ static int lua_ReadReg32(lua_State* L) /* ********************************************************************************************************* -* : lua_WriteRegFloat -* ˵: дĴ 32Bit -* : Addrַ Ĵֵ -* ֵ: +* 函 数 名: lua_WriteRegFloat +* 功能说明: 写寄存器 32Bit浮点 +* 形 参: Addr地址 和 寄存器值 +* 返 回 值: 无 ********************************************************************************************************* */ static int lua_WriteRegFloat(lua_State* L) @@ -197,14 +197,14 @@ static int lua_WriteRegFloat(lua_State* L) uint16_t addr; float ff; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { - ff = luaL_checknumber(L, 2); /* Ĵַ */ + ff = luaL_checknumber(L, 2); /* 寄存器地址 */ } WriteRegValue_06H(addr, GetHigh16OfFloat(ff)); @@ -214,10 +214,10 @@ static int lua_WriteRegFloat(lua_State* L) /* ********************************************************************************************************* -* : lua_ReadRegFloat -* ˵: Ĵ -* : Addrַ -* ֵ: Ĵֵ +* 函 数 名: lua_ReadRegFloat +* 功能说明: 读寄存器 浮点 +* 形 参: Addr地址 +* 返 回 值: 寄存器值 ********************************************************************************************************* */ static int lua_ReadRegFloat(lua_State* L) @@ -229,9 +229,9 @@ static int lua_ReadRegFloat(lua_State* L) uint8_t re = 0; uint8_t buf[4]; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ĵַ */ + addr = luaL_checknumber(L, 1); /* 寄存器地址 */ } re = ReadRegValue_03H(addr, &value1); @@ -246,14 +246,14 @@ static int lua_ReadRegFloat(lua_State* L) ff = BEBufToFloat(buf); - lua_pushnumber(L, ff); /* ɹ, */ + lua_pushnumber(L, ff); /* 成功,返回数据 */ } else { - lua_pushnumber(L, 0); /* ɹ, */ + lua_pushnumber(L, 0); /* 成功,返回数据 */ } return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_register.h b/User/lua/if/lua_if_register.h index 54b8cb2..6e55dc6 100755 --- a/User/lua/if/lua_if_register.h +++ b/User/lua/if/lua_if_register.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua Ĵģ -* ļ : lua_reg_register.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-10-15 armfly ׷ +* 模块名称 : lua 寄存器操作模块 +* 文件名称 : lua_reg_register.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-10-15 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_reg_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_spi.c b/User/lua/if/lua_if_spi.c index cd4d0f6..4681da4 100755 --- a/User/lua/if/lua_if_spi.c +++ b/User/lua/if/lua_if_spi.c @@ -7,10 +7,10 @@ void lua_spi_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 //lua_register(g_Lua, "udp_print", lua_udp_print); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_spi.h b/User/lua/if/lua_if_spi.h index 72e974d..6b4655e 100755 --- a/User/lua/if/lua_if_spi.h +++ b/User/lua/if/lua_if_spi.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua spiģ -* ļ : lua_spi.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua spi模块 +* 文件名称 : lua_spi.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_spi_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_swd.c b/User/lua/if/lua_if_swd.c index 999542f..9820dcd 100755 --- a/User/lua/if/lua_if_swd.c +++ b/User/lua/if/lua_if_swd.c @@ -9,7 +9,7 @@ #include "swd_host.h" #include "Systick_Handler.h" -/* Ϊ˱DAPеĺģ麯ǰ׺ h7swd */ +/* 为了避免和DAP驱动中的函数混淆,本模块函数名前缀用 h7swd */ static int h7swd_Init(lua_State* L); static int h7swd_ReadID(lua_State* L); @@ -18,16 +18,16 @@ static int h7swd_ReadMemory(lua_State* L); /* ********************************************************************************************************* -* : lua_swd_RegisterFun -* ˵: עlua CԽӿں -* : -* ֵ: +* 函 数 名: lua_swd_RegisterFun +* 功能说明: 注册lua C语言接口函数 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void lua_swd_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 lua_register(g_Lua, "swd_init", h7swd_Init); lua_register(g_Lua, "swd_getid", h7swd_ReadID); lua_register(g_Lua, "swd_write", h7swd_WriteMemory); @@ -36,37 +36,37 @@ void lua_swd_RegisterFun(void) /* ********************************************************************************************************* -* : h7swd_Init -* ˵: оƬID -* : vcc : CPUѹ -* ֵ: +* 函 数 名: h7swd_Init +* 功能说明: 读芯片ID +* 形 参: vcc : CPU供电电压 +* 返 回 值: 无 ********************************************************************************************************* */ static int h7swd_Init(lua_State* L) { float vcc; - sysTickInit(); /* DAPеijʼ,ȫֱʼ */ + sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - vcc = luaL_checknumber(L, 1); /* VCCѹ㣬λV */ + vcc = luaL_checknumber(L, 1); /* VCC电压,浮点,单位V */ } - bsp_SetTVCC(vcc * 1000); /* ýӿڵƽ3.3V */ - bsp_DelayUS(100 * 100); /* ӳ100ms */ + bsp_SetTVCC(vcc * 1000); /* 设置接口电平3.3V */ + bsp_DelayUS(100 * 100); /* 延迟100ms */ - swd_init_debug(); /* swd debug״̬ */ + swd_init_debug(); /* 进入swd debug状态 */ return 1; } /* ********************************************************************************************************* -* : h7swd_ReadID -* ˵: оƬID -* : -* ֵ: +* 函 数 名: h7swd_ReadID +* 功能说明: 读芯片ID +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ static int h7swd_ReadID(lua_State* L) @@ -75,22 +75,22 @@ static int h7swd_ReadID(lua_State* L) if (swd_read_idcode(&id) == 0) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ } else { - lua_pushnumber(L, id); /* ɹ,ID */ + lua_pushnumber(L, id); /* 成功,返回ID */ } return 1; } /* ********************************************************************************************************* -* : h7swd_WriteMemory -* ˵: дCPUڴ棨Ĵ -* : addr : Ŀַ -* data : ݻ -* ֵ: 0 ʧ 1 ɹ +* 函 数 名: h7swd_WriteMemory +* 功能说明: 写CPU内存(或寄存器) +* 形 参: addr : 目标地址 +* data : 数据缓冲区,含长度 +* 返 回 值: 0 失败 1 成功 ********************************************************************************************************* */ static int h7swd_WriteMemory(lua_State* L) @@ -99,36 +99,36 @@ static int h7swd_WriteMemory(lua_State* L) const char *data; size_t len = 0; - sysTickInit(); /* DAPеijʼ,ȫֱʼ */ + sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* Ŀڴַ */ + addr = luaL_checknumber(L, 1); /* 目标内存地址 */ } else { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ return 1; } - if (lua_type(L, 2) == LUA_TSTRING) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TSTRING) /* 判断第2个参数 */ { - data = luaL_checklstring(L, 2, &len); /* 1Dzλã lenstri ij */ + data = luaL_checklstring(L, 2, &len); /* 1是参数的位置, len是stri 的长度 */ } if (len > 128 * 1024) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ return 1; } if (swd_write_memory(addr, (uint8_t *)data, len) == 0) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ } else { - lua_pushnumber(L, 1); /* ɹ */ + lua_pushnumber(L, 1); /* 成功 */ } return 1; @@ -136,11 +136,11 @@ static int h7swd_WriteMemory(lua_State* L) /* ********************************************************************************************************* -* : h7swd_ReadMemory -* ˵: CPUڴ棨Ĵ -* : addr : Ŀַ -* data : ݻ -* ֵ: 0 ʧ 1 ɹ +* 函 数 名: h7swd_ReadMemory +* 功能说明: 读CPU内存(或寄存器) +* 形 参: addr : 目标地址 +* data : 数据缓冲区,含长度 +* 返 回 值: 0 失败 1 成功 ********************************************************************************************************* */ static int h7swd_ReadMemory(lua_State* L) @@ -148,17 +148,17 @@ static int h7swd_ReadMemory(lua_State* L) uint32_t addr; uint32_t num; - if (lua_type(L, 1) == LUA_TNUMBER) /* жϵ1 */ + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ { - addr = luaL_checknumber(L, 1); /* 1Dzλã lenstri ij */ + addr = luaL_checknumber(L, 1); /* 1是参数的位置, len是stri 的长度 */ } else { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ return 1; } - if (lua_type(L, 2) == LUA_TNUMBER) /* жϵ2 */ + if (lua_type(L, 2) == LUA_TNUMBER) /* 判断第2个参数 */ { num = luaL_checknumber(L, 2); @@ -167,21 +167,21 @@ static int h7swd_ReadMemory(lua_State* L) if (num > LUA_READ_LEN_MAX) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ return 1; } if (swd_read_memory(addr, s_lua_read_buf, num) == 0) { - lua_pushnumber(L, 0); /* */ + lua_pushnumber(L, 0); /* 出错 */ } else { - lua_pushnumber(L, 1); /* ɹ */ + lua_pushnumber(L, 1); /* 成功 */ } lua_pushlstring(L, (char *)s_lua_read_buf, num); return 1; } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_swd.h b/User/lua/if/lua_if_swd.h index f453aa9..65bd44c 100755 --- a/User/lua/if/lua_if_swd.h +++ b/User/lua/if/lua_if_swd.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua swdģ -* ļ : lua_if_swd.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-09-29 armfly ׷ +* 模块名称 : lua swd模块 +* 文件名称 : lua_if_swd.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-09-29 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_swd_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_tcp_udp.c b/User/lua/if/lua_if_tcp_udp.c index 39c5013..aa30e2a 100755 --- a/User/lua/if/lua_if_tcp_udp.c +++ b/User/lua/if/lua_if_tcp_udp.c @@ -7,10 +7,10 @@ void lua_tcp_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 //lua_register(g_Lua, "udp_print", lua_udp_print); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_tcp_udp.h b/User/lua/if/lua_if_tcp_udp.h index a828b45..b3ce459 100755 --- a/User/lua/if/lua_if_tcp_udp.h +++ b/User/lua/if/lua_if_tcp_udp.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua tcp udpģ -* ļ : lua_tcp_udp.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua tcp udp模块 +* 文件名称 : lua_tcp_udp.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_tcp_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_tim.c b/User/lua/if/lua_if_tim.c index 9022a32..61fe3b1 100755 --- a/User/lua/if/lua_if_tim.c +++ b/User/lua/if/lua_if_tim.c @@ -1,4 +1,4 @@ -//ģ黹δʵ +//本模块还未实现 #include "lauxlib.h" #include "lualib.h" @@ -10,12 +10,12 @@ static int lua_udp_print(lua_State* L); void lua_tim_RegisterFun(void) { - //ָĺעΪLuaȫֺеһַΪLua - //ڵCʱʹõȫֺڶΪʵCָ롣 + //将指定的函数注册为Lua的全局函数变量,其中第一个字符串参数为Lua代码 + //在调用C函数时使用的全局函数名,第二个参数为实际C函数的指针。 //lua_register(g_Lua, "udp_print", lua_udp_print); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_tim.h b/User/lua/if/lua_if_tim.h index d09a8f4..9772185 100755 --- a/User/lua/if/lua_if_tim.h +++ b/User/lua/if/lua_if_tim.h @@ -1,15 +1,15 @@ /* ********************************************************************************************************* * -* ģ : lua TIMʱģ -* ļ : lua_ttim.h -* : V1.0 -* ˵ : -* ޸ļ¼ : -* 汾 ˵ -* v1.0 2019-07-03 armfly ׷ +* 模块名称 : lua TIM定时器模块 +* 文件名称 : lua_ttim.h +* 版 本 : V1.0 +* 说 明 : 。 +* 修改记录 : +* 版本号 日期 作者 说明 +* v1.0 2019-07-03 armfly 首发 * -* Copyright (C), 2019-2030, www.armfly.com +* Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -21,4 +21,4 @@ void lua_tim_RegisterFun(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/modbus/modbus_slave.c b/User/modbus/modbus_slave.c index 25cc019..a5d69c1 100755 --- a/User/modbus/modbus_slave.c +++ b/User/modbus/modbus_slave.c @@ -19,6 +19,8 @@ #include "modbus_register.h" #include "modbus_iap.h" #include "lua_if.h" +#include "usbd_cdc_interface.h" + static void MODS_AnalyzeApp(void); @@ -34,9 +36,9 @@ static void MODS_10H(void); static void MODS_0FH(void); static void MODS_64H(void); static void MODS_65H(void); -static void MODS_66H(void); -static void MODS_67H(void); -static void MODS_68H(void); +//static void MODS_66H(void); +//static void MODS_67H(void); +//static void MODS_68H(void); static void MODS_60H(void); /* PC发这个指令读取波形数据 */ @@ -1191,7 +1193,7 @@ err_ret: * 返 回 值: 无 ********************************************************************************************************* */ -static void MODS_66H(void) +void MODS_66H(void) { /* 66H - write file @@ -1253,7 +1255,7 @@ err_ret: * 返 回 值: 无 ********************************************************************************************************* */ -static void MODS_67H(void) +void MODS_67H(void) { /* 67H - read file @@ -1429,7 +1431,7 @@ err_ret: * 返 回 值: 无 ********************************************************************************************************* */ -static void Send_61H(uint8_t _Ch, uint32_t _Offset, uint16_t _PackageLen) +void Send_61H(uint8_t _Ch, uint32_t _Offset, uint16_t _PackageLen) { /* 从机应答: (然后开始多包连续应答) diff --git a/User/usbd_mass_storage/usbd_it.c b/User/usbd_mass_storage/usbd_it.c index 97ec938..2767adb 100755 --- a/User/usbd_mass_storage/usbd_it.c +++ b/User/usbd_mass_storage/usbd_it.c @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : USB device жϷ -* ļ : usb_it.c -* : V1.0 -* ˵ : ļUSB deviceжϷֻ轫ļ빤̼ɣٵ stm32f4xx_it.c ЩISR +* 模块名称 : USB device 中断服务程序 +* 文件名称 : usb_it.c +* 版 本 : V1.0 +* 说 明 : 本文件存放USB device中断服务程序。只需将该文件加入工程即可,无需再到 stm32f4xx_it.c 中添加这些ISR程序 * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-09-08 armfly ʽ +* 修改记录 : +* 版本号 日期 作者 说明 +* V1.0 2018-09-08 armfly 正式发布 * -* Copyright (C), 2018-2030, www.armfly.com +* Copyright (C), 2018-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -20,10 +20,10 @@ /* ********************************************************************************************************* -* : OTG_FS_IRQHandler, OTG_HS_IRQHandler -* ˵: USB HOSTжϷ -* : -* ֵ: +* 函 数 名: OTG_FS_IRQHandler, OTG_HS_IRQHandler +* 功能说明: USB HOST中断服务程序 +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ #ifdef USE_USB_FS @@ -35,4 +35,4 @@ void OTG_HS_IRQHandler(void) HAL_PCD_IRQHandler(&hpcd); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/usbd_mass_storage/usbd_storage.c b/User/usbd_mass_storage/usbd_storage.c index f266ceb..16107df 100755 --- a/User/usbd_mass_storage/usbd_storage.c +++ b/User/usbd_mass_storage/usbd_storage.c @@ -65,7 +65,7 @@ //#define LUN_NAND 2 -/* SDRAM ̵ĵַͿռ䡣 4Mֽ */ +/* 定义SDRAM 虚拟磁盘的地址和空间。 4M字节 */ #define SDRAM_DISK_ADDR SDRAM_APP_BUF #define SDRAM_DISK_SIZE (4 * 1024 * 1024) @@ -272,7 +272,7 @@ int8_t STORAGE_Read(uint8_t lun, uint8_t * buf, uint32_t blk_addr, // // if (blk_len * 512 > SDRAM_DISK_SIZE) // { -// break; /* 쳣 */ +// break; /* 异常 */ // } // // p_buf = (uint32_t *)buf; @@ -325,7 +325,7 @@ int8_t STORAGE_Write(uint8_t lun, uint8_t * buf, uint32_t blk_addr, // // if (blk_len * 512 > SDRAM_DISK_SIZE) // { -// break; /* 쳣 */ +// break; /* 异常 */ // } // // printf_ok("sdram_Write ok: BlockNo=%d, Count=%d", blk_addr, blk_len); diff --git a/User/usbd_mass_storage/usbd_usr.c b/User/usbd_mass_storage/usbd_usr.c index bc35404..b547827 100755 --- a/User/usbd_mass_storage/usbd_usr.c +++ b/User/usbd_mass_storage/usbd_usr.c @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : USB devie -* ļ : usbd_usr.c -* : V1.0 -* ˵ : װU̲ṩAPPʹ. +* 模块名称 : USB devie 虚拟磁盘驱动 +* 文件名称 : usbd_usr.c +* 版 本 : V1.0 +* 说 明 : 封装虚拟U盘操作函数,提供给APP使用. * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-09-05 armfly ʽ +* 修改记录 : +* 版本号 日期 作者 说明 +* V1.0 2018-09-05 armfly 正式发布 * -* Copyright (C), 2015-2030, www.armfly.com +* Copyright (C), 2015-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ @@ -27,10 +27,10 @@ PCD_HandleTypeDef hpcd; /* ********************************************************************************************************* -* : usbd_OpenMassStorage -* ˵: USB -* : -* ֵ: +* 函 数 名: usbd_OpenMassStorage +* 功能说明: 打开USB +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void usbd_OpenMassStorage(void) @@ -54,10 +54,10 @@ void usbd_OpenMassStorage(void) /* ********************************************************************************************************* -* : usbd_CloseMassStorage -* ˵: رUSB -* : -* ֵ: +* 函 数 名: usbd_CloseMassStorage +* 功能说明: 关闭USB +* 形 参: 无 +* 返 回 值: 无 ********************************************************************************************************* */ void usbd_CloseMassStorage(void) @@ -67,4 +67,4 @@ void usbd_CloseMassStorage(void) USBD_DeInit(&USBD_Device); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/usbd_mass_storage/usbd_usr.h b/User/usbd_mass_storage/usbd_usr.h index f6d7c1d..4b380a0 100755 --- a/User/usbd_mass_storage/usbd_usr.h +++ b/User/usbd_mass_storage/usbd_usr.h @@ -1,9 +1,9 @@ /* ********************************************************************************************************* * -* ģ : USB Deviceӿģ -* ļ : usbd_usr.h -* : V1.0 +* 模块名称 : USB Device接口模块 +* 文件名称 : usbd_usr.h +* 版 本 : V1.0 * ********************************************************************************************************* */ @@ -16,5 +16,5 @@ void usbd_CloseMassStorage(void); #endif -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/usbd_virtual_com/readme.txt b/User/usbd_virtual_com/readme.txt index aeda334..c657049 100755 --- a/User/usbd_virtual_com/readme.txt +++ b/User/usbd_virtual_com/readme.txt @@ -52,7 +52,7 @@ This is a typical application on how to use the STM32H743xx USB OTG Device perip behaves as a USB-to-RS232 bridge following the Virtual COM Port (VCP) implementation. - On one side, the STM32 exchanges data with a PC host through USB interface in Device mode. - On the other side, the STM32 exchanges data with other devices (same host, other host, - other devices) through the UART interface (RS232). + other devices� through the UART interface (RS232). At the beginning of the main program the HAL_Init() function is called to reset all the peripherals, initialize the Flash interface and the systick. @@ -148,20 +148,17 @@ compiler preprocessor (already done in the preconfigured projects provided with - "USE_USB_FS" when using USB Full Speed (FS) Core @Note If the application is using the DTCM/ITCM memories (@0x20000000/ 0x0000000: not cacheable and only accessible - by the Cortex M7 and the MDMA), no need for cache maintenance when the Cortex M7 and the MDMA access these RAMs. - If the application needs to use DMA(or other masters) based access or requires more RAM, then the user has to: - - Use a non TCM SRAM. (example : D1 AXI-SRAM @ 0x24000000) - - Add a cache maintenance mechanism to ensure the cache coherence between CPU and other masters(DMAs,DMA2D,LTDC,MDMA). - - The addresses and the size of cacheable buffers (shared between CPU and other masters) - must be properlydefined to be aligned to L1-CACHE line size (32 bytes). - -@Note It is recommended to enable the cache and maintain its coherence, but depending on the use case - It is also possible to configure the MPU as "Write through", to guarantee the write access coherence. - In that case, the MPU must be configured as Cacheable/Bufferable/Not Shareable. - Even though the user must manage the cache coherence for read accesses. -Please refer to the AN4838 Managing memory protection unit (MPU) in STM32 MCUs -Please refer to the AN4839 Level 1 cache on STM32F7 Series - + by the Cortex M7 and the 燤DMA), no need for cache maintenance when the Cortex M7 and the MDMA access these RAMs. +牋牋�If the application needs to use DMA(or other masters) based access or requires more RAM, then 爐he user has to: +牋牋牋牋牋��- Use a non TCM SRAM. (example : D1 AXI-SRAM @ 0x24000000) +牋牋牋牋牋��- Add a cache maintenance mechanism to ensure the cache coherence between CPU and other masters(DMAs,DMA2D,LTDC,MDMA). +牋牋牋� - The addresses and the size of cacheable buffers (shared between CPU and other masters) + must be properly燿efined to be aligned to L1-CACHE line size (32 bytes). +�@Note It is recommended to enable the cache and maintain its coherence, but depending on the use case +牋牋�It is also possible to configure the MPU as "Write through", to guarantee the write access coherence. +牋牋牋牋牋��In that case, the MPU must be configured as Cacheable/Bufferable/Not Shareable. +牋牋牋牋牋��Even though the user must manage the cache coherence for read accesses. +牋牋牋牋牋牋牋Please refer to the AN4838 揗anaging memory protection unit (MPU) in STM32 MCUs�牋牋牋牋牋牋牋Please refer to the AN4839 揕evel 1 cache on STM32F7 Series� @par Directory contents - USB_Device/CDC_Standalone/Src/main.c Main program diff --git a/User/usbd_virtual_com/usbd_cdc_interface.c b/User/usbd_virtual_com/usbd_cdc_interface.c index 5c897a4..03c099b 100755 --- a/User/usbd_virtual_com/usbd_cdc_interface.c +++ b/User/usbd_virtual_com/usbd_cdc_interface.c @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : CDC⴮Ӳ -* ļ : usbd_cdc_interface.c -* : V1.0 -* ˵ : +* 妯″潡鍚岖О : CDC铏氭嫙涓插彛纭欢閰岖疆 +* 鏂囦欢鍚岖О : usbd_cdc_interface.c +* 鐗? 链?: V1.0 +* 璇? 鏄?: * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-12-11 armfly ʽ +* 淇敼璁板綍 : +* 鐗堟湰鍙? 镞ユ湡 浣滆€? 璇存槑 +* V1.0 2018-12-11 armfly 姝e纺鍙戝竷 * -* Copyright (C), 2018-2030, www.armfly.com +* Copyright (C), 2018-2030, 瀹夊瘜銮辩数瀛?www.armfly.com * ********************************************************************************************************* */ @@ -25,7 +25,7 @@ uint16_t g_ModbusRxLen = 0; /* Private typedef ----------------------------------------------------------- */ /* Private define ------------------------------------------------------------ */ -#define APP_RX_DATA_SIZE 2048 // 512ֽûɶ */ +#define APP_RX_DATA_SIZE 2048 // 濂藉儚澶т簬512瀛楄妭娌″暐浣灭敤 */ #define APP_TX_DATA_SIZE 2048 /* Private macro ------------------------------------------------------------- */ @@ -56,7 +56,7 @@ uint32_t UserTxBufPtrOut = 0; /* Increment this pointer or roll it back to UART_HandleTypeDef A_UartHandle; UART_HandleTypeDef B_UartHandle; -UART_HandleTypeDef *NowUartHandle = &A_UartHandle; /* ǰѡUart */ +UART_HandleTypeDef *NowUartHandle = &A_UartHandle; /* 褰揿墠阃夋嫨镄刄art */ /* TIM handler declaration */ TIM_HandleTypeDef TimHandle; @@ -81,10 +81,10 @@ USBD_CDC_ItfTypeDef USBD_CDC_fops = { /* ********************************************************************************************************* -* : SelectCDCUart -* ˵: ѡCDC -* : _com : 1, 4 -* ֵ: +* 鍑?鏁?鍚? SelectCDCUart +* 锷熻兘璇存槑: 阃夋嫨CDC涓插彛 +* 褰? 鍙? _com : 1, 4 +* 杩?锲?链? 镞? ********************************************************************************************************* */ void SelectCDCUart(uint8_t _com) @@ -259,7 +259,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef * huart) HAL_NVIC_EnableIRQ(B_USARTx_IRQn); } -// ѵTIMúUART޹ +// 宸插埌TIM閰岖疆鍑芥暟锛屽拰UART镞犲叧 // /* ##-7- Enable TIM peripherals Clock ####################################### // */ // TIMx_CLK_ENABLE(); @@ -510,10 +510,10 @@ static int8_t CDC_Itf_Control(uint8_t cmd, uint8_t * pbuf, uint16_t length) */ /* ********************************************************************************************************* -* : HAL_TIM_PeriodElapsedCallback -* ˵: ʱѯ. 5ms Ե1ms -* : _com : 1, 4 -* ֵ: +* 鍑?鏁?鍚? HAL_TIM_PeriodElapsedCallback +* 锷熻兘璇存槑: 瀹氭椂杞. 5ms 锛屾渶蹇彲浠ヨ皟鍒?ms +* 褰? 鍙? _com : 1, 4 +* 杩?锲?链? 镞? ********************************************************************************************************* */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef * htim) @@ -580,11 +580,11 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart) */ /* ********************************************************************************************************* -* : CDC_Itf_Receive -* ˵: STM32յUSBݺִб ݳ512ֽڡ CDC_DATA_HS_MAX_PACKET_SIZE = 512 -* λд512ֽڵݣְ䡣 -* : -* ֵ: +* 鍑?鏁?鍚? CDC_Itf_Receive +* 锷熻兘璇存槑: STM32鏀跺埌USB鏁版嵁鍚庢墽琛屾湰鍑芥暟銆?鏁版嵁闀垮害链€澶?12瀛楄妭銆? CDC_DATA_HS_MAX_PACKET_SIZE = 512 +* 濡傛灉涓娄綅链烘湁澶т簬512瀛楄妭镄勬暟鎹紝鍒欎细鍒嗗寘浼犺緭銆? +* 褰? 鍙? 镞? +* 杩?锲?链? 镞? ********************************************************************************************************* */ static int8_t CDC_Itf_Receive(uint8_t * Buf, uint32_t *Len) @@ -603,7 +603,7 @@ static int8_t CDC_Itf_Receive(uint8_t * Buf, uint32_t *Len) g_ModbusRxLen += len; } - /* жϳȲ̫õķ. 512ֽ */ + /* 鍒ゆ柇闀垮害涓嶆槸澶ソ镄勬柟妗? 濡傛灉澶т簬512瀛楄妭 */ if (len != 512) { MODS_Poll(g_ModbusRxBuf, g_ModbusRxLen); @@ -635,7 +635,7 @@ static int8_t CDC_Itf_Receive(uint8_t * Buf, uint32_t *Len) { if (NowUartHandle == &A_UartHandle) { - RS485_TX_EN(); /* 485ʹ */ + RS485_TX_EN(); /* 485鍙戦€佷娇鑳?*/ HAL_UART_Transmit_DMA(&A_UartHandle, Buf, *Len); @@ -655,17 +655,17 @@ static int8_t CDC_Itf_Receive(uint8_t * Buf, uint32_t *Len) */ /* ********************************************************************************************************* -* : HAL_UART_TxCpltCallback -* ˵: STM32ڷȫʱִб -* : -* ֵ: +* 鍑?鏁?鍚? HAL_UART_TxCpltCallback +* 锷熻兘璇存槑: STM32涓插彛鍙戝嚭镄勬暟鎹叏閮ㄥ彂阃佸畲姣曟椂镓ц链嚱鏁般€? +* 褰? 鍙? 镞? +* 杩?锲?链? 镞? ********************************************************************************************************* */ void HAL_UART_TxCpltCallback(UART_HandleTypeDef * huart) { if (NowUartHandle == &A_UartHandle) { - RS485_RX_EN(); /* ڷϡֹ485ͣΪģʽ */ + RS485_RX_EN(); /* 涓插彛鍙戦€佸畲姣曘€傜姝?85鍙戦€侊紝璁剧疆涓烘帴鏀舵ā寮?*/ } else if (NowUartHandle == &B_UartHandle) { @@ -824,10 +824,10 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef * UartHandle) /* ********************************************************************************************************* -* : USBCom_SendBufNow -* ˵: STM32һݵPCUSB -* : -* ֵ: +* 鍑?鏁?鍚? USBCom_SendBufNow +* 锷熻兘璇存槑: STM32鍙戦€佷竴涓叉暟鎹埌PC链篣SB锛岀珛鍗冲彂阃? +* 褰? 鍙? 镞? +* 杩?锲?链? 镞? ********************************************************************************************************* */ uint8_t USBCom_SendBufNow(int _Port, uint8_t *_Buf, uint16_t _Len) @@ -843,10 +843,10 @@ uint8_t USBCom_SendBufNow(int _Port, uint8_t *_Buf, uint16_t _Len) /* ********************************************************************************************************* -* : USBCom_SendBuf -* ˵: һݵUSB, 棬 -* : -* ֵ: +* 鍑?鏁?鍚? USBCom_SendBuf +* 锷熻兘璇存槑: 鍙戦€佷竴涓叉暟鎹埌USB涓插彛, 浠呬粎缂揿瓨锛屼笉鍙戦€? +* 褰? 鍙? 镞? +* 杩?锲?链? 镞? ********************************************************************************************************* */ uint8_t USBCom_SendBuf(int _Port, uint8_t *_Buf, uint16_t _Len) diff --git a/User/usbd_virtual_com/usbd_cdc_interface.h b/User/usbd_virtual_com/usbd_cdc_interface.h index ce54319..e266657 100755 --- a/User/usbd_virtual_com/usbd_cdc_interface.h +++ b/User/usbd_virtual_com/usbd_cdc_interface.h @@ -51,17 +51,17 @@ #include "usbd_cdc.h" /* - H7-TOOL ⴮ڣRS232 RS485TTL-UARTʹõPA9 PA10 + H7-TOOL 虚拟串口(RS232, RS485,TTL-UART)使用的PA9 PA10 PA9/USART1_TX/PE13/FMC_D10 PA10/USART1_RX/PE14/FMC_D11 - ʱESP32ʱԽӳ䵽UART4ڣͨPCֲATָ + 临时调试ESP32时,可以将其映射到UART4口,通过PC串口助手测试AT指令。 PH13/UART4_TX PH14/UART4_RX */ -/* AڣBл */ -#if 1 /* H7-TOOL ȱʡʹUART */ +/* 定义物理串口 A口,B口切换 */ +#if 1 /* H7-TOOL 缺省使用这个UART */ #define A_USARTx USART1 #define A_USARTx_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE() @@ -102,7 +102,7 @@ #define A_USARTx_DMA_RX_IRQHandler DMA1_Stream5_IRQHandler #endif -#if 1 /* H7-TOOL ESP32ģ̼ʱʹUART */ +#if 1 /* H7-TOOL 升级ESP32模块固件时使用这个UART */ #define B_USARTx UART4 #define B_USARTx_CLK_ENABLE() __HAL_RCC_UART4_CLK_ENABLE() @@ -143,7 +143,7 @@ #endif -/* Definition for TIMx clock resources . TIM3 DSOʾADCԴ */ +/* Definition for TIMx clock resources . TIM3 用于DSO示波器ADC触发源 */ #define TIMx TIM15 #define TIMx_CLK_ENABLE __HAL_RCC_TIM15_CLK_ENABLE #define TIMx_FORCE_RESET() __HAL_RCC_TIM15_FORCE_RESET() diff --git a/User/usbd_virtual_com/usbd_it.c b/User/usbd_virtual_com/usbd_it.c index 664046f..8cbb56a 100755 --- a/User/usbd_virtual_com/usbd_it.c +++ b/User/usbd_virtual_com/usbd_it.c @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : USB device жϷ -* ļ : usb_it.c -* : V1.0 -* ˵ : ļUSB deviceжϷֻ轫ļ빤̼ɣٵ stm32f4xx_it.c ЩISR +* 妯″潡鍚岖О : USB device 涓柇链嶅姟绋嫔簭 +* 鏂囦欢鍚岖О : usb_it.c +* 鐗? 链?: V1.0 +* 璇? 鏄?: 链枃浠跺瓨鏀绾SB device涓柇链嶅姟绋嫔簭銆傚彧闇€灏呜鏂囦欢锷犲叆宸ョ▼鍗冲彲锛屾棤闇€鍐嶅埌 stm32f4xx_it.c 涓坊锷犺繖浜汭SR绋嫔簭 * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-09-08 armfly ʽ +* 淇敼璁板綍 : +* 鐗堟湰鍙? 镞ユ湡 浣滆€? 璇存槑 +* V1.0 2018-09-08 armfly 姝e纺鍙戝竷 * -* Copyright (C), 2018-2030, www.armfly.com +* Copyright (C), 2018-2030, 瀹夊瘜銮辩数瀛?www.armfly.com * ********************************************************************************************************* */ diff --git a/User/usbd_virtual_com/usbd_user.c b/User/usbd_virtual_com/usbd_user.c index 358cbbb..dd2004a 100755 --- a/User/usbd_virtual_com/usbd_user.c +++ b/User/usbd_virtual_com/usbd_user.c @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : USB devie ⴮ -* ļ : usbd_user.c -* : V1.0 -* ˵ : װ⴮ڲṩAPPʹ. +* 妯″潡鍚岖О : USB devie 铏氭嫙涓插彛椹卞姩 +* 鏂囦欢鍚岖О : usbd_user.c +* 鐗? 链?: V1.0 +* 璇? 鏄?: 灏佽铏氭嫙涓插彛鎿崭綔鍑芥暟锛屾彁渚涚粰APP浣跨敤. * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-12-11 armfly ʽ +* 淇敼璁板綍 : +* 鐗堟湰鍙? 镞ユ湡 浣滆€? 璇存槑 +* V1.0 2018-12-11 armfly 姝e纺鍙戝竷 * -* Copyright (C), 2018-2030, www.armfly.com +* Copyright (C), 2018-2030, 瀹夊瘜銮辩数瀛?www.armfly.com * ********************************************************************************************************* */ @@ -23,15 +23,15 @@ extern PCD_HandleTypeDef hpcd; extern void SelectCDCUart(uint8_t _com); /* ********************************************************************************************************* -* : usbd_OpenCDC -* ˵: USB -* : _com : 1, 4 -* ֵ: +* 鍑?鏁?鍚? usbd_OpenCDC +* 锷熻兘璇存槑: 镓揿紑USB +* 褰? 鍙? _com : 1, 4 +* 杩?锲?链? 镞? ********************************************************************************************************* */ void usbd_OpenCDC(uint8_t _com) { - SelectCDCUart(_com); /* ѡuart1uart4Ϊ⴮ */ + SelectCDCUart(_com); /* 阃夋嫨uart1鎴杣art4浣滀负铏氭嫙涓插彛 */ /* Init Device Library */ USBD_Init(&USBD_Device, &VCP_Desc, 0); @@ -48,10 +48,10 @@ void usbd_OpenCDC(uint8_t _com) /* ********************************************************************************************************* -* : usbd_CloseCDC -* ˵: رUSB -* : -* ֵ: +* 鍑?鏁?鍚? usbd_CloseCDC +* 锷熻兘璇存槑: 鍏抽棴USB +* 褰? 鍙? 镞? +* 杩?锲?链? 镞? ********************************************************************************************************* */ void usbd_CloseCDC(void) @@ -66,4 +66,4 @@ void usbd_CloseCDC(void) USBD_DeInit(&USBD_Device); } -/***************************** www.armfly.com (END OF FILE) *********************************/ +/***************************** 瀹夊瘜銮辩数瀛?www.armfly.com (END OF FILE) *********************************/ diff --git a/User/usbd_virtual_com/usbd_user.h b/User/usbd_virtual_com/usbd_user.h index 0da040d..0b8b92b 100755 --- a/User/usbd_virtual_com/usbd_user.h +++ b/User/usbd_virtual_com/usbd_user.h @@ -1,16 +1,16 @@ /* ********************************************************************************************************* * -* ģ : USB devie ⴮ -* ļ : usbd_user.h -* : V1.0 -* ˵ : װ⴮ڲṩAPPʹ. +* 模块名称 : USB devie 虚拟串口驱动 +* 文件名称 : usbd_user.h +* 版 本 : V1.0 +* 说 明 : 封装虚拟串口操作函数,提供给APP使用. * -* ޸ļ¼ : -* 汾 ˵ -* V1.0 2018-12-11 armfly ʽ +* 修改记录 : +* 版本号 日期 作者 说明 +* V1.0 2018-12-11 armfly 正式发布 * -* Copyright (C), 2018-2030, www.armfly.com +* Copyright (C), 2018-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */ diff --git a/删除目标文件(用于打包备份).bat b/删除目标文件(用于打包备份).bat index 7d49e36..e71e66c 100755 --- a/删除目标文件(用于打包备份).bat +++ b/删除目标文件(用于打包备份).bat @@ -4,7 +4,8 @@ rd /Q /S project\MDK-ARM(uV5)\DebugConfig del /Q project\MDK-ARM(uV5)\*.bak del /Q project\MDK-ARM(uV5)\*.dep del /Q project\MDK-ARM(uV5)\JLink* -del /Q project\MDK-ARM(uV5)\project.uvgui.* +del /Q project\MDK-ARM(uV5)\project.uvguix.* +del /Q project\MDK-ARM(uV5)\*.scvd rd /Q /S project\MDK5-DAPLink\Objects rd /Q /S project\MDK5-DAPLink\Listings