commit fcca7a0a4c5182a3ae7c51ef23374a1e16fbaaa2 Author: Alex xu Date: Tue Sep 3 15:45:51 2024 +0800 sy8834 朗讯客户J8项目源码。 diff --git a/Out/SY883X_EVB_mcu_2024_09_03_152604.bin b/Out/SY883X_EVB_mcu_2024_09_03_152604.bin new file mode 100644 index 0000000..9037ef3 Binary files /dev/null and b/Out/SY883X_EVB_mcu_2024_09_03_152604.bin differ diff --git a/Out/SY883X_EVB_mcu_2024_09_03_152604.hex b/Out/SY883X_EVB_mcu_2024_09_03_152604.hex new file mode 100644 index 0000000..269621c --- /dev/null +++ b/Out/SY883X_EVB_mcu_2024_09_03_152604.hex @@ -0,0 +1,202 @@ +:03000000020413E4 +:10041300758E3075D20078FFE4F6D8FD75815302EE +:02042300046073 +:0F0A1A00120537D2AED2BE1209291205BB80F4E5 +:0404A500024F000002 +:0208E500AD075D +:1008E700E4FCFBFAF527F52875FE2975FF8BEDC4A7 +:1008F70054F04401F5A5E5A520E0FBAFA1AB07AF98 +:10090700A2EFFEEEFAEB2528F528EA3527F5270CA6 +:10091700BC08DBE528AE277803CEC313CE13D8F97E +:01092700FFD0 +:0109280022AC +:10096800E4F524F5257F051208E58E248F257F06FA +:100978001208E5E4FCFDC004A905AA06AB07AE24ED +:10098800AF257C077DD012023BD0001201998E243E +:020998008F25A9 +:01099A00223A +:10099B00E4F525F5267F041208E58E258F267F06C4 +:1009AB001208E5E4FCFDC004A905AA06AB07AE25B9 +:1009BB00AF267C037DE812023BD0001201998E25F5 +:0209CB008F2675 +:0109CD002207 +:0204A900C1157B +:1006B700E4FFFEF52412099BC3EF94D0EE940740A4 +:1006C700037F0122D3EF9436EE94055030EF942246 +:1006D700EE94024028301312EF9414EE940550075D +:1006E700C213E4F524800375240130142BD3EF944F +:1006F70044EE9402401FC214E4F524801BD3EF9408 +:1007070036EE94054004D213800BC3EF9422EE9487 +:0A071700025002D214752401AF2431 +:0107210022B5 +:10072200E5E620E70953B3FE75F210C21522E5F2A1 +:10073200540C601053B3FEE5F354C0603B75F20CE9 +:1007420075F3C022E5F354C0600375F3C01206B717 +:10075200EF600453B3FE22E5F230E417C37850E6AB +:1007620094EB18E6940F500575F210800353B3FE14 +:09077200D2152243B301C2152285 +:0404AB00C116C1179E +:10080000E5E530E103C21622E5E230E705C216D283 +:100810001722E5E830E00EC216300A35C20A75E844 +:100820000175B501221206B7EF6006C216E4F5B5F0 +:1008300022D21630171BE5E630E716C37850E6944F +:100840001018E6940E4005D216C21722E4F5B5C280 +:0208500016226E +:0704AF00C118C1190135FF5E +:10002600E5E25408FF6535601AE5E230E30575340C +:10003600018003E4F534D218D219E4F537F51E8FA2 +:0300460035D21E92 +:010049002294 +:0B04B600C112C110C10FC111015300A1 +:1009E600E5EF600EE5EF30E606D20F785376037535 +:0309F600EFFF22EE +:0D000E00EF146006047005D28422D2832214 +:0D0A3800EF146006047005C28422C2832200 +:10063B00E4FE74382EF8E66067743C2EF9743E2E97 +:10064B00F8E6D397AF06500512000E8003120A3856 +:10065B00743E2EF8E6C394AA401EE4F674422EF8BC +:10066B00E66008743C2EF81616800D74402EF8E6E2 +:10067B006006743C2EF80606743C2EF8E6FF74AA4E +:10068B00D39F500A74422EF876017440800EEFD33C +:10069B009401500C74402EF8760174422EF8E4F657 +:0B06AB00743E2EF8060EEE640270870D +:0106B6002221 +:0504C10001360AC11E16 +:1009F900E5E620E706200803301E04C21EC322D301 +:010A090022CA +:1005370075FE8043FF3075FE0153FFFC75FE0E7597 +:10054700FF05D2DF43878075BA0375AAFD7598D07A +:10055700D299D298D2AC75B7C375FE6A53FFE04300 +:10056700FF04758901758CFC758A17D2A9D28C4353 +:100577008910758DFF758B9BD2ABD28E75FE067574 +:10058700FF1C75FE0375FF3CC284C283E4F58675C4 +:10059700FE0F43FF8075FE4F75FF1075FE1775FF41 +:1005A7003CD2A8D2B9D2AF75F21C75F3C075E80C6E +:0405B70043B3102218 +:03000300020006F2 +:0100060032C7 +:03004B00020A4561 +:060A450075EB3CD21E32ED +:0F04C6000B440000000000000000000000C11BFC +:0607D1008B2B8A2C892D00 +:1007D700E4FEEEC39F5016201AFD782BE475F00156 +:0D07E70012022B120144D21AF5990E80E582 +:0107F40022E2 +:03002300020A29A5 +:0F0A2900309904C299C21A309804C298D21E3272 +:0504D500013700C11F0A +:10035300300141E537C39402500261DFE537C394AE +:100363005550190537301C0A78387601E408F6C26F +:100373008322E47838F6087601C28422E47838F6DA +:1003830008F6783E76AA0876AAC284C283C201C25E +:1003930019F53722E5E630E72A301504D283801EAB +:1003A300E537C394025008C284C2830537800FE542 +:1003B30037C394C850060537D2848002C284C21959 +:1003C300D21F22301F09C284C283E4F537C21F3013 +:1003D300193D301C1CE537C394025004C284801AB3 +:1003E300E537C3943250050537D28422C284C2193B +:1003F30022C284E537C394025005C283053722E540 +:1004030037C3943250050537D28322C283C21922DF +:1005BB00300921C209120968784FA60608A607124E +:1005CB0000261209E6120800120722120268120313 +:1005DB005312077B300B58C20BE536D394004009FE +:1005EB001536301E4AC21E80431209F9503E75FE65 +:1005FB002443FF3CC2ACC2B9C2A9C2AB53B7CFE4D0 +:10060B00F5B575FE2953FF7F75FE4FF5FF75FE801F +:10061B0053FFCF43870275FE8043FF3075FE4F7546 +:10062B00FF10D2ACD2B9D2A9D2AB800075360A2258 +:0707F50000000000000000FD +:1004DA00C108C101011E00011D00C103C107C106F7 +:0E04EA00C102011F00C100C105011C00C104B8 +:100A0A00D282EF700753B7CF43B7302253B7CF2202 +:10026800E5E8540C6013051FE51FC39402400AE437 +:10027800F51F75E80CFF020A0A30183F301633D212 +:1002880082201C0DE5B5700475B50122E4FF120A41 +:100298000AE534700CD203C218D208C206F51D80D4 +:1002A8001AC203E4F51DD206C200C218C204F51F23 +:1002B80080097F01120A0AC208C218300668E51DC3 +:1002C800C394055003051D22E51EC39405500BC2B7 +:1002D80082E4F5B5051ED205804C30050DC205D265 +:1002E80082C2087F01120A0A800B200008D200E5AA +:1002F800E354A0F51C30002EE5E354A0651C600B08 +:10030800D201E4F537E5E354A0F51C300F18E51FDA +:10031800C3940A500CE51F20E003120852051F8001 +:1003280005C20FE4F51F300321E5E354AC64AC606B +:1003380003301C16E51DC394325003051D22E4F555 +:0B034800B57F01120A0AC208C282221F +:1008520078247C007D007BFF7A0779F57E007F0794 +:1008620012011E7524557525AA752602752706756F +:1008720028DD7529BAC282E4F5FE75FF0375FE0E06 +:1008820043FF04FB7A0079247F071207D175FE0E1D +:0B08920053FFF375FE0153FFFCD28200 +:01089D002238 +:1004F800015200C11CC11D01511E14080C800CE4DE +:100508000D480E4C0E920ED80F3C0F8C0FD210686F +:10077B00E4FFEF25E02408F8E6FC08E6FDC378501B +:10078B00E69D18E69C40040FBF0AE77852E6FEEFA1 +:10079B00D39E4004180680037851167851E6FED399 +:1007AB0094325006EEC3940A50077852A607187677 +:1007BB001E7852E6FFD394015003D21C22EFD39440 +:0507CB00024002C21C07 +:0107D0002206 +:10051800013100012F00012E00013000C10DC10A78 +:0E052800C109C10B013300013200C10CC10E2C +:10092900E533603AE4F5330531E531C3940A40050E +:10093900E4F531D20D052EE52EC394644005E4F5A6 +:100949002ED209052FE52FC394FA4012E4F52FD2D0 +:0F0959000A0530E53094044005E4F530D20B2256 +:03000B000209CE19 +:1009CE00C0E0C0D074FC258CF58C7417258AF58A8E +:0809DE00753301D0D0D0E032E6 +:03001B0002089E3A +:10089E00C0E0C0F0C083C082C0D075D000C000C020 +:1008AE0001C002C003C004C005C006C007C28F1538 +:1008BE008D749B258BF58B12063BD20ED007D0067E +:1008CE00D005D004D003D002D001D000D0D0D08239 +:0708DE00D083D0F0D0E0321E +:030BFD00010101F2 +:10042500020A1AE493A3F8E493A34003F68001F2C9 +:1004350008DFF48029E493A3F85407240CC8C333D8 +:10044500C4540F4420C8834004F456800146F6DFA7 +:10045500E4800B01020408102040809004A5E47E8E +:10046500019360BCA3FF543F30E509541FFEE4939C +:10047500A360010ECF54C025E060A840B8E493A363 +:10048500FAE493A3F8E493A3C8C582C8CAC583CA8E +:10049500F0A3C8C582C8CAC583CADFE9DEE780BE46 +:0105360000C4 +:10004E00E709F608DFFA8046E709F208DFFA803E94 +:10005E0088828C83E709F0A3DFFA8032E309F60881 +:10006E00DFFA8078E309F208DFFA807088828C83E9 +:10007E00E309F0A3DFFA806489828A83E0A3F6089D +:10008E00DFFA805889828A83E0A3F208DFFA804C77 +:10009E0080D280FA80C680D4806980F2803380104E +:1000AE0080A680EA809A80A880DA80E280CA8033B7 +:1000BE0089828A83ECFAE493A3C8C582C8CCC5832F +:1000CE00CCF0A3C8C582C8CCC583CCDFE9DEE780FF +:1000DE000D89828A83E493A3F608DFF9ECFAA9F07E +:1000EE00EDFB2289828A83ECFAE0A3C8C582C8CCD4 +:1000FE00C583CCF0A3C8C582C8CCC583CCDFEADEED +:10010E00E880DB89828A83E493A3F208DFF980CC4E +:10011E0088F0EF60010E4E60C388F0ED2402B40447 +:10012E000050B9F582EB2402B4040050AF232345EE +:06013E00822390009E7375 +:10014400BB010689828A83E0225002E722BBFE02B9 +:09015400E32289828A83E49322EC +:10015D0075F008758200EF2FFFEE33FECD33CDCC59 +:10016D0033CCC58233C5829BED9AEC99E5829840DC +:10017D000CF582EE9BFEED9AFDEC99FC0FD5F0D6B9 +:10018D00E4CEFBE4CDFAE4CCF9A88222B800C1B9E3 +:10019D000059BA002DEC8BF084CFCECDFCE5F0CB21 +:1001AD00F97818EF2FFFEE33FEED33FDEC33FCEB5A +:1001BD0033FB10D703994004EB99FB0FD8E5E4F915 +:1001CD00FA227818EF2FFFEE33FEED33FDEC33FC02 +:1001DD00C933C910D7059BE99A4007EC9BFCE99AF6 +:1001ED00F90FD8E0E4C9FAE4CCFB2275F010EF2F3B +:1001FD00FFEE33FEED33FDCC33CCC833C810D7073B +:10020D009BEC9AE899400AED9BFDEC9AFCE899F875 +:0E021D000FD5F0DAE4CDFBE4CCFAE4C8F92208 +:10022B00FAE6FB0808E6F925F0F618E6CA3AF622D4 +:10023B00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D50 +:10024B00FDE43CFCE8A42EC8C5F03DFDE43CFCEF0E +:0D025B00A4FFE5F028FEE43DFDE43CFC229C +:00000001FF diff --git a/Out/SY883X_EVB_mcu_2024_09_03_152604_crc(821c)_V010101.bin b/Out/SY883X_EVB_mcu_2024_09_03_152604_crc(821c)_V010101.bin new file mode 100644 index 0000000..622d71e Binary files /dev/null and b/Out/SY883X_EVB_mcu_2024_09_03_152604_crc(821c)_V010101.bin differ diff --git a/Project/TP3102_Demo.uvgui.GH b/Project/TP3102_Demo.uvgui.GH new file mode 100644 index 0000000..b21b9ee --- /dev/null +++ b/Project/TP3102_Demo.uvgui.GH @@ -0,0 +1,3754 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + E:\todaywork\20240325_tp3310\SY883X_Demo_Rock-A\UsrSrc\gpio_comm + + + + + + + 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 + + -32000 + -32000 + + + -1 + -1 + + + 88 + 2041 + 3961 + 1050 + + + + 0 + + 1796 + 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000100000000F0000000100000041453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF53453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C636861726765725C636861726765725F6D6F64756C652E630000000010636861726765725F6D6F64756C652E6300000000FFDC7800FFFFFFFF4B453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000BECEA100FFFFFFFF4C453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000F0A0A100FFFFFFFF46453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C756172745C756172742E630000000006756172742E6300000000BCA8E100FFFFFFFF44453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C6164635C6164632E6300000000056164632E63000000009CC1B600FFFFFFFF46453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C68616C6C5C68616C6C2E63000000000668616C6C2E6300000000F7B88600FFFFFFFF4A453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C74696D65725C7379735F74696D2E6300000000097379735F74696D2E6300000000D9ADC200FFFFFFFF44453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C6C65645C6C65642E6300000000056C65642E6300000000A5C2D700FFFFFFFF4A453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C73797374656D5C73797374656D2E63000000000873797374656D2E6300000000B3A6BE00FFFFFFFF4B453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000EAD6A300FFFFFFFF45453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C496E6974566172732E63000000000A496E6974566172732E6300000000F6FA7D00FFFFFFFF50453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C6770696F5F636F6D6D5C6770696F5F636F6D6D2E63000000000B6770696F5F636F6D6D2E6300000000B5E99D00FFFFFFFF50453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C557372496E635C6770696F5F636F6D6D5C6770696F5F636F6D6D2E68000000000B6770696F5F636F6D6D2E68000000005FC3CF00FFFFFFFF57453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000C1838300FFFFFFFF47453A5C746F646179776F726B5C32303234303332355F7470333331305C5359383833585F44656D6F5F6C616E6778756E2D4A385C557372496E635C696E635C646566696E652E680000000008646566696E652E6800000000CACAD500FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F0000F7020000 + + + + 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 + 0300000066000000ED000000C7020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000C7020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 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 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000C7020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000C7020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000F802000080070000E6030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 198 + 198 + 0 + 1 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000FB0200007D070000CD030000 + + + 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 + 83F8FFFF00000000FEFFFFFF01020000 + + + 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 + 0300000066000000ED000000C7020000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000FB0200007D070000CD030000 + + + 16 + A4000000BB0000006C0300004B010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000FB0200007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000FB0200007D070000CD030000 + + + 16 + A4000000BB000000C0010000FB020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000FB0200007D070000CD030000 + + + 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 + 70000000870000006001000052010000 + + + + 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 + 83F8FFFF00000000FEFFFFFF01020000 + + + 16 + A4000000BB0000009401000086010000 + + + + 3390 + 000000000A000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000E0020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000800700006600000070080000F7020000000000004F000000F0000000E00200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001502000090050000190200000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000000000000810700003102000080F8FFFFE9FFFFFF010000001A02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF00000000E002000080070000E402000001000000010000100400000001000000BCFDFFFF48010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080070000FB020000000F0000FD03000000000000E402000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC500000001000000FFFF02001400434D756C746950616E654672616D65576E64457800010084A4000000BB0000006C0300004B01000000000000000000000200000000000000C60000000000000000000000000000000000000001000000C60000000000000000000000 + + + 59392 + File + + 2763 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B960000000000000008001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B197379363230785F6972715F68616E646C65725F746872656164044E4F4E4511677379363230785F6465766963655F7379144932435F4745545F4F574E5F4144445245535331144932435F4745545F4F574E5F41444452455353320C4932435F4F4152325F4F41321E48414C5F534D4255535F4D6173746572527843706C7443616C6C6261636B0000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 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 + + 2763 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B960000000000000008001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B197379363230785F6972715F68616E646C65725F746872656164044E4F4E4511677379363230785F6465766963655F7379144932435F4745545F4F574E5F4144445245535331144932435F4745545F4F574E5F41444452455353320C4932435F4F4152325F4F41321E48414C5F534D4255535F4D6173746572527843706C7443616C6C6261636B0000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 955 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2362 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 15 + + ..\UsrSrc\main.c + 0 + 22 + 56 + 1 + + 0 + + + ..\UsrSrc\charger\charger_module.c + 0 + 182 + 212 + 1 + + 0 + + + ..\UsrSrc\vox\vox_module.c + 1 + 68 + 96 + 1 + + 0 + + + ..\UsrSrc\userapp\userapp.c + 4 + 112 + 131 + 1 + + 0 + + + ..\UsrSrc\uart\uart.c + 23 + 1 + 2 + 1 + + 0 + + + ..\UsrSrc\adc\adc.c + 12 + 1 + 2 + 1 + + 0 + + + ..\UsrSrc\hall\hall.c + 17 + 1 + 20 + 1 + + 0 + + + ..\UsrSrc\timer\sys_tim.c + 1 + 178 + 200 + 1 + + 0 + + + ..\UsrSrc\led\led.c + 6 + 1 + 2 + 1 + + 0 + + + ..\UsrSrc\system\system.c + 5 + 58 + 76 + 1 + + 0 + + + ..\Src\startup\STARTUP.A51 + 19 + 81 + 111 + 1 + + 0 + + + ..\UsrSrc\InitVars.c + 49 + 1 + 29 + 1 + + 0 + + + ..\UsrSrc\gpio_comm\gpio_comm.c + 19 + 54 + 77 + 1 + + 0 + + + ..\UsrInc\gpio_comm\gpio_comm.h + 0 + 1 + 20 + 1 + + 0 + + + ..\UsrSrc\discharge\discharge_module.c + 0 + 145 + 167 + 1 + + 0 + + + \todaywork\20240325_tp3310\SY883X_Demo_langxun-J8\UsrInc\inc\define.h + 17 + 19 + 37 + 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..dce7e45 --- /dev/null +++ b/Project/TP3102_Demo.uvopt @@ -0,0 +1,473 @@ + + + + 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 + 1 + 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 + 0 + 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 + + + 2 + 19 + 1 + 0 + 0 + 0 + ..\UsrSrc\gpio_comm\gpio_comm.c + gpio_comm.c + 0 + 0 + + + +
diff --git a/Project/TP3102_Demo.uvproj b/Project/TP3102_Demo.uvproj new file mode 100644 index 0000000..4e77399 --- /dev/null +++ b/Project/TP3102_Demo.uvproj @@ -0,0 +1,500 @@ + + + + 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\ + .\..\Tools\hex2bin_TP.exe .\Objects\mcu.hex .\Objects\bin.bin 3 0 + 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 + 1 + 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 + 9 + 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;..\UsrInc\gpio_comm + + + + 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 + + + gpio_comm.c + 1 + ..\UsrSrc\gpio_comm\gpio_comm.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..3a67cba --- /dev/null +++ b/TP3310_Demo.si4project/TP3310_Demo.SearchResults @@ -0,0 +1,3 @@ +---- VOX_VOUT_5V_LEAST_CNT Matches (2 in 1 files) ---- +vox_module.c (UsrSrc\vox) line 46 : #define VOX_VOUT_5V_LEAST_CNT 250 +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : if( Vox_Vol_Hold_Timer < VOX_VOUT_5V_LEAST_CNT ) //开盖后5V 500ms。 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..cef2ac0 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..7e8a652 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..55a0b12 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..f709225 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..711d5bf 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..810aaaa 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..19078b5 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..959f3c1 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..e7407ae 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..7b66e59 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..22ad116 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..9568064 --- /dev/null +++ b/UsrDoc/HEXBIN.bat @@ -0,0 +1,64 @@ +:: @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=%2 +::设置.hex文件所在目录路径\Objects\ +set obj_path=%3 +::设置输出后的文件名 +set output_nameTmp=SY8833A_EVB_%project_name%_V01_%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 --- + +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 + +del /q ..\Out\*.* +::将hex文件复制到HEXBIN文件夹 +move .%obj_path%%output_name%.hex .\..\Out >nul +move .%obj_path%%output_name%.bin .\..\Out >nul +move .%obj_path%%output_name%_crc.bin .\..\Out >nul \ No newline at end of file diff --git a/UsrDoc/SY883X软件开发说明文档.doc b/UsrDoc/SY883X软件开发说明文档.doc new file mode 100644 index 0000000..58ef112 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/UsrDoc/软件各个功能模块占用内存大小.xls b/UsrDoc/软件各个功能模块占用内存大小.xls new file mode 100644 index 0000000..02b7d48 Binary files /dev/null and b/UsrDoc/软件各个功能模块占用内存大小.xls differ diff --git a/UsrInc/adc/adc.h b/UsrInc/adc/adc.h new file mode 100644 index 0000000..357522c --- /dev/null +++ b/UsrInc/adc/adc.h @@ -0,0 +1,60 @@ +/* + ****************************************************************************** + * + * @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__ +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +#if ADC_ENABLE +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +#define VREF 1000 + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +extern idata uint16_t Vbat_Adc; + +typedef enum { + ADC_CH0 = 0x00, + ADC_CH1, + ADC_CH2, + ADC_CH3, + ADC_CH4, + ADC_BAT, + ADC_VREF, +}ADC_CHANNELS_E; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +extern uint16_t Vbat_Value(void); + +extern uint16_t ADC_NTC_Value(void); + + +#endif + +#endif + diff --git a/UsrInc/bat/bat.h b/UsrInc/bat/bat.h new file mode 100644 index 0000000..8efe9a4 --- /dev/null +++ b/UsrInc/bat/bat.h @@ -0,0 +1,50 @@ +/* + ****************************************************************************** + * + * @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__ +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +extern idata uint8_t bat_level; +extern bit F_batlevel_low; //صѹ +extern bit F_batlevel_protect; //͵籣 + +#if BAT_VALUE + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +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..789a267 --- /dev/null +++ b/UsrInc/charger/charger_module.h @@ -0,0 +1,66 @@ +/* + ****************************************************************************** + * + * @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" +#if 0 +// ״̬ +typedef enum +{ + CHG_STA_ING, // + CHG_STA_COMPLETED, // + CHG_STA_PULLOUT, // γ +} TE_CHG_STA; + + +extern idata TE_CHG_STA ChgStatus; // ϵͳ״̬ +#endif + +extern bit Charger_Done; + +#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..be5b5f4 --- /dev/null +++ b/UsrInc/discharge/discharge_module.h @@ -0,0 +1,42 @@ +/* + ****************************************************************************** + * + * @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 + +#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/gpio_comm/gpio_comm.h b/UsrInc/gpio_comm/gpio_comm.h new file mode 100644 index 0000000..adc97f8 --- /dev/null +++ b/UsrInc/gpio_comm/gpio_comm.h @@ -0,0 +1,67 @@ +/* + ****************************************************************************** + * + * @file gpio_comm.h + * @brief gpio_comm module + * + * + * @version 1.0 + * @date 2024/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 2024/07/18 Alex build this file + ****************************************************************************** + */ + +#ifndef __GPIO_COMM_H__ +#define __GPIO_COMM_H__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +#if VOX_TX_PATTERN + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +sbit PATTERN_TX = P0^1; + +#define PATTERN_TX_ON() COM_CTRL = 1 +#define PATTERN_TX_OFF() COM_CTRL = 0 + + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +extern bit Pattern_TX_Start; + +extern uint16_t Pattern_TX_Data; + +typedef enum { + GPIO_TX_STEPS_NONE = 0, + GPIO_TX_STEPS_START, + GPIO_TX_STEPS_BIT_SYC, + GPIO_TX_STEPS_DATA, + GPIO_TX_STEPS_STOP, +}e_Gpio_Comm_Step; + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +extern void Gpio_Comm(uint16_t Data); + + +#endif + + + +#endif + diff --git a/UsrInc/hall/hall.h b/UsrInc/hall/hall.h new file mode 100644 index 0000000..0066a26 --- /dev/null +++ b/UsrInc/hall/hall.h @@ -0,0 +1,61 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +typedef enum{ + + CLOSE = 0, + OPEN = !CLOSE + +} CoverStatus_E; + +extern CoverStatus_E CoverStatus; + +extern bit CoverEvent_Flg; +extern bit CoverEvent_Flg_led; +extern uint8_t Hall_Sta_bk; + +#if HALL_ENABLE + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +//extern void Hall_Init(void); +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..fd23b58 --- /dev/null +++ b/UsrInc/inc/config.h @@ -0,0 +1,94 @@ +/* + ****************************************************************************** + * + * @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 + + +#define CHG_CURRENT_400MA 0x05 + +/*20uA Դ½ 104K NTC 貢һ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_15C 1050 + +#define T_18C 996 + +#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 + +/*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..46db366 --- /dev/null +++ b/UsrInc/inc/define.h @@ -0,0 +1,136 @@ +/* + ****************************************************************************** + * + * @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" + +/*汾һӲڸĶܼ֮ǰ汾ʱ1 + ڶڹܴڸĶʱ1Գֲͬ + ԰汾ʱĶλֱ䶯ʱλ㡣*/ + +#define FW_VER0 0x01 //汾0:ӲڸĶܼ֮ǰ汾ʱ1 +#define FW_VER1 0x01 //汾1:ڹܴڸĶʱ1 +#define FW_VER2 0x01 //汾2:ԳֲͬIJ԰汾ʱĶʱ1 + +/*Function Selectѡ궨*/ + +#define TIMER1_ENABLE 1 //Timer1 ʱ1ms + +#if TIMER1_ENABLE +#define BREATHING_LIGHT //ƹܣTimer1жϴУ100us(243Bytes) +#endif + +#define UART0_ENABLE 1 //UART0ܣڳԡ(153Bytes) + +#define WTG_ENABLE 1 //Źʹ(7Bytes) + +#define LED_DISPLAY //LEDʾ ,1ʾ (348Bytes) + +#define HALL_ENABLE 1 //Hallܡ(Hall 46Bytes) + +#define KEY_ENABLE 1 //Key(262Bytes) + +#define VOX_ENABLE 1 //304Bytes + +#define VOX_TX //587Bytes + +#define VOX_TX_PATTERN 0 //GPIO Pattern (118Bytes) + +#define VOX_FOLLOW_CHG 0 + +//#define VOX_RX //405Bytes + +#define CHARGER_ENABLE 1 //225Bytes + +#define DISCHARGE_ENABLE 1 //75Bytes + +#define SLEEP_ENABLE 1 //82Bytes + +#define ADC_ENABLE 1 //561Bytes + +#if ADC_ENABLE +#define NTC_ENABLE 1 +#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..a2bca4e --- /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..ab49540 --- /dev/null +++ b/UsrInc/key/key.h @@ -0,0 +1,62 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +#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; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +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..d448914 --- /dev/null +++ b/UsrInc/led/led.h @@ -0,0 +1,95 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +#ifdef LED_DISPLAY + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +// LED˿ڶ +#define LEDR_ON() pin_LED_1 = 1 //LED_1_ON() p03 +#define LEDR_OFF() pin_LED_1 = 0 //LED_1_OFF() +#define LEDR_TOG() pin_LED_1 = !pin_LED_1 //LED_1_RUN() +sbit pin_LED_1 = P0^4; + +#define LEDG_ON() pin_LED_2 = 1 //LED_2_ON() +#define LEDG_OFF() pin_LED_2 = 0 //LED_2_OFF() +#define LEDG_TOG() pin_LED_2 = !pin_LED_2 //LED_2_RUN() +sbit pin_LED_2 = P0^3; + +/******************************************************************************\ + Typedef definitions +\******************************************************************************/ +//LEDض壬˳Ϸĺ궨屣һ +enum LED_ID +{ + LED_R, + LED_G, + LED_ID_MAX +}; + +#ifdef BREATHING_LIGHT + +//LEDƿƽṹ +typedef struct{ + uint8_t Breathing_Light_On[LED_ID_MAX]; //ʹܱ־λ + uint8_t BL_On_Time[LED_ID_MAX]; //LEDʱ + uint8_t BL_Flash_Duty[LED_ID_MAX]; //LEDռձȣʱ + uint8_t BL_Timer[LED_ID_MAX]; //ʱ 100usһ + uint8_t Flash_Duty_Rising[LED_ID_MAX]; //־ + uint8_t Flash_Duty_Declining[LED_ID_MAX]; //𰵱־ + +}BRTH_LED_INFO; + +extern idata BRTH_LED_INFO BL_LED; + +#define BL_DUTY_MAX 170 +#define BL_STEP 2 + +//LEDıСʱڵλ +#define LED_PLUS_TIME 1 + +/* +* : LED_Breathing_Light +* : LED100usʱƬ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +extern void LED_Breathing_Light(void); + +/******************************************************************************/ + +#endif + +//------------------------------------------------------------------------------ +#endif + + +#endif + diff --git a/UsrInc/sleep/sleep.h b/UsrInc/sleep/sleep.h new file mode 100644 index 0000000..ffeee65 --- /dev/null +++ b/UsrInc/sleep/sleep.h @@ -0,0 +1,47 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +#if SLEEP_ENABLE + +extern uint8_t Decnt_SleepDelay; +extern bit Enter_Sleep_Cnt_Restart_Flag; +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +extern bit Check_Require_Sleep(void); + +#endif + +#endif + diff --git a/UsrInc/system/system.h b/UsrInc/system/system.h new file mode 100644 index 0000000..8a2620a --- /dev/null +++ b/UsrInc/system/system.h @@ -0,0 +1,56 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + /*жϺż㷽ʽж = жϺ * 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ж + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +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..9a6e70c --- /dev/null +++ b/UsrInc/timer/sys_tim.h @@ -0,0 +1,75 @@ +/* + ****************************************************************************** + * + * @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__ +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +//#define FOSC 11059200L + +#define T1MS 1000 +#define T100uS 100 +#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 + +#if TIMER1_ENABLE + +#define C_TIM1_Reload (65535 - T100uS) + +#endif + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +extern bit F_sys_tim_10ms; +extern bit F_sys_tim_250ms; +extern bit F_sys_tim_100ms; +extern bit F_sys_tim_1s; + +#if TIMER1_ENABLE + +extern bit F_sys_tim1_tick; + +#endif + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +extern void Sys_Tim_Handler(void ); + +extern void Delay15ms(void); + +#if TIMER1_ENABLE + +extern void Sys_Tim1_Init(void ); + +#endif + +#endif + diff --git a/UsrInc/uart/uart.h b/UsrInc/uart/uart.h new file mode 100644 index 0000000..94c1baf --- /dev/null +++ b/UsrInc/uart/uart.h @@ -0,0 +1,69 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +#define Baud_Rate0 115200//9600//19200//38400//93750 +#define S0REL_VALUE (1024-375000/Baud_Rate0) + +#if UART0_ENABLE + + +#define COM0_Data_Lenth 11 + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +extern idata uint8_t RX0_Buffer[COM0_Data_Lenth]; //ջ + +extern bit Uart0_RX_Finish_Flag; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +#ifdef _DEBUG_ALL + +extern char putchar (char ch); + +#endif + +//extern void UART0_Init(void); + +extern void Uart0SendData(uint8_t Txdata); + +#ifdef VOX_TX +extern void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf); +#endif + +extern void HandleVoxCommMsg(void); + +#endif + +#endif + diff --git a/UsrInc/userapp/userapp.h b/UsrInc/userapp/userapp.h new file mode 100644 index 0000000..77bac96 --- /dev/null +++ b/UsrInc/userapp/userapp.h @@ -0,0 +1,51 @@ +/* + ****************************************************************************** + * + * @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" +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +#define BAT_LEVEL_LOW 20 //صͱֵ + +#define LED_OFF_CNT 2 + +#define LED_ON_CNT 50 //5s + +#define LED_HUXI_ON_CNT 85 + +#define LED_CHG_ON_CNT 200 //200s + +/******************************************************************************\ + Typedef definitions +\******************************************************************************/ + +/******************************************************************************\ + Global variables and functions +\******************************************************************************/ + +extern uint8_t LED_On_Timer; //ledʱʱ + +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..a0d73d4 --- /dev/null +++ b/UsrInc/vox/vox_module.h @@ -0,0 +1,126 @@ +/* + ****************************************************************************** + * + * @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__ + +/*_____ I N C L U D E S ____________________________________________________*/ + +#include "define.h" + +extern bit Vox_Vout_Enable; +sbit COM_CTRL = P0^2; + +extern uint8_t Vox_TX_Timer; //VOXָʱ,Hall_Handler0. +extern bit Earphone_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 + +#define HEADER 0x55AA //VOXͨѶݰͷ + +#define BOX_FAC_HEADER 0xFB04 //VOXͨѶ->λݰͷ +#define BESHEADER 0xA5 //VOXͨѶ->ݰͷ + +#define TIM_SHUTDOWN_DEBOUNCE 600 //ػǰdebounceʱ + + /******************************************************************************\ + Variables definitions + \******************************************************************************/ +/*ͨѡ*/ + typedef enum { + VOL_CHAN = 0, + VOR_CHAN, + VOX_BOTH, + }e_Vox_Chan; + +#if 1 + /*״̬*/ + typedef enum { + VOX_PAIR_NONE = 0, //Ч + VOX_PAIR_ING, // + VOX_PAIR_OK, // + VOX_PAIR_KEEP, //ֵǰ״̬ + }e_Vox_Pairing_State; + + /*Լ¼*/ + typedef enum { + VOX_PAIRED_NONE = 0, //Թ + VOX_PAIRED_OK, //Լ¼ + }e_Vox_Paired_State; +#endif + /*ͳֽ˫ͨѶЭID*/ + typedef enum _VOX_FAC_COMMAND_E + { + CMD_FAC_START = 0xB0, //⿪ʼָ + CMD_FAC_HALL = 0xB1, //Hallָ + CMD_FAC_GUAGE = 0xB2, //ܿ + CMD_FAC_LED = 0xB3, //LEDָ + CMD_FAC_SHUTDOWN = 0xB4, //ػģʽ + CMD_FAC_GET_DAUGE = 0xB5, //ȡָ + CMD_FAC_GET_NTC = 0xB6, //ȡNTCָ + CMD_FAC_GET_FWVER = 0xB7, //ȡ̼汾ָ + CMD_FAC_SET_VOX_5V = 0xB8, //н5Vѹ + + }VOX_FAC_COMMAND_E; + +/* VOL Enable Type */ +typedef enum { + + VOX_VOUT_Mode = 0x00, //VOx 5V ʹ + VOX_ADT_Mode, //VOx ؽ롢ʶʹܣԶʶ + +} VOX_Enable_Mode_e; + +extern bit Cover_Open_Flag; + + /******************************************************************************\ + UserCfg.Functions definitions + \******************************************************************************/ +extern void Vox_TX_Machine(void); + +extern void Vox_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..856cddd --- /dev/null +++ b/UsrSrc/InitVars.c @@ -0,0 +1,30 @@ +/* + ****************************************************************************** + * + * @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 +\******************************************************************************/ + +/******************************************************************************\ + 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..8a7cd6b --- /dev/null +++ b/UsrSrc/adc/adc.c @@ -0,0 +1,165 @@ +/* + ****************************************************************************** + * + * @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 = 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; + + n_Vbat_Data = ADC_Chn_Data(ADC_BAT); + +#ifdef _DEBUG_ADC + printf("bat_Vbat1:%d.\r\n",(uint16_t)n_Vbat_Data); +#endif + + 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; + } + +/* +******************************************************************************* +* 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; + + adc_data = ADC_Chn_Data(ADC_CH4); + +#ifdef _DEBUG_ADC + printf("adc_chn1:%d.\r\n",(uint16_t)adc_data); +#endif + + 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 + + return adc_data; +} + + +#endif + diff --git a/UsrSrc/bat/bat.c b/UsrSrc/bat/bat.c new file mode 100644 index 0000000..6cc0cab --- /dev/null +++ b/UsrSrc/bat/bat.c @@ -0,0 +1,104 @@ +/* + ****************************************************************************** + * + * @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" + +idata uint8_t bat_level = 0; +bit F_batlevel_low = 0; //صѹ + +#if BAT_VALUE + +#define C_offset_bat_level_MAX 50 +#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] = +{ + 3200, //1 + 3300, //2 + 3400, //3 + 3660, //4 + 3730, //5 + 3800, //6 + 3900, //7 + 3980, //8 + 4050, //9 + 4200 //10 +}; + +void check_bat_level(void) +{ + uint8_t i = 0; + //get bat level +#if ADC_ENABLE + for(i=0; i < C_batLevel_SetMax; i++) + { + if( Vbat_Adc < Boost_batlevel_Threshold[i] ) + { + break; + } + } +#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..3c7927c --- /dev/null +++ b/UsrSrc/charger/charger_module.c @@ -0,0 +1,289 @@ +/* + ****************************************************************************** + * + * @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" + +bit Charger_Done = 0; + +#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; +//bit NTC_CHG_02C_Flag = 0; +//bit NTC_CHG_1C_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 + +/* + ******************************************************************************* + * 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 رճ磬 + * ¶Ȼָ 100msټ硣 + * + * 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 + * + ******************************************************************************* + */ +#if NTC_ENABLE +uint8_t PMU_NTC_Control(void) +{ + uint16_t NTC_Adc = 0; + uint8_t nNTC_Pro_Flag = 0; + + static bit NTC_Low_Pro_Flag; + static bit NTC_High_Pro_Flag; + +#if NTC_ENABLE + + NTC_Adc = ADC_NTC_Value(); + +#endif + + if(NTC_Adc >= 2000) ////NTCܣNTCգ NTC ܣ + { + return 1; + } + + if(NTC_Adc <= T_0C && NTC_Adc > T_45C) //NTC + { + if(NTC_Low_Pro_Flag) + { + if( NTC_Adc < T_3C ) + { + NTC_Low_Pro_Flag = 0; + nNTC_Pro_Flag = 0; + } + else + { + nNTC_Pro_Flag = 1; + } + } + + if(NTC_High_Pro_Flag) + { + if( NTC_Adc > T_42C ) + { + NTC_High_Pro_Flag = 0; + nNTC_Pro_Flag = 0; + } + else + { + nNTC_Pro_Flag = 1; + } + } + } + else //쳣 + { + + if(NTC_Adc > T_0C) + { + NTC_Low_Pro_Flag = 1; + } + else + if(NTC_Adc < T_45C) + { + NTC_High_Pro_Flag = 1; + } + + nNTC_Pro_Flag = 1; + } + + return nNTC_Pro_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; + 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 + } + 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() ) //NTC硣 + { + CHG_CTL &= ~0x01; //Disable Charger. + return; + } +#endif + + if( IRQ_FLAG9 & 0x10 ) //Charg complete interrupt + { +#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; + +#endif + } + else + { + CHG_CTL |= 0x01; //Enable Charger + Charger_Done = 0; + } +} + +#endif + diff --git a/UsrSrc/discharge/discharge_module.c b/UsrSrc/discharge/discharge_module.c new file mode 100644 index 0000000..297776a --- /dev/null +++ b/UsrSrc/discharge/discharge_module.c @@ -0,0 +1,208 @@ +/* + ****************************************************************************** + * + * @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" +#include "bat.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() ) //NTCŵ硣 + { + gBoost_Prepared_Flag = 0; + BST_EN = 0; + return; + } +#endif +#if 0 + /*ص͵籣*/ + if( F_batlevel_protect ) + { + 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/gpio_comm/gpio_comm.c b/UsrSrc/gpio_comm/gpio_comm.c new file mode 100644 index 0000000..30ce1e3 --- /dev/null +++ b/UsrSrc/gpio_comm/gpio_comm.c @@ -0,0 +1,161 @@ +/* + ****************************************************************************** + * + * @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 "gpio_comm.h" +#include "vox_module.h" + +#if VOX_TX_PATTERN +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +uint8_t Gpio_TX_Comm_Cnt = 0; +uint8_t Gpio_TX_Steps = GPIO_TX_STEPS_START; + +uint8_t Bit_Cnt = 16; +uint8_t Pin_Status = 0; + +#define START_LOW_TIM 10 +#define START_HIGH_TIM 1 + + +uint16_t Pattern_TX_Data = 0; //ҪͨVOX͵ݣ8λӵ8λ汾 + +bit Pattern_TX_Start = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ +/* +******************************************************************************* +* void Gpio_Comm(uint8_t data) +* +* Description : gpio TX Communicate 1ms + +* Arguments : uint8_t data + +* Returns : + +* Notes : +* +******************************************************************************* +*/ +void Gpio_Comm(uint16_t Data) +{ + /*ʼ֡10ms͵ƽ + 1msߵƽ + 10ms͵ƽ*/ + if( Pattern_TX_Start ) + { + Gpio_TX_Comm_Cnt++; + + if( Gpio_TX_Steps == GPIO_TX_STEPS_START ) + { + if( Gpio_TX_Comm_Cnt <= START_LOW_TIM ) + { + PATTERN_TX_OFF(); + } + else + if( Gpio_TX_Comm_Cnt <= (START_LOW_TIM + START_HIGH_TIM) ) + { + PATTERN_TX_ON(); + } + else + if( Gpio_TX_Comm_Cnt <= 22 ) + { + PATTERN_TX_OFF(); + if( Gpio_TX_Comm_Cnt == 22 ) + { + Gpio_TX_Steps = GPIO_TX_STEPS_BIT_SYC; + } + } + } + + if( Gpio_TX_Steps == GPIO_TX_STEPS_BIT_SYC ) + { + Bit_Cnt--; + if(Bit_Cnt > 15) + { + Bit_Cnt = 16; + Gpio_TX_Steps = GPIO_TX_STEPS_STOP; + } + else + { + Gpio_TX_Steps = GPIO_TX_STEPS_DATA; + } + Pin_Status = (Data>>Bit_Cnt)&0x01; + Gpio_TX_Comm_Cnt = 0; + } + + if( Gpio_TX_Steps == GPIO_TX_STEPS_DATA ) + { + if( Pin_Status ) //bit high + { + if( Gpio_TX_Comm_Cnt <= 2 ) + { + PATTERN_TX_ON(); + } + else + if( Gpio_TX_Comm_Cnt <= 3 ) + { + PATTERN_TX_OFF(); + Gpio_TX_Steps = GPIO_TX_STEPS_BIT_SYC; + } + } + else //bit low + { + if( Gpio_TX_Comm_Cnt < 1 ) + { + PATTERN_TX_ON(); + } + else + if( Gpio_TX_Comm_Cnt <= 1 ) + { + PATTERN_TX_OFF(); + Gpio_TX_Steps = GPIO_TX_STEPS_BIT_SYC; + } + } + } + else + if( Gpio_TX_Steps == GPIO_TX_STEPS_STOP ) //stop֡ + { + if( Gpio_TX_Comm_Cnt < START_LOW_TIM ) + { + PATTERN_TX_OFF(); + BST_EN = 0; + VOX_CTL0 &= ~0x30; //VOXMOS + } + else + { + // PATTERN_TX_ON(); + PATTERN_TX = ON; + Gpio_TX_Comm_Cnt = 0; + Pattern_TX_Start = 0; + Gpio_TX_Steps = GPIO_TX_STEPS_START; + } + } + } +} + + + +#endif + diff --git a/UsrSrc/hall/hall.c b/UsrSrc/hall/hall.c new file mode 100644 index 0000000..ffe595b --- /dev/null +++ b/UsrSrc/hall/hall.c @@ -0,0 +1,101 @@ +/* + ****************************************************************************** + * + * @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 "vox_module.h" +#include "userapp.h" +#include "charger_module.h" +#include "sleep.h" + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +CoverStatus_E CoverStatus; + +bit CoverEvent_Flg = 0; //Hallش¼־λ +bit CoverEvent_Flg_led = 0; + +#if HALL_ENABLE + +uint8_t Hall_Sta_bk = 0xff; + +/******************************************************************************\ + 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; + Vox_TX_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..7cfdab6 --- /dev/null +++ b/UsrSrc/key/key.c @@ -0,0 +1,122 @@ +/* + ****************************************************************************** + * + * @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" +#include "vox_module.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; + +idata KEY_EVENT_E Event_key = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void Key_Handler(void) + * + * Description : Key Handler --- ѭеã5msг(ʱ2s)Ҫж̧Ŵ + CoverStatus --- ָ״̬ṩӦKey¼־λӦô + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ + + void Key_Handler(void) + { +#if 1 + + if( IRQ_FLAG7 ) //а + { + if( IRQ_FLAG7 & 0x40 ) //key super long press for 8s interrupt flag + { + Key_Press_ll_irq = 1; + Event_key = KEY_EVENT_LL_8S; + } + IRQ_FLAG7 = 0xFF; //Clear Key Interrupt Flag + } + + +#else + + + 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 + } + + #endif diff --git a/UsrSrc/led/led.c b/UsrSrc/led/led.c new file mode 100644 index 0000000..41af861 --- /dev/null +++ b/UsrSrc/led/led.c @@ -0,0 +1,158 @@ +/* + ****************************************************************************** + * + * @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 +\******************************************************************************/ + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* +* : 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; + + 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; + + default: + break; + } +} + +#ifdef BREATHING_LIGHT + +idata BRTH_LED_INFO BL_LED; + +/* +* : LED_Breathing_Light +* : LED100usʱƬУÿ20msıһռձȡ +ģͺռ1.5s۵ͼʱ0.04s1/24֡棩 +0.04s40ms20ms20msۿӦһֱ +ƣǸı40msУռõİٷְ١ +1500/20=75ڣ40ms/75=266us75仯Уÿ1λ266us + +75ڸպ40msܴﵽȫ֮ȫ +* : NONE +* ֵ : NONE +*/ +/******************************************************************************/ +void LED_Breathing_Light(void) +/******************************************************************************/ +{ + uint8_t i; + + for(i = 0;i < LED_ID_MAX;i++) + { + if ( BL_LED.Breathing_Light_On[i] ) + { + if( BL_LED.BL_Timer[i] <= BL_LED.BL_Flash_Duty[i] ) + { + LED_On(i); + } + else + { + LED_Off(i); + } + + if( BL_LED.BL_Timer[i] >= BL_DUTY_MAX ) + { + BL_LED.BL_Timer[i] = 0; + + if(BL_LED.Flash_Duty_Declining[i]) + { + BL_LED.BL_Flash_Duty[i] -= BL_STEP; + } + else + if(BL_LED.Flash_Duty_Rising[i]) + { + BL_LED.BL_Flash_Duty[i] += BL_STEP; + } + } + + if( BL_DUTY_MAX <= BL_LED.BL_Flash_Duty[i] ) + { + BL_LED.Flash_Duty_Declining[i] = 1; + BL_LED.Flash_Duty_Rising[i] = 0; + } + else + if( BL_LED.BL_Flash_Duty[i] <= 1 ) + { + BL_LED.Flash_Duty_Rising[i] = 1; + BL_LED.Flash_Duty_Declining[i] = 0; + } + } + + BL_LED.BL_Timer[i] += LED_PLUS_TIME; + } +} + +#endif + +#endif + diff --git a/UsrSrc/main.c b/UsrSrc/main.c new file mode 100644 index 0000000..334db16 --- /dev/null +++ b/UsrSrc/main.c @@ -0,0 +1,67 @@ +/* + ****************************************************************************** + * + * @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" +#include "vox_module.h" + + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +extern char code Version_Addr[3]; + + + +/******************************************************************************\ + 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..6a761ba --- /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 + * + ******************************************************************************* + */ +bit Check_Require_Sleep(void ) +{ + if( ( CHIP_STA4 & 0x80 ) || ( ON == Vox_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..23e8305 --- /dev/null +++ b/UsrSrc/system/system.c @@ -0,0 +1,273 @@ +/* + ****************************************************************************** + * + * @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) +{ + SFRADDR = PMU_CTL0; //оƬӲ󣬹̶ + 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_CTL0 = 0xC3; //VOX ؽ롢ʶʹܣԶʶ𡣴Vox vdsǯѹʹܣҪVOX 5V + + SFRADDR = VOX_CON0; //VOX200mA + SFRDATA &= ~0x1F; + SFRDATA |= (VOX_IOUT_200MA << 3) | VOX_ADT_Cur_4_5UA; + +#endif + + 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 + + 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 + + /*GPIO Set*/ + SFRADDR = P0_OE; + SFRDATA = 0x1C; //COM_CTRL(P02)LED1(P03)LED2(P04)ΪGPIO + +#ifdef LED_DISPLAY + + SFRADDR = P0_DRV; //P03P04Ϊ400 + SFRDATA = 0x3C; + + pin_LED_1 = 0; + pin_LED_2 = 0; + +#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 ADC_ENABLE + + SFRADDR = MFP_CTL1; //Set P07 Pinmux As AD4 Function + SFRDATA |= 0x80; + + 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; + + //SFRADDR = IRQ_EN10; //INT4 --- Hall interrupt enable. + //SFRDATA = 0x0C; + + /* ⲿжʹ */ + 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 + +#ifdef SY8836 //ϷоƬرVBUS OVʹ + SFRADDR = PMU_CTL7; + SFRDATA &= ~0x20; + + SFRADDR = REG_CHG0; + SFRDATA |= 0x04; //VDPM +#endif + + CHG_CTL |= 0x10; //糬ʱʹ + +// REG_CHG1 = CHG_CURRENT_400MA; //400mA + + //REG_CHG2 = 0x01; //CVѹ4.35V + +#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 + * + ******************************************************************************* + */ + #if 0 + void EX4_isr(void) interrupt Interrupt_Vector_IE4 +{ + + IRQ_FLAG10 = 0x0C; + +#if SLEEP_ENABLE + + //if( !Enter_Sleep_Cnt_Restart_Flag ) + { + Enter_Sleep_Cnt_Restart_Flag = 1; + } + +#endif +} +#endif diff --git a/UsrSrc/timer/sys_tim.c b/UsrSrc/timer/sys_tim.c new file mode 100644 index 0000000..123701d --- /dev/null +++ b/UsrSrc/timer/sys_tim.c @@ -0,0 +1,245 @@ +/* + ****************************************************************************** + * + * @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" +#include "gpio_comm.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ +uint8_t cnt_sys_tim_10ms = 0; +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_10ms = 0; +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; +bit BES_Puls_Start = 0; //BES Resetź + +#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 +#if 1 + //---------------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; + //-----------------250ms------------------------- + cnt_sys_tim_1s++; + if(cnt_sys_tim_1s >= 4) + { + cnt_sys_tim_1s = 0; + F_sys_tim_1s = 1; + } + } +} + +/* + ******************************************************************************* + * void Delay10ms(void) //@11.0592MHz + * + * Description : 10msʱ + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +#if 0 +void Delay15ms(void) //@11.0592MHz +{ + unsigned char i, j; + + i = 36; + j = 140; + do + { + while (--j); + } while (--i); +} +#endif +/** + * @brief This function handles sys_tim Handler. + * @param None + * @retval None + * 1ms + */ +#define PATTERN_HIGH_CNT 160 //ߵƽʱ +#define PATTERN_LOW_CNT 2 //͵ƽʱ +#define PATTERN_TIM 162 //8s + 100ms + +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; + +#if VOX_TX_PATTERN + Gpio_Comm(Pattern_TX_Data); +#endif +} + +/* + ******************************************************************************* + * 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 LED_DISPLAY +#ifdef BREATHING_LIGHT + /*todo*/ + LED_Breathing_Light(); + +#endif +#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..f0e3947 --- /dev/null +++ b/UsrSrc/uart/uart.c @@ -0,0 +1,301 @@ +/* + ****************************************************************************** + * + * @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" +#include "sleep.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; + +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 + +#if UART0_ENABLE + +/* + ******************************************************************************* + * void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf) + * + * Description : UART0 Send Packet + * + * Arguments : NONE + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +#ifdef VOX_TX + +void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf) +{ + uint8_t i = 0; + for(i=0;i COM0_Data_Lenth) ) //յdataRX0DataLenδ䡣 + { + RX0_Cnt = 0; + Rx0Status = 0; + Uart0_RX_Finish_Flag = 1; + } + } + +#endif + + } +} + +#endif + diff --git a/UsrSrc/userapp/userapp.c b/UsrSrc/userapp/userapp.c new file mode 100644 index 0000000..3889837 --- /dev/null +++ b/UsrSrc/userapp/userapp.c @@ -0,0 +1,344 @@ +/* + ****************************************************************************** + * + * @file UserApp.c + * @brief UserApp module + * + * + * @version 1.0 + * @date 2023/03/27 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 2023/03/27 Alex build this file + ******************************************************************************/ + /*_____ I N C L U D E S ____________________________________________________*/ + +#include "userapp.h" +#include "gpio.h" +#include "adc.h" +#include "hall.h" +#include "key.h" +#include "sleep.h" +#include "system.h" +#include "bat.h" +#include "sys_tim.h" +#include "charger_module.h" +#include "discharge_module.h" +#include "led.h" +#include "vox_module.h" + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + +uint8_t LED_On_Timer = 0; //ledʱʱ +bit LED_On_Flag = 0; + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/***************************************************************************** +* Function : void LED_Display_App(void) +* Description : 5ms +* Input : None +* Output : None +* Return : None +* Note : None +*****************************************************************************/ +/* +磺 +1УΪʱغ״̬¶ʾ糣Ч1Hz˸ +2ɱЧϣ + +dz磺 +1״ʹÿǵЧٸߵ磺4s𣻢ڵ͵磺1Hz4s +2״ʹÿǵЧٶںУ4s𣻢ڶںУ + ۳Уһ£ú +3ظǵЧߵ磺4s𣻵͵磺1Hz4s +4غ״̬޵Чʾ + +*/ +#ifdef LED_DISPLAY + +void LED_Display_App(void) +{ + if( Earphone_Chg_Flag ) //ֺѭ3Ρ + { + if( LED_On_Timer < LED_OFF_CNT ) + { + LEDR_OFF(); + LEDG_OFF(); + + LED_On_Timer++; + } + else + if( LED_On_Timer < LED_HUXI_ON_CNT ) //ɫLED5s + { + LED_On_Timer++; + + if( F_batlevel_low ) + { +#ifdef BREATHING_LIGHT + BL_LED.Breathing_Light_On[LED_R] = 1; + BL_LED.Breathing_Light_On[LED_G] = 0; +#endif + LEDG_OFF(); + } + else + { +#ifdef BREATHING_LIGHT + BL_LED.Breathing_Light_On[LED_R] = 0; + BL_LED.Breathing_Light_On[LED_G] = 1; +#endif + LEDR_OFF(); + } + } + else + { +#ifdef BREATHING_LIGHT + BL_LED.Breathing_Light_On[LED_R] = 0; + BL_LED.Breathing_Light_On[LED_G] = 0; + BL_LED.BL_Timer[LED_R] = BL_DUTY_MAX; + BL_LED.BL_Timer[LED_G] = BL_DUTY_MAX; +#endif + LEDR_OFF(); + LEDG_OFF(); + + Earphone_Chg_Flag = 0; + CoverEvent_Flg_led = 0; + LED_On_Timer = 0; + + } + } + else + { + if ( CHIP_STA4 & 0x80 ) // + { + if ( Charger_Done ) // ɣLED̵Ƴ + { + LEDG_ON(); + } + else + { + if( LED_On_Timer < LED_OFF_CNT ) + { + LEDR_OFF(); + LEDG_OFF(); + LED_On_Timer++; + } + else + if( LED_On_Timer < LED_CHG_ON_CNT ) //ɫLED20s + { + LED_On_Timer++; + LEDR_ON(); + } + else + { + LEDR_OFF(); + } + } + + CoverEvent_Flg_led = 0; + LED_On_Flag = 1; + } + else + { + if( LED_On_Flag ) + { + LEDR_OFF(); + LEDG_OFF(); + LED_On_Timer = 0; + LED_On_Flag = 0; + } + + if ( CoverEvent_Flg_led ) //ظǣ͵ȵ5sǵ͵̵5s + { + if( F_batlevel_low ) + { + if( LED_On_Timer < LED_OFF_CNT ) + { + LEDR_OFF(); + LEDG_OFF(); + LED_On_Timer++; + } + else + if( LED_On_Timer < LED_ON_CNT ) //ظǣӵ͵磬ɫLED5s + { + LED_On_Timer++; + LEDR_ON(); + } + else + { + LEDR_OFF(); + CoverEvent_Flg_led = 0; + } + } + else + { + LEDR_OFF(); + if( LED_On_Timer < LED_OFF_CNT ) + { + LEDG_OFF(); + LED_On_Timer++; + } + else + if( LED_On_Timer < LED_ON_CNT ) //ظǣӷǵ͵磬ɫLED3s + { + LED_On_Timer++; + LEDG_ON(); + } + else + { + LEDG_OFF(); + CoverEvent_Flg_led = 0; + } + } + } + } + } +} + +#endif +/***************************************************************************** +* Function : UserAPP +* Description : 5ms +* Input : None +* Output : None +* Return : None +* Note : None +*****************************************************************************/ +void UserAPP(void) +{ + if( F_sys_tim_100ms ) + { + F_sys_tim_100ms = 0; +#if ADC_ENABLE + Vbat_Adc = Vbat_Value(); //ȡBatѹ +#endif + +#if HALL_ENABLE + Hall_Handler(); //ظǼ +#endif + +#if KEY_ENABLE + Key_Handler(); // +#endif + +#if DISCHARGE_ENABLE + DisCharge_Handler(); //ŵboost +#endif + +#if CHARGER_ENABLE + Charger_Handler(); //繦 +#endif + +#if VOX_ENABLE + Vox_Det_Machine(); //ظǺӹ߼ +#endif + +#ifdef LED_DISPLAY + LED_Display_App(); //LED Ч +#endif + +#if BAT_VALUE + check_bat_level(); // +#endif + + } + + if( F_sys_tim_1s ) + { + F_sys_tim_1s = 0; + +#if SLEEP_ENABLE + + /*1ѺNsSleep Mode + 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; + } + + return; + } + + if( Check_Require_Sleep() ) + { + /* жʹ */ + SFRADDR = WKUP_EN3; //vox loadon wake up enable + SFRDATA |= 0x3C; + /* Enter Sleep */ + /* InSleep Handler */ //Disable All IRQ +#if UART0_ENABLE + ES0 = 0; //UART0 IRQ Disable +#endif + //EX4 = 0; + EX2 = 0; + ET0 = 0; //timer0 IRQ Disable +#if TIMER1_ENABLE + ET1 = 0; //timer1 IRQ Disable +#endif + + VOX_CTL0 &= ~0x30; //VOX 5v Off + +#if DISCHARGE_ENABLE + BST_EN = 0; //Boost Disable +#endif + +#if ADC_ENABLE + SFRADDR = ADC_CTL0; + SFRDATA &= ~0x80; //ADC Disable. + + SFRADDR = ADCCS_CTL0; //AD0~AD4 GPIO constant 20uA current source disable. + SFRDATA = 0x00; +#endif + SFRADDR = PMU_CTL0; //оƬӲ󣬹̶ + SFRDATA &= ~0x30; + + PCON |= 0x02; //Enter StandbyMode, Only int0 or int1 can wake up system + + /* OutSleep Handler */ //Enable IRQ + + SFRADDR = PMU_CTL0; //оƬӲ󣬹̶ + SFRDATA |= 0x30; + + SFRADDR = ADCCS_CTL0; //AD0~AD4 GPIO constant 20uA current source enable. + SFRDATA = 0x10; + +#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..bcb6cfb --- /dev/null +++ b/UsrSrc/vox/vox_module.c @@ -0,0 +1,440 @@ +/* + ****************************************************************************** + * + * @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 "bat.h" +#include "hall.h" +#include "key.h" +#include "sys_tim.h" +#include "adc.h" +#include "gpio_comm.h" +#include "userapp.h" +#include "key.h" + +bit Vox_Vout_Enable = OFF; //Vox־λ +bit Earphone_Chg_Flag = 0; //б־λ +uint8_t Vox_TX_Timer = 0; //VOXָʱ,Hall_Handler0. + +#if VOX_ENABLE + +/******************************************************************************\ + Macro definitions +\******************************************************************************/ +/*100ms*/ +#define VOX_OUTPUT_SHORT_CNT 2 +#define VOX_LOW_BAT_CNT 25 //ظǰӵ͵籣Vox 5V2.5s +#define VOX_VOUT_5V_LEAST_CNT 50 + +#define VOX_VOUT_5V_DEBOUNCE 5 +#define VOX_ADT_HOLD_CNT 3 +#define Vox_TX_Pattern_Cnt 3 + +#define BOOST_VOUT_MAX 2 //Boostѹֵ0:4.6V,1:4.7V,2:4.8V,3:5.05V. + +#define Vox_TX_Interval 2 //Voxʱָʱ + +/******************************************************************************\ + Variables definitions +\******************************************************************************/ + + +uint8_t Vox_Vol_Hold_Timer = 0; + +bit Cover_Close_Flag = 0; +bit Cover_Close_Flag1 = 0; + +bit Cover_Open_Flag = 0; +bit Vox_Vout_5V_Flag = 0; + +uint8_t Vox_Output_Debounce = 0; + +bit Get_CHIP_STA1_Flag = 0; + +bit Pattern_TX_Over_Flag = 0; + +uint8_t CHIP_STA1_BK = 0; + +bit Cover_Open_5V_Flag = 0; + +#if VOX_FOLLOW_CHG + +bit Boost_VoxVout_Follow_Flag = 0; +int8 Boost_Vout_Value = 0; +bit Boost_Up_Flag = 0; + +#endif + + +/******************************************************************************\ + Functions definitions +\******************************************************************************/ + +/* + ******************************************************************************* + * void VOX_EN_Type(VOR_Enable_Type_e VOR_Enable_Type) + * + * Description : VOL Open(EN_VO) + + * Arguments : + + * Returns : + + * Notes : + * + ******************************************************************************* + */ + void VOX_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode) + { + COM_CTRL = ON; + + if( VOX_Enable_Mode == VOX_VOUT_Mode) + { + VOX_CTL0 &= ~0x30; //VOX Disable 5V And Disable VOX ADT + + VOX_CTL0 |= 0x30; //VOX Enable 5V + } + else + { + VOX_CTL0 &= ~0x30; //VOX 5v Off + } +} +/* +******************************************************************************* +* void Vox_Det_Machine(void) +* +* Description : Vox Detect:ʶ (100ms) +* +* Arguments : NONE + +* Returns : NONE + +* Notes : NONE +* +******************************************************************************* +*/ +void Vox_Det_Machine(void) +{ + /*Vox ֻÿ200msһ*/ + if( IRQ_FLAG0 & 0x0C ) + { + Vox_Output_Debounce++; + if( Vox_Output_Debounce >= VOX_OUTPUT_SHORT_CNT ) //Vox·200ms¿Vox 5V + { + Vox_Output_Debounce = 0; + IRQ_FLAG0 = 0x0C; + VOX_EN_Type(VOX_VOUT_Mode); + return; + } + } + + if( CoverEvent_Flg ) //Hall¼ + { + if( gBoost_Prepared_Flag ) + { + COM_CTRL = ON; + + if( !F_batlevel_low ) //ѹ3.3VѹҪ߿ظ߼ڵЧʾ + { + if( !BST_EN ) + { + BST_EN = 1; + return; + } + + VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5VVOX˵NMOS + } + + if( CoverStatus == CLOSE ) //1ظǹرCOM_CTRLʾЧѯLoadonIOFF״̬۶Ƿڲ֣Vox 5V + { + #if VOX_FOLLOW_CHG + + if( BST_EN ) + { + /*߼*/ + SFRADDR = BST_CTL0; //Boost 5V + SFRDATA |= 0x03; + Boost_Vout_Value = 0x03; + Boost_Up_Flag = 0; + + SFRADDR = VOX_CON0; //IOFFѡߵ10/15/20/25mA + SFRDATA |= 0x20; + + SFRADDR = VOX_CON2; + SFRDATA &= ~0xC0; + SFRDATA |= 0x80; //IOFF 20mA + } + + #endif + + Cover_Close_Flag = 1; + + CoverEvent_Flg = 0; + + Vox_Vout_Enable = ON; + + Cover_Open_Flag = 0; + + Vox_Vol_Hold_Timer = 0; //ظ0ʹ + +#if VOX_FOLLOW_CHG + Boost_VoxVout_Follow_Flag = 1; +#endif + + //VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5VVOX˵NMOS + } + else //2Ǵ5v 500ms ת0V 500msתADTģʽ + { + + Cover_Close_Flag = 0; + + Vox_Vol_Hold_Timer = 0; + + Cover_Open_Flag = 1; + + Get_CHIP_STA1_Flag = 0; + + CoverEvent_Flg = 0; + + Cover_Open_5V_Flag = 0; + + Vox_Output_Debounce = 0; + + // VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5VVOX˵NMOS + } + } + else + { + VOX_EN_Type(VOX_ADT_Mode); + + Vox_Vout_Enable = OFF; + + CoverEvent_Flg = 0; + } + } + + /* Ϳָ*/ + if( Cover_Open_Flag ) /*Ǻ5V500ms0V500msVoxתadtģʽȴУʾӦĵЧ*/ + { + if( Vox_Vol_Hold_Timer < VOX_VOUT_5V_DEBOUNCE ) //Ǻ5V 500ms + { + Vox_Vol_Hold_Timer++; + + return; + } + + if( Vox_TX_Timer < VOX_VOUT_5V_DEBOUNCE ) //ת0V 500ms + { + COM_CTRL = OFF; + + BST_EN = 0; + + Vox_TX_Timer++; + + Pattern_TX_Over_Flag = 1; + } + else + { + if( Pattern_TX_Over_Flag ) //תadtģʽںʶּ + { + Pattern_TX_Over_Flag = 0; + + COM_CTRL = ON; + + Vox_Vout_Enable = OFF; + + VOX_EN_Type(VOX_ADT_Mode); + } + else + { + if( !Get_CHIP_STA1_Flag ) + { + Get_CHIP_STA1_Flag = 1; + + CHIP_STA1_BK = CHIP_STA1 & 0xA0; //ȡloadon״̬ + } + } + + if( Get_CHIP_STA1_Flag ) + { + /*ж*/ + if( CHIP_STA1_BK != (CHIP_STA1 & 0xA0) ) //ѯloadon״̬loadon״̬ı䣬˵жС + { + Earphone_Chg_Flag = 1; + + LED_On_Timer = 0; + + CHIP_STA1_BK = CHIP_STA1 & 0xA0; + } + +#if KEY_ENABLE + /*״̬£8sVOXݣ55 AA 02 06 DD BA*/ + if( Key_Press_ll_irq ) + { + if( Vox_Output_Debounce < 10 ) + { + if( (Vox_Output_Debounce % Vox_TX_Interval == 0) ) + { + Vox_TX_Machine(); + } + + Vox_Output_Debounce++; + } + else + { + Key_Press_ll_irq = 0; + + Vox_Output_Debounce = 0; + } + } +#endif + } + } + } + + if( Cover_Close_Flag ) + { + /*˵ + 1ظǺʼBoost5VIOFF 20mA + */ + #if VOX_FOLLOW_CHG + + if( Boost_VoxVout_Follow_Flag ) + { + if ( CHIP_STA1 & 0x0C ) //ǷIOFF־ڣBoostһstepBoost½һstep + { + Boost_Vout_Value += 1; //Boost һstep + + Boost_Up_Flag = 1; + + if( Boost_Vout_Value >= BOOST_VOUT_MAX ) //Boostﵽѹֵ䡣 + { + Boost_Vout_Value = BOOST_VOUT_MAX; + + Boost_VoxVout_Follow_Flag = 0; + + SFRADDR = VOX_CON0; //IOFFѡ͵2/3/4/5mA + SFRDATA &= ~0x20; + + SFRADDR = VOX_CON2; + SFRDATA &= ~0xC0; + SFRDATA |= 0x40; //IOFF 3mA + } + + } + else + { + if( !Boost_Up_Flag ) //ֻڳʼصѹʱִ + { + Boost_Vout_Value -= 1; //Boost ½һstep + if( Boost_Vout_Value <= 0 ) + { + Boost_Vout_Value = 0; + } + } + } + + SFRADDR = BST_CTL0; //Boost + SFRDATA |= Boost_Vout_Value; + + return; + } + + + #endif + + if( ( (CHIP_STA1 & 0xAC) == 0xAC ) || F_batlevel_low ) //ӵ͵磬رVoutͨ·رBoost + { + if( Vox_Vol_Hold_Timer < VOX_VOUT_5V_LEAST_CNT ) //תʱ5sرBoost + { + Vox_Vol_Hold_Timer++; + + return; + } + + BST_EN = 0; + + VOX_EN_Type(VOX_ADT_Mode); + + Vox_Vout_Enable = OFF; + + COM_CTRL = OFF; //MOSܣʡġ + } + } +} + +#ifdef VOX_TX + +/* +******************************************************************************* +* void Vox_TX_Machine(void) +* +* Description : Vor Detect:ʶ (100ms) +* +* Arguments : NONE + +* Returns : NONE + +* Notes : NONE +* +******************************************************************************* +*/ + +void Vox_TX_Machine(void) +{ + uint8_t tx_pData[7] = 0; + + tx_pData[0] = 0x55; + + tx_pData[1] = 0xAA; + + tx_pData[2] = 0x02; + + tx_pData[3] = 0x06; + + tx_pData[4] = 0xDD; + + tx_pData[5] = 0xBA; + + COM_CTRL = OFF; //VOXлͨѶTXģʽ3.3V + + SFRADDR = P0_PU; + SFRDATA = 0x03; + + SFRADDR = MFP_CTL0; + SFRDATA |= 0x04; //P01 as UART's TX + + Uart0SendPacket(7, tx_pData); //һֽڷͣҪTXΪGPIOᵼһֽûüȥ + + SFRADDR = MFP_CTL0; //Set P01 Pinmux As GPIO Function + SFRDATA &= ~0x0C; + + SFRADDR = P0_PD; + SFRDATA &= ~0x03; + + COM_CTRL = ON; +} + +#endif + +#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