commit 4d73a57b11cca4896d26ef6a6fb0ae9790f7b51c Author: Alex xu Date: Mon Aug 19 11:15:53 2024 +0800 为华客户W13项目源码。 diff --git a/Out/SY883X_EVB_mcu_2024_08_16_142810.bin b/Out/SY883X_EVB_mcu_2024_08_16_142810.bin new file mode 100644 index 0000000..e5c6d43 Binary files /dev/null and b/Out/SY883X_EVB_mcu_2024_08_16_142810.bin differ diff --git a/Out/SY883X_EVB_mcu_2024_08_16_142810.hex b/Out/SY883X_EVB_mcu_2024_08_16_142810.hex new file mode 100644 index 0000000..fab53a2 --- /dev/null +++ b/Out/SY883X_EVB_mcu_2024_08_16_142810.hex @@ -0,0 +1,231 @@ +:0300000002076C88 +:10076C00758E3075D20078FFE4F6D8FD7581C20223 +:02077C0007B9BB +:0F0BD30012087FD2AED2BE120B521207FE80F470 +:0404EE0002BF000049 +:020ADB00AD0765 +:100ADD00E4FCFBFAF54EF54F75FE2975FF8BEDC461 +:100AED0054F04401F5A5E5A520E0FBAFA1AB07AFA0 +:100AFD00A2EFFEEEFAEB254FF54FEA354EF54E0C13 +:100B0D00BC08DBE54FAE4E7803CEC313CE13D8F938 +:010B1D00FFD8 +:010B1E0022B4 +:100B1F00E4F54CF54D7F05120ADB8E4C8F4D7F06A9 +:100B2F00120ADBE4FCFDC004A905AA06AB07AE4C14 +:100B3F00AF4D7C077DD01204C1D0001204098E4C3A +:020B4F008F4DC8 +:010B51002281 +:0204F200C11730 +:1009B100E5E620E70953B3FE75F210C21722E5F20E +:1009C100540C601053B3FEE5F354C0603475F20C5F +:1009D10075F3C022E5F354C0600375F3C0E5F2304E +:1009E100E41AC378C0E694EB18E6940F500575F24B +:1009F10010800353B3FED217E4F5452243B301C27D +:020A01001722BA +:0404F400C115C11657 +:100A9500E5E530E103C21522E5E230E705C215D2EE +:100AA5001622E5E830E00EC215301229C21275E8AB +:100AB5000175B50122D21530161BE5E630E716C3E0 +:100AC50078C0E6941018E6940E4005D215C2162299 +:060AD500E4F5B5C2152294 +:1004F800013EBC19250000000000000000000000BB +:10050800000000000000000000000000000020467D +:1005180051060708090A0B180708181818181806AA +:10052800070C0A09181806070C080918180B0C07F5 +:1005380008181818060B0C08091818060B0C0809D7 +:100548000A1806070818181818060B0C08090A07CD +:10055800060708090B0C181497181818180018180B +:100568001800011818000102180001020314AB1842 +:10057800181818141818181415181814151618140B +:030588001516172E +:10005E000524120A03E524D394184003752401E500 +:10006E002412049B00BE0100D20200E60300FA0433 +:10007E00010E05012206013607014A08015E09013B +:10008E00720A01860B019A0C01AD0D01C10E01D54C +:10009E000F01E91002031102161202261302361482 +:1000AE00024615025D16027417028B18000002A09C +:1000BE0075FE0643FF20D285E5256401600302022A +:1000CE00A002026B75FE0643FF20D285E526640171 +:1000DE0060030202A002028275FE0643FF20D28553 +:1000EE00E527640160030202A002029875FE064332 +:1000FE00FF20D285E528640160030202A00201FA06 +:10010E0075FE0643FF10D284E539640160030202D6 +:10011E00A002025475FE0643FF10D284E53A640134 +:10012E0060030202A002028275FE0643FF10D28413 +:10013E00E53B640160030202A002029875FE0643CD +:10014E00FF10D284E53C640160030202A00201FAB2 +:10015E0075FE0643FF08D283E5296401600302029F +:10016E00A002025475FE0643FF08D283E52B6401FC +:10017E0060030202A002026B75FE0643FF08D283E3 +:10018E00E530640160030202A002029875FE064388 +:10019E00FF08D283E531640160030202A0804D7531 +:1001AE00FE0643FF04D282E52F640160030202A023 +:1001BE0002025475FE0643FF04D282E52E640160EE +:1001CE00030202A002026B75FE0643FF04D282E513 +:1001DE002D640160030202A002028275FE0643FF37 +:1001EE0004D282E536640160030202A075FE064366 +:1001FE00FF02C2812275FE0643FF02D281E52C6406 +:10020E000160030202A0803E75FE0643FF02D2810A +:10021E00E5376401707C804575FE0643FF02D2818E +:10022E00E5326401706C804C75FE0643FF02D2818C +:10023E00E5336401705C805275FE0643FF01D28087 +:10024E00E5386401704C75FE0643FF20C2852275A9 +:10025E00FE0643FF01D280E5346401703575FE065B +:10026E0043FF10C2842275FE0643FF01D280E5359E +:10027E006401701E75FE0643FF08C2832275FE06DA +:10028E0043FF01D280E52AB4010875FE0643FF0440 +:02029E00C2821A +:0102A000223B +:09000E007F197825E4F608DFFCF7 +:0100170022C6 +:090040007F107829E4F608DFFCCA +:010049002294 +:02095200AE07EE +:10095400E4FDFCF9FFFB120040EE75F06484F9EE4F +:1009640075F06484ABF0EB75F00A84FFEB75F00A64 +:1009740084ABF0E96006752901752A01E4FDEED324 +:100984009409400FEF75F007A424512DF8E62425AF +:10099400F87601EB75F007A424512DF8E6FC6418F1 +:0C09A4006006742C2CF876010DBD07D203 +:0109B0002224 +:10001E00E4FD7E047839E4F608DEFCE4FEEF25E02C +:10002E0025E024AB2EF8E6FD2425F876010EBE045D +:01003E00ECD5 +:01003F00229E +:100B8300E4FD7E047825E4F608DEFCE4FEEF25E0D0 +:100B930025E024972EF8E6FD2425F876010EBE0401 +:010BA300EC65 +:010BA400222E +:100A030075FE0653FFDF75FE0543FF2075FE065393 +:100A1300FFEF75FE0543FF1075FE0653FFF775FEE6 +:100A23000543FF0875FE0653FFFB75FE0543FF04F0 +:100A330075FE0653FFFD75FE0543FF0275FE065363 +:090A4300FFFE75FE0543FF0122D0 +:05058B0001500AC11837 +:100BBD00E5E620E709200F06200E03301805C218C0 +:060BCD007F00227F0122DF +:10087F00E4F5D275FE8943FF8075FE8075FF3075F4 +:10088F00FE0153FFFC75B7C3758901758CFC758A22 +:10089F0017D2A9D28C438910758DFE758B0BD2ABF5 +:1008AF00D28E75868075FE1775FF3CD2A8D2B9D24D +:1008BF00BBD2AF75F21C75F3C075E80C75FE87538C +:1008CF00FFDF43B31075FE7043FF0475FE0F53FF38 +:1008DF00F3AF3E1209527F0412001E7F04020B83F6 +:03000300020006F2 +:0100060032C7 +:03004B0002004E62 +:06004E0075EB3CD21832F4 +:03005B000200544C +:0600540075F30CD2183216 +:100590000141FF014500014400C105014300014242 +:1005A00000013F00C102C107014000C104C103C1F5 +:0705B00008C106C101C100F2 +:1002A100E4F54C78C2E6FF6541601B20020DEF606A +:1002B1005ED20275F00AA4F53E80548F41EF75F0CD +:1002C1000AA4F5448049053FE53FD395404040E409 +:1002D100F53FE5E630E71CE5442409FFE433FEC3BE +:1002E100E53E9FEE6480F87480985002053E7540AB +:1002F1001E8012200F03300E0CE53ED395444002C0 +:10030100153E75403CE53ED394644003753E642040 +:1003110002030203CCE5E630E748301718E545C390 +:10032100940A500C0545753E64AF3E120952802E69 +:1003310012000E8029200515754C0D7425254CF8E9 +:10034100E4F6054CE54CB414F2D2058011E53EC348 +:1003510094634003753E63AF3E120952C205D20752 +:10036100802E200306200403300722200F18200EC0 +:1003710015E545C39405500305452212000EC2033D +:10038100C204C207800AAF3E120952800312000E56 +:10039100300F16200813AF4312001E0543E543D367 +:1003A1009404400A7543018005E4FF12001E300EDB +:1003B10015200612AF42120B830542E542D3940485 +:0B03C100400975420122E4FF120B838B +:0103CC00220E +:1007FE0030111BC211120A951209B1120B1F78BFCC +:10080E00A60608A6071208EF12060C1206BC301335 +:10081E005FC2131202A1E550D39400400915503067 +:10082E00184EC2188047120BBDEF604175FE24436F +:10083E00FF3CC2ABC2BBC2B9C2A9C29053B7CFE490 +:10084E00F5B575FE2953FF7F75FE0653FFC075FE85 +:10085E000553FFC075FE8053FFCF43870275FE80A0 +:10086E0043FF30D2BBD2B9D2A9D2AB800075500AA9 +:01087E002257 +:1005B700C10FC10E014602014800014702014A006E +:1005C700014900014B00C110C109C10CC10AC10D8D +:0205D700C10B56 +:10060C002015030206A1E54614601A14606D24023D +:10061C0060030206A4E5B720E40653B7EF43B71016 +:10062C007546018073E5E35424FFBF241C300A0691 +:10063C00C20AD206D20C0548E548C394284059E4B6 +:10064C00F54853B7EFD210804FE5E35424FFBF2099 +:10065C001BE4F548D20E300C07C20CC2068543428F +:10066C00D20A301033C20EE4F545802CE5E3542455 +:10067C007026754602C203C210801D53B7EFE4F515 +:10068C0048C20EE5E330E510E4F54675B501D2033A +:10069C008543428003754602E5E830E2120549E5E0 +:1006AC0049C394024009E4F54975E80475460222F1 +:1006BC00201503020751E54714601A14606D2402DB +:1006CC006003020754E5B720E50653B7DF43B720B4 +:1006DC007547018073E5E35488FFBF881C300B0617 +:1006EC00C20BD208D20D054AE54AC394284059E4FE +:1006FC00F54A53B7DFD209804FE5E35488FFBF803A +:10070C001BE4F54AD20F300D07C20DC208854243D7 +:10071C00D20B300933C20FE4F545802CE5E3548845 +:10072C007026754702C204C209801D53B7DFE4F579 +:10073C004AC20FE5E330E710E4F54775B501D20482 +:10074C008542438003754602E5E830E312054BE52C +:10075C004BC394024009E4F54B75E8087547022237 +:1005D90001C200C11901C13214080D7A0E420E740C +:0E05E9000EA10EC90F0A0F5F0F3C0FD2106853 +:1008EF00E4FFEF25E02408F8E6FC08E6FDC378C036 +:1008FF00E69D18E69C40040FBF0AE7E5E16009E4B6 +:10090F00F5E178C2A607D20778C2E6FEEFD39E4084 +:10091F00041806800378C11678C1E6FED3945A50A6 +:10092F0006EEC3940A500778C2A60718763278C22B +:10093F00E6FFD394015003D21922EFD39402400261 +:02094F00C219CB +:010951002283 +:1005F700011D00011C00011E00C112C111C1130120 +:040607001F00C114FB +:100B5200E51F602CE4F51F051CE51CC394644005E9 +:100B6200E4F51CD211051DE51DC394FA4012E4F50B +:100B72001DD212051EE51E94044005E4F51ED21393 +:010B82002250 +:03000B00020BA540 +:100BA500C0E0C0D074FC258CF58C7417258AF58AB5 +:080BB500751F01D0D0D0E03221 +:03001B00020A4C8A +:100A4C00C0E0C0F0C083C082C0D075D000C000C070 +:100A5C0001C002C003C004C005C006C007C28F1588 +:100A6C008D158D740B258BF58B12005ED214D0076F +:100A7C00D006D005D004D003D002D001D000D0D005 +:090A8C00D082D083D0F0D0E0321A +:030BFD00010101F2 +:10077E00020BD3E493A3F8E493A34003F68001F2B3 +:10078E0008DFF48029E493A3F85407240CC8C3337C +:10079E00C4540F4420C8834004F456800146F6DF4B +:1007AE00E4800B01020408102040809004EEE47EE9 +:1007BE00019360BCA3FF543F30E509541FFEE49340 +:1007CE00A360010ECF54C025E060A840B8E493A307 +:1007DE00FAE493A3F8E493A3C8C582C8CAC583CA32 +:1007EE00F0A3C8C582C8CAC583CADFE9DEE780BEEA +:01060B0000EE +:1003CD0075F008758200EF2FFFEE33FECD33CDCCE7 +:1003DD0033CCC58233C5829BED9AEC99E58298406A +:1003ED000CF582EE9BFEED9AFDEC99FC0FD5F0D647 +:1003FD00E4CEFBE4CDFAE4CCF9A88222B800C1B971 +:10040D000059BA002DEC8BF084CFCECDFCE5F0CBAE +:10041D00F97818EF2FFFEE33FEED33FDEC33FCEBE7 +:10042D0033FB10D703994004EB99FB0FD8E5E4F9A2 +:10043D00FA227818EF2FFFEE33FEED33FDEC33FC8F +:10044D00C933C910D7059BE99A4007EC9BFCE99A83 +:10045D00F90FD8E0E4C9FAE4CCFB2275F010EF2FC8 +:10046D00FFEE33FEED33FDCC33CCC833C810D707C8 +:10047D009BEC9AE899400AED9BFDEC9AFCE899F803 +:0E048D000FD5F0DAE4CDFBE4CCFAE4C8F92296 +:10049B00D083D082F8E4937012740193700DA3A3F0 +:1004AB0093F8740193F5828883E473740293686004 +:0604BB00EFA3A3A380DF04 +:1004C100EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DC8 +:1004D100FDE43CFCE8A42EC8C5F03DFDE43CFCEF86 +:0D04E100A4FFE5F028FEE43DFDE43CFC2214 +:00000001FF diff --git a/Out/SY883X_EVB_mcu_2024_08_16_142810_crc(1450)_V010101-W13.bin b/Out/SY883X_EVB_mcu_2024_08_16_142810_crc(1450)_V010101-W13.bin new file mode 100644 index 0000000..70712ab Binary files /dev/null and b/Out/SY883X_EVB_mcu_2024_08_16_142810_crc(1450)_V010101-W13.bin differ diff --git a/Project/HEXBIN.bat b/Project/HEXBIN.bat new file mode 100644 index 0000000..6585429 --- /dev/null +++ b/Project/HEXBIN.bat @@ -0,0 +1,71 @@ +:: @File Name: HEXBIN.bat +:: @Version : 1.0 +:: @Author : Alex-XU +:: @Creat Date : 2023-03-30 +:: @Brief : +:: 在keil中,生成hex、bin文件到 Out 文件夹中. +:: 复制本文件到keil工程文件所在目录下(/Project目录下) +:: 在keil 魔法棒USER里填写 +:: .\Out.bat $K !P @P +:: $K hextobin转换工具位置 !P 工程名 @P 工程目录 +:: .\HEXBIN.bat .\Objects\hex2bin_TP.exe mcu \Objects\ + +::关闭显示 +@echo off +::获取时间 +set year=%date:~0,4% +set month=%date:~5,2% +set day=%date:~8,2% +set hour=%time:~0,2% +set min=%time:~3,2% +set sec=%time:~6,2% +::创建输出文件夹 Out +if exist .\..\Out ( + echo Out file exist +) else ( + mkdir .\..\Out +) + +::设置hex2bin_TP.exe位置 ,\Objects\hex2bin_TP.exe +set exe_location=%1 +::获取工程名 mcu.hex +set project_name=%3 +::设置.hex文件所在目录路径\Objects\ +set crc_path=%2 +::设置.hex文件所在目录路径\Objects\ +set obj_path=%4 +::设置输出后的文件名 +set output_nameTmp=SY883X_EVB_%project_name%_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% +::如果hour小于10,会有空格,下面这句话可以除去字符串中的空格,并用0代替。 +set output_name=%output_nameTmp: =0% + +::将bin文件生成到HEXBIN文件夹 >nul屏蔽成功命令 .\Objects\hex2bin_TP.exe .\Objects\mcu.hex .\Objects\bin.bin 3 0 +%exe_location% .%obj_path%%project_name%.hex .%obj_path%%output_name%.bin 3 0 >nul +::将hex文件重命名 +ren .%obj_path%%project_name%.hex %output_name%.hex >nul + +ECHO Add CRC16 At the end of the .bin file +ECHO ------------------------------------- + +SET SREC_PATH=D:\Keil_v5\SREC + +for /f %%i in ('dir /s /b .%obj_path%%output_name%.bin') do ( +set indexdx=%%~zi +) + +ECHO --- size= %indexdx% Bytes --- +::计算程序CRC16校验和,并加在.bin文件最后 +ECHO %SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary +%SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary + +::获取软件CRC校验和以及版本号 +%crc_path% .%obj_path%%output_name%_crc.bin + +del /q ..\Out\*.* +::将hex文件复制到HEXBIN文件夹 +move .%obj_path%%output_name%.hex .\..\Out >nul +move .%obj_path%%output_name%.bin .\..\Out >nul +::del .%obj_path%%output_name%.hex +::del .%obj_path%%output_name%.bin +del .%obj_path%%output_name%_crc.bin +move .%obj_path%%output_name%_crc(*.bin .\..\Out >nul diff --git a/Project/TP3102_Demo.uvgui.GH b/Project/TP3102_Demo.uvgui.GH new file mode 100644 index 0000000..33a2437 --- /dev/null +++ b/Project/TP3102_Demo.uvgui.GH @@ -0,0 +1,3637 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + E:\todaywork\20240325_tp3310\SY883X_Demo\SY883X_Vox_Adt\UsrSrc + + + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 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 + 500 + 166 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -1 + -1 + + + -1 + -1 + + + 86 + 8 + 1928 + 1048 + + + + 0 + + 493 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000300000002000000010000004F453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F4769745C5359383833585F566F785F4164745C557372496E635C696E635C646566696E652E680000000008646566696E652E6800000000C5D4F200FFFFFFFF4F453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F4769745C5359383833585F566F785F4164745C557372496E635C696E635C636F6E6669672E680000000008636F6E6669672E6800000000FFDC7800FFFFFFFF54453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F4769745C5359383833585F566F785F4164745C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000BC020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + 7408000066000000100D0000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000B2020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000B2020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000B2020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000B2020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000E302000080070000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E60200007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 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 + A4000000BB0000009401000086010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000B2020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E60200007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E60200007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E60200007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000E60200007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 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 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 476 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000CB020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000800700006600000070080000E2020000000000004F000000F0000000CB0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000030020000100D0000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000CB02000080070000CF02000001000000010000100400000001000000D5FDFFFF61010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080070000E6020000000F0000FD03000000000000CF02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2763 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B960000000000000008001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B197379363230785F6972715F68616E646C65725F746872656164044E4F4E4511677379363230785F6465766963655F7379144932435F4745545F4F574E5F4144445245535331144932435F4745545F4F574E5F41444452455353320C4932435F4F4152325F4F41321E48414C5F534D4255535F4D6173746572527843706C7443616C6C6261636B0000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000080070000DF000000 + + + 16 + 7408000066000000000F0000F6000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 3C000000530000005801000093020000 + + + + 1465 + 1465 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1935 + 1935 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 3C000000530000005801000093020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 3C000000530000005801000093020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 198 + 198 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 0000000042030000C0030000E6030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000080070000DF000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 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 + 3C000000530000002C0100001E010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000025030000 + + + 16 + 3C000000530000005801000093020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C000000530000005801000093020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C000000530000005801000093020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 3C000000530000005801000093020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D070000C6000000 + + + 16 + 3C0000005300000004030000E3000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 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 + 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 + 4096 + 0 + + 16 + C7030000590300007D070000CD030000 + + + 16 + 3C000000530000002C0100001E010000 + + + + 3311 + 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000007408000066000000000F0000F6000000F40000004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080070000660000007008000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000440B000059030000000F0000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008007000044020000100D0000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 2 + + \todaywork\20240325_tp3310\SY883X_Demo_Git\SY883X_Vox_Adt\UsrInc\inc\define.h + 91 + 1 + 27 + 1 + + 0 + + + \todaywork\20240325_tp3310\SY883X_Demo_Git\SY883X_Vox_Adt\UsrInc\inc\config.h + 0 + 1 + 1 + 1 + + 0 + + + ..\UsrSrc\userapp\userapp.c + 14 + 373 + 389 + 1 + + 0 + + + + +
diff --git a/Project/TP3102_Demo.uvgui.GH.bak b/Project/TP3102_Demo.uvgui.GH.bak new file mode 100644 index 0000000..ba6c2fa --- /dev/null +++ b/Project/TP3102_Demo.uvgui.GH.bak @@ -0,0 +1,3682 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + C:\Users\GH\Desktop\todaywork\20220818_tp3102_git\TP3102_Demo_20230329\Src\startup + + + + + + + 38003 + Registers + 115 115 + + + 346 + Code Coverage + 1010 660 + + + 204 + Performance Analyzer + 1670 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 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 + 500 + 166 + + + + + + + + 0 + 0 + 0 + 50 + 16 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 12 + -254 + 1680 + 1036 + + + + 0 + + 1099 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000800000000000000010000004E433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF59433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000FFDC7800FFFFFFFF60433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C636861726765725C636861726765725F6D6F64756C652E630000000010636861726765725F6D6F64756C652E6300000000BECEA100FFFFFFFF58433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000F0A0A100FFFFFFFF54433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C557372496E635C696E635C646566696E652E680000000008646566696E652E6800000000BCA8E100FFFFFFFF5B433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C7761746368646F675C7761746368646F672E63000000000A7761746368646F672E63000000009CC1B600FFFFFFFF57433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C74696D65725C7379735F74696D2E6300000000097379735F74696D2E6300000000F7B88600FFFFFFFF5B433A5C55736572735C47485C4465736B746F705C746F646179776F726B5C32303232303831385F7470333130325F6769745C5450333130325F44656D6F5F4F4B5C5573725372635C766F785F636F6D6D5C564F585F434F4D4D2E43000000000A564F585F434F4D4D2E4300000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000061020000 + + + + 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 + 0300000066000000ED00000031020000 + + + 16 + 70000000870000006001000052010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000031020000 + + + 16 + 70000000870000008C010000C7020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + 63000000D6010000E307000006040000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 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 + F7000000660000008D050000C6000000 + + + 16 + 70000000870000003803000017010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + 63000000D6010000E307000006040000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000031020000 + + + 16 + 70000000870000008C010000C7020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000031020000 + + + 16 + 70000000870000008C010000C7020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000006202000080070000E6030000 + + + 16 + 670700009B020000E70E0000FF030000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0000000053000000800700004A020000 + + + 16 + 63000000D6010000E307000006040000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000650200007D070000CD030000 + + + 16 + 670700009B020000E70E0000FF030000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 70000000870000003803000017010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 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 + 22000000390000001201000004010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 70000000870000003803000017010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 70000000870000003803000017010000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 22000000390000001201000004010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 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 + 22000000390000001201000004010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000031020000 + + + 16 + 70000000870000008C010000C7020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000650200007D070000CD030000 + + + 16 + D1FFFFFF1F03000051070000FB030000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000650200007D070000CD030000 + + + 16 + 670700009B020000E70E0000FF030000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000650200007D070000CD030000 + + + 16 + D1FFFFFF1F03000051070000FB030000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000650200007D070000CD030000 + + + 16 + D1FFFFFF1F03000051070000FB030000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 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 + 22000000390000001201000004010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 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 + 966 + 0 + 8192 + 0 + + 16 + 0000000000000000D10300001C000000 + + + 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 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 030000006A0000007D07000007020000 + + + 16 + B40300001702000070070000E2030000 + + + + 3312 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004A020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000061020000000000004F000000F00000004A0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000004F000000800700005300000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002E01000080070000FB020000000000005300000080070000E402000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004A020000800700004E0200000100000001000010040000000100000076FEFFFF02020000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000006502000080070000FD030000000000004E02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + 1 + Debug + + -1 + -1 + 1 + 1 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000004F00000078000000E6030000 + + + 16 + 63000000D6010000E307000006040000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000CD030000 + + + 16 + 22000000390000001201000004010000 + + + + 109 + 109 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000099010000 + + + 16 + 22000000390000003E01000079020000 + + + + 1465 + 1465 + 1 + 1 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000075000000CD030000 + + + 16 + 63000000D6010000E307000006040000 + + + + 1466 + 1466 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1467 + 1467 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1468 + 1468 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 1935 + 1935 + 1 + 1 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000075000000CD030000 + + + 16 + 63000000D6010000E307000006040000 + + + + 1936 + 1936 + 1 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1937 + 1937 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1939 + 1939 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1940 + 1940 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1941 + 1941 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 1942 + 1942 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 195 + 195 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000099010000 + + + 16 + 22000000390000003E01000079020000 + + + + 196 + 196 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000099010000 + + + 16 + 22000000390000003E01000079020000 + + + + 197 + 197 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 198 + 198 + 1 + 1 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000006600000075000000CD030000 + + + 16 + 63000000D6010000E307000006040000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 203 + 203 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F4000000630000008007000074000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 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 + 22000000390000001201000004010000 + + + + 2507 + 2507 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 22000000390000001201000004010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 38003 + 38003 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000CD030000 + + + 16 + 22000000390000003E01000079020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 437 + 437 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 440 + 440 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000440200008D050000A4020000 + + + 16 + 22000000390000003E01000079020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000007D07000066000000 + + + 16 + 2200000039000000EA020000C9000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D05000010020000 + + + 16 + 22000000390000001201000004010000 + + + + 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 + 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 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + C7030000320200007D070000CD030000 + + + 16 + B40300001702000070070000E2030000 + + + + 2879 + 0000000008000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000740000008007000078000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F400000066000000800700008B000000F40000004F00000080070000740000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000E60300000100000002000010040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F0000000C9010000000000004F000000F0000000E60300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF040000000000000002000000000000000000000002000000FFFFFFFFFCFFFFFF4F00000000000000E6030000000000000200000004000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC500000001000000FFFF02001200434D756C746950616E654672616D65576E640001009463000000D6010000E30700000604000001000000FFFFFFFF0200000000000000FFFFFFFF03000000C6000000B90500008F0700000180002000000100000063000000D6010000E307000006040000000000004F00000078000000E603000000000000404100560300000007436F6D6D616E6401000000C600000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF1343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC60000000000000000000000 + + + 59392 + File + + 2537 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 0 + + ..\UsrSrc\main.c + 0 + 52 + 57 + 1 + + 0 + + + ..\UsrSrc\userapp\userapp.c + 8 + 380 + 416 + 1 + + 0 + + + ..\UsrSrc\charger\charger_module.c + 2 + 140 + 152 + 1 + + 0 + + + ..\Src\startup\STARTUP.A51 + 0 + 118 + 126 + 1 + + 0 + + + ..\UsrInc\inc\define.h + 1 + 43 + 44 + 1 + + 0 + + + ..\UsrSrc\watchdog\watchdog.c + 0 + 39 + 95 + 1 + + 0 + + + ..\UsrSrc\timer\sys_tim.c + 0 + 97 + 105 + 1 + + 0 + + + ..\UsrSrc\vox_comm\vox_comm.c + 50 + 455 + 471 + 1 + + 0 + + + + +
diff --git a/Project/TP3102_Demo.uvopt b/Project/TP3102_Demo.uvopt new file mode 100644 index 0000000..a72de17 --- /dev/null +++ b/Project/TP3102_Demo.uvopt @@ -0,0 +1,461 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Target 1 + 0x0 + MCS-51 + + 12000000 + + 1 + 1 + 1 + 0 + 0 + + + 0 + 65535 + 0 + 0 + 0 + + + 120 + 65 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + + 0 + Data Sheet + DATASHTS\CAST\CAST_R8051XC.PDF + + + + 1 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 10 + + + + + + + + + + + BIN\SY8831.dll + + + + 0 + DLGDC51 + (94=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(81=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(1201=-1,-1,-1,-1,0)(90=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(5045=-1,-1,-1,-1,0)(5046=-1,-1,-1,-1,0)(5031=-1,-1,-1,-1,0)(104=-1,-1,-1,-1,0)(5015=-1,-1,-1,-1,0)(5160=-1,-1,-1,-1,0)(5057=-1,-1,-1,-1,0)(5166=-1,-1,-1,-1,0)(5164=-1,-1,-1,-1,0)(5165=-1,-1,-1,-1,0) + + + 0 + SY8831 + -S14 -B921600 -O1799 + + + 0 + DLGTC51 + + + + 0 + TP3102 + -S14 -B921600 -O1799 + + + + + + 0 + 1 + n_ADC_Plus,0x0A + + + 1 + 1 + n_Vbat_Data,0x0A + + + 2 + 1 + F_sys_tim_1s + + + 3 + 1 + Protect_Type_Flg + + + 4 + 1 + Decnt_SleepDelay + + + + + 1 + 0 + X:0 + 0 + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + + + + Startup + 1 + 0 + 0 + 0 + + 1 + 1 + 2 + 0 + 0 + 0 + ..\Src\startup\STARTUP.A51 + STARTUP.A51 + 0 + 0 + + + + + UsrSrc + 1 + 0 + 0 + 0 + + 2 + 2 + 1 + 1 + 0 + 0 + ..\UsrSrc\main.c + main.c + 0 + 0 + + + 2 + 3 + 1 + 0 + 0 + 0 + ..\UsrSrc\adc\adc.c + adc.c + 0 + 0 + + + 2 + 4 + 1 + 1 + 0 + 0 + ..\UsrSrc\charger\charger_module.c + charger_module.c + 0 + 0 + + + 2 + 5 + 1 + 0 + 0 + 0 + ..\UsrSrc\discharge\discharge_module.c + discharge_module.c + 0 + 0 + + + 2 + 6 + 1 + 0 + 0 + 0 + ..\UsrSrc\gpio\gpio.c + gpio.c + 0 + 0 + + + 2 + 7 + 1 + 0 + 0 + 0 + ..\UsrSrc\hall\hall.c + hall.c + 0 + 0 + + + 2 + 8 + 1 + 0 + 0 + 0 + ..\UsrSrc\key\key.c + key.c + 0 + 0 + + + 2 + 9 + 1 + 0 + 0 + 0 + ..\UsrSrc\led\led.c + led.c + 0 + 0 + + + 2 + 10 + 1 + 0 + 0 + 0 + ..\UsrSrc\sleep\sleep.c + sleep.c + 0 + 0 + + + 2 + 11 + 1 + 0 + 0 + 0 + ..\UsrSrc\system\system.c + system.c + 0 + 0 + + + 2 + 12 + 1 + 0 + 0 + 0 + ..\UsrSrc\uart\uart.c + uart.c + 0 + 0 + + + 2 + 13 + 1 + 0 + 0 + 0 + ..\UsrSrc\userapp\userapp.c + userapp.c + 0 + 0 + + + 2 + 14 + 1 + 0 + 0 + 0 + ..\UsrSrc\vox\vox_module.c + vox_module.c + 0 + 0 + + + 2 + 15 + 1 + 0 + 0 + 0 + ..\UsrSrc\watchdog\watchdog.c + watchdog.c + 0 + 0 + + + 2 + 16 + 1 + 0 + 0 + 0 + ..\UsrSrc\bat\bat.c + bat.c + 0 + 0 + + + 2 + 17 + 1 + 0 + 0 + 0 + ..\UsrSrc\timer\sys_tim.c + sys_tim.c + 0 + 0 + + + 2 + 18 + 1 + 0 + 0 + 0 + ..\UsrSrc\InitVars.c + InitVars.c + 0 + 0 + + + +
diff --git a/Project/TP3102_Demo.uvproj b/Project/TP3102_Demo.uvproj new file mode 100644 index 0000000..64c02cc --- /dev/null +++ b/Project/TP3102_Demo.uvproj @@ -0,0 +1,495 @@ + + + + 1.1 + +
### uVision Project, (C) Keil Software
+ + + + Target 1 + 0x0 + MCS-51 + 0 + + + R8051XC + CAST, Inc. + IRAM(0-0xFF) CLOCK(24000000) MOD517DP MDU_R515 + + "LIB\STARTUP.A51" ("Standard 8051 Startup Code") + + 4129 + REG51XC.H + + + + + + + + + + + 0 + 0 + + + + Evatronix\ + Evatronix\ + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + mcu + 1 + 0 + 1 + 1 + 1 + .\Listings\ + 0 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 1 + 0 + .\..\Tools\HEXBIN.bat .\..\Tools\hex2bin_TP.exe .\..\Tools\bin_crc.exe mcu \Objects\ + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + 65535 + + + S8051.DLL + -PMW -DPC -BSE + DCore51.DLL + -pR8051XC -o38081BDBFFF + S8051.DLL + + TCore51.DLL + -pR8051XC + + + + 0 + 0 + 0 + 0 + 16 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + + + 0 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + + 0 + 10 + + + + + + + + + + + + + + BIN\SY8831.dll + + + + + 0 + 0 + 0 + 0 + 0 + -1 + + 0 + + "" () + + + + + 0 + + + + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + 0x0 + 0xffff + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x100 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + + + 0 + 0 + 1 + 0 + 1 + 3 + 8 + 2 + 0 + 1 + 0 + 0 + + + + + ..\UsrInc\adc;..\UsrInc\charger;..\UsrInc\discharge;..\UsrInc\gpio;..\UsrInc\hall;..\UsrInc\i2c_simu;..\UsrInc\inc;..\UsrInc\key;..\UsrInc\led;..\UsrInc\mtp;..\UsrInc\pwm;..\UsrInc\sleep;..\UsrInc\system;..\UsrInc\uart;..\UsrInc\userapp;..\UsrInc\vox;..\UsrInc\vox_comm;..\UsrInc\watchdog;..\UsrInc\bat;..\UsrInc\timer + + + + 0 + 1 + 0 + 0 + + + + + + + + + 0 + 0 + 1 + 0 + 2 + 1 + + + + + + + + + + + + + + + + + + + ?CO?INITVARS(0x0BFD) + + + + + + + + + + Startup + + + STARTUP.A51 + 2 + ..\Src\startup\STARTUP.A51 + + + + + UsrSrc + + + main.c + 1 + ..\UsrSrc\main.c + + + adc.c + 1 + ..\UsrSrc\adc\adc.c + + + charger_module.c + 1 + ..\UsrSrc\charger\charger_module.c + + + discharge_module.c + 1 + ..\UsrSrc\discharge\discharge_module.c + + + gpio.c + 1 + ..\UsrSrc\gpio\gpio.c + + + hall.c + 1 + ..\UsrSrc\hall\hall.c + + + key.c + 1 + ..\UsrSrc\key\key.c + + + led.c + 1 + ..\UsrSrc\led\led.c + + + sleep.c + 1 + ..\UsrSrc\sleep\sleep.c + + + system.c + 1 + ..\UsrSrc\system\system.c + + + uart.c + 1 + ..\UsrSrc\uart\uart.c + + + userapp.c + 1 + ..\UsrSrc\userapp\userapp.c + + + vox_module.c + 1 + ..\UsrSrc\vox\vox_module.c + + + watchdog.c + 1 + ..\UsrSrc\watchdog\watchdog.c + + + bat.c + 1 + ..\UsrSrc\bat\bat.c + + + sys_tim.c + 1 + ..\UsrSrc\timer\sys_tim.c + + + InitVars.c + 1 + ..\UsrSrc\InitVars.c + + + + + + + + + + + <Project Info> + + + + + + 0 + 1 + + + + +
diff --git a/Src/startup/STARTUP.A51 b/Src/startup/STARTUP.A51 new file mode 100644 index 0000000..ebc9b6a --- /dev/null +++ b/Src/startup/STARTUP.A51 @@ -0,0 +1,205 @@ +$NOMOD51 +;------------------------------------------------------------------------------ +; This file is part of the C51 Compiler package +; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc. +; Version 8.01 +; +; *** <<< Use Configuration Wizard in Context Menu >>> *** +;------------------------------------------------------------------------------ +; STARTUP.A51: This code is executed after processor reset. +; +; To translate this file use A51 with the following invocation: +; +; A51 STARTUP.A51 +; +; To link the modified STARTUP.OBJ file to your application use the following +; Lx51 invocation: +; +; Lx51 your object file list, STARTUP.OBJ controls +; +;------------------------------------------------------------------------------ +; +; User-defined Power-On Initialization of Memory +; +; With the following EQU statements the initialization of memory +; at processor reset can be defined: +; +; IDATALEN: IDATA memory size <0x0-0x100> +; Note: The absolute start-address of IDATA memory is always 0 +; The IDATA space overlaps physically the DATA and BIT areas. +IDATALEN EQU 100H +; +; XDATASTART: XDATA memory start address <0x0-0xFFFF> +; The absolute start address of XDATA memory +XDATASTART EQU 0 +; +; XDATALEN: XDATA memory size <0x0-0xFFFF> +; The length of XDATA memory in bytes. +XDATALEN EQU 0H +; +; PDATASTART: PDATA memory start address <0x0-0xFFFF> +; The absolute start address of PDATA memory +PDATASTART EQU 0H +; +; PDATALEN: PDATA memory size <0x0-0xFF> +; The length of PDATA memory in bytes. +PDATALEN EQU 0H +; +; +;------------------------------------------------------------------------------ +; +; Reentrant Stack Initialization +; +; The following EQU statements define the stack pointer for reentrant +; functions and initialized it: +; +; Stack Space for reentrant functions in the SMALL model. +; IBPSTACK: Enable SMALL model reentrant stack +; Stack space for reentrant functions in the SMALL model. +IBPSTACK EQU 0 ; set to 1 if small reentrant is used. +; IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF> +; Set the top of the stack to the highest location. +IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +; Stack Space for reentrant functions in the LARGE model. +; XBPSTACK: Enable LARGE model reentrant stack +; Stack space for reentrant functions in the LARGE model. +XBPSTACK EQU 0 ; set to 1 if large reentrant is used. +; XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1 +; +; +; Stack Space for reentrant functions in the COMPACT model. +; PBPSTACK: Enable COMPACT model reentrant stack +; Stack space for reentrant functions in the COMPACT model. +PBPSTACK EQU 0 ; set to 1 if compact reentrant is used. +; +; PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF> +; Set the top of the stack to the highest location. +PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1 +; +; +;------------------------------------------------------------------------------ +; +; Memory Page for Using the Compact Model with 64 KByte xdata RAM +; Compact Model Page Definition +; +; Define the XDATA page used for PDATA variables. +; PPAGE must conform with the PPAGE set in the linker invocation. +; +; Enable pdata memory page initalization +PPAGEENABLE EQU 0 ; set to 1 if pdata object are used. +; +; PPAGE number <0x0-0xFF> +; uppermost 256-byte address of the page used for PDATA variables. +PPAGE EQU 0 +; +; SFR address which supplies uppermost address byte <0x0-0xFF> +; most 8051 variants use P2 as uppermost address byte +PPAGE_SFR DATA 0A0H +; +; +;------------------------------------------------------------------------------ + +; Standard SFR Symbols +ACC DATA 0E0H +B DATA 0F0H +SP DATA 81H +DPL DATA 82H +DPH DATA 83H +CKCON DATA 8EH +CLKPRE DATA 0D2H +PCON DATA 87H + + NAME ?C_STARTUP + + +?C_C51STARTUP SEGMENT CODE +?STACK SEGMENT IDATA + + RSEG ?STACK + DS 1 + + EXTRN CODE (?C_START) + PUBLIC ?C_STARTUP + + CSEG AT 0 +?C_STARTUP: LJMP STARTUP1 + + RSEG ?C_C51STARTUP + +STARTUP1: +;Set Wait State to 0x30 and CPU CLK Prescaler to 1 to Accelerate Startup + ;MOV PCON, #02H ;Enter Standby + MOV CKCON, #30H ;Wait State = 0x30 + MOV CLKPRE, #0 ;CLK Prescaler = 1 + +IF IDATALEN <> 0 + MOV R0,#IDATALEN - 1 + CLR A +IDATALOOP: MOV @R0,A + DJNZ R0,IDATALOOP +ENDIF + +IF XDATALEN <> 0 + MOV DPTR,#XDATASTART + MOV R7,#LOW (XDATALEN) + IF (LOW (XDATALEN)) <> 0 + MOV R6,#(HIGH (XDATALEN)) +1 + ELSE + MOV R6,#HIGH (XDATALEN) + ENDIF + CLR A +XDATALOOP: MOVX @DPTR,A + INC DPTR + DJNZ R7,XDATALOOP + DJNZ R6,XDATALOOP +ENDIF + +IF PPAGEENABLE <> 0 + MOV PPAGE_SFR,#PPAGE +ENDIF + +IF PDATALEN <> 0 + MOV R0,#LOW (PDATASTART) + MOV R7,#LOW (PDATALEN) + CLR A +PDATALOOP: MOVX @R0,A + INC R0 + DJNZ R7,PDATALOOP +ENDIF + +IF IBPSTACK <> 0 +EXTRN DATA (?C_IBP) + + MOV ?C_IBP,#LOW IBPSTACKTOP +ENDIF + +IF XBPSTACK <> 0 +EXTRN DATA (?C_XBP) + + MOV ?C_XBP,#HIGH XBPSTACKTOP + MOV ?C_XBP+1,#LOW XBPSTACKTOP +ENDIF + +IF PBPSTACK <> 0 +EXTRN DATA (?C_PBP) + MOV ?C_PBP,#LOW PBPSTACKTOP +ENDIF + + MOV SP,#?STACK-1 + +; This code is required if you use L51_BANK.A51 with Banking Mode 4 +; Code Banking +; Select Bank 0 for L51_BANK.A51 Mode 4 +#if 0 +; Initialize bank mechanism to code bank 0 when using L51_BANK.A51 with Banking Mode 4. +EXTRN CODE (?B_SWITCH0) + CALL ?B_SWITCH0 ; init bank mechanism to code bank 0 +#endif +; + LJMP ?C_START + + END diff --git a/TP3310_Demo.si4project/TP3310_Demo.SearchResults b/TP3310_Demo.si4project/TP3310_Demo.SearchResults new file mode 100644 index 0000000..80da5a6 --- /dev/null +++ b/TP3310_Demo.si4project/TP3310_Demo.SearchResults @@ -0,0 +1,28 @@ +---- DISPLAY_6PIN_188 Matches (27 in 11 files) ---- +check_bat_level in bat.c (UsrSrc\bat) : #if DISPLAY_6PIN_188 +Charger_Handler in charger_module.c (UsrSrc\charger) : #if DISPLAY_6PIN_188 +define.h (UsrInc\inc) line 35 : #define DISPLAY_6PIN_188 1 //903Bytes +led.c (UsrSrc\led) line 301 : #if DISPLAY_6PIN_188 +Set_AllLed_Input in led.c (UsrSrc\led) : #if DISPLAY_6PIN_188 +led.h (UsrInc\led) line 165 : #if DISPLAY_6PIN_188 +System_Init in system.c (UsrSrc\system) : #if DISPLAY_6PIN_188 +tim1_Interrupt in sys_tim.c (UsrSrc\timer) : #if DISPLAY_6PIN_188 +sys_tim.h (UsrInc\timer) line 55 : #if DISPLAY_6PIN_188 +userapp.c (UsrSrc\userapp) line 38 : #if DISPLAY_6PIN_188 +userapp.c (UsrSrc\userapp) line 58 : #if DISPLAY_6PIN_188 +userapp.c (UsrSrc\userapp) line 74 : #if DISPLAY_6PIN_188 +UserAPP in userapp.c (UsrSrc\userapp) : #if DISPLAY_6PIN_188 +UserAPP in userapp.c (UsrSrc\userapp) : #if DISPLAY_6PIN_188 +userapp.h (UsrInc\userapp) line 30 : #if DISPLAY_6PIN_188 +vox_module.c (UsrSrc\vox) line 171 : #if DISPLAY_6PIN_188 +Vol_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vol_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vol_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vol_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vol_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +vox_module.c (UsrSrc\vox) line 334 : #if DISPLAY_6PIN_188 +Vor_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vor_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vor_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vor_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 +Vor_Det_Machine in vox_module.c (UsrSrc\vox) : #if DISPLAY_6PIN_188 diff --git a/TP3310_Demo.si4project/TP3310_Demo.bookmarks.xml b/TP3310_Demo.si4project/TP3310_Demo.bookmarks.xml new file mode 100644 index 0000000..c8b9cb1 --- /dev/null +++ b/TP3310_Demo.si4project/TP3310_Demo.bookmarks.xml @@ -0,0 +1,7 @@ + + + + diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_sym b/TP3310_Demo.si4project/TP3310_Demo.sip_sym new file mode 100644 index 0000000..857feb3 Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_sym differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xab b/TP3310_Demo.si4project/TP3310_Demo.sip_xab new file mode 100644 index 0000000..f2c518e Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xab differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xad b/TP3310_Demo.si4project/TP3310_Demo.sip_xad new file mode 100644 index 0000000..d50a66e Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xad differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xc b/TP3310_Demo.si4project/TP3310_Demo.sip_xc new file mode 100644 index 0000000..84e053e Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xc differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xf b/TP3310_Demo.si4project/TP3310_Demo.sip_xf new file mode 100644 index 0000000..630a84f Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xf differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xm b/TP3310_Demo.si4project/TP3310_Demo.sip_xm new file mode 100644 index 0000000..2e3717e Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xm differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xr b/TP3310_Demo.si4project/TP3310_Demo.sip_xr new file mode 100644 index 0000000..49cd255 Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xr differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xsb b/TP3310_Demo.si4project/TP3310_Demo.sip_xsb new file mode 100644 index 0000000..999b3b3 Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xsb differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.sip_xsd b/TP3310_Demo.si4project/TP3310_Demo.sip_xsd new file mode 100644 index 0000000..264ba90 Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.sip_xsd differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.siproj b/TP3310_Demo.si4project/TP3310_Demo.siproj new file mode 100644 index 0000000..8d56fef Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.siproj differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.siproj_settings.xml b/TP3310_Demo.si4project/TP3310_Demo.siproj_settings.xml new file mode 100644 index 0000000..ca84b35 --- /dev/null +++ b/TP3310_Demo.si4project/TP3310_Demo.siproj_settings.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/TP3310_Demo.si4project/TP3310_Demo.siwork b/TP3310_Demo.si4project/TP3310_Demo.siwork new file mode 100644 index 0000000..15b8a0e Binary files /dev/null and b/TP3310_Demo.si4project/TP3310_Demo.siwork differ diff --git a/TP3310_Demo.si4project/TP3310_Demo.snippets.xml b/TP3310_Demo.si4project/TP3310_Demo.snippets.xml new file mode 100644 index 0000000..a337f1d --- /dev/null +++ b/TP3310_Demo.si4project/TP3310_Demo.snippets.xml @@ -0,0 +1,7 @@ + + + + diff --git a/Tools/HEXBIN.bat b/Tools/HEXBIN.bat new file mode 100644 index 0000000..d5d5072 --- /dev/null +++ b/Tools/HEXBIN.bat @@ -0,0 +1,72 @@ +:: @File Name: HEXBIN.bat +:: @Version : 1.0 +:: @Author : Alex-XU +:: @Creat Date : 2023-03-30 +:: @Brief : +:: 在keil中,生成hex、bin文件到 Out 文件夹中. +:: 复制本文件到keil工程文件所在目录下(/Project目录下) +:: 在keil 魔法棒USER里填写 +:: .\Out.bat $K !P @P +:: $K hextobin转换工具位置 !P 工程名 @P 工程目录 +:: .\HEXBIN.bat .\Objects\hex2bin_TP.exe mcu \Objects\ + +::关闭显示 +@echo off +::获取时间 +set year=%date:~0,4% +set month=%date:~5,2% +set day=%date:~8,2% +set hour=%time:~0,2% +set min=%time:~3,2% +set sec=%time:~6,2% +::创建输出文件夹 Out +if exist .\..\Out ( + echo Out file exist +) else ( + mkdir .\..\Out +) + +::设置hex2bin_TP.exe位置 ,\Objects\hex2bin_TP.exe +set exe_location=%1 +::获取工程名 mcu.hex +set project_name=%3 +::设置.hex文件所在目录路径\Objects\ +set crc_path=%2 +::设置.hex文件所在目录路径\Objects\ +set obj_path=%4 +::设置输出后的文件名 +set output_nameTmp=SY883X_EVB_%project_name%_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% +::如果hour小于10,会有空格,下面这句话可以除去字符串中的空格,并用0代替。 +set output_name=%output_nameTmp: =0% + +::将bin文件生成到HEXBIN文件夹 >nul屏蔽成功命令 .\Objects\hex2bin_TP.exe .\Objects\mcu.hex .\Objects\bin.bin 3 0 +%exe_location% .%obj_path%%project_name%.hex .%obj_path%%output_name%.bin 3 0 >nul +::将hex文件重命名 +ren .%obj_path%%project_name%.hex %output_name%.hex >nul + +ECHO Add CRC16 At the end of the .bin file +ECHO ------------------------------------- + +::SET SREC_PATH=D:\Keil_v5\SREC +SET SREC_PATH=..\Tools\SREC + +for /f %%i in ('dir /s /b .%obj_path%%output_name%.bin') do ( +set indexdx=%%~zi +) + +ECHO --- size= %indexdx% Bytes --- +::计算程序CRC16校验和,并加在.bin文件最后 +ECHO %SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary +%SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary + +::获取软件CRC校验和以及版本号 +%crc_path% .%obj_path%%output_name%_crc.bin + +del /q ..\Out\*.* +::将hex文件复制到HEXBIN文件夹 +move .%obj_path%%output_name%.hex .\..\Out >nul +move .%obj_path%%output_name%.bin .\..\Out >nul +::del .%obj_path%%output_name%.hex +::del .%obj_path%%output_name%.bin +del .%obj_path%%output_name%_crc.bin +move .%obj_path%%output_name%_crc(*.bin .\..\Out >nul diff --git a/Tools/SREC/libgcc_s_seh-1.dll b/Tools/SREC/libgcc_s_seh-1.dll new file mode 100644 index 0000000..88aec83 Binary files /dev/null and b/Tools/SREC/libgcc_s_seh-1.dll differ diff --git a/Tools/SREC/libgcrypt-20.dll b/Tools/SREC/libgcrypt-20.dll new file mode 100644 index 0000000..e12250e Binary files /dev/null and b/Tools/SREC/libgcrypt-20.dll differ diff --git a/Tools/SREC/libgpg-error-0.dll b/Tools/SREC/libgpg-error-0.dll new file mode 100644 index 0000000..e09fa33 Binary files /dev/null and b/Tools/SREC/libgpg-error-0.dll differ diff --git a/Tools/SREC/libstdc++-6.dll b/Tools/SREC/libstdc++-6.dll new file mode 100644 index 0000000..aa88c03 Binary files /dev/null and b/Tools/SREC/libstdc++-6.dll differ diff --git a/Tools/SREC/libwinpthread-1.dll b/Tools/SREC/libwinpthread-1.dll new file mode 100644 index 0000000..99f7320 Binary files /dev/null and b/Tools/SREC/libwinpthread-1.dll differ diff --git a/Tools/SREC/srec_cat.exe b/Tools/SREC/srec_cat.exe new file mode 100644 index 0000000..22cacf9 Binary files /dev/null and b/Tools/SREC/srec_cat.exe differ diff --git a/Tools/SREC/srec_cmp.exe b/Tools/SREC/srec_cmp.exe new file mode 100644 index 0000000..b672683 Binary files /dev/null and b/Tools/SREC/srec_cmp.exe differ diff --git a/Tools/SREC/srec_info.exe b/Tools/SREC/srec_info.exe new file mode 100644 index 0000000..cb04258 Binary files /dev/null and b/Tools/SREC/srec_info.exe differ diff --git a/Tools/bin_crc.exe b/Tools/bin_crc.exe new file mode 100644 index 0000000..de1fe3a Binary files /dev/null and b/Tools/bin_crc.exe differ diff --git a/Tools/hex2bin_TP.exe b/Tools/hex2bin_TP.exe new file mode 100644 index 0000000..6919406 Binary files /dev/null and b/Tools/hex2bin_TP.exe differ diff --git a/UsrDoc/HEXBIN.bat b/UsrDoc/HEXBIN.bat new file mode 100644 index 0000000..d5d5072 --- /dev/null +++ b/UsrDoc/HEXBIN.bat @@ -0,0 +1,72 @@ +:: @File Name: HEXBIN.bat +:: @Version : 1.0 +:: @Author : Alex-XU +:: @Creat Date : 2023-03-30 +:: @Brief : +:: 在keil中,生成hex、bin文件到 Out 文件夹中. +:: 复制本文件到keil工程文件所在目录下(/Project目录下) +:: 在keil 魔法棒USER里填写 +:: .\Out.bat $K !P @P +:: $K hextobin转换工具位置 !P 工程名 @P 工程目录 +:: .\HEXBIN.bat .\Objects\hex2bin_TP.exe mcu \Objects\ + +::关闭显示 +@echo off +::获取时间 +set year=%date:~0,4% +set month=%date:~5,2% +set day=%date:~8,2% +set hour=%time:~0,2% +set min=%time:~3,2% +set sec=%time:~6,2% +::创建输出文件夹 Out +if exist .\..\Out ( + echo Out file exist +) else ( + mkdir .\..\Out +) + +::设置hex2bin_TP.exe位置 ,\Objects\hex2bin_TP.exe +set exe_location=%1 +::获取工程名 mcu.hex +set project_name=%3 +::设置.hex文件所在目录路径\Objects\ +set crc_path=%2 +::设置.hex文件所在目录路径\Objects\ +set obj_path=%4 +::设置输出后的文件名 +set output_nameTmp=SY883X_EVB_%project_name%_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% +::如果hour小于10,会有空格,下面这句话可以除去字符串中的空格,并用0代替。 +set output_name=%output_nameTmp: =0% + +::将bin文件生成到HEXBIN文件夹 >nul屏蔽成功命令 .\Objects\hex2bin_TP.exe .\Objects\mcu.hex .\Objects\bin.bin 3 0 +%exe_location% .%obj_path%%project_name%.hex .%obj_path%%output_name%.bin 3 0 >nul +::将hex文件重命名 +ren .%obj_path%%project_name%.hex %output_name%.hex >nul + +ECHO Add CRC16 At the end of the .bin file +ECHO ------------------------------------- + +::SET SREC_PATH=D:\Keil_v5\SREC +SET SREC_PATH=..\Tools\SREC + +for /f %%i in ('dir /s /b .%obj_path%%output_name%.bin') do ( +set indexdx=%%~zi +) + +ECHO --- size= %indexdx% Bytes --- +::计算程序CRC16校验和,并加在.bin文件最后 +ECHO %SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary +%SREC_PATH%\srec_cat.exe .%obj_path%%output_name%.bin -Binary -crop 0 %indexdx% -CRC16_Big_Endian %indexdx% -XMODEM -o .%obj_path%%output_name%_crc.bin -Binary + +::获取软件CRC校验和以及版本号 +%crc_path% .%obj_path%%output_name%_crc.bin + +del /q ..\Out\*.* +::将hex文件复制到HEXBIN文件夹 +move .%obj_path%%output_name%.hex .\..\Out >nul +move .%obj_path%%output_name%.bin .\..\Out >nul +::del .%obj_path%%output_name%.hex +::del .%obj_path%%output_name%.bin +del .%obj_path%%output_name%_crc.bin +move .%obj_path%%output_name%_crc(*.bin .\..\Out >nul diff --git a/UsrDoc/SY883X软件开发说明文档.doc b/UsrDoc/SY883X软件开发说明文档.doc new file mode 100644 index 0000000..e7ad79c Binary files /dev/null and b/UsrDoc/SY883X软件开发说明文档.doc differ diff --git a/UsrDoc/Vox耳机相关功能状态.png b/UsrDoc/Vox耳机相关功能状态.png new file mode 100644 index 0000000..85e51a4 Binary files /dev/null and b/UsrDoc/Vox耳机相关功能状态.png differ diff --git a/UsrDoc/Vox耳机相关功能状态思维导图.pdf b/UsrDoc/Vox耳机相关功能状态思维导图.pdf new file mode 100644 index 0000000..7359832 Binary files /dev/null and b/UsrDoc/Vox耳机相关功能状态思维导图.pdf differ diff --git a/UsrDoc/Vox耳机相关功能状态思维导图.xmind b/UsrDoc/Vox耳机相关功能状态思维导图.xmind new file mode 100644 index 0000000..a786db4 Binary files /dev/null and b/UsrDoc/Vox耳机相关功能状态思维导图.xmind differ diff --git a/UsrDoc/readme.txt b/UsrDoc/readme.txt new file mode 100644 index 0000000..ea74d11 --- /dev/null +++ b/UsrDoc/readme.txt @@ -0,0 +1,8 @@ +工程文件应包含以下全部或部分文件夹: +UsrSrc:用户源文件,用来存放.c文件和其它源文件。main.c应放在这里; +UsrInc:用户头文件,用来存放.h文件; +UsrDoc:用户说明文档,用来存放用户在开发过程中书协的文档,包括软件开发说明、指令说明、版本更改说明等; +Src:引用库的源文件; +Inc:应用库的头文件; +Lib:应用的库文件。 +Out:编译生成的烧写程序(烧录到芯片中的firmware)。 \ No newline at end of file diff --git a/UsrDoc/功能测试/SY8833A Demo软件问题记录.xlsx b/UsrDoc/功能测试/SY8833A Demo软件问题记录.xlsx new file mode 100644 index 0000000..0dc7d9f Binary files /dev/null and b/UsrDoc/功能测试/SY8833A Demo软件问题记录.xlsx differ diff --git a/UsrDoc/功能测试/SY8833A测试说明20230713).doc b/UsrDoc/功能测试/SY8833A测试说明20230713).doc new file mode 100644 index 0000000..1879bce Binary files /dev/null and b/UsrDoc/功能测试/SY8833A测试说明20230713).doc differ diff --git a/UsrDoc/程序流程图/VOX耳机识别流程图.vsdx b/UsrDoc/程序流程图/VOX耳机识别流程图.vsdx new file mode 100644 index 0000000..c1e6e8d Binary files /dev/null and b/UsrDoc/程序流程图/VOX耳机识别流程图.vsdx differ diff --git a/UsrInc/adc/adc.h b/UsrInc/adc/adc.h new file mode 100644 index 0000000..fae405b --- /dev/null +++ b/UsrInc/adc/adc.h @@ -0,0 +1,51 @@ +/* + ****************************************************************************** + * + * @file adc.h + * @brief adc module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __ADC_H__ +#define __ADC_H__ + +#include "define.h" + +#if ADC_ENABLE + +#define VREF 1000 + +extern idata uint16_t Vbat_Adc; + +extern uint16_t Vbat_Value(void); + +typedef enum { + ADC_CH0 = 0x00, + ADC_CH1, + ADC_CH2, + ADC_CH3, + ADC_CH4, + ADC_BAT, + ADC_VREF, +}ADC_CHANNELS_E; + +#if NTC_ENABLE +extern uint16_t ADC_NTC_Value(void); +#endif + +#endif + +#endif + diff --git a/UsrInc/bat/bat.h b/UsrInc/bat/bat.h new file mode 100644 index 0000000..93f9acc --- /dev/null +++ b/UsrInc/bat/bat.h @@ -0,0 +1,38 @@ +/* + ****************************************************************************** + * + * @file bat.h + * @brief bat module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __BAT_H__ +#define __BAT_H__ + +#include "define.h" +extern idata uint8_t bat_level; +extern bit F_batlevel_low; //صѹ + +#if BAT_VALUE + + +//extern bit F_batlevel_protect; //͵籣 + +extern void check_bat_level(void); + +#endif + +#endif + diff --git a/UsrInc/charger/charger_module.h b/UsrInc/charger/charger_module.h new file mode 100644 index 0000000..cc37a66 --- /dev/null +++ b/UsrInc/charger/charger_module.h @@ -0,0 +1,57 @@ +/* + ****************************************************************************** + * + * @file Charger_module.h + * @brief charger module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __CHARGER_MODULE_H__ +#define __CHARGER_MODULE_H__ + +#include "define.h" + +extern bit Charger_Done; + +#if NTC_ENABLE +extern bit NTC_Pro_Flag; +#endif +#if CHARGER_ENABLE +/*ãϵͳʼʱͨüĴREG_CHG1á + +REG_CHG1 = CHG_CURRENT_300MA; + +*/ +#define CHG_CURRENT_100MA 0x00 +#define CHG_CURRENT_200MA 0x01 +#define CHG_CURRENT_250MA 0x02 +#define CHG_CURRENT_300MA 0x03 +#define CHG_CURRENT_350MA 0x04 +#define CHG_CURRENT_400MA 0x05 +#define CHG_CURRENT_450MA 0x06 +#define CHG_CURRENT_500MA 0x07 + + +#define CHG_CONSTANT_CUR_TIM 1 + +#define DIE_OT_RECOVER_TIM 25 //NTC󣬻ָȴ250ms¿ + +extern void Charger_Handler(void); +extern uint8_t PMU_NTC_Control(void); + +#endif + +#endif + diff --git a/UsrInc/discharge/discharge_module.h b/UsrInc/discharge/discharge_module.h new file mode 100644 index 0000000..8ce6a12 --- /dev/null +++ b/UsrInc/discharge/discharge_module.h @@ -0,0 +1,48 @@ +/* + ****************************************************************************** + * + * @file discharge_module.h + * @brief discharge module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __DISCHARGE_MODULE_H__ +#define __DISCHARGE_MODULE_H__ + +#include "define.h" + +extern bit gBoost_Prepared_Flag; //Boost㿪 + +#if DISCHARGE_ENABLE + +#define BOOST_OPEN_TIM 10 + + +extern bit gBoost_Opened_Flag; //Boost + + +#if 0 + +extern void DisCharge_Boost_Open(void); +extern void DisCharge_Boost_Close(void); + +#endif + +extern void DisCharge_Handler(void); + +#endif + +#endif + diff --git a/UsrInc/gpio/gpio.h b/UsrInc/gpio/gpio.h new file mode 100644 index 0000000..94fde4b --- /dev/null +++ b/UsrInc/gpio/gpio.h @@ -0,0 +1,33 @@ +/* + ****************************************************************************** + * + * @file gpio.h + * @brief gpio module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __GPIO_H__ +#define __GPIO_H__ + +#include "define.h" + + +//extern void GPIO_Init(void); +//extern void Enter_ShipMode(void); + + +#endif + + diff --git a/UsrInc/hall/hall.h b/UsrInc/hall/hall.h new file mode 100644 index 0000000..abf6b69 --- /dev/null +++ b/UsrInc/hall/hall.h @@ -0,0 +1,45 @@ +/* + ****************************************************************************** + * + * @file hall.h + * @brief hall module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __HALL_H__ +#define __HALL_H__ + +#include "define.h" + +#if HALL_ENABLE + +typedef enum{ + + CLOSE = 0, + OPEN = !CLOSE + +} CoverStatus_E; + +extern CoverStatus_E CoverStatus; + +extern bit CoverEvent_Flg; +extern bit CoverEvent_Flg_led; + +extern void Hall_Handler(void); + +#endif + +#endif + diff --git a/UsrInc/inc/config.h b/UsrInc/inc/config.h new file mode 100644 index 0000000..02cbddd --- /dev/null +++ b/UsrInc/inc/config.h @@ -0,0 +1,125 @@ +/* + ****************************************************************************** + * + * @file Config.h + * @brief Config module + * + * + * @version 1.0 + * @date 2023/07/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ +#ifndef __CONFIG_H__ +#define __CONFIG_H__ + +#include "define.h" + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +/*Charger Module Config Para Setting*/ + +#define BAT_CV 4200 //CVѹã4.20V +#define BAT_PRE 3000 //ѹ3.0v +#define BAT_RECHARG 4075 //ظѹ4200mv - 135mv = 4075mv + +#if 1 +/*20uA Դ½ 104K NTC(4250K) 貢һ82Kõĵѹֵ*/ +#define T_N20C 1530 //-20(76.5K * 20uA) NTC:1151K + +#define T_N15C 1495 //-15 ¶ + +#define T_N10C 1440 //-10(72K * 20uA) NTC:629K + +#define T_0C 1334 //-0(66.7K * 20uA) NTC:357K + +#define T_3C 1300 + +#define T_8C 1200 + +#define T_10C 1178 //10(58.9K * 20uA) NTC:209.7K + +#define T_12C 1100 + +#define T_42C 580 + +#define T_45C 546 //45(27.3K * 20uA) NTC:40.9K + +#define T_47C 500 + +#define T_57C 370 + +#define T_60C 350 //60(17.5K * 20uA) NTC:22.2K + +#define T_75C 250 + +#define T_80C 188 //80(9.4K * 20uA) NTC:10.6K + +#else +/*20uA Դ½ 104K NTC(3950K) 貢һ82Kõĵѹֵ*/ +#define T_N20C 1500 //-20(75.5K * 20uA) NTC:953K + +#define T_N17C 1488 //-17(74.4K * 20uA) NTC:804K + +#define T_N15C 1495 //-15(73.6K * 20uA) NTC:719K + +#define T_N13C 1454 //-13(72.7K * 20uA) NTC:644K + +#define T_N10C 1420 //-10(71K * 20uA) NTC:547K + +#define T_0C 1308 //-0(65.4K * 20uA) NTC:325K + +#define T_3C 1282 //3(64.1K * 20uA) NTC:293K + +#define T_8C 1192 //8(59.6K * 20uA) NTC:218K + +#define T_10C 1158 //10(57.9K * 20uA) NTC:198K + +#define T_12C 1126 //12(56.3K * 20uA) NTC:180K + +#define T_42C 612 //42(30.6K * 20uA) NTC:49K + +#define T_45C 568 //45(28.4K * 20uA) NTC:43.6K + +#define T_47C 538 //47(26.9K * 20uA) NTC:40K + +#define T_57C 412 //57(20.6K * 20uA) NTC:27.6K + +#define T_60C 380 //60(19K * 20uA) NTC:24.7K + +#define T_75C 248 //75(12.4K * 20uA) NTC:14.6K + +#define T_80C 216 //80(10.8K * 20uA) NTC:12.4K + +#endif +/*Boost Module Config Para Setting*/ +#define OPEN_BOOST_VIN 3600 //Boost uvloVIN£Boostٴλָĵѹ3.6V +#define OPEN_BOOST_NOVIN 3300 //Boost uvloVIN£Boostٴλָĵѹ3.3V + +/*KEY And Hall Module Setting*/ +#define HALL_OPEN_LEV_SET 1 //ǸߵƽΪǻǵ͵ƽΪǡ1:ߵƽΪǣ0:͵ƽΪ + +/*Sleep Module Setting*/ +/*Enter Sleep Time Debounce*/ +#define ENTER_STANDBYMODE_CNT 10 //Standby Mode ӳʱ䣬λ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +/******************************************************************************\ + UserCfg.Functions definitions +\******************************************************************************/ + + +#endif + diff --git a/UsrInc/inc/define.h b/UsrInc/inc/define.h new file mode 100644 index 0000000..bf23805 --- /dev/null +++ b/UsrInc/inc/define.h @@ -0,0 +1,130 @@ +/* + ****************************************************************************** + * + * @file define.h + * @brief define module + * + * + * @version 1.0 + * @date 2023/07/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ +#ifndef __DEFINE_H__ +#define __DEFINE_H__ + +#include "config.h" + +/*Function Selectѡ궨*/ + +#define TIMER1_ENABLE 1 //Timer1 ʱ1ms or 100usҪ188ʾ\ơ(46Bytes) + +#if TIMER1_ENABLE + +#define LED_188 + +#define DISPLAY_5PIN_188 0 //188ʾ,Timer11msʱɨ裨631Bytes + +#define DISPLAY_6PIN_188 1 //903Bytes + +#endif + +#if TIMER1_ENABLE +//#define BREATHING_LIGHT //ƹܣTimer1жϴУ100us(154Bytes) +#endif + +#define UART0_ENABLE 0 //UART0ܣڳԡ(55Bytes) + +#define WTG_ENABLE 1 //Źʹ(7Bytes) + +//#define LED_DISPLAY //LEDʾ (450Bytes) + +#define HALL_ENABLE 0 //Hallܡ(Hall 35Bytes) + +#define KEY_ENABLE 0 //Key(96Bytes) + +#define VOX_ENABLE 1 //482Bytes + +#define CHARGER_ENABLE 1 //220Bytes + +#define DISCHARGE_ENABLE 1 //110Bytes + +#define SLEEP_ENABLE 1 //91Bytes + +#define ADC_ENABLE 1 //567Bytes + +#if ADC_ENABLE +#define NTC_ENABLE 0 //NTC +#endif + +#define BAT_VALUE 1 //147Bytes + +//#define _DEBUG_ALL //򿪴ӡ + +#ifdef _DEBUG_ALL + +// #define _DEBUG_MAIN +// #define _DEBUG_KEY +// #define _DEBUG_VOX +// #define _DEBUG_HALL +// #define _DEBUG_ADC +// #define _DEBUG_DISCHARGE +// #define _DEBUG_CHARGER +// #define _DEBUG_SLEEP + #define _DEBUG_BAT + +//#define TEST_MODE + +#include "stdio.h" +#include "string.h" + +#endif + +#define HIBYTE(v1) ((uint8_t)((v1)>>8)) //v1 is uint16_t +#define LOBYTE(v1) ((uint8_t)((v1)&0xFF)) + +typedef bit BIT; +typedef unsigned char uint8_t; +typedef unsigned int uint16_t; +typedef unsigned long uint32_t; + +typedef unsigned char uint8; +typedef unsigned int uint16; +typedef unsigned long uint32; + +typedef signed char int8_t; +typedef signed int int16_t; +typedef signed long int32_t; + +typedef signed char int8; +typedef signed int int16; +typedef signed long int32; + +typedef signed char s8; +typedef unsigned char u8; +typedef signed short int s16; +typedef unsigned short int u16; +typedef signed long int s32; +typedef unsigned long int u32; + +typedef enum{false = 0, true = !false} bool; + +#define FALSE false +#define TRUE true +#define ON true +#define OFF false + +#include "reg3310.h" +#if UART0_ENABLE +#include "uart.h" +#endif + +#endif + diff --git a/UsrInc/inc/reg3310.h b/UsrInc/inc/reg3310.h new file mode 100644 index 0000000..a717f78 --- /dev/null +++ b/UsrInc/inc/reg3310.h @@ -0,0 +1,277 @@ +/*--------------------------------------------------------------------- +REG3310.H + +Header file for TP3310 microcontroller. + +Initial Released by zheng, 2023-12-01. + + Thinkplus Semiconductor co., ltd, All Rights Reserved! +----------------------------------------------------------------------*/ +#ifndef __REG3310_H__ //ͻͷļڲĿijʵʲƷţ +#define __REG3310_H__ + +//------------------------ Ext SFR Registers ------------------------- +/*------ GPIO/MFP Registers ------*/ +#define P0_PU 0x00 +#define P0_PD 0x01 +#define P0_OD 0x02 +#define P0_DRV 0x03 +#define P0_IE 0x05 +#define P0_OE 0x06 +#define P1_PU 0x07 +#define P1_PD 0x08 +#define P1_OD 0x09 +#define P1_IE 0x0C +#define P1_OE 0x0D +#define MFP_CTL0 0x0E +#define MFP_CTL1 0x0F +#define GPIO_TEST 0x9B + +/*----- IRQ Enable Registers ----*/ +#define IRQ_EN0 0x14 // Abnormal interrupt enable +#define IRQ_EN1 0x15 // EXTI interrupt enable 0 +#define IRQ_EN2 0x16 // EXTI interrupt enable 1 +#define IRQ_EN3 0x17 // VOL/R LOADIN/ON interrupt enable +#define IRQ_EN4 0x18 // VOL/R Recharge and IOFF interrupt enable +#define IRQ_EN7 0x1B // KEY/PWM interrupt enable +#define IRQ_EN9 0x1D // Charger interrupt enable +#define IRQ_EN10 0x1E // VBUS/COMP/HALL/STBTMR/ADC_DATA_RDY interrupt enable + +/*--- Wakeup Enable Registers ---*/ +#define WKUP_EN0 0x21 // BOOST/HALL/KEY/VBUS Wakeup enable +#define WKUP_EN1 0x22 // EXTI and VOL/R Short Wakeup enable +#define WKUP_EN3 0x24 // BAT_LOW/TMR/VOX LOADIN/ON Wakeup enable + +/*-------- ADC Registers --------*/ +#define ADC_CTL0 0x29 +#define ADC00 0x2D +#define ADCCS_CTL0 0x4F + +/*---- OTP KEY Registers ----*/ +#define OTP_KEY 0x8F + +/*------ VOL/R Registers -----*/ +#define VOL_IOFF_TRIM 0x69 +#define VOX_CON0 0x6A +#define VOX_CON1 0x6B +#define VOX_CON2 0x6C +#define VOR_IOFF_TRIM 0x6D +#define ST_VOX 0x6E + +/*------ CHG Registers ------*/ +#define REG_CHG0 0x70 +#define REG_CHG3 0x9D +#define OTP_CHG0 0x71 +#define OTP_CHG1 0x72 + +/*----- BOOST Registers -----*/ +#define BST_CTL0 0x78 +#define BST_CTL1 0x79 + +/*------ PMU Registers ------*/ +#define PMU_CTL0 0x80 +#define PMU_CTL1 0x81 +#define PMU_CTL3 0x83 +#define PMU_CTL6 0x86 +#define PMU_CTL7 0x87 +#define PMU_CTL8 0x88 +#define PMU_CTL9 0x89 + +/*------ CMU Registers ------*/ +#define HOSC_CTL 0x8B + +/*------ Misc Registers -----*/ +#define CHIP_ID 0x8D +#define CHIP_VER 0x8E + + +//------------------------- SFR Registers ---------------------------- +/*--- BYTE Register ---*/ +sfr P0 = 0x80; +sfr P1 = 0x90; +sfr P2 = 0xA0; +sfr P3 = 0xB0; +sfr PSW = 0xD0; +sfr ACC = 0xE0; +sfr B = 0xF0; + +sfr SP = 0x81; +sfr DPL = 0x82; +sfr DPH = 0x83; +sfr DPL1 = 0x84; +sfr DPH1 = 0x85; +sfr WDTREL = 0x86; +sfr PCON = 0x87; +sfr TCON = 0x88; +sfr TMOD = 0x89; +sfr TL0 = 0x8A; +sfr TL1 = 0x8B; +sfr TH0 = 0x8C; +sfr TH1 = 0x8D; +sfr CKCON = 0x8E; +sfr DPSEL = 0x92; +sfr ASKCTL0 = 0x96; +sfr ASKDATA = 0x97; +sfr S0CON = 0x98; +sfr S0BUF = 0x99; +sfr IEN2 = 0x9A; +sfr S1CON = 0x9B; +sfr S1BUF = 0x9C; +sfr S1RELL = 0x9D; + +sfr16 ADC_DAT = 0xA1; +sfr ADC_DATL = 0xA1; +sfr ADC_DATH = 0xA2; +sfr ADC_OFFSET = 0xA3; +sfr ADC_CTL1 = 0xA5; + +sfr IEN0 = 0xA8; +sfr IP0 = 0xA9; +sfr S0RELL = 0xAA; + +sfr REG_CHG1 = 0xB1; +sfr REG_CHG2 = 0xB2; +sfr CHG_CTL = 0xB3; + +sfr BST_EN = 0xB5; + +sfr VOX_CTL0 = 0xB7; + +sfr IEN1 = 0xB8; +sfr IP1 = 0xB9; +sfr S0RELH = 0xBA; +sfr S1RELH = 0xBB; +sfr IRCON2 = 0xBF; +sfr IRCON = 0xC0; +sfr CCEN = 0xC1; +sfr CCL1 = 0xC2; +sfr CCH1 = 0xC3; +sfr CCL2 = 0xC4; +sfr CCH2 = 0xC5; +sfr CCL3 = 0xC6; +sfr CCH3 = 0xC7; +sfr T2CON = 0xC8; +sfr CRCL = 0xCA; +sfr CRCH = 0xCB; +sfr TL2 = 0xCC; +sfr TH2 = 0xCD; + +sfr CLKPRE = 0xD2; +sfr RSTCON = 0xD3; +sfr KEY_CTL = 0xD7; + +sfr ADCON = 0xD8; + +sfr RST_FLAG = 0xE1; +sfr CHIP_STA0 = 0xE2; +sfr CHIP_STA1 = 0xE3; +sfr CHIP_STA2 = 0xE4; +sfr CHIP_STA3 = 0xE5; +sfr CHIP_STA4 = 0xE6; + +sfr IRQ_FLAG0 = 0xE8; +sfr IRQ_FLAG1 = 0xE9; +sfr IRQ_FLAG2 = 0xEA; +sfr IRQ_FLAG3 = 0xEB; +sfr IRQ_FLAG4 = 0xEC; +sfr IRQ_FLAG7 = 0xEF; +sfr IRQ_FLAG9 = 0xF2; +sfr IRQ_FLAG10 = 0xF3; + +sfr SRST = 0xF7; + +sfr WKUP_FLAG0 = 0xF6; +sfr WKUP_FLAG1 = 0xF8; +sfr WKUP_FLAG3 = 0xFA; + +sfr SFRADDR = 0xFE; +sfr SFRDATA = 0xFF; + +/*--- BIT Register ---*/ +/* PSW */ +sbit CY = 0xD7; +sbit AC = 0xD6; +sbit F0 = 0xD5; +sbit RS1 = 0xD4; +sbit RS0 = 0xD3; +sbit OV = 0xD2; +sbit P = 0xD0; + +/* TCON */ +sbit TF1 = 0x8F; +sbit TR1 = 0x8E; +sbit TF0 = 0x8D; +sbit TR0 = 0x8C; +sbit IE1 = 0x8B; +sbit IT1 = 0x8A; +sbit IE0 = 0x89; +sbit IT0 = 0x88; + +/* T2CON */ +sbit T2PS = 0xCF; +sbit I3FR = 0xCE; +sbit I2FR = 0xCD; +sbit T2R1 = 0xCC; +sbit T2R0 = 0xCB; +sbit T2CM = 0xCA; +sbit T2I1 = 0xC9; +sbit T2I0 = 0xC8; + +/* S0CON */ +sbit SM0 = 0x9F; +sbit SM1 = 0x9E; +sbit SM20 = 0x9D; +sbit REN0 = 0x9C; +sbit TB80 = 0x9B; +sbit RB80 = 0x9A; +sbit TI0 = 0x99; +sbit RI0 = 0x98; + +/* IEN0 */ +sbit EAL = 0xAF; +sbit WDT = 0xAE; +sbit ET2 = 0xAD; +sbit ES0 = 0xAC; +sbit ET1 = 0xAB; +sbit EX1 = 0xAA; +sbit ET0 = 0xA9; +sbit EX0 = 0xA8; + +/* IEN1 */ +sbit EXEN2 = 0xBF; +sbit SWDT = 0xBE; +sbit EX6 = 0xBD; +sbit EX5 = 0xBC; +sbit EX4 = 0xBB; +sbit EX3 = 0xBA; +sbit EX2 = 0xB9; +sbit EX7 = 0xB8; + +/* IRCON */ +sbit EXF2 = 0xC7; +sbit TF2 = 0xC6; +sbit IEX6 = 0xC5; +sbit IEX5 = 0xC4; +sbit IEX4 = 0xC3; +sbit IEX3 = 0xC2; +sbit IEX2 = 0xC1; +sbit IADC = 0xC0; + +/* ADCON */ +sbit BD = 0xDF; + +/* P0 */ +sbit P00 = P0^0; +sbit P01 = P0^1; +sbit P02 = P0^2; +sbit P03 = P0^3; +sbit P04 = P0^4; +sbit P05 = P0^5; +sbit P06 = P0^6; +sbit P07 = P0^7; + +/* P1 */ +sbit P10 = P1^0; + +#endif + diff --git a/UsrInc/key/key.h b/UsrInc/key/key.h new file mode 100644 index 0000000..928130c --- /dev/null +++ b/UsrInc/key/key.h @@ -0,0 +1,49 @@ +/* + ****************************************************************************** + * + * @file key.h + * @brief key module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __KEY_H__ +#define __KEY_H__ + +#include "define.h" + +#if KEY_ENABLE + +extern bit Key_Press_short_irq; +extern bit Key_Press_l_irq; +extern bit Key_Press_ll_irq; + +extern bit Key_l_Flag; + +typedef enum { + KEY_EVENT_Empty = 0x00, + KEY_EVENT_SHORT, //Key short press(60ms-1s) interrupt flag + KEY_EVENT_L_2S, //Key long press for 2/3s interrupt flag + KEY_EVENT_LL_8S, //Key super long press for 8s interrupt flag +}KEY_EVENT_E; + + +extern idata KEY_EVENT_E Event_key; + +extern void Key_Handler(void ); + +#endif + +#endif + diff --git a/UsrInc/led/led.h b/UsrInc/led/led.h new file mode 100644 index 0000000..60396b3 --- /dev/null +++ b/UsrInc/led/led.h @@ -0,0 +1,230 @@ +/* + ****************************************************************************** + * + * @file led.h + * @brief led dispaly module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __LED_H__ +#define __LED_H__ + +#include "define.h" + +#ifdef LED_DISPLAY + +#ifdef _DEBUG_LED +#define _DEBUG_LED_1 +#define _DEBUG_LED_2 +#endif + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +sbit pin_LED_1 = P0^2; +sbit pin_LED_2 = P0^3; +sbit pin_LED_3 = P0^4; + +#if 0 +#define LED_1_CONFIG() do{ SFRADDR = P0_DRV; SFRDATA |= 0x03;SFRADDR = MFP_CTL0; SFRDATA &= 0xCF;}while(0) //P02 +#define LED_2_CONFIG() do{ SFRADDR = P0_DRV; SFRDATA |= 0x08;SFRADDR = MFP_CTL0; SFRDATA &= 0x3F;}while(0) //P03 +#define LED_3_CONFIG() do{ SFRADDR = P0_DRV; SFRDATA |= 0x20;SFRADDR = MFP_CTL1; SFRDATA &= 0xFC;}while(0) //P04 +#endif + +// LED˿ڶ +#define LEDR_ON() pin_LED_2 = 1 //LED_1_ON() p03 +#define LEDR_OFF() pin_LED_2 = 0 //LED_1_OFF() +#define LEDR_TOG() pin_LED_2 = !pin_LED_2 //LED_1_RUN() + +#define LEDG_ON() pin_LED_1 = 1 //LED_2_ON() p02 +#define LEDG_OFF() pin_LED_1 = 0 //LED_2_OFF() +#define LEDG_TOG() pin_LED_1 = !pin_LED_1 //LED_2_RUN() + +#define LEDY_ON() pin_LED_3 = 1 //LED_3_ON() p04 +#define LEDY_OFF() pin_LED_3 = 0 //LED_3_OFF() +#define LEDY_TOG() pin_LED_3 = !pin_LED_3 //LED_3_RUN() + +#define LED_PLUS_TIME 1 //LED˸Сʱڵλms + +/******************************************************************************\ + Typedef definitions +\******************************************************************************/ +//LEDض壬˳Ϸĺ궨屣һ +enum LED_ID +{ + LED_R, + LED_G, + LED_Y, +// LED_B, + LED_ID_MAX +}; + +//LED״̬ +enum LED_STATE +{ + LED_OFF, + LED_ON, + LED_FLASH, +// LED_KEEP_FLASHING, + LED_BREATHING_LIGHT +}; + +//LEDƽṹ +typedef struct{ + + uint8_t State[LED_ID_MAX];//LED Ĺ״̬ + uint8_t Flash_Duty[LED_ID_MAX];//LEDռձȣʱ + uint8_t Flash_Period[LED_ID_MAX];//LED + uint8_t Flash_Times[LED_ID_MAX];//˸ + uint8_t Timer[LED_ID_MAX];//ʱ 1msһ + +}TS_LED_INFO; + +extern volatile uint8_t Display_RSta; // ʾ״̬ +extern volatile uint8_t Display_GSta; // ʾ״̬ +extern volatile uint8_t Display_YSta; // ʾ״̬ + +/******************************************************************************\ + Global variables and functions +\******************************************************************************/ + +/* +* : LED_Init +* : LEDʼ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +//extern void LED_Init(void); +/******************************************************************************/ + +/* +* : LED_Clr +* : ϨȫLED +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +extern void LED_Drv(void); +/******************************************************************************/ +/* +* : LED_Set +* : LEDʽ +* : Stateʽ / Period:˸(λms) / Times:˸ +* ֵ : NONE +*/ +/******************************************************************************/ +extern void LED_Set(uint8_t LedId,uint8_t State,uint8_t Period,uint8_t Times); +/******************************************************************************/ + +// ⲿӿ;Fre:˸ڣms;n:˸ +#define LED_R_ON() LED_Set(LED_R, LED_ON, 0,0) +#define LED_R_OFF() LED_Set(LED_R, LED_OFF, 0,0) +#define LED_R_FLASH(Fre,n) LED_Set(LED_R, LED_FLASH, Fre,n) +#define LED_R_KEEP_FLASHING(Fre) LED_Set(LED_R, LED_FLASH, Fre,0xff) + +#define LED_G_ON() LED_Set(LED_G, LED_ON, 0,0) +#define LED_G_OFF() LED_Set(LED_G, LED_OFF, 0,0) +#define LED_G_FLASH(Fre,n) LED_Set(LED_G, LED_FLASH, Fre,n) +#define LED_G_KEEP_FLASHING(Fre) LED_Set(LED_G, LED_FLASH, Fre,0xff) + +#define LED_Y_ON() LED_Set(LED_Y, LED_ON, 0,0) +#define LED_Y_OFF() LED_Set(LED_Y, LED_OFF, 0,0) +#define LED_Y_FLASH(Fre,n) LED_Set(LED_Y, LED_FLASH, Fre,n) +#define LED_Y_KEEP_FLASHING(Fre) LED_Set(LED_Y, LED_FLASH, Fre,0xff) + +#ifdef BREATHING_LIGHT + +extern bit Breathing_Light_On; +/* +* : LED_Breathing_Light +* : LED100usʱƬ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +extern void LED_Breathing_Light(void); +/******************************************************************************/ + +#endif + +#endif + +#if DISPLAY_6PIN_188 + +extern uint8_t g_188_Num; + +extern uint8_t Display_Ram_Tab[25]; + +extern void Display_Scan_6Pin_188(void); + +extern void Display_Show_Num(uint8_t num); + +extern void Display_Show_Vor(uint8_t earR_bat); + +extern void Display_Show_Vol(uint8_t earL_bat); + +//extern void Set_AllLed_Down(void); + +extern void Set_NumLED_Down(void); +extern void Set_AllLed_Input(void); + +#if 1 +#define PIN0_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xDF;SFRADDR = P0_IE;SFRDATA |= 0x20;}while(0) //Set P05 Input Enable. +#define PIN0_L() do{SFRADDR = P0_OE;SFRDATA |= 0x20;P05 = 0;}while(0) //Set P05 output low Enable. +#define PIN0_H() do{SFRADDR = P0_OE;SFRDATA |= 0x20;P05 = 1;}while(0) //Set P05 output high Enable. +#else +#define PIN0_IN() do{SFRADDR = P1_OE;SFRDATA &= 0xFE;SFRADDR = P1_IE;SFRDATA |= 0x01;}while(0) //Set P10 Input Enable. +#define PIN0_L() do{SFRADDR = P1_OE;SFRDATA |= 0x01;P10 = 0;}while(0) //Set P10 output low Enable. +#define PIN0_H() do{SFRADDR = P1_OE;SFRDATA |= 0x01;P10 = 1;}while(0) //Set P10 output high Enable. +#endif + +#endif + +#ifdef LED_188 + +#define PIN5_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xFE;SFRADDR = P0_IE;SFRDATA |= 0x01;}while(0) //Set P00 Input Enable.빦ǰȹرܡ +#define PIN4_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xFD;SFRADDR = P0_IE;SFRDATA |= 0x02;}while(0) //Set P01 Input Enable. +#define PIN3_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xFB;SFRADDR = P0_IE;SFRDATA |= 0x04;}while(0) //Set P02 Input Enable. +#define PIN2_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xF7;SFRADDR = P0_IE;SFRDATA |= 0x08;}while(0) //Set P03 Input Enable. +#define PIN1_IN() do{SFRADDR = P0_OE;SFRDATA &= 0xEF;SFRADDR = P0_IE;SFRDATA |= 0x10;}while(0) //Set P04 Input Enable. + +#define PIN5_L() do{SFRADDR = P0_OE;SFRDATA |= 0x01;P00 = 0;}while(0) //Set P00 output low Enable. +#define PIN4_L() do{SFRADDR = P0_OE;SFRDATA |= 0x02;P01 = 0;}while(0) //Set P01 output low Enable. +#define PIN3_L() do{SFRADDR = P0_OE;SFRDATA |= 0x04;P02 = 0;}while(0) //Set P02 output low Enable. +#define PIN2_L() do{SFRADDR = P0_OE;SFRDATA |= 0x08;P03 = 0;}while(0) //Set P03 output low Enable. +#define PIN1_L() do{SFRADDR = P0_OE;SFRDATA |= 0x10;P04 = 0;}while(0) //Set P04 output low Enable. + +#define PIN5_H() do{SFRADDR = P0_OE;SFRDATA |= 0x01;P00 = 1;}while(0) //Set P00 output high Enable. +#define PIN4_H() do{SFRADDR = P0_OE;SFRDATA |= 0x02;P01 = 1;}while(0) //Set P01 output high Enable. +#define PIN3_H() do{SFRADDR = P0_OE;SFRDATA |= 0x04;P02 = 1;}while(0) //Set P02 output high Enable. +#define PIN2_H() do{SFRADDR = P0_OE;SFRDATA |= 0x08;P03 = 1;}while(0) //Set P03 output high Enable. +#define PIN1_H() do{SFRADDR = P0_OE;SFRDATA |= 0x10;P04 = 1;}while(0) //Set P04 output high Enable. + + +extern void Set_AllLed_Down(void); + +#endif + +#if DISPLAY_5PIN_188 +extern uint8_t g_188_Num; +extern void LED_188_Init(void); + +extern void LED_188_Drive(uint8_t Num); + +#endif + +#endif + diff --git a/UsrInc/sleep/sleep.h b/UsrInc/sleep/sleep.h new file mode 100644 index 0000000..1987d43 --- /dev/null +++ b/UsrInc/sleep/sleep.h @@ -0,0 +1,35 @@ +/* + ****************************************************************************** + * + * @file sleep.h + * @brief sleep module + * + * + * @version 1.0 + * @date 2023/07/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ +#ifndef __SLEEP_H__ +#define __SLEEP_H__ + +#include "define.h" + +#if SLEEP_ENABLE + +extern uint8_t Decnt_SleepDelay; +extern bit Enter_Sleep_Cnt_Restart_Flag; + +extern bool Check_Require_Sleep(void); + +#endif + +#endif + diff --git a/UsrInc/system/system.h b/UsrInc/system/system.h new file mode 100644 index 0000000..b20d26c --- /dev/null +++ b/UsrInc/system/system.h @@ -0,0 +1,40 @@ +/* + ****************************************************************************** + * + * @file system.h + * @brief system module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __SYSTEM_H__ +#define __SYSTEM_H__ + +#include "define.h" +/*жϺż㷽ʽж = жϺ * 8 + 3*/ +#define Interrupt_Vector_IE0 0 //0x03,TP3310 IE0 use for wakeup +#define Interrupt_Vector_TF0 1 //0x0B,Timer 0 Overflow +#define Interrupt_Vector_TF1 3 //0x1B,Timer 1 Overflow +#define Interrupt_Vector_RI_TI 4 //0x23,Serial Port0 Interrupt +#define Interrupt_Vector_IE7 8 //0x43,Charger Interrupt +#define Interrupt_Vector_IE2 9 //0x4B,External Interrupr 2/VOX Interrupt +#define Interrupt_Vector_IE3 10 //0x53,External Interrupr 3/ϵͳ쳣жϡԴж +#define Interrupt_Vector_IE4 11 //0x5B,External Interrupr 4/keyHallж +#define Interrupt_Vector_IE5 12 //0x63,NA +#define Interrupt_Vector_IE6 13 //0x6B,ADCж + +extern void System_Init(void); + +#endif + diff --git a/UsrInc/timer/sys_tim.h b/UsrInc/timer/sys_tim.h new file mode 100644 index 0000000..6e4ebe1 --- /dev/null +++ b/UsrInc/timer/sys_tim.h @@ -0,0 +1,66 @@ +/* + ****************************************************************************** + * + * @file sys_tim.h + * @brief system timer module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __sys_tim_H__ +#define __sys_tim_H__ + +#include "define.h" + +//#define FOSC 11059200L + +#define T1MS 1000 +#define T100uS 100 +#define T500uS 500 +#define T10MS 10000 //FOSC/12/100 + +#define T10MS_DEBOUNCE_1S 100 //10msڶʱ1s + +#define C_TIM0_Reload (65535 - T1MS) //1ms (65535 - N) * 1/FOSC = Time -> (65535 - N) * 1/11.0592M = 1ms -> 65535 - N = 11059.2 -> N = 65535 - 11059.2 +//extern void Sys_Tim0_Init(void ); + +#if TIMER1_ENABLE + +#ifdef BREATHING_LIGHT +#define C_TIM1_Reload (65535 - T100uS) //100us ں +#else +#define C_TIM1_Reload (65535 - T500uS) //1ms +#endif + +extern bit F_sys_tim1_tick; +extern void Sys_Tim1_Init(void ); + +#endif + +extern bit F_sys_tim_5ms; +#ifdef LED_DISPLAY +extern bit F_sys_tim_10ms; +#endif +#if DISPLAY_6PIN_188 +extern bit F_sys_tim_500ms; +#endif +extern bit F_sys_tim_250ms; +extern bit F_sys_tim_100ms; +extern bit F_sys_tim_1s; + +extern void Sys_Tim_Handler(void ); +extern void Delay200ms(void); + +#endif + diff --git a/UsrInc/uart/uart.h b/UsrInc/uart/uart.h new file mode 100644 index 0000000..1b6d8b2 --- /dev/null +++ b/UsrInc/uart/uart.h @@ -0,0 +1,50 @@ +/* + ****************************************************************************** + * + * @file uart.h + * @brief uart module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __UART_H__ +#define __UART_H__ + +#include "define.h" + +#define Baud_Rate0 115200//9600//19200//38400//93750 +#define S0REL_VALUE (1024-375000/Baud_Rate0) +#define COM0_Data_Lenth 7 + +#ifdef _DEBUG_ALL + +extern char putchar (char ch); + +#endif + +#if UART0_ENABLE + +#ifdef VOX_RX + +extern idata uint8_t RX0_Buffer[COM0_Data_Lenth]; //???o3? + +extern bit Uart0_RX_Finish_Flag; + +#endif +extern void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf); + +#endif + +#endif + diff --git a/UsrInc/userapp/userapp.h b/UsrInc/userapp/userapp.h new file mode 100644 index 0000000..6b5004e --- /dev/null +++ b/UsrInc/userapp/userapp.h @@ -0,0 +1,47 @@ +/* + ****************************************************************************** + * + * @file userapp.h + * @brief userapp module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __USERAPP_H__ +#define __USERAPP_H__ + +#include "define.h" + +#define BAT_LEVEL_LOW 20 //صͱֵ + +extern uint8_t LED_On_Timer; //ledʱʱ + +#if DISPLAY_6PIN_188 + +extern bit Vor_GetInto_Box_Flag; //б־λ +extern bit Vol_GetInto_Box_Flag; + +extern bit Vor_GetOut_Box_Flag; //б־λ +extern bit Vol_GetOut_Box_Flag; + +extern uint8_t Disp_Vor_Lev; +extern uint8_t Disp_Vol_Lev; +extern bit CHG_LED_Disp_Flag; + +#endif + +extern void UserAPP(void); + +#endif + diff --git a/UsrInc/vox/vox_module.h b/UsrInc/vox/vox_module.h new file mode 100644 index 0000000..4646087 --- /dev/null +++ b/UsrInc/vox/vox_module.h @@ -0,0 +1,102 @@ +/* + ****************************************************************************** + * + * @file VOX_Module.h + * @brief VOL/R module + * + * + * @version 1.0 + * @date 2022/07/18 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/07/18 Alex build this file + ****************************************************************************** + */ +#ifndef __VOX_MODULE_H__ +#define __VOX_MODULE_H__ + +#include "define.h" + +sbit COM_CTRL = P1^0; + +extern bit Vor_Vout_Enable; //Vor־λ +extern bit Vol_Vout_Enable; //Vol־λ; + +extern bit Vor_Chg_Flag; //б־λ +extern bit Vol_Chg_Flag; + +#if VOX_ENABLE +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +/* +VOXλãϵͳʼ(Vox_init())ͨVOX_CON0 + +SFRADDR = VOX_CON0; //VOX500mAʶ2.5uA +SFRDATA &= 0xE0; +SFRDATA |= (VOX_IOUT_500MA << 3) | VOX_ADT_Cur_2_5UA; + +*/ +#define VOX_IOUT_200MA 0x00 +#define VOX_IOUT_300MA 0x01 +#define VOX_IOUT_400MA 0x02 +#define VOX_IOUT_500MA 0x03 + +#define VOX_ADT_Cur_0_5UA 0x00 +#define VOX_ADT_Cur_1_5UA 0x01 +#define VOX_ADT_Cur_2_5UA 0x02 +#define VOX_ADT_Cur_3_5UA 0x03 +#define VOX_ADT_Cur_4_5UA 0x04 +#define VOX_ADT_Cur_5_5UA 0x05 +#define VOX_ADT_Cur_6_5UA 0x06 +#define VOX_ADT_Cur_7_5UA 0x07 + + + /******************************************************************************\ + Variables definitions + \******************************************************************************/ + + + +/* VOL Enable Type */ +typedef enum { + + VOX_VOUT_Mode = 0x00, //VOx 5V ʹ + VOX_ADT_Mode, //VOx ؽ롢ʶʹܣԶʶ + +} VOX_Enable_Mode_e; + + +typedef enum { + + VOX_GET_INTO_BOX = 0, // + VOX_STAY_IN_BOX, //ڲ + //VOX_GET_OUTPUT_BOX, // + VOX_NONE_IN_BOX, //ղ + +}Vox_State_e; + +extern Vox_State_e Vol_State; +extern Vox_State_e Vor_State; + + /******************************************************************************\ + UserCfg.Functions definitions + \******************************************************************************/ + + extern void Vox_init(void); + + extern void VOL_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode); + extern void VOR_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode); + + extern void Vol_Det_Machine(void); + extern void Vor_Det_Machine(void); + +#endif + +#endif + diff --git a/UsrInc/watchdog/watchdog.h b/UsrInc/watchdog/watchdog.h new file mode 100644 index 0000000..46c1208 --- /dev/null +++ b/UsrInc/watchdog/watchdog.h @@ -0,0 +1,51 @@ +/* + ****************************************************************************** + * + * @file watchdog.h + * @brief watchdog module + * + * + * @version 1.0 + * @date 2023/05/12 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/07/12 Alex build this file + ****************************************************************************** + */ + +#ifndef __WATCHDOG_H__ +#define __WATCHDOG_H__ + +#include "define.h" + +#if 0 + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +#define _WDT_TIME_65ms_ 0 +#define _WDT_TIME_1s_ 1 + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + +/******************************************************************************\ + UserCfg.Functions definitions +\******************************************************************************/ + +extern void Watchdog_Clear(void); +extern void Watchdog_Init(uint8_t watchdog_time ); + +#endif + +#endif + diff --git a/UsrSrc/InitVars.c b/UsrSrc/InitVars.c new file mode 100644 index 0000000..1719b72 --- /dev/null +++ b/UsrSrc/InitVars.c @@ -0,0 +1,39 @@ +/* + ****************************************************************************** + * + * @file adc.c + * @brief adc module + * @ic TP3102 + * + * @version 1.0 + * @date 2024/07/03 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2024/07/03 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +/*汾һӲڸĶܼ֮ǰ汾ʱ1 + ڶڹܴڸĶʱ1Գֲͬ + ԰汾ʱĶλֱ䶯ʱλ㡣*/ + +#define FW_VER0 0x01 //汾0:ӲڸĶܼ֮ǰ汾ʱ1 +#define FW_VER1 0x01 //汾1:ڹܴڸĶʱ1 +#define FW_VER2 0x01 //汾2:ԳֲͬIJ԰汾ʱĶʱ1 + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +char code Version_Addr[3] = {FW_VER0,FW_VER1,FW_VER2}; //ROMԵַ汾ROM307030713072λôСģʽ洢 + + + diff --git a/UsrSrc/adc/adc.c b/UsrSrc/adc/adc.c new file mode 100644 index 0000000..78857ed --- /dev/null +++ b/UsrSrc/adc/adc.c @@ -0,0 +1,178 @@ +/* + ****************************************************************************** + * + * @file adc.c + * @brief adc module + * @ic TP3102 + * + * @version 1.0 + * @date 2024/03/26 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/04 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ + +#include "adc.h" +#include "system.h" +#include "sys_tim.h" + +#if ADC_ENABLE + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +idata uint16_t Vbat_Adc = 0; + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +/* +******************************************************************************* +* uint16_t ADC_Chn_Data(ADC_CHANNELS_E adc_chn) +* +* Description : ȡӦͨĵѹADCֵ +* +* Arguments : NONE + +* Returns : adc Value (mV) + +* Notes : NONE +* +******************************************************************************* +*/ + +uint16_t ADC_Chn_Data(ADC_CHANNELS_E adc_chn) +{ + uint8_t index = 0; + uint16_t adc_data = 0; + uint16_t adc_plus_data = 0; + + SFRADDR = ADC_CTL0; + SFRDATA = 0x8B; //0x8B--ADC EN; Single mode; ADC CLK divided by 24=460k + + for(index=0; index<8; index++) + { + ADC_CTL1 = (adc_chn << 4) | 0x01; //Channel set and Start conversion + + while(ADC_CTL1 & 0x01); //Wait for conversion complete + + adc_data = ADC_DATL; //Read low byte first! Lock ADC Value. + + adc_data |= (uint16_t)(ADC_DATH << 8); + + adc_plus_data += adc_data; +#ifdef _DEBUG_ADC + printf("adc4:%d,plus:%d.\r\n",(uint16_t)adc_data,(uint16_t)adc_plus_data); +#endif + // adc_data = 0; + } + + adc_data = adc_plus_data >> 3; + +#ifdef _DEBUG_ADC + printf("adc_chn1:%d.\r\n",(uint16_t)adc_data); +#endif + +#ifdef _DEBUG_ADC + printf("Adc,Vadc:%d,Vref:%d.\r\n", (uint16_t)adc_data, (uint16_t)adc_plus_data); +#endif + + return adc_data; +} + +/* + ******************************************************************************* + * uint16_t Vbat_Value(void) + * + * Description : Vbat Value.ȡصѹ + * + * Arguments : NONE + + * Returns : Vbat Value (mV) + + * Notes : NONE + * + ******************************************************************************* + */ + uint16_t Vbat_Value(void) + { + uint16_t n_Vbat_Data = 0; + //uint16_t n_ADC_Plus = 0; + + n_Vbat_Data = ADC_Chn_Data(ADC_BAT); + +#ifdef _DEBUG_ADC + printf("bat_Vbat1:%d.\r\n",(uint16_t)n_Vbat_Data); +#endif + +// n_ADC_Plus = ADC_Chn_Data(ADC_VREF); //ȡVREF + + n_Vbat_Data = (uint32_t)(n_Vbat_Data) * VREF * 2 / ADC_Chn_Data(ADC_VREF); //Vadx = VREF*DATAadx/DATAvref + +#ifdef _DEBUG_ADC + printf("bat,Vbat:%d.\r\n",(uint16_t)n_Vbat_Data); +#endif + + return n_Vbat_Data; + } + +#if NTC_ENABLE + +/* +******************************************************************************* +* uint16_t ADC_NTC_Value(void) +* +* Description : ȡNTCѹ + +* Arguments : NONE + +* Returns : ADC Value (mV) + +* Notes : NONE +* +******************************************************************************* +*/ + +uint16_t ADC_NTC_Value(void) +{ + uint16_t adc_data = 0; + + SFRADDR = MFP_CTL1; //Set P07 Pinmux As AD4 Function + SFRDATA |= 0x80; + + adc_data = ADC_Chn_Data(ADC_CH4); + +#ifdef _DEBUG_ADC + printf("adc_chn1:%d.\r\n",(uint16_t)adc_data); +#endif +// adc_plus_data = ADC_Chn_Data(ADC_VREF); //ȡVREF + + adc_data = (uint32_t)(adc_data) * VREF / ADC_Chn_Data(ADC_VREF); //Vadx = VREF*DATAadx/DATAvref + +#ifdef _DEBUG_ADC + printf("Adc,Vadc:%d.\r\n", (uint16_t)adc_data); +#endif + SFRADDR = MFP_CTL1; //Set P07 Pinmux As AD4 Function + SFRDATA &= ~0x80; + + return adc_data; +} + +#endif + +#endif + diff --git a/UsrSrc/bat/bat.c b/UsrSrc/bat/bat.c new file mode 100644 index 0000000..0a2c72b --- /dev/null +++ b/UsrSrc/bat/bat.c @@ -0,0 +1,149 @@ +/* + ****************************************************************************** + * + * @file bat.c + * @brief Voltage-based RC model gauge algorithm + * + * + * @version 1.0 + * @date 2023/02/20 17:35:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/02/20 Alex build this file + ****************************************************************************** + */ +#include "bat.h" +#include "adc.h" +#include "userapp.h" + +idata uint8_t bat_level = 0; +bit F_batlevel_low = 0; //صѹ + +#if BAT_VALUE + +#define C_offset_bat_level_MAX 90 +#define C_offset_bat_level_MIN 10 + +#define C_bat_level_protect 0 +#define C_bat_level_lowpower 1 + + +//bit F_batlevel_protect = 0; //͵籣 +idata uint8_t offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2; + + +#define C_batLevel_SetMax 10 + +/*صѹḡ,ѹҪԡ*/ +const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] = +{ + 3450, //1 + 3650, //2 + 3700, //3 + 3745, //4 + 3785, //5 + 3850, //6 + 3935, //7 + 3900, //8 + 4050, //9 + 4200 //10 +}; +#if 0 +const uint16_t Charging_batlevel_Threshold1[C_batLevel_SetMax] = +{ + 3050, //1 + 3150, //2 + 3350, //3 + 3450, //4 + 3550, //5 + 3700, //6 + 3850, //7 + 3950, //8 + 4100, //9 + 4200 //10 +}; +#endif +void check_bat_level(void) +{ + uint8_t i = 0; + //get bat level +#if ADC_ENABLE + for(i=0; i < C_batLevel_SetMax; i++) + { + #if 1 + + if( Vbat_Adc < Boost_batlevel_Threshold[i] ) + { + break; + } + + #else + if(CHIP_STA4 & 0x80) // + { + if( Vbat_Adc < Boost_batlevel_Threshold[i] + 50 ) + break; + } + else //ŵ + { + if( Vbat_Adc < Boost_batlevel_Threshold[i] ) + { + break; + } + } + #endif + } +#endif + /*ϵͳ󣬿ٲɼ*/ + if( RST_FLAG ) + { + RST_FLAG = 0; + bat_level = i; + + /*ʼʾ*/ +#if DISPLAY_6PIN_188 + CHG_LED_Disp_Flag = 1; +#endif + } + + if( i > bat_level ) + { + offset_bat_level++; + } + else + { + offset_bat_level--; + } + + //debounce + if( (offset_bat_level > C_offset_bat_level_MAX) || (offset_bat_level < C_offset_bat_level_MIN) ) + { + //update + bat_level = i; + offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2; + } + #if 0 + if( bat_level <= C_bat_level_protect ) + { + F_batlevel_protect = 1; + } + else if( bat_level > ( C_bat_level_protect + 1 ) ) + { + F_batlevel_protect = 0; + } + #endif + if( bat_level <= C_bat_level_lowpower ) + { + F_batlevel_low = 1; + } + else if( bat_level > (C_bat_level_lowpower + 1) ) + { + F_batlevel_low = 0; + } +} + +#endif diff --git a/UsrSrc/charger/charger_module.c b/UsrSrc/charger/charger_module.c new file mode 100644 index 0000000..5020b3a --- /dev/null +++ b/UsrSrc/charger/charger_module.c @@ -0,0 +1,321 @@ +/* + ****************************************************************************** + * + * @file charger_module.c + * @brief charger module + * + * + * @version 1.0 + * @date 2022/07/12 17:35:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/07/12 Alex build this file + ****************************************************************************** + */ +/*_____ I N C L U D E S ____________________________________________________*/ +#include "charger_module.h" +#include "adc.h" +#include "sys_tim.h" +#include "discharge_module.h" +#include "system.h" +#include "vox_module.h" +#include "led.h" +#include "userapp.h" + +bit Charger_Done = 0; + +#if NTC_ENABLE +bit NTC_Pro_Flag = 0; +#endif + +#if CHARGER_ENABLE +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +#define NTC_PRO_DEBOUNCE_TIM 10 + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +//idata TE_CHG_STA ChgStatus; // ϵͳ״̬ + +//bit NTC_Low_Pro_Flag = 0; +//bit NTC_High_Pro_Flag = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Charger_init(void) + * + * Description : Charger Initialization + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Charger_Init(void) +{ + SFRADDR = PMU_CTL1; + SFRDATA |= 0x07; //صѹ enable źţصѹ⵵λѡ3.3V + /* Setting CV */ + REG_CHG2 = 0x00; //0:4.20V;1:4.35V + /* Setting CHG Current */ + REG_CHG1 = 0x03; //000:100mA;001:200mA;010:250mA;011:300mA;100:350mA;101:400mA;110:450mA;111:500mA + +} +#endif + +/* + ******************************************************************************* + * void Charger_Current_Set(void) + * + * Description : Charger Initialization + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Charger_Current_Set(void) +{ + uint16_t Charger_CurADC_Value = 0; + /* ͨⲿADC1ֵóֵ */ + Charger_CurADC_Value = ADC_Chn_Value(ADC_CH1); + + + /* Setting CV */ + REG_CHG2 = 0x00; //0:4.20V;1:4.35V + /* Setting CHG Current */ + REG_CHG1 = 0x03; //000:100mA;001:200mA;010:250mA;011:300mA;100:350mA;101:400mA;110:450mA;111:500mA + +} +#endif + +#if NTC_ENABLE + +/* + ******************************************************************************* + * uint8_t Charger_NTC_Control(uint8_t Charge_sta) + * + * Description : Charger NTC Control + * NTC ֧ 103 104 裬NTC ¶ȼͨ ADC ɼ NTC ŵѹ + * ֵ֧¶ȼԻֵ֧Ʒ 103 NTC Ҫһ 8.2k + + * 裨20uA 103 NTC Ҫ 10k 裩104 NTC 82k 衣 + * ʹܳǰȼNTC ¶ȣ NTC գ NTC ܣ + * NTC 0Vرճͷŵ硣NTC رճ磬 + * ¶Ȼָ 250msټ硣 + * + * Arguments : NTC_Protect_Type_e NTC_Type:Shield JEITA or IEC;Charge_sta:Charge or not + + * Returns :NTC_Flag (0:Shield; 1:JEITA; 2:IEC) + + * Notes : NONE + * + ******************************************************************************* + */ +uint8_t PMU_NTC_Control(void) +{ + uint16_t NTC_Adc = 0; + uint8_t NTC_Flag = TRUE; + + static bit NTC_Low_Pro_Flag; + static bit NTC_High_Pro_Flag; + +#if ADC_ENABLE + NTC_Adc = ADC_NTC_Value(); +#endif + + if(NTC_Adc >= 3700) ////NTCܣNTCգ NTC ܣ + { + return TRUE; + } + +// if(CHIP_STA4 & 0x80) + { + if(NTC_Adc <= T_0C && NTC_Adc > T_45C) // + { + if(NTC_Low_Pro_Flag) + { + if( NTC_Adc < T_3C ) + { + NTC_Low_Pro_Flag = 0; + NTC_Flag = TRUE; + } + else + { + NTC_Flag = FALSE; + } + } + + if(NTC_High_Pro_Flag) + { + if( NTC_Adc > T_42C ) + { + NTC_High_Pro_Flag = 0; + NTC_Flag = TRUE; + } + else + { + NTC_Flag = FALSE; + } + } + } + else //쳣 + { + + if(NTC_Adc > T_0C) + { + NTC_Low_Pro_Flag = 1; + } + else + if(NTC_Adc < T_45C) + { + NTC_High_Pro_Flag = 1; + } + + NTC_Flag = FALSE; + } + } + + if( NTC_Flag == FALSE ) + { + NTC_Pro_Flag = 1; + } + else + { + NTC_Pro_Flag = 0; + } + + return NTC_Flag; +} +#endif +/* + ******************************************************************************* + * void Charger_Handler(void) + * + * Description : Charger Handle. ---- ̳˸ NTC ̬ڳͽֹѹ⣬Ӳơ + 쳣ӲӦͱ־λԽӦ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + /* +1糬ʱ糬ʱرճʹܣȴVINγ +*/ +void Charger_Handler(void) +{ + if( !(CHIP_STA4 & 0x80) ) //δ⵽Power good,رChargerʹܺ󷵻ء + { + CHG_CTL &= ~0x01; //Disable Charger + IRQ_FLAG9 = 0x10; //δ磬Charg complete interruptж + Charger_Done = 0; +#ifdef BREATHING_LIGHT //رLED UIʾ + Breathing_Light_On = 0; +#endif + return; + } + + /*ֻ糬ʱʱҪVBUS²κ¿ʼCharger̡*/ + if ( IRQ_FLAG9 & 0x0C ) //糬ʱ,Tricle charg and Fast charge timeout + { + CHG_CTL &= ~0x01; //Disable Charger + if ( IRQ_FLAG10 & 0xC0 ) //Plugin\Plugout interrupt + { + IRQ_FLAG9 = 0x0C; + IRQ_FLAG10 = 0xC0; //Clear Plugin\Plugout interrupt + } +#ifdef BREATHING_LIGHT //رLED UIʾ + Breathing_Light_On = 0; +#endif + return; + } + else /*δʱPlugPlugin\Plugout int*/ + { + if( IRQ_FLAG10 & 0xC0 ) + { + IRQ_FLAG10 = 0xC0; //Clear Plugin\Plugout interrupt + } + } +#if NTC_ENABLE + + /*NTC Handle*/ //ʹChargerǰȼNTC¶ȣ쳣Ͳ硣(CHIP_STA4 & 0x80):PG + if( PMU_NTC_Control() == FALSE ) //NTC硣 + { + CHG_CTL &= ~0x01; //Disable Charger. +#ifdef BREATHING_LIGHT //رLED UIʾ + Breathing_Light_On = 0; +#endif + return; + } + +#endif + + if( IRQ_FLAG9 & 0x10 ) //Charg complete interrupt + { +#ifdef BREATHING_LIGHT //رLED UIʾ + Breathing_Light_On = 0; +#endif + +#if ADC_ENABLE + +#ifdef _DEBUG_CHARGER + printf("Chg Done\r\n"); +#endif + if( Vbat_Adc < BAT_RECHARG ) + { + //CHG_CTL |= 0x01; //Enable Charger + IRQ_FLAG9 = 0x10; +#ifdef _DEBUG_CHARGER + printf("En Chg\r\n"); +#endif + } + else + { + CHG_CTL &= ~0x01; //Disable Charger +#ifdef _DEBUG_CHARGER + printf("Dis Chg\r\n"); +#endif + } + Charger_Done = 1; + #if DISPLAY_6PIN_188 + LED_On_Timer = 0; + #endif + +#endif + } + else + { + CHG_CTL |= 0x01; //Enable Charger + Charger_Done = 0; +#ifdef BREATHING_LIGHT //LED UIʾ + Breathing_Light_On = 1; +#endif + } +} + +#endif + diff --git a/UsrSrc/discharge/discharge_module.c b/UsrSrc/discharge/discharge_module.c new file mode 100644 index 0000000..e76584d --- /dev/null +++ b/UsrSrc/discharge/discharge_module.c @@ -0,0 +1,206 @@ +/* + ****************************************************************************** + * + * @file discharge_module.c + * @brief discharge module + * + * + * @version 1.0 + * @date 2022/07/12 17:35:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/07/12 Alex build this file + ****************************************************************************** + */ +#include "discharge_module.h" +#include "vox_module.h" +#include "adc.h" +#include "charger_module.h" +#include "sys_tim.h" +#include "system.h" +#include "led.h" + + +bit gBoost_Prepared_Flag = 0; //Boost㿪 + +#if DISCHARGE_ENABLE +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + +bit gBoost_UVLO_Flag = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +#if 0 + +/* +******************************************************************************* +* void DisCharge_Boost_Open(void) +* +* Description : Boost Open +* VIN ʱBoost ڵصѹ UVLOӲر 2.8/3.0VӲ boost ʹܡ +* ʵ֣ VIN3.6V VIN3.3V͵شڵ²ܿ +* +* Arguments : NONE + +* Returns : NONE + +* Notes : NONE +* +******************************************************************************* +*/ + void DisCharge_Boost_Open(void) +{ + if( gBoost_Prepared_Flag ) //Boost㿪 + { + BST_EN = 1; //Boost Enable쳣ʱӲرա + +#ifdef _DEBUG_DISCHARGE + printf("Bst Open\r\n"); +#endif + } +} + +/* +******************************************************************************* +* void DisCharge_Boost_Close(void) +* +* Description : Boost CloseҪdz쳣ʱӲرգڵLOW״̬£ǷҪرboost +* +* Arguments : + +* Returns : + +* Notes : +* +******************************************************************************* +*/ + void DisCharge_Boost_Close(void) + { + if( (BST_EN & 0x01) && gBoost_Prepared_Flag ) + { + BST_EN = 0; //Boost Disable + gBoost_Prepared_Flag = 0; + +#ifdef _DEBUG_DISCHARGE + printf("Bst Close\r\n"); +#endif + } + } + +#endif +/* +******************************************************************************* +* void DisCharge_Handler(void) +* +* Description : Boostŵıܰ· UVLO ŵ± +* +* Arguments : + +* Returns : + +* Notes : +* +******************************************************************************* +*/ + +void DisCharge_Handler(void) +{ + /*ŵ --- Ӳʵ*/ +#if 0 + gBoost_Prepared_Flag = 1; +#else + /*± --- Ӳʵ*/ + if( CHIP_STA3 & 0x02 ) + { + gBoost_Prepared_Flag = 0; + + return; + } + + /*Boost Input UVLO Ӳʵ*/ + if( (CHIP_STA0 & 0x80) ) //־λ + { + gBoost_Prepared_Flag = 0; + + gBoost_UVLO_Flag = 1; + return; + } + + /*· (ʹжϱ־λBoost·жϷ棬Ҫд1㡣)-- ·һֱûߴBOOST_HICCUP_TIM֮disable boostʱ 250msʵ֣*/ + if( IRQ_FLAG0 & 0x01 ) + { +#ifdef _DEBUG_DISCHARGE + printf("Boost Pro Output Short!\r\n"); +#endif + gBoost_Prepared_Flag = 0; + + //һֱ + if( F_sys_tim_250ms ) + { + F_sys_tim_250ms = 0; + IRQ_FLAG0 = 0x01; + + BST_EN = 1; //250msʱһBoost + } + return; + } + +#if NTC_ENABLE + /*NTC Handle*/ //ʹBoostǰȼNTC¶ȣ쳣Ͳŵ硣 + if( PMU_NTC_Control() == FALSE ) //NTCŵ硣 + { + gBoost_Prepared_Flag = 0; + BST_EN = 0; + return; + } +#endif + + gBoost_Prepared_Flag = 1; + +#if ADC_ENABLE + /* + VIN ʱBoost ڵصѹ UVLOӲر 2.8/3.0VӲ boost ʹܡ + ʵ֣ VIN3.6V VIN3.3V͵شڵ²ܿ + ֻ VIN3.6Vboost VIN3.3Vboost߼ + ֻעVINʱUVLOָBoostVINӲ + */ + if ( gBoost_UVLO_Flag ) + { + if( CHIP_STA4 & 0x80 ) //Power GOOD + { + if( Vbat_Adc >= OPEN_BOOST_VIN ) + { + gBoost_Prepared_Flag = 1; + gBoost_UVLO_Flag = 0; + } + else + { + BST_EN = 0; //Boost Disable + gBoost_Prepared_Flag = 0; + + } + } + } + +#endif +#endif + +} + +#endif + diff --git a/UsrSrc/gpio/gpio.c b/UsrSrc/gpio/gpio.c new file mode 100644 index 0000000..16995ec --- /dev/null +++ b/UsrSrc/gpio/gpio.c @@ -0,0 +1,66 @@ +/* + ****************************************************************************** + * + * @file gpio.c + * @brief gpio module + * @ic TP3102 + * + * @version 1.0 + * @date 2022/08/05 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/05 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "gpio.h" +#include "sleep.h" +#include "userapp.h" +#include "led.h" + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +//uint8_t System_Rst_Cnt = 0; //ϵͳλʱ + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Gpio_Init(void) + * + * Description : gpio Initialization. --- ϵͳʼá + * + * Arguments : + + * Returns : + + * Notes : + * + ******************************************************************************* + */ + #if 0 +void GPIO_Init(void) +{ + /* GPIO */ + +// SFRADDR = P0_OE; +// SFRDATA |= 0x1C; //P02,P03,P04óģʽ + + SFRADDR = P1_OE; + SFRDATA = 0x01; +} +#endif + + diff --git a/UsrSrc/hall/hall.c b/UsrSrc/hall/hall.c new file mode 100644 index 0000000..ae63524 --- /dev/null +++ b/UsrSrc/hall/hall.c @@ -0,0 +1,91 @@ +/* + ****************************************************************************** + * + * @file hall.c + * @brief hall module + * + * + * @version 1.0 + * @date 2022/08/04 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/04 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "hall.h" +#include "key.h" +#include "led.h" +#include "userapp.h" +#include "sleep.h" + +#if HALL_ENABLE + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +uint8_t Hall_Sta_bk = 0xff; + +CoverStatus_E CoverStatus; + +bit CoverEvent_Flg = 0; //Hallش¼־λ +bit CoverEvent_Flg_led = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Hall_Handle(void) + * + * Description : Hall Handle --- ѭеã10msCoverStatus --- ָ״̬ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + void Hall_Handler(void) + { + uint8_t Hall_Sta = 0; + + Hall_Sta = CHIP_STA0 & 0x08; + if( Hall_Sta != Hall_Sta_bk) + { + if(CHIP_STA0 & 0x08) //Hall ߵƽ + { +#if HALL_OPEN_LEV_SET + CoverStatus = OPEN; +#else + CoverStatus = CLOSE; +#endif + } + else + { +#if HALL_OPEN_LEV_SET + CoverStatus = CLOSE; +#else + CoverStatus = OPEN; +#endif + } + CoverEvent_Flg = 1; + CoverEvent_Flg_led = 1; + LED_On_Timer = 0; + Hall_Sta_bk = Hall_Sta; + Enter_Sleep_Cnt_Restart_Flag = 1; + } + } + #endif + diff --git a/UsrSrc/key/key.c b/UsrSrc/key/key.c new file mode 100644 index 0000000..6241a94 --- /dev/null +++ b/UsrSrc/key/key.c @@ -0,0 +1,135 @@ +/* + ****************************************************************************** + * + * @file key.c + * @brief key module + * + * + * @version 1.0 + * @date 2022/08/04 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/04 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "key.h" +#include "system.h" +#include "led.h" +#include "sleep.h" +#include "adc.h" +#include "bat.h" + +#if KEY_ENABLE +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +bit Key_Press_short_irq = 0; +bit Key_Press_l_irq = 0; +bit Key_Press_ll_irq = 0; + +bit Key_l_Flag = 0; + +bit Hall_Positive_Flg = 0; +bit Hall_Negative_Flg = 0; + +idata KEY_EVENT_E Event_key = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Key_Init(void) + * + * Description : Hey Initialization + * + * Arguments : + + * Returns : + + * Notes : + * + ******************************************************************************* + */ +#if 0 + void Key_Init(void) +{ + + SFRADDR = MFP_CTL1; //Set P05 as key Function + SFRDATA &= ~0x3C; + SFRDATA |= 0x14; + + SFRADDR = PMU_CTL0; + SFRDATA |= 0x02; //Key Detect Enable + + //KEY_CTL = 0x04; //Set all of the functions about KEY are enable. +} +#endif + + +/* + ******************************************************************************* + * void Key_Handler(void) + * + * Description : Key Handler --- ѭеã5msг(ʱ2s)Ҫж̧Ŵ + CoverStatus --- ָ״̬ṩӦKey¼־λӦô + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + + void Key_Handler(void) + { + if( Key_l_Flag ) + { + Key_Press_l_irq = 0; + Key_l_Flag = 0; + /*todo*/ + Event_key = KEY_EVENT_L_2S; + +#ifdef _DEBUG_KEY + printf("long press\r\n"); +#endif + } + + if( Key_Press_ll_irq ) + { + Key_Press_ll_irq = 0; + /*todo*/ + Event_key = KEY_EVENT_LL_8S; + +#ifdef _DEBUG_KEY + printf("supper long press\r\n"); +#endif + } + + if( Key_Press_short_irq ) + { + Key_Press_short_irq = 0; + /*todo*/ + Event_key = KEY_EVENT_SHORT; + +#ifdef _DEBUG_KEY + printf("short press\r\n"); +#endif + + } + } + + #endif diff --git a/UsrSrc/led/led.c b/UsrSrc/led/led.c new file mode 100644 index 0000000..9440149 --- /dev/null +++ b/UsrSrc/led/led.c @@ -0,0 +1,1203 @@ +/* + ****************************************************************************** + * + * @file led.c + * @brief led module + * @ic TP3102 + * + * @version 1.0 + * @date 2022/08/04 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/04 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ + +#include "led.h" + + +#ifdef LED_DISPLAY + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +static idata TS_LED_INFO LED; + +volatile uint8_t Display_RSta = LED_OFF; // ʾ״̬ +volatile uint8_t Display_GSta = LED_OFF; // ʾ״̬ +volatile uint8_t Display_YSta = LED_OFF; // ʾ״̬ + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +#if 0 +/* +* : LED_Init +* : LEDʼ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +void LED_Init(void) +/******************************************************************************/ +{ + SFRADDR = P0_OE; + SFRDATA = 0x1C; + + SFRADDR = P0_DRV; + SFRDATA = 0x3F; + + P0 &= ~0x1C; +} +#endif + + +/* +* : LED_On +* : LED +* : LEDID +* ֵ : NONE +*/ +/******************************************************************************/ +static void LED_On(uint8_t LedId) +/******************************************************************************/ +{ + switch(LedId) + { + case LED_R: + LEDR_ON(); + break; + + case LED_G: + LEDG_ON(); + break; + + case LED_Y: + LEDY_ON(); + break; +#if 0 + + case LED_B: + LEDB_ON(); + break; +#endif + default: break; + } +} + +/* +* : LED_Off +* : ϨLED +* : LEDID +* ֵ : NONE +*/ +/******************************************************************************/ +static void LED_Off(uint8_t LedId) +/******************************************************************************/ +{ + switch(LedId) + { + case LED_R: + LEDR_OFF(); + break; + + case LED_G: + LEDG_OFF(); + break; + + case LED_Y: + LEDY_OFF(); + break; +#if 0 + + case LED_B: + LEDB_OFF(); + break; +#endif + default: break; + } +} + +/* +* : LED_Set +* : LEDʽ +* : Stateʽ / Period:˸(Ƶʣλms) / Times:˸0xffʱһֱ +* ֵ : NONE +*/ +/******************************************************************************/ +void LED_Set(uint8_t LedId,uint8_t State,uint8_t Period,uint8_t Times) +/******************************************************************************/ +{ + LED.State[LedId] = State; + LED.Flash_Duty[LedId] = Period / 2; + LED.Flash_Period[LedId] = Period; + LED.Flash_Times[LedId] = Times; + LED.Timer[LedId] = 0; +} + +/* +* : LED_Service +* : LED100msʱƬ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +void LED_Drv(void) +/******************************************************************************/ +{ + uint8_t i = 0; + + for(i = 0;i < LED_ID_MAX;i++) + { + switch(LED.State[i]) + { + case LED_ON: + LED_On(i); + break; + + case LED_OFF: + LED_Off(i); + break; + + case LED_FLASH: + if(LED.Timer[i] < LED.Flash_Duty[i]) + { + LED_On(i); + } + else + { + LED_Off(i); + } + + if(LED.Timer[i] >= LED.Flash_Period[i]) //LED.Timer[i]ʾۼӵʱ + { + LED.Timer[i] = 0; + + if( LED.Flash_Times[i] == 0xff ) + { + //LED.State = LED_KEEP_FLASHING; + break; + } + else + { + if( LED.Flash_Times[i] > 0 ) + { + LED.Flash_Times[i]--; + } + + if( LED.Flash_Times[i] == 0 ) + { + LED.State[i] = LED_OFF; + } + } + } + break; + + default: + LED_Off(i); + break; + } + } + + if (i == LED_R) + { + Display_RSta = LED.State[i]; // LED_OFF == DISPLAY_OFF + } + else + if (i == LED_G) + { + Display_GSta = LED.State[i]; // LED_OFF == DISPLAY_OFF + } + else + if (i == LED_Y) + { + Display_YSta = LED.State[i]; // LED_OFF == DISPLAY_OFF + } + + for(i=0;i= 170 ) + { + BL_Timer = 0; + + if(Flash_Duty_Declining) + { + BL_Flash_Duty -= 1; + } + else + if(Flash_Duty_Rising) + { + BL_Flash_Duty += 1; + } + + } + + if( 170 <= BL_Flash_Duty ) + { + Flash_Duty_Declining = 1; + Flash_Duty_Rising = 0; + } + else + if( BL_Flash_Duty <= 1 ) + { + Flash_Duty_Rising = 1; + Flash_Duty_Declining = 0; + } + + BL_Timer += 1; +} + +#endif + + +#if DISPLAY_6PIN_188 + +uint8_t g_188_Num = 188; //188ʾȫֱ + +uint8_t Display_Ram_Tab[25] = { +//ʾRAMʵõ24Σһ + 0,0,0,0, //ʾռ4RAM + + 0,0, + + 0,0,0,0,0,0,0, + + 0,0,0,0,0,0,0, //188ʾռ16RAM + + 0,0,0,0, //Ҷʾռ4RAM + + 0 +}; + +enum +{ + L1=0,L2,L3,L4, //ʾռ4RAM + + K1,K2, + + A1,B1,C1,D1,E1,F1,G1, //188ʾռ16RAM + + A2,B2,C2,D2,E2,F2,G2, + + T1,T2,T3,T4, //Ҷʾռ4RAM + + NG +}; + + +/*0-9ʾı񡣸λͰλԣ7*/ +idata uint8_t NumX_Tab[10][7] = +{ + {A1,B1,C1,D1,E1,F1,NG}, //0 + + {B1,C1,NG,NG,NG,NG,NG}, //1 + + {A1,B1,G1,E1,D1,NG,NG}, //1 + + {A1,B1,G1,C1,D1,NG,NG}, //3 + + {F1,G1,B1,C1,NG,NG,NG}, //4 + + {A1,F1,G1,C1,D1,NG,NG}, //5 + + {A1,F1,G1,C1,D1,E1,NG}, //6 + + {A1,B1,C1,NG,NG,NG,NG}, //7 + + {A1,F1,G1,C1,D1,E1,B1}, //8 + + {A1,B1,C1,D1,F1,G1,NG}, //9 +}; + +idata uint8_t EarL_Display_Tab[5][4]= +{ + {NG,NG,NG,NG}, //0% + + {L1,NG,NG,NG}, //ؿ + + {L1,L2,NG,NG}, //һ + + {L1,L2,L3,NG}, //ǰ + + {L1,L2,L3,L4}, //ǰ +}; + +idata uint8_t EarR_Display_Tab[5][4]= +{ + {NG,NG,NG,NG}, //0% + + {T1,NG,NG,NG}, //ؿ + + {T1,T2,NG,NG}, //һ + + {T1,T2,T3,NG}, //ǰ + + {T1,T2,T3,T4}, //ǰ +}; + +/* + ******************************************************************************* + * void LED_188_Init(void) + * + * Description : LED 188 Initialization. --- ϵͳʼá + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void LED_188_Init(void) +{ + SFRADDR = MFP_CTL1; + SFRDATA &= ~0x0C; + + P0 &= ~0xC0; //P00P01P02P03P04P05 + + SFRADDR = P0_OE; + SFRDATA |= 0x3f; +} + + +void Set_AllLed_Input(void) +{ + PIN0_IN(); + + PIN1_IN(); + + PIN2_IN(); + + PIN3_IN(); + + PIN4_IN(); + + PIN5_IN(); //Ӱ + +} + +#endif + +/* + ******************************************************************************* + * void Display_Scan_6Pin_188(void) + * + * Description : LED 188 ɨTimer1еã1ms + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +/* +ܣ + 1 2 3 4 5 6 +2 <-L1<- 1 1 <-T1<- 2 1 <-K1<- 3 1 <-E1<- 4 1 <-B1<- 5 1 ->G2<- 6 +3 <-L2<- 1 3 <-T2<- 2 2 <-A1<- 3 2 <-D1<- 4 2 <-F2<- 5 2 ->C2<- 6 +4 <-L3<- 1 4 <-T3<- 2 4 <-F1<- 3 3 <-C1<- 4 3 <-A2<- 5 3 ->D2<- 6 +5 <-L4<- 1 5 <-T4<- 2 5 <-G1<- 3 5 <-E2<- 4 4 ->B2<- 5 4 ->K2<- 6 +*/ +void Display_Scan_6Pin_188(void) +{ + static uint8_t gSacn_Row; + + gSacn_Row++; + + Set_AllLed_Input(); +#if 1 + if( gSacn_Row > 24 ) + { + gSacn_Row = 1; + } + + switch (gSacn_Row) + { + case 1: + { + PIN0_H(); + if( Display_Ram_Tab[L1] == 1 ) + PIN1_L(); + } + break; + case 2: + { + PIN0_H(); + if( Display_Ram_Tab[L2] == 1 ) + PIN2_L(); + } + break; + case 3: + { + PIN0_H(); + if( Display_Ram_Tab[L3] == 1 ) + PIN3_L(); + } + break; + case 4: + { + PIN0_H(); + if( Display_Ram_Tab[L4] == 1 ) + PIN4_L(); + + } + break; + case 5: + { + PIN1_H(); + if( Display_Ram_Tab[T1] == 1 ) + PIN0_L(); + + } + break; + case 6: + { + PIN1_H(); + if( Display_Ram_Tab[T2] == 1 ) + PIN2_L(); + + } + break; + case 7: + { + PIN1_H(); + if( Display_Ram_Tab[T3] == 1 ) + PIN3_L(); + + } + break; + case 8: + { + PIN1_H(); + if( Display_Ram_Tab[T4] == 1 ) + PIN4_L(); + + } + break; + case 9: + { + PIN2_H(); + if( Display_Ram_Tab[K1] == 1 ) + PIN0_L(); + + } + break; + case 10: + { + PIN2_H(); + if( Display_Ram_Tab[A1] == 1 ) + PIN1_L(); + + } + break; + case 11: + { + PIN2_H(); + if( Display_Ram_Tab[F1] == 1 ) + PIN3_L(); + + } + break; + case 12: + { + PIN2_H(); + if( Display_Ram_Tab[G1] == 1 ) + PIN4_L(); + + } + break; + case 13: + { + PIN3_H(); + if( Display_Ram_Tab[E1] == 1 ) + PIN0_L(); + + } + break; + case 14: + { + PIN3_H(); + if( Display_Ram_Tab[D1] == 1 ) + PIN1_L(); + + } + break; + case 15: + { + PIN3_H(); + if( Display_Ram_Tab[C1] == 1 ) + PIN2_L(); + + } + break; + case 16: + { + PIN3_H(); + if( Display_Ram_Tab[E2] == 1 ) + PIN4_L(); + + } + break; + case 17: + { + PIN4_H(); + if( Display_Ram_Tab[B1] == 1 ) + PIN0_L(); + + } + break; + case 18: + { + PIN4_H(); + if( Display_Ram_Tab[F2] == 1 ) + PIN1_L(); + + } + break; + case 19: + { + PIN4_H(); + if( Display_Ram_Tab[A2] == 1 ) + PIN2_L(); + + } + break; + case 20: + { + PIN4_H(); + if( Display_Ram_Tab[B2] == 1 ) + PIN3_L(); + + } + break; + case 21: + { + PIN5_H(); + if( Display_Ram_Tab[G2] == 1 ) + PIN0_L(); + + } + break; + case 22: + { + PIN5_H(); + if( Display_Ram_Tab[C2] == 1 ) + PIN1_L(); + + } + break; + case 23: + { + PIN5_H(); + if( Display_Ram_Tab[D2] == 1 ) + PIN2_L(); + + } + break; + case 24: + { + PIN5_H(); + if( Display_Ram_Tab[K2] == 1 ) + PIN3_L(); + + } + break; + + } + + +#else + if( gSacn_Row > 6 ) + { + gSacn_Row = 1; + } + + switch (gSacn_Row) + { + case 1: //ɨʾ1 + { + PIN0_H(); + if( Display_Ram_Tab[L1] == 1 ) + PIN1_L(); + + if( Display_Ram_Tab[L2] == 1 ) + PIN2_L(); + + if( Display_Ram_Tab[L3] == 1 ) + PIN3_L(); + + if( Display_Ram_Tab[L4] == 1 ) + PIN4_L(); + + } + break; + + case 2: //ɨʾ2 + { + PIN1_H(); + if( Display_Ram_Tab[T1] == 1 ) + PIN0_L(); + + if( Display_Ram_Tab[T2] == 1 ) + PIN2_L(); + + if( Display_Ram_Tab[T3] == 1 ) + PIN3_L(); + + if( Display_Ram_Tab[T4] == 1 ) + PIN4_L(); + } + break; + + case 3: //ɨʾ3 + { + PIN2_H(); + if( Display_Ram_Tab[K1] == 1 ) + PIN0_L(); + + if( Display_Ram_Tab[A1] == 1 ) + PIN1_L(); + + if( Display_Ram_Tab[F1] == 1 ) + PIN3_L(); + + if( Display_Ram_Tab[G1] == 1 ) + PIN4_L(); + } + break; + + case 4: //ɨʾ4 + { + PIN3_H(); + if( Display_Ram_Tab[E1] == 1 ) + PIN0_L(); + + if( Display_Ram_Tab[D1] == 1 ) + PIN1_L(); + + if( Display_Ram_Tab[C1] == 1 ) + PIN2_L(); + + if( Display_Ram_Tab[E2] == 1 ) + PIN4_L(); + } + break; + + case 5: //ɨʾ5 + { + PIN4_H(); + if( Display_Ram_Tab[B1] == 1 ) + PIN0_L(); + + if( Display_Ram_Tab[F2] == 1 ) + PIN1_L(); + + if( Display_Ram_Tab[A2] == 1 ) + PIN2_L(); + + if( Display_Ram_Tab[B2] == 1 ) + PIN3_L(); + } + break; + + case 6: //ɨʾ6 + { + PIN5_H(); + if( Display_Ram_Tab[G2] == 1 ) + PIN0_L(); + + if( Display_Ram_Tab[C2] == 1 ) + PIN1_L(); + + if( Display_Ram_Tab[D2] == 1 ) + PIN2_L(); + + if( Display_Ram_Tab[K2] == 1 ) + PIN3_L(); + } + break; + } +#endif +} + +/* + ******************************************************************************* + * void Set_AllLed_Down(void) + * + * Description : LED Ϩʾ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Set_AllLed_Down(void) +{ + uint8_t i = 0; + + for(i=0;i<25;i++) + { + Display_Ram_Tab[i] = 0; + } +} + +/* + ******************************************************************************* + * void Set_NumLED_Down(void) + * + * Description : LED 188 Ϩʾʾ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Set_NumLED_Down(void) +{ + uint8_t i = 0; + + for(i=4;i<20;i++) + { + Display_Ram_Tab[i] = 0; + } +} + +/* + ******************************************************************************* + * void Display_Show_Num(uint8_t num) + * + * Description : LED 188 ʾ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Display_Show_Num(uint8_t num) +{ + uint8_t i = 0; + uint8_t seg = 0; + uint8_t Num_Hundred = 0,Num_Decade = 0,Num_Uint = 0; +#if 0 + if(num > 100) + { + num = 100; + return; + } +#endif + Set_NumLED_Down(); + + Num_Hundred = num / 100; + + Num_Decade = (num % 100) / 10; + + Num_Uint = (num % 100) % 10; + + if( Num_Hundred ) + { + Display_Ram_Tab[K1] = 1; + Display_Ram_Tab[K2] = 1; + } + + for(i=0;i<7;i++) + { + if( num > 9 )//ʾִ9ʮλҪʾ + { + seg = NumX_Tab[Num_Decade][i]; + Display_Ram_Tab[seg] = 1; + } + + seg = NumX_Tab[Num_Uint][i]; + if(seg != NG) + { + Display_Ram_Tab[seg + 7] = 1; + } + } + +} + +/* + ******************************************************************************* + * void Display_Show_Vor(uint8_t earR_bat) + * + * Description : LED Ҷ ʾ + * + * Arguments : uint8_t earR_batҶ + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Display_Show_Vor(uint8_t earR_bat) +{ + uint8_t i = 0; + uint8_t seg = 0; + + for(i=20;i<24;i++) + { + Display_Ram_Tab[i] = 0; + } + + //ʾ + for(i=0;i<4;i++) + { + seg = EarR_Display_Tab[earR_bat][i]; + Display_Ram_Tab[seg] = 1; + } +} +/* + ******************************************************************************* + * void Display_Show_Vol(uint8_t earL_bat) + * + * Description : LED ʾ + * + * Arguments : uint8_t earL_batʾ + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Display_Show_Vol(uint8_t earL_bat) +{ + uint8_t i = 0; + uint8_t seg = 0; + + for(i=0;i<4;i++) + { + Display_Ram_Tab[i] = 0; + } + + //ʾ + for(i=0;i<4;i++) + { + seg = EarL_Display_Tab[earL_bat][i]; + Display_Ram_Tab[seg] = 1; + } +} +#endif + + +#if DISPLAY_5PIN_188 + +uint8_t g_188_Num = 0; //188ʾȫֱ + +code uint16_t Segment[3][11] = { + + {0x0000,0x0006,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},//λ + + {0x0770,0x0420,0x0741,0x0661,0x0431,0x0271,0x0371,0x0460,0x0771,0x0671,0x0000},//ʮλ + + {0xE888,0x8080,0xD808,0xD880,0xB080,0x7880,0x7888,0x8880,0xF888,0xF880,0x0000} //λ + +}; + +/* + ******************************************************************************* + * void LED_188_Init(void) + * + * Description : LED 188 Initialization. --- ϵͳʼá + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void LED_188_Init(void) +{ + P0 &= ~0xE0; //P00P01P02P03P04 + + SFRADDR = P0_OE; + SFRDATA |= 0x1f; + +} + +#endif + +#ifdef LED_188 +/* + ******************************************************************************* + * void Set_AllLed_Down(void) + * + * Description : LED 188 Ϩʾ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Set_AllLed_Input(void) +{ + PIN0_IN(); + + PIN1_IN(); + + PIN2_IN(); + + PIN3_IN(); + + PIN4_IN(); + +#if DISPLAY_6PIN_188 + + PIN5_IN(); + +#endif +} + +#endif + +#if DISPLAY_5PIN_188 + +/* + ******************************************************************************* + * void Display_Scan(uint8_t Pin,uint16_t Display_Sram) + * + * Description : LED 188 IOںͶ봦 + * + * Arguments : uint8_t Pin --- GPIO + uint16_t Display_Sram --- + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +static void Display_Scan(uint8_t Pin,uint16_t Display_Sram) +{ + switch(Pin) + { + case 0: + { + PIN0_L(); //Pin0 + + if(Display_Sram & 0x8000) + PIN1_H(); + + if(Display_Sram & 0x4000) + PIN2_H(); + + if(Display_Sram & 0x2000) + PIN3_H(); + + if(Display_Sram & 0x1000) + PIN4_H(); + } + break; + + case 1: + { + PIN1_L(); //Pin1 + + if(Display_Sram & 0x0800) + PIN0_H(); + + if(Display_Sram & 0x0400) + PIN2_H(); + + if(Display_Sram & 0x0200) + PIN3_H(); + + if(Display_Sram & 0x0100) + PIN4_H(); + } + break; + + case 2: + { + PIN2_L(); //Pin2 + + if(Display_Sram & 0x0080) + PIN0_H(); + + if(Display_Sram & 0x0040) + PIN1_H(); + + if(Display_Sram & 0x0020) + PIN3_H(); + + if(Display_Sram & 0x0010) + PIN4_H(); + } + break; + + case 3: + { + PIN3_L(); //Pin3 + + if(Display_Sram & 0x0008) + PIN0_H(); + + if(Display_Sram & 0x0004) + PIN1_H(); + + if(Display_Sram & 0x0002) + PIN2_H(); + + if(Display_Sram & 0x0001) + PIN4_H(); + } + break; +#if 0 + case 4: + { + PIN4_L(); //Pin4 + + if(Display_Sram & 0x0008) + PIN0_H(); + + if(Display_Sram & 0x0004) + PIN1_H(); + + if(Display_Sram & 0x0002) + PIN2_H(); + + if(Display_Sram & 0x0001) + PIN3_H(); + } + break; +#endif + + default: + break; + } +} +/* + ******************************************************************************* + * void LED_188_Drive(uint8_t Num) + * + * Description : LED 188 Drive. --- 188 LED ʾʱɨ衣 + * + * Arguments : uint8_t Num (00~188) + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void LED_188_Drive(uint8_t Num) +{ + static uint8_t Case_Cnt; //ɨ + + uint8_t Num_Hundred = 0 ,Num_Decade = 0 ,Num_Uint = 0; + + uint16_t nDisplay_Sram = 0; + + if(Num > 188) + { + Num = 188; + } + + Num_Hundred = Num / 100; //λ + + Num_Decade = (Num % 100) / 10; //ʮλ + + Num_Uint = (Num % 100) % 10; //λ + + Set_AllLed_Input(); //Ӱ + + nDisplay_Sram = 0; + + nDisplay_Sram = Segment[0][Num_Hundred] | Segment[1][Num_Decade] | Segment[2][Num_Uint]; //ʾλʮλλ + + switch(Case_Cnt) + { + case 0: + Display_Scan(0,nDisplay_Sram); + Case_Cnt++; + break; + + case 1: + Display_Scan(1,nDisplay_Sram); + Case_Cnt++; + break; + + case 2: + Display_Scan(2,nDisplay_Sram); + Case_Cnt++; + break; + + case 3: + Display_Scan(3,nDisplay_Sram); + Case_Cnt = 0; + break; + default: + Case_Cnt = 0; + break; + } +} + +#endif + diff --git a/UsrSrc/main.c b/UsrSrc/main.c new file mode 100644 index 0000000..cad8ad5 --- /dev/null +++ b/UsrSrc/main.c @@ -0,0 +1,66 @@ +/* + ****************************************************************************** + * + * @file main.c + * @brief main module + * + * + * @version 1.0 + * @date 2022/07/12 17:35:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/07/12 Alex build this file + ****************************************************************************** + */ +/*_____ I N C L U D E S ____________________________________________________*/ +#include "define.h" +#include "userapp.h" +#include "watchdog.h" +#include "sys_tim.h" +#include "system.h" +#include "led.h" +#include "charger_module.h" +#include "adc.h" + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +void main(void) +{ + System_Init(); //ϵͳʼ + +#ifdef _DEBUG_MAIN + + printf("System Init(Ver:%d%d%d)\r\n",Version_Addr[0],Version_Addr[1],Version_Addr[2]); + +#endif + + while(1) + { + +#if WTG_ENABLE + WDT = 1; + SWDT = 1; +#endif + Sys_Tim_Handler(); //ʱ + + UserAPP(); + } +} + diff --git a/UsrSrc/sleep/sleep.c b/UsrSrc/sleep/sleep.c new file mode 100644 index 0000000..895f523 --- /dev/null +++ b/UsrSrc/sleep/sleep.c @@ -0,0 +1,73 @@ +/* + ****************************************************************************** + * + * @file sleep.c + * @brief sleep module + * + * + * @version 1.0 + * @date 2023/03/22 17:35:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2023/03/22 Alex build this file + ****************************************************************************** + */ +#include "sleep.h" +#include "system.h" +#include "vox_module.h" + +#if SLEEP_ENABLE + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +uint8_t Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; + +bit Enter_Sleep_Cnt_Restart_Flag = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +/* + ******************************************************************************* + * bool Check_Require_Sleep(void ) + * + * Description : ѯ߻Դ־λ + * + * Arguments : None + + * Returns : None + + * Notes : bool Flag + * + ******************************************************************************* + */ +bool Check_Require_Sleep(void ) +{ + if( ( CHIP_STA4 & 0x80 ) || ( ON == Vor_Vout_Enable ) || ( ON == Vol_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*VBUS Power Goodڡжϡڳ״̬£Boostϵͳģʽ */ + { +#ifdef _DEBUG_SLEEP + printf("Protect\r\n"); +#endif + Enter_Sleep_Cnt_Restart_Flag = 0; + /*Ӧıжϻ¼*/ + return false; + } + + return true; +} + +#endif + diff --git a/UsrSrc/system/system.c b/UsrSrc/system/system.c new file mode 100644 index 0000000..6c982ab --- /dev/null +++ b/UsrSrc/system/system.c @@ -0,0 +1,338 @@ +/* + ****************************************************************************** + * + * @file system.c + * @brief system module + * + * + * @version 1.0 + * @date 2022/08/04 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/15 Alex build this file + * Attention:1ͬһByteжϱ־λڲͬжУжϱ־λд1壩 |= Ҫ = + 磺IRQ_FLAG10 = 0x02; //Clear bit0,bit1 interrupt flag + 2ⲿж0Ҫϵͳѹܣжϴ߼ܴԤӿڣ + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ + +#include "system.h" +#include "gpio.h" +#include "adc.h" +#include "hall.h" +#include "key.h" +#include "sleep.h" +#include "uart.h" +#include "bat.h" +#include "sys_tim.h" +#include "charger_module.h" +#include "discharge_module.h" +#include "led.h" +#include "vox_module.h" +#include "watchdog.h" +#include "userapp.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +/* + ******************************************************************************* + * void System_Init(void) + * + * Description : System Initialization + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void System_Init(void) +{ + CLKPRE = 0x00; //frequency division: 2^0, 12M ϵͳ + + /* testIO LDO bias100uAء*/ + SFRADDR = 0x89; + SFRDATA |= 0x80; + + SFRADDR = PMU_CTL0; //bit3-bit4оƬӲ󣬹̶;Disable HALL And KEY;VCC IO 3.1v + SFRDATA = 0x30; + + /*test*/ + SFRADDR = P0_PD; + SFRDATA &= ~0x03; + +#if UART0_ENABLE + + SFRADDR = P0_PU; + SFRDATA = 0x03; + + SFRADDR = MFP_CTL0; + SFRDATA = 0x05; //P01 as UART's TX,P00 as UART's RX + + BD = 1; //Select additional Baudrate generator + PCON |= 0x80; //Baudrate double enable + + //baudrate set + S0RELH = HIBYTE(S0REL_VALUE); + S0RELL = LOBYTE(S0REL_VALUE);//s0rel=1023, baudrate = fclk/32 = 187.5k + + S0CON = 0xD0; //SCON: MODE 3, 9-bit UART, RI enable, EVEN Parity + + TI0 = 1; + RI0 = 1; + ES0 = 1; //Enable UART0 IRQ + +#endif + +#if VOX_ENABLE + //Vox_init(); //ϵ󣬾ʼVOXΪԶʶģʽΪʶVOXǷLOADON׼ + VOX_CTL0 = 0xC3; //VOX ؽ롢ʶʹܣԶʶ𡣴Vox vdsǯѹʹܣҪVOX 5V +/* + SFRADDR = VOX_CON0; //VOX500mAʶ2.5uA + SFRDATA &= 0xE0; + SFRDATA |= (VOX_IOUT_500MA << 3) | VOX_ADT_Cur_2_5UA; +*/ +#endif + + //Sys_Tim0_Init(); + //TMOD &= 0xF0; + TMOD = 0x01; //mode 1, 16bit timer + + TH0 = C_TIM0_Reload >> 8; + TL0 = C_TIM0_Reload & 0xFF; + + ET0 = 1; //enable time0 interrupt + TR0 = 1; //time0 run + +#if TIMER1_ENABLE + + //Sys_Tim1_Init(); + + TMOD |= 0x10; //mode 1, 16bit timer + + TH1 = C_TIM1_Reload >> 8; + TL1 = C_TIM1_Reload & 0xFF; + + ET1 = 1; //enable time1 interrupt + TR1 = 1; //time1 run + +#endif + +#ifdef LED_DISPLAY + + LED_R_FLASH(25,6); + LED_G_FLASH(25,6); + LED_Y_FLASH(25,6); +#endif + + +#if WTG_ENABLE + /* 65ms */ + //WDTREL = 0x00; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32; + /* 1s */ + WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32; +#endif + +#if NTC_ENABLE + + SFRADDR = ADCCS_CTL0; //AD0~AD4 GPIO constant 20uA current source enable. + SFRDATA = 0x10; + +#endif + + /* Interrupt Enable ӦѡҪж */ + SFRADDR = IRQ_EN3; //INT2 --- VOX EDGE LOADON + SFRDATA = 0x3C; + +#if KEY_ENABLE + SFRADDR = IRQ_EN7; //INT4 --- Key Interrupt Flag + SFRDATA = 0xF8; +#else + //SFRADDR = PMU_CTL0; + //SFRDATA &= ~0x0A; //Key Detect Disable +#endif + +#if HALL_ENABLE + SFRADDR = IRQ_EN10; //INT4 --- Hall interrupr enable. + SFRDATA = 0x0C; +#else + //SFRADDR = PMU_CTL0; + //SFRDATA &= ~0x08; //Hall Detect Disable +#endif + /* ⲿжʹ */ + EX0 = 1; + EX2 = 1; + EX4 = 1; + + EAL = 1; //жϡ + + IRQ_FLAG9 = 0x1C; // Charge complete IntTricle/Fast Charge Time expire Int + IRQ_FLAG10 = 0xC0; // VBUS Plugin\Plugout Int + IRQ_FLAG0 = 0x0C; //Vox· + +#if CHARGER_ENABLE + + SFRADDR = PMU_CTL7; //ϷоƬرVBUS OVʹ + SFRDATA &= ~0x20; + + CHG_CTL |= 0x10; //糬ʱʹ + + SFRADDR = REG_CHG0; + SFRDATA |= 0x04; //VDPM + +#endif + +#if SLEEP_ENABLE + //Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; + +#endif + +#if DISPLAY_6PIN_188 + + //LED_188_Init(); + + SFRADDR = MFP_CTL1; + SFRDATA &= ~0x0C; + +// P0 &= ~0xC0; //P00P01P02P03P04P05 + +// SFRADDR = P0_OE; +// SFRDATA |= 0x3f; + +// SFRADDR = P1_OE; +// SFRDATA = 0x01; + + /*ʼʾ*/ +// g_188_Num = 188; + Display_Show_Num(g_188_Num); + Display_Show_Vor(4); + Display_Show_Vol(4); + +#endif + +} + +/* + ******************************************************************************* + * void EX0_isr(void ) interrupt Interrupt_Vector_IE0 + * + * Description : System External Intterupt 0 + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void EX0_isr(void) interrupt Interrupt_Vector_IE0 +{ + +} + +/* + ******************************************************************************* + * void EX2_isr(void) interrupt Interrupt_Vector_IE2 + * + * Description : System External Intterupt 2 + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + +void EX2_isr(void) interrupt Interrupt_Vector_IE2 +{ + IRQ_FLAG3 = 0x3C; + +#if SLEEP_ENABLE +// if( !Enter_Sleep_Cnt_Restart_Flag ) + { + Enter_Sleep_Cnt_Restart_Flag = 1; + } +#endif +} + +/* + ******************************************************************************* + * void EX4_isr(void) interrupt Interrupt_Vector_IE4 + * + * Description : System External Intterupt 4 + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + void EX4_isr(void) interrupt Interrupt_Vector_IE4 +{ + +#if KEY_ENABLE + + if( IRQ_FLAG7 & 0x10 ) //Key short press for 16ms-1s interrupt flag + { + Key_Press_short_irq = 1; + } + + if( IRQ_FLAG7 & 0x20 ) //Key long press for 2s interrupt flag and Key release interrupt flag + { + Key_Press_l_irq = 1; + } + + if( IRQ_FLAG7 & 0x40 ) //Key super long press for 8s interrupt flag + { + Key_Press_ll_irq = 1; + Key_Press_l_irq = 0; + } + + if( IRQ_FLAG7 & 0x08 ) + { + if( Key_Press_l_irq ) + { + Key_Press_l_irq = 0; + Key_l_Flag = 1; + } + } + + IRQ_FLAG7 = 0xF8; //Clean Key interrupt flag + +#endif + + IRQ_FLAG10 = 0x0C; //Clean Hall edge interrupt flag + +#if SLEEP_ENABLE + + //if( !Enter_Sleep_Cnt_Restart_Flag ) + { + Enter_Sleep_Cnt_Restart_Flag = 1; + } + +#endif +} + diff --git a/UsrSrc/timer/sys_tim.c b/UsrSrc/timer/sys_tim.c new file mode 100644 index 0000000..d3df717 --- /dev/null +++ b/UsrSrc/timer/sys_tim.c @@ -0,0 +1,285 @@ +/* + ****************************************************************************** + * + * @file sys_tim.c + * @brief Timer module + * + * + * @version 1.0 + * @date 2022/09/05 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/09/05 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ + +#include "sys_tim.h" +#include "vox_module.h" +#include "system.h" +#include "charger_module.h" +#include "led.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +//uint8_t cnt_sys_tim_5ms = 0; + +#if 0 +uint8_t cnt_sys_tim_500ms = 0; +#endif +uint8_t cnt_sys_tim_250ms = 0; +uint8_t cnt_sys_tim_100ms = 0; +uint8_t cnt_sys_tim_1s = 0; + +//bit F_sys_tim_5ms = 0; +#ifdef LED_DISPLAY +uint8_t cnt_sys_tim_10ms = 0; +bit F_sys_tim_10ms = 0; +#endif +#if 0 +bit F_sys_tim_500ms = 0; +#endif +bit F_sys_tim_250ms = 0; +bit F_sys_tim_100ms = 0; +bit F_sys_tim_1s = 0; + +uint8_t F_sys_tim0_tick = 0; + +//uint8_t cnt_sys_tim0_5ms = 0; + +#if TIMER1_ENABLE +bit F_sys_tim1_tick = 0; +#endif + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +/* + ******************************************************************************* + * void Sys_Tim_Handler(void ) + * + * Description : Timer Handle + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Sys_Tim_Handler(void) +{ + if(F_sys_tim0_tick == 0) + return; + F_sys_tim0_tick = 0; + //system tick + + //---------------5ms---------------------------------------- + #if 0 + cnt_sys_tim_5ms++; + if(cnt_sys_tim_5ms >= 5) + { + cnt_sys_tim_5ms = 0; + F_sys_tim_5ms = 1; + } + #endif + #ifdef LED_DISPLAY + //---------------10ms---------------------------------------- + cnt_sys_tim_10ms++; + if(cnt_sys_tim_10ms >= 10) + { + cnt_sys_tim_10ms = 0; + F_sys_tim_10ms = 1; + + } + #endif + //---------------100ms---------------------------------------- + cnt_sys_tim_100ms++; + if(cnt_sys_tim_100ms >= 100) + { + cnt_sys_tim_100ms = 0; + F_sys_tim_100ms = 1; + } + + //------------------------------------------------- + cnt_sys_tim_250ms++; + if(cnt_sys_tim_250ms>=250) + { + cnt_sys_tim_250ms = 0; + F_sys_tim_250ms = 1; +#if 0 + //-----------------500ms------------------------- + cnt_sys_tim_500ms++; + if(cnt_sys_tim_500ms >= 2) + { + cnt_sys_tim_500ms = 0; + F_sys_tim_500ms = 1; + } +#endif + //-----------------1s------------------------- + cnt_sys_tim_1s++; + if(cnt_sys_tim_1s >= 4) + { + cnt_sys_tim_1s = 0; + F_sys_tim_1s = 1; + } + } +} + +/* + ******************************************************************************* + * void Delay200ms(void) //@11.0592MHz + * + * Description : 200msʱ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +#if 0 +void Delay200ms(void) //@11.0592MHz +{ + unsigned char i, j, k; + + //_nop_(); + //_nop_(); + i = 9; + j = 104; + k = 139; + do + { + do + { + while (--k); + } while (--j); + } while (--i); +} + +#endif + +/** + * @brief This function handles sys_tim Handler. + * @param None + * @retval None + * 1ms + */ +void tim0_Interrupt(void) interrupt Interrupt_Vector_TF0 //interrupt address is 0x000B +{ + //1ms + TH0 += C_TIM0_Reload >> 8; + TL0 += C_TIM0_Reload & 0xFF; + + F_sys_tim0_tick = 1; +} + +/* + ******************************************************************************* + * void Sys_Tim0_Init(void) + * + * Description : TImer0 Mode1 16bit timer Initialization + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Sys_Tim0_Init(void) +{ + TMOD &= 0xF0; + TMOD |= 0x01; //mode 1, 16bit timer + + TH0 = C_TIM0_Reload >> 8; + TL0 = C_TIM0_Reload & 0xFF; + + ET0 = 1; //enable time0 interrupt + TR0 = 1; //time0 run +} +#endif +#if TIMER1_ENABLE + +/** + * @brief This function handles sys_tim Handler. + * @param None + * @retval None + * 1ms + */ +void tim1_Interrupt(void) interrupt Interrupt_Vector_TF1//interrupt address is 0x000B +{ + //1ms + TF1 = 0; + + TH1 += C_TIM1_Reload >> 8; + TL1 += C_TIM1_Reload & 0xFF; + +#ifdef BREATHING_LIGHT + + /*todo*/ + if ( Breathing_Light_On ) + { + LED_Breathing_Light(); + } + +#endif + +#if DISPLAY_6PIN_188 + + Display_Scan_6Pin_188(); + +#endif + +#if DISPLAY_5PIN_188 + LED_188_Drive(g_188_Num); //188ʾ +#endif + F_sys_tim1_tick = 1; +} + +/* + ******************************************************************************* + * void Sys_Tim1_Init(void) + * + * Description : TImer1 Mode1 16bit timer Initialization + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Sys_Tim1_Init(void) +{ + TMOD &= 0x0F; + TMOD |= 0x10; //mode 1, 16bit timer + + TH1 = C_TIM1_Reload >> 8; + TL1 = C_TIM1_Reload & 0xFF; + + ET1 = 1; //enable time1 interrupt + TR1 = 1; //time1 run +} +#endif + +#endif + diff --git a/UsrSrc/uart/uart.c b/UsrSrc/uart/uart.c new file mode 100644 index 0000000..34d667e --- /dev/null +++ b/UsrSrc/uart/uart.c @@ -0,0 +1,183 @@ +/* + ****************************************************************************** + * + * @file uart.c + * @brief uart module + * + * + * @version 1.0 + * @date 2022/12/14 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/12/14 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "uart.h" +#include "system.h" +#include "vox_module.h" + +#if UART0_ENABLE + + /******************************************************************************\ + Macro definitions + \******************************************************************************/ +#define NONE_PARITY 0 //У +#define ODD_PARITY 1 //У +#define EVEN_PARITY 2 //żУ +#define MARK_PARITY 3 //У +#define SPACE_PARITY 4 //հУ + +#define PARITYBIT EVEN_PARITY //Уλ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +bit busy0; + +#ifdef VOX_RX +idata uint8_t RX0_Buffer[COM0_Data_Lenth] = 0; //ջ +bit Uart0_RX_Finish_Flag = 0; +#endif + +#ifdef _DEBUG_ALL +char putchar(char c) +{ + + while(!TI0); + TI0 = 0; + return (S0BUF = c); + +} +#endif + +/* + ******************************************************************************* + * void UART0_Init(void) + * + * Description : UART0 Initialization UART0debugӡ͸ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void UART0_Init(void) +{ + SFRADDR = MFP_CTL0; + SFRDATA &= ~0x0C; + SFRDATA |= 0x04; //P01 as UART's TX + + BD = 1; //Select additional Baudrate generator + PCON |= 0x80; //Baudrate double enable + + //baudrate set + S0RELH = HIBYTE(S0REL_VALUE); + S0RELL = LOBYTE(S0REL_VALUE);//s0rel=1023, baudrate = fclk/32 = 187.5k + + S0CON = 0xD0; //SCON: MODE 3, 9-bit UART, RI enable, EVEN Parity + + TI0 = 1; + RI0 = 1; + ES0 = 1; //Enable UART0 IRQ +} +#endif +/* + ******************************************************************************* + * void Uart0SendData(uint8_t Txdata) + * + * Description : UART0 Send Data + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Uart0SendData(uint8_t Txdata) +{ + while(busy0); + ACC = Txdata; + if (P) //PУλ + { +#if (PARITYBIT == ODD_PARITY) + TB80 = 0; //УλΪ0 +#elif (PARITYBIT == EVEN_PARITY) + TB80 = 1; //УλΪ1 +#endif + } + else + { +#if (PARITYBIT == ODD_PARITY) + TB80 = 1; //УλΪ1 +#elif (PARITYBIT == EVEN_PARITY) + TB80 = 0; //УλΪ0 +#endif + } + busy0 = 1; + S0BUF = ACC; +} +#endif + +/* + ******************************************************************************* + * void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf) + * + * Description : UART0 Send Packet + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf) +{ + uint8_t i = 0; + for(i=0;i BatLev_Update_Uint_Tim ) + { + BatLev_Update_Uint_Cnt = 0; + + if ( CHIP_STA4 & 0x80 ) // + { + if( g_188_Num < (bat_level_Disp_Num + 9) ) + { + g_188_Num += 1; + } + + BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_CHG; //30sһελ + } + else + { + if( ( Vor_Vout_Enable == ON ) || ( Vol_Vout_Enable == ON ) ) //ж磬ż + { + if( g_188_Num > bat_level_Disp_Num ) + { + g_188_Num -= 1; + } + + BatLev_Update_Uint_Tim = BATLEV_UPDATE_UINT_TIM_DISCHG; //ŵ60һελ + } + } + + if( g_188_Num > 100 ) + { + g_188_Num = 100; + } + } + } + +#if NTC_ENABLE + /*NTC*/ + if( NTC_Pro_Flag ) + { + if( !LED_188_Disp_Flg ) + { + Set_NumLED_Down(); + LED_188_Disp_Flg = 1; + } + else + { + Display_Show_Num(g_188_Num); + LED_188_Disp_Flg = 0; + } + + return; + } +#endif + + if( Init_LED_Disp_Flag ) + { + if ( CHIP_STA4 & 0x80 ) // + { + if ( Charger_Done ) // ɣLED̵Ƴ + { + if( LED_On_Timer < LED_ON_CNT ) + { + LED_On_Timer++; + g_188_Num = 100; + Display_Show_Num(g_188_Num); + } + else + { + Set_AllLed_Down(); + } + } + else + { + #if 0 + if( LED_On_Timer < LED_NUM_UNIT_CNT ) + { + LED_On_Timer++; + } + else + #endif + { + // LED_On_Timer = 0; + + /*188ܸλ˸ʾ*/ + if( !LED_188_Disp_Flg ) + { + for(i=13;i<20;i++) + { + Display_Ram_Tab[i] = 0; + } + + LED_188_Disp_Flg = 1; + } + else + { + if(g_188_Num >= 99) //δchg_done99λ + { + g_188_Num = 99; + } + + Display_Show_Num(g_188_Num); + LED_188_Disp_Flg = 0; + } + } + } + + CHG_LED_Disp_Flag = 1; + } + else + { + if ( Vol_GetInto_Box_Flag || Vor_GetInto_Box_Flag || CHG_LED_Disp_Flag ) //УʾЧ + { + if( ( Vor_Vout_Enable == OFF ) && ( Vol_Vout_Enable == OFF ) ) //ûʾٷְٱȵ4S + { + if( LED_On_Timer < LED_COVER_CNT ) + { + LED_On_Timer++; + return; + } + Set_AllLed_Down(); + Vol_GetInto_Box_Flag = 0; + Vor_GetInto_Box_Flag = 0; + CHG_LED_Disp_Flag = 0; + } + else //жʾ + { + Display_Show_Num(g_188_Num); + } + } + else + { + Set_AllLed_Down(); + } + } +#if 0 + if( Vor_GetOut_Box_Flag || Vol_GetOut_Box_Flag ) + { + // if( LED_On_Timer < LED_BLINK_CNT ) + { + //LED_On_Timer++; + + if( Vor_GetOut_Box_Flag ) + { + Vor_GetOut_Box_Flag = 0; + Disp_Vor_Lev = Disp_Vol_Lev; + //Disp_Vol_Lev = 1; + Display_Show_Vor(0); + } + + if( Vol_GetOut_Box_Flag ) + { + Vol_GetOut_Box_Flag = 0; + Disp_Vol_Lev = Disp_Vor_Lev; + //Disp_Vor_Lev = 1; + Display_Show_Vol(0); + } + + } + } +#endif + /*ŵ磺ҶӦͼϣӵ*/ + if( Vor_Vout_Enable == ON && !Vor_GetOut_Box_Flag ) + { + Display_Show_Vor(Disp_Vor_Lev); + Disp_Vor_Lev++; + if(Disp_Vor_Lev > 4) + { + Disp_Vor_Lev = 1; + } + } + else + { + Display_Show_Vor(0); + } + + if( Vol_Vout_Enable == ON && !Vol_GetOut_Box_Flag ) + { + Display_Show_Vol(Disp_Vol_Lev); + Disp_Vol_Lev++; + if(Disp_Vol_Lev > 4) + { + Disp_Vol_Lev = 1; + } + } + else + { + Display_Show_Vol(0); + } + } +} + +#endif + +/***************************************************************************** +* Function : UserAPP +* Description : 5ms +* Input : None +* Output : None +* Return : None +* Note : None +*****************************************************************************/ +void UserAPP(void) +{ + +#ifdef LED_DISPLAY + + if(F_sys_tim_10ms) + { + F_sys_tim_10ms = 0; + LED_Drv(); + } + +#endif + + if(F_sys_tim_100ms) + { + F_sys_tim_100ms = 0; + +#if HALL_ENABLE + Hall_Handler(); //ظǼ +#endif + +#if DISCHARGE_ENABLE + DisCharge_Handler(); //ŵboost +#endif + +#if KEY_ENABLE + Key_Handler(); // +#endif + +#if CHARGER_ENABLE + Charger_Handler(); //繦 +#endif + +#if ADC_ENABLE + Vbat_Adc = Vbat_Value(); //ȡBatѹ +#endif + +#if BAT_VALUE + check_bat_level(); +#endif + +#if VOX_ENABLE + + Vol_Det_Machine(); + Vor_Det_Machine(); + +#endif + + } + +#if 0 + + if( F_sys_tim_500ms ) + { + F_sys_tim_500ms = 0; + + LED_188Display_App(); //LED Ч + } + +#endif + + if( F_sys_tim_1s ) + { + F_sys_tim_1s = 0; +#if DISPLAY_6PIN_188 + + LED_188Display_App(); //LED Ч +#endif +#if SLEEP_ENABLE + + /*1ѺNsSleep Mode,NҪ100ms + 2VINڵ£ϵsleep mode + */ + + if( Decnt_SleepDelay > 0 ) /*ܷʵִ˹ܣ*/ + { + Decnt_SleepDelay--; + + /*Sleep ModeгKEY\HALL\Loadon\IOFFжϣ¼ʱ*/ + if( Enter_Sleep_Cnt_Restart_Flag ) + { + Enter_Sleep_Cnt_Restart_Flag = 0; + Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; + } + +#ifdef _DEBUG_MAIN + printf("sleep decnt:%d,STA0:0x%x,STA1:0x%x,STA2:0x%x,STA4:0x%x\r\n", (uint16_t)Decnt_SleepDelay,(uint16_t)CHIP_STA0,(uint16_t)CHIP_STA1,(uint16_t)CHIP_STA2,(uint16_t)CHIP_STA4); +#endif + return; + } + + if( Check_Require_Sleep() ) + { + /* Enter Sleep */ + + SFRADDR = WKUP_EN3; //vox loadon wake up enable + SFRDATA |= 0x3C; + + /* InSleep Handler */ //Disable All IRQ +#if TIMER1_ENABLE + ET1 = 0; //timer1 IRQ Disable +#endif + +#if UART0_ENABLE + ES0 = 0; //UART0 IRQ Disable +#endif + EX4 = 0; + EX2 = 0; + ET0 = 0; //timer0 IRQ Disable + COM_CTRL = OFF; //߹رVOUT + VOX_CTL0 &= ~0x30; //VOX 5v Off + +#if DISCHARGE_ENABLE + BST_EN = 0; //Boost Disable +#endif + SFRADDR = ADC_CTL0; + SFRDATA &= ~0x80; //ADC Disable. + +#if DISPLAY_6PIN_188 + + SFRADDR = P0_OE; + SFRDATA &= 0xC0; + + SFRADDR = P0_IE; + SFRDATA &= 0xC0; + +#endif + SFRADDR = PMU_CTL0; //оƬӲ󣬹̶ + SFRDATA &= ~0x30; + + PCON |= 0x02; //Enter StandbyMode, Only int0 or int1 can wake up system + + SFRADDR = PMU_CTL0; //оƬӲ󣬹̶ + SFRDATA |= 0x30; + /* OutSleep Handler */ //Enable IRQ +#if UART0_ENABLE + ES0 = 1; //UART0 IRQ +#endif + EX4 = 1; + EX2 = 1; + ET0 = 1; //timer0 IRQ +#if TIMER1_ENABLE + ET1 = 1; //timer1 IRQ +#endif + + Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; + } + else + { + Decnt_SleepDelay = ENTER_STANDBYMODE_CNT; + } + +#endif + } +} + diff --git a/UsrSrc/vox/vox_module.c b/UsrSrc/vox/vox_module.c new file mode 100644 index 0000000..e136753 --- /dev/null +++ b/UsrSrc/vox/vox_module.c @@ -0,0 +1,479 @@ +/* + ****************************************************************************** + * + * @file VOX_Module.c + * @brief VOL/R module + * + * + * @version 1.0 + * @date 2022/07/18 09:59:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/07/18 Alex build this file + ****************************************************************************** + */ +#include "vox_module.h" +#include "led.h" +#include "system.h" +#include "discharge_module.h" +#include "sleep.h" +#include "userapp.h" + +bit Vor_Vout_Enable = OFF; //OFF:BOOSTʱVOUTTRUE:ж绹IOFF硣 +bit Vol_Vout_Enable = OFF; + +#if VOX_ENABLE + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +#define VOX_IOFF_DET_DEBOUNCE 40 //Vox Ioffʱ4sΪ˱֤˳ʼɣʼ + +#define VOX_LOADON_DET_DEBOUNCE 2 + +#define T10MIN_DEBOUNCE 150 //10Ӷʱ4sһΡ150 +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +Vox_State_e Vol_State = VOX_NONE_IN_BOX; + +//uint8_t Vol_Loadon_Det_Debounce = 0; +uint8_t Vol_Ioff_Det_Debounce = 0; +//uint8_t Vol_LiPro_Det_Debounce = 0; +//bit Vol_LiPro_Flag = 0; + +Vox_State_e Vor_State = VOX_NONE_IN_BOX; + +//uint8_t Vor_Loadon_Det_Debounce = 0; +uint8_t Vor_Ioff_Det_Debounce = 0; +//uint8_t Vor_LiPro_Det_Debounce = 0; +//bit Vor_LiPro_Flag = 0; + +uint8_t Vol_Output_Short_Debounce = 0; +uint8_t Vor_Output_Short_Debounce = 0; + +bit Vol_Bat_Full_Flag = 0; +bit Vor_Bat_Full_Flag = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Vox_init(void) + * + * Description : Vox Initialization :Voxʼ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + #if 0 +void Vox_init(void) +{ + VOX_CTL0 = 0xC3; //VOX ؽ롢ʶʹܣԶʶ𡣴Vox vdsǯѹʹܣҪVOX 5V +/* + SFRADDR = VOX_CON0; //VOX500mAʶ2.5uA + SFRDATA &= 0xE0; + SFRDATA |= (VOX_IOUT_500MA << 3) | VOX_ADT_Cur_2_5UA; +*/ + Vol_State = VOX_NONE_IN_BOX; + + Vor_State = VOX_NONE_IN_BOX; +} +#endif +#if 0 +/* +******************************************************************************* +* uint8_t VOL_EN_Type(VOL_Enable_Type_e VOL_Enable_Type) +* +* Description : VOL Open(EN_VO) + +* Arguments : + +* Returns : + +* Notes : +* +******************************************************************************* +*/ + +void VOL_EN_Type(VOX_Enable_Mode_e VOL_Enable_Mode) +{ + if(VOL_Enable_Mode == VOX_VOUT_Mode ) + { + VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT + + VOX_CTL0 |= 0x10; //VOL Enable 5V + } + else + { + + VOX_CTL0 &= ~0x10; //VOL 5v Off + } +} + +/* +******************************************************************************* +* void VOR_EN_Type(VOR_Enable_Type_e VOR_Enable_Type) +* +* Description : VOL Open(EN_VO) + +* Arguments : + +* Returns : + +* Notes : +* +******************************************************************************* +*/ + void VOR_EN_Type(VOX_Enable_Mode_e VOR_Enable_Mode) + { + + if(VOR_Enable_Mode == VOX_VOUT_Mode ) + { + VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT + + VOX_CTL0 |= 0x20; //VOR Enable 5V + } + else + { + + VOX_CTL0 &= ~0x20; //VOR 5v Off + } + } +#endif + +/* +******************************************************************************* +* void Vol_Det_Machine(void) +* +* Description : Vol Detect:ʶ (100ms) +* +* Arguments : NONE + +* Returns : NONE + +* Notes : NONE +* +******************************************************************************* +*/ +#if DISPLAY_6PIN_188 +bit Vol_Outbox_Disp_Flag = 0; +bit Vol_Intobox_Disp_Flag = 0; + +#endif +void Vol_Det_Machine(void) +{ + if( gBoost_Prepared_Flag ) + { + switch( Vol_State ) + { + case VOX_GET_INTO_BOX: // + + if( (VOX_CTL0 & 0x10) != 0x10 ) //1ǰѾVOUTظԭʹVOUTǰҪȹرVOUTʹܣһʱϿ + { + VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT + VOX_CTL0 |= 0x10; //VOL Enable 5V + } + + Vol_State = VOX_STAY_IN_BOX; + break; + + case VOX_STAY_IN_BOX: //ڲ + + if( (CHIP_STA1 & 0x24) == 0x24 ) //VoxڳгLoadonIOFFͬʱڵ״̬1֣2س3ﮱ + { +#if DISPLAY_6PIN_188 + if( Vol_Intobox_Disp_Flag ) //γӦͼһ + { + Vol_Intobox_Disp_Flag = 0; + Vol_GetOut_Box_Flag = 1; //б־1 + //LED_On_Timer = 0; + Vol_Outbox_Disp_Flag = 1; + } +#endif + Vol_Ioff_Det_Debounce++; + if( Vol_Ioff_Det_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //ת(ֺ)ʱ4s + { + Vol_Ioff_Det_Debounce = 0; + + //if( ON == Vol_Vout_Enable ) //VoxгIOFF״̬˵1֣2س + { + VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT + Vol_Bat_Full_Flag = 1; +#ifdef _DEBUG_VOX + printf("Vol Get Out\r\n"); +#endif + + } + } + } + else + if( (CHIP_STA1 & 0x24) == 0x20 ) //۲CHIP_STA1״̬IOFFLoadon˵1ֺ4sڣٴ֣210δ˳ﮱ״̬磻 + { + Vol_Ioff_Det_Debounce = 0; + Vol_Vout_Enable = ON; //־ON + +#if DISPLAY_6PIN_188 + + if( Vol_Outbox_Disp_Flag ) //4sٴУӦͼһ + { + Vol_Outbox_Disp_Flag = 0; + Vol_GetOut_Box_Flag = 0; + Disp_Vol_Lev = Disp_Vor_Lev; + //LED_On_Timer = 0; + } + + Vol_Intobox_Disp_Flag = 1; + +#endif + if( Vol_Bat_Full_Flag ) //ADTģʽ£ֻLoadon״̬˵ + { + Vol_Vout_Enable = OFF; + +#if DISPLAY_6PIN_188 + LED_On_Timer = 0; +#endif +#ifdef _DEBUG_VOX + printf("Vol Bat Full\r\n"); +#endif + } + + } + else + if( !(CHIP_STA1 & 0x24) ) //CHIP_STA1loadonioff״̬˵ˡ + { + Vol_State = VOX_NONE_IN_BOX; +#if DISPLAY_6PIN_188 + Vol_GetInto_Box_Flag = 0; +#endif + Vol_Bat_Full_Flag = 0; + } + + break; + + case VOX_NONE_IN_BOX: //ղ + + //VOL_EN_Type(VOX_ADT_Mode); + VOX_CTL0 &= ~0x10; //VOL Disable 5V And Enable VOR ADT + + //Vol_Loadon_Det_Debounce = 0; + Vol_Ioff_Det_Debounce = 0; + Vol_Vout_Enable = OFF; + + if( CHIP_STA1 & 0x20 ) //ADTģʽ³Loadonźţ˵ж֡ + { + Vol_State = VOX_GET_INTO_BOX; + +#if DISCHARGE_ENABLE + BST_EN = 1; //Boost Enable쳣ʱӲرա +#endif + +#if DISPLAY_6PIN_188 + Vol_GetInto_Box_Flag = 1; + Disp_Vol_Lev = Disp_Vor_Lev; + + //LED_On_Timer = 0; +#endif + +#ifdef _DEBUG_VOX + printf("VO_INTO_BOX\r\n"); +#endif + } + + break; + + default: + break; + } + } + else //BoostVOXָ״̬ + { + Vol_State = VOX_NONE_IN_BOX; + } + + /*Vol ÿ200msһ*/ + if( IRQ_FLAG0 & 0x04 ) + { + Vol_Output_Short_Debounce++; + if( Vol_Output_Short_Debounce >= 2 ) //Vor·200ms¿ADT + { + Vol_Output_Short_Debounce = 0; + IRQ_FLAG0 = 0x04; + Vol_State = VOX_NONE_IN_BOX; + } + } + +} + +/* +******************************************************************************* +* void Vor_Det_Machine(void) +* +* Description : Vor Detect:ʶ (100ms) +* +* Arguments : NONE + +* Returns : NONE + +* Notes : NONE +* +******************************************************************************* +*/ +#if DISPLAY_6PIN_188 +bit Vor_Outbox_Disp_Flag = 0; +bit Vor_Intobox_Disp_Flag = 0; +#endif +void Vor_Det_Machine(void) +{ + if( gBoost_Prepared_Flag ) + { + switch( Vor_State ) + { + case VOX_GET_INTO_BOX: // + + if( (VOX_CTL0 & 0x20) != 0x20 ) //1ǰѾVOUTظԭʹVOUTǰҪȹرVOUTʹܣһʱϿ + { + VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT + VOX_CTL0 |= 0x20; //VOR Enable 5V + } + Vor_State = VOX_STAY_IN_BOX; + + break; + + case VOX_STAY_IN_BOX: //ڲ + + if( (CHIP_STA1 & 0x88) == 0x88 ) //VoxڳгLoadonIOFFͬʱڵ״̬˵1֣2س3ﮱ + { +#if DISPLAY_6PIN_188 + if( Vor_Intobox_Disp_Flag ) // + { + Vor_Intobox_Disp_Flag = 0; + Vor_GetOut_Box_Flag = 1; //Ҷб־1 + //LED_On_Timer = 0; + Vor_Outbox_Disp_Flag = 1; + } +#endif + Vor_Ioff_Det_Debounce++; + if( Vor_Ioff_Det_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //ת(ֺ)ʱ4s + { + Vor_Ioff_Det_Debounce = 0; + + //if( ON == Vor_Vout_Enable ) //VoxгIOFF״̬˵1֣2س + { + VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT + + Vor_Bat_Full_Flag = 1; + +#ifdef _DEBUG_VOX + printf("Vor Get Out\r\n"); +#endif + } + + } + } + else + if( (CHIP_STA1 & 0x88) == 0x80 ) //۲CHIP_STA1״̬IOFFLoadon˵1ֺ4sڣٴ֣210δ˳ﮱ״̬磻3ﮱ10ӡ + { + Vor_Ioff_Det_Debounce = 0; + Vor_Vout_Enable = ON; + +#if DISPLAY_6PIN_188 + if( Vor_Outbox_Disp_Flag ) //4sٴУӦͼһ + { + Vor_Outbox_Disp_Flag = 0; + Vor_GetOut_Box_Flag = 0; + Disp_Vor_Lev = Disp_Vol_Lev; + } + + Vor_Intobox_Disp_Flag = 1; +#endif + if( Vor_Bat_Full_Flag ) + { + Vor_Vout_Enable = OFF; +#if DISPLAY_6PIN_188 + LED_On_Timer = 0; +#endif + +#ifdef _DEBUG_VOX + printf("Vor Bat Full\r\n"); +#endif + } + } + else + if( !(CHIP_STA1 & 0x88) ) //CHIP_STA1loadonioff״̬˵ˡ + { + Vor_State = VOX_NONE_IN_BOX; +#if DISPLAY_6PIN_188 + Vor_GetInto_Box_Flag = 0; +#endif + Vor_Bat_Full_Flag = 0; + } + + break; + + case VOX_NONE_IN_BOX: //ղ + + VOX_CTL0 &= ~0x20; //VOR Disable 5V And Enable VOR ADT + + Vor_Ioff_Det_Debounce = 0; + Vor_Vout_Enable = OFF; + + /* Loadon״̬λڣ˵̡֣*/ + if( CHIP_STA1 & 0x80 ) + { + Vor_State = VOX_GET_INTO_BOX; + +#if DISCHARGE_ENABLE + BST_EN = 1; //Boost Enable쳣ʱӲرա +#endif +#if DISPLAY_6PIN_188 + + Vor_GetInto_Box_Flag = 1; + Disp_Vor_Lev = Disp_Vol_Lev; + +#endif + +#ifdef _DEBUG_VOX + printf("VOR_INTO_BOX\r\n"); +#endif + } + + break; + + default: + break; + } + } + else //BoostVOXָ״̬ + { + Vol_State = VOX_NONE_IN_BOX; + } + + /*Vor (жϱ־λ)ÿ200msһ*/ + if( IRQ_FLAG0 & 0x08 ) + { + Vor_Output_Short_Debounce++; + if( Vor_Output_Short_Debounce >= 2 ) //Vor·200ms¿ADT + { + Vor_Output_Short_Debounce = 0; + IRQ_FLAG0 = 0x08; + Vor_State = VOX_NONE_IN_BOX; + } + } + +} + +#endif + diff --git a/UsrSrc/watchdog/watchdog.c b/UsrSrc/watchdog/watchdog.c new file mode 100644 index 0000000..879df92 --- /dev/null +++ b/UsrSrc/watchdog/watchdog.c @@ -0,0 +1,96 @@ +/* + ****************************************************************************** + * + * @file watchdog.c + * @brief watchdog module + * + * + * @version 1.0 + * @date 2022/08/04 15:00:40 + * @author Alex Xu + * + * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd. + * All Rights Reserved + * + * History: + * Revision Date Author Desc + * 1.0.0 2022/08/04 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ +#include "watchdog.h" +#if 0 +/*_____ D E F I N I T I O N S ______________________________________________*/ + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + + +/*_____ F U N C T I O N S __________________________________________________*/ + +/* + ******************************************************************************* + * void Watchdog_Init(uint8_t watchdog_time) + * + * Description : watchdog Initialization. WDT_TM = 0ŹʱΪϵͳʱӵ12ƵΪϵͳʱӡ + wdtrel.7=1 ŹʱΪSys_Fre/12*32wdtrel.7=0 ŹʱΪSys_Fre/12*2. + Sys_Fre = 12MHzwdtrel.7=0ʱʱΧ + (1/Sys_Fre)*12*2*256~(1/Sys_Fre)*12*2*256*128 = 5ms~65ms + + Sys_Fre = 12MHzwdtrel.7=1ʱʱΧ + (1/Sys_Fre)*12*32*256~(1/Sys_Fre)*12*32*256*128 = 80ms~1s + * + * Arguments : + + * Returns : + + * Notes : + * + ******************************************************************************* + */ +void Watchdog_Init(uint8_t watchdog_time) +{ + switch(watchdog_time) + { + case _WDT_TIME_65ms_: + WDTREL = 0x00; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32; + break; + case _WDT_TIME_1s_: + WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32; + break; + } + SWDT = 1; //Watchdog Start +} + +/* + ******************************************************************************* + * void Watchdog_Clear(void) + * + * Description : Feed watchdog ϵͳʼʱδпŹʼڳнι + * + * Arguments : + + * Returns : + + * Notes : + * + ******************************************************************************* + */ + +void Watchdog_Clear(void) +{ + WDT = 1; + SWDT = 1; +} + +#endif \ No newline at end of file