diff --git a/Out/8835_EVB_250121_1743.bin b/Out/8835_EVB_250121_1743.bin
deleted file mode 100644
index 08c6e63..0000000
Binary files a/Out/8835_EVB_250121_1743.bin and /dev/null differ
diff --git a/Out/8835_EVB_250121_1743.hex b/Out/8835_EVB_250121_1743.hex
deleted file mode 100644
index 0ccbd6a..0000000
--- a/Out/8835_EVB_250121_1743.hex
+++ /dev/null
@@ -1,921 +0,0 @@
-:03000000022924AE
-:1029240075FE7275FF00758E009000007F007E03B7
-:0D293400E4F0A3DFFCDEFA75815C02297C73
-:1033090053797374656D20496E69742E5665723AE6
-:0C3319002532782532782532780D0A0024
-:10308400122F407BFF7A33790990009FE4F0A30468
-:10309400F0A3E4F0A304F0A3E4F0A37402F0120F8D
-:0D30A40058D2AED2BE122C4D122EBF80F4B9
-:10000E007857E6FE08E6780222F608EFF6C3EE64AD
-:04001E008094802228
-:1032EC0075FE3175FF8175FE0E43FF107DAC7F308E
-:0D32FC001234E475FE5990010CE5FFF0223C
-:10281500900099EFF0E5A420E00302291875A401C2
-:102825007F351234EB7857760008A6077F361234C9
-:10283500EBEF5403785746F608E6F6900099E04426
-:1028450008FD7F3112310A90010CE0FF3395E0FE5F
-:10285500C37858E69FFF18E69EFE3395E0FDFCE43D
-:102865007BC47A09F9F81214C5780A121525785728
-:10287500EE1200175005E418F608F690010EE01266
-:10288500156228A30028B20128BB0228CE0328DC44
-:102895000428EA0528F80629070700002918120068
-:1028A5000ECEA2E713CE13D8F8794A80627858E69F
-:1028B50025E0795C80447857E6FE08E67803C33363
-:1028C500CE33CED8F97950804612000EC333CE33BD
-:1028D500CED8F9795A803812000EC333CE33CED80C
-:1028E500F97954802A12000EC333CE33CED8F97944
-:1028F50052801C7858E625E0794CF718E63319F72D
-:10290500801112000ECEA2E713CE13D8F8794EF738
-:0F291500EE19F7900099E090010EF075A3812262
-:102DA800E5A430E14075A4027F371234EB785576FC
-:102DB8000008A6077F381234EBEF5403785546FE17
-:102DC80008E6FF18EEF608EFF6FF90010CE0FD3379
-:102DD80095E0FCC3EF9DFFEE9CFE1812001750050E
-:092DE800E418F608F675A3822236
-:10343000780D7603E4780FF67811F6187603781293
-:03344000760422ED
-:10233700E4FE7855E6FC08E6FDC394E8EC94034018
-:10234700037F0022EF700302244FD3ED940FEC9428
-:1023570003400302242DED94CBEC94005003022498
-:102367002DD3ED94AAEC94024022D21F780DE6FFFC
-:10237700137810F6302011D3ED94BFEC940240048B
-:10238700C22080047810A607E4FE8070D3ED94AADB
-:10239700EC94025043ED9437EC9401403BD2207803
-:1023A7000DE6FF7810F6301F13D3ED9493EC9402EB
-:1023B7005004C21F8006EFC3137810F67812760414
-:1023C700301A11D3ED9451EC94015004C21A8004D1
-:1023D70078127601E4FE8024D3ED9437EC94015013
-:1023E7001BD21A78127601302010ED9426EC940156
-:1023F7005004C220800478127604E4FE301D11C315
-:10240700ED94F3EC94025006C21DE4FE80027E01B7
-:10241700301E2FD3ED94DDEC94004006C21EE4FE7F
-:1024270080207E01801CD3ED940FEC94034006D2EC
-:102437001D7E01800DD3ED94CBEC94005004D21E89
-:102447007E01C21BC21C8058C21DC21ED3ED949FC1
-:10245700EC94035031ED9471EC94004029301B103B
-:10246700ED9484EC94035006C21BE4FE80027E01C7
-:10247700301C2DD3ED9482EC94004006C21CE4FE80
-:10248700801E7E01801AD3ED949FEC94034004D202
-:102497001B800BC3ED9471EC94005002D21C7E019B
-:0224A700AF067E
-:0124A9002210
-:102A5600900109E05463600AE4FF1231EDE4780E58
-:102A6600F6227F01122337EF600CE4FF1231EDD21C
-:102A760021780E760122C22190010AE05407FFBF99
-:102A86000605780E7603227810E6FD7F2212310ABB
-:102A96007812E6FD7F2112310A780FE6C454F078E9
-:102AA6001146FD7F2312310A7F011231ED7814E6BB
-:102AB600FFD394014002C23CEFD394034002C238D4
-:102AC600EFD394074002C23AEFD3940C4002C239C6
-:0D2AD600EFD394114002C23B780E7602222D
-:102CB600C23E900109E020E65130E203D23F2230C5
-:102CC6003C04E4FF8011900109E030E50D30233A21
-:102CD6007F3C12338F7F0102320FE4FF122337EF5E
-:102CE6006008E4FF12320FD23D22C23DD23E303F91
-:102CF60019780EE6B40213C3785CE6941018E694CD
-:0B2D06000E4005D23EC23F22C23E221A
-:1033A900426F78204F70656E2E0D0A00426F7820AB
-:0933B900436C6F73652E0D0A00D0
-:102D5D00E4900099F090010AE0FF5420FE90009954
-:102D6D00F0900110E06E6032EF30E50E90010F74BF
-:102D7D0001F07BFF7A3379A9800BE490010FF07B92
-:102D8D00FF7A3379B5120F58D245C20ED22ED230FA
-:0A2D9D00900099E0900110F0D2437D
-:012DA7002209
-:1026FB00737570706572206C6F6E67203873207005
-:10270B00726573732E286C696E653A2564290D0A00
-:10271B00004B6579206C696674286C696E653A2587
-:10272B0064292E0D0A00426F6F7374204F70656E13
-:10273B00204B65792E286C696E653A2564290D0A44
-:10274B00006C6F6E672032732070726573730D0AA5
-:10275B000073686F72742070726573730D0A004B8F
-:10276B006579205061697220545820564F52286C5D
-:10277B00696E653A2564292E0D0A004B6579205048
-:10278B006169722054696D654F7574286C696E654B
-:10279B003A2564292E0D0A004B6579205061697228
-:1027AB002047657420564F52286C696E653A256434
-:1027BB00292E0D0A004B65792050616972204765FF
-:1027CB007420564F4C286C696E653A2564292E0D82
-:1027DB000A004B6579205061697220545820564F7E
-:1027EB004C286C696E653A2564292E0D0A004B65E1
-:1027FB0079205061697220436E743A25642E286CDF
-:0A280B00696E653A2564290D0A0084
-:103443007BFF90009FE4F0A3227BFF90009F740119
-:03345300F0A322C1
-:101B570090010AE030E4449000F8E475F0011214B3
-:101B67004AC39000F9E094409000F8E094014011D6
-:101B7700D2367A2679FB1234437470F0120F5880EC
-:101B870014C39000F9E094509000F8E094004005E9
-:101B9700203502D235D232C233804D303243D24360
-:101BA700E47817F6C232D2339000FAF09000F8E0EA
-:101BB700FEA3E0FFD39414EE94005008D231D23440
-:101BC700D230800EC3EF94C8EE9400500530350232
-:101BD700D237C2357A27791C12344374A6F0120F14
-:101BE70058E49000F8F0A3F0303377303E74303784
-:101BF7002D200E08121D8874B9021D3F121DAE500C
-:101C070003021D74C23778177602E49000F7F0904C
-:101C17000068F0A3F07BFF7A27794C120F58303613
-:101C27002F200E08121D8874E2021D3F121DAE50B0
-:101C370003021D74C236E49000FBF0781776037B2D
-:101C4700FF7A2679FB90009FF0A374F7F0120F58E4
-:101C570030340BC2347BFF7A27795C120F58C233BA
-:101C6700C20E90010FE064016003021D877817E63A
-:101C770064026003021D489000F7E0C39401501608
-:101C87007F02121DA17BFF7A27796A90009F04F0DB
-:101C9700A37421021D129000F6E0D394054010E4CE
-:101CA700121DBB7A27798612344C7437021D3F9078
-:101CB7000068E0B4011D7D227F031225DA900068D9
-:101CC7007402F07BFF7A2779A390009F14F0A37426
-:101CD7004D8038900068E064027034A3E0601A7F9A
-:101CE70003121DA19000F7F09000F6121DBB7A2792
-:101CF70079C012344C746E803F7D227F021225DA40
-:101D07007BFF7A2779DD12344E747EF0120F5890DC
-:101D170000F7E0D3941440249000F6E004F0E4A325
-:101D2700F07BFF7A2779F99000F6E0FF123445EF50
-:101D3700F0A37401F0A3748CF0020F589000F780A1
-:101D47002C7817E6640370389000FBE0FFC39464B7
-:101D5700501FEF540770047D22800A9000FBE05467
-:101D67000370077D117F041225DA9000FBE004F071
-:101D770022E47817F6D20F9000FBF07F04122B6055
-:101D8700227F3C12338F7F0112320FD20E7BFF7AF4
-:101D970027793190009FE4F0A3227D111225DAE420
-:101DA700900068F0A3F0227F03122B609000FAE006
-:101DB700D3941422F07817F6D20F7F04122B6022E7
-:102BDA00900099E0FF25E02479F582E43400F5833A
-:102BEA0022900099E0FF25E02481F582E43400F583
-:102BFA0083E0FCA3E0FDEF25E02491F582E43400B4
-:102C0A00F5832274712FF582E43400F58322E4F00F
-:102C1A00A3F0EF25E02489F582E43400F5832290BD
-:102C2A000099E0FF2475F582E43400F58322E0FE82
-:102C3A00A3E0C39DEE9C2225E02481F582E43400C2
-:032C4A00F58322ED
-:1030DE0075FE0B75FF0F75FE1375FF0F75FE0C75E4
-:1030EE00FF55E490006FF090006EF0900070F0903D
-:0C30FE00006DF0C290C291C293C29222F9
-:10335B00EF14600D14600D14600D2403700BD290EC
-:0A336B0022D29122D29222D29322A4
-:05325300900099E0FF6E
-:10325800EF14600D14600D14600D2403700BC29000
-:0A32680022C29122C29222C29322D8
-:10302700E4FF122C0DE4F074752F122C30E4F0EF4E
-:10303700122BDFE4F0A3F0EF122C41122C18E4F06E
-:0E304700A3F0122C00E4F0A3F00FEFB404D4B9
-:013055002258
-:102F0100AC0774712C122C10EDF0EAC313FEEB1315
-:102F1100FFEC122BDFEEF0A3EFF0AF03EC122C412C
-:102F2100EAF0A3EFF090009EE0FEA3E0FFEC122C8C
-:0F2F31001DEEF0A3EFF0EC122C01E4F0A3F02260
-:10327200122C0DEDF074752F122C30EBF0EF122B97
-:0F328200DFE4F0A37469F0122C00E4F0A3F02253
-:101DC700E4900099F0F0900099E0FFC39404400379
-:101DD700021FBC122C0DE0601F24FE6021146078E6
-:101DE700147003021E9024036003021F6B90009976
-:101DF700E0FF12335B021F6B123253021F6B122B71
-:101E0700DA122BFB122C38500512335B8003123287
-:101E170053122BEB122C385003021F6B900099E0E2
-:101E2700122C01122C18E0FEA3E0D39400EE9400CC
-:101E3700400E900099E0122C1D74FFF5F012144A21
-:101E4700900099E0FF122C1DE0FCA3E04C60030218
-:101E57001F6B74712F021EA1122BDA122BFBE0FEEF
-:101E6700A3E0D39DEE9C500512335B8003123253DF
-:101E7700122BEB122C385003021F6B900099E012C3
-:101E87002C01E4F0A3F0021F6B122C29E07013124F
-:101E970033D9C246900099E02471122C10E4F00265
-:101EA7001F6B122C29E0FE6402702E20460CD246CE
-:101EB700EF122BDFE4F0A37469F0122BDAE475F06C
-:101EC7000112144AEF122BDFE0FCA3E0C394FEECEF
-:101ED70094005003021F628031EE64017037204680
-:101EE7000FD246900099E0122BDFE4F0A374FEF0C6
-:101EF700122BDA74FFF5F012144AEF122BDFE0FE13
-:101F0700A3E0D39469EE94005051900099E0122C0D
-:101F17002EE4F08046122C29E06403703EEF122B6A
-:101F2700DFE0FEA3E0FFC394FEEE94004004D24638
-:101F3700800BD3EF946AEE94005002C2469000994A
-:101F4700E025E02479304609122BE374FFF5F08091
-:101F570007122BE3E475F00112144A122BDAA3E0FF
-:101F6700FD122DF1900099E0FF700A122C0DE09000
-:101F7700006FF08037900099E0B4010C2471122CA7
-:101F870010E090006EF08024900099E0B4020C24D9
-:101F970071122C10E0900070F08011900099E0B45D
-:101FA700030A2471122C10E090006DF0900099E064
-:101FB70004F0021DCDE4900099F0900099E0FFC372
-:101FC70094045012122C00E475F00112144A900088
-:061FD70099E004F080E433
-:011FDD0022E1
-:10337500D2AC759A03D2BCD2BDD2A9D2AB75FE31FF
-:0A33850075FF8175FE3043FF8022C2
-:10329100C2ACE4F59AC2BCC2BDC2A9C2AB75FE31D3
-:0F32A10053FF7E75FE3053FF7FFD7F3102310AF0
-:10305600304421302627C226900102E004F0E0C366
-:1030660094054019E4A3F07DAA7F4F12310AE4903B
-:0E3076000102F02212329143870212337522BA
-:10341C00780EE6D394015006201003304304C243C7
-:04342C00C322D322C2
-:102F4000123325123468123495E4F5861230B1122A
-:102F500032EC7D087F761234E4D2A8D2AF1234303E
-:102F60007D697F031234061230DE1230271234A33B
-:0D2F7000900106740FF09000FF7401F02234
-:030003000234F2D2
-:0634F200D24375E20F3227
-:0B34BE00E0FF04F074292FF8A699220B
-:1033250075FE0443FF0CD2DF43878075BA0375AA87
-:0B333500DC759852D299D298D2AC22DD
-:062E37009000BD121559C8
-:102E3D00E49000C0F075FE0443FF0C75FE0353FFD4
-:102E4D00F3F09000C0E0C39FE49E501C2040FDD2E3
-:102E5D00409000BDE475F001121542121348F5992A
-:0E2E6D009000C0E004F080DA75FE0453FFF31D
-:012E7B002234
-:030023000229C1EE
-:1029C100C0E0C083C082C0D075D000C000C005C0C7
-:1029D10006C007309904C299C240309867C298D2A4
-:1029E10043900111E014601914602D24027055E523
-:1029F10099900111B455087401F0A3E4F0800E80A0
-:102A010011E599900111B4AA097402F0A31234BE20
-:102A11008032E4F0A3F0802C9001121234BE782DA4
-:102A2100E62406FFE433FEE0FDC39FEE6480F87404
-:102A310080985005ED9420400B900112E4F0900134
-:102A410011F0D242D007D006D005D000D0D0D0822C
-:052A5100D083D0E0324B
-:0E3487009000C4EFF01234D49000C4E0FF2295
-:1034680075F10A759F03759EFD759692759A0222ED
-:0834D4002041FDD2418F972237
-:03008B000233C27B
-:1033C200C0E0E59630E1055396FDC241E59630E056
-:0733D200035396FED0E03228
-:1024AA00506F776572204F6E2053746174652148AE
-:1024BA00616C6C28307825782920286C696E653A19
-:1024CA002564290D0A004177616B65205374617494
-:1024DA006520286C696E653A2564290D0A004E6FDD
-:1024EA00726D616C20537461746520286C696E6525
-:1024FA003A2564290D0A00536C656570205374618E
-:10250A00746520286C696E653A2564290D0A0053A2
-:10251A005441303A307825782C535441313A307846
-:10252A0025782C535441323A307825782C436869FF
-:10253A00705F5354413A307825782C564F585F5380
-:10254A0054413A307825782E4465635F536C65654B
-:10255A00703A25640D0A00566E74633A25642C4954
-:10256A00766F6C3A25642C566261743A25642C564F
-:10257A00696E3A25642C56706D69643A25642C5646
-:10258A006F723A25642C566F6C3A25642C56646433
-:10259A003A25642C49766F723A25642E0D0A004456
-:1025AA0065636E745F536C65657044656C61792010
-:1025BA0052656C6F61642E0D0A00456E7465722057
-:1025CA005374616E646279204D6F6465210D0A004F
-:062FF2004300FF0402028F
-:102FBA00E6FF08A3E6CFF0A3EFF0227BFFE0900044
-:102FCA009FFFE4F0A3EFF02290009EE4F0A37403C5
-:102FDA00F07B647A007D02227BFF90009FE4F0A3DD
-:082FEA0022FFE4F0A3EFF02246
-:1033F00090010DE0FF04F012281590010DE0C39438
-:06340000084002E4F02286
-:1032B000122D5D121B57122D11302211C222122A1B
-:0E32C00056122CB6122AE31218861215882216
-:090082007B017A017907020026D6
-:10219A00E4900099F09000FFE0FFA3E0FE6F606C0E
-:1021AA00A3EEF09000FFE0A3F024FE602F14603C41
-:1021BA0014604A24036003022336122FD2E4FF126A
-:1021CA002F01122FD27F01122F017A2479AA9001AE
-:1021DA000F122FC5A3E4F0A374BB802C7F01123227
-:1021EA00317A2479D0122FE274C7801C90010674C8
-:1021FA000FF07A2479E8122FE274D4800B7BFF7AED
-:10220A00257901122FE474DFF0022301900100E026
-:10221A0024FE603914603D147003022319240360FC
-:10222A00030223369000FCE004F0E0C39408500354
-:10223A000223369000FF7402F0E49000FCF0781458
-:10224A00E660030223369000FF7404F0229000FF38
-:10225A007403F022202603022336C2267A2579192E
-:10226A00900107122FC5900108E09000A1122FCB10
-:10227A00900109E09000A3122FEB90010AE0900070
-:10228A00A5122FEB90010BE0FF9000A7E4F0A3EF5B
-:10229A00F0900106E0FF9000A9E4F0A3EFF0120F1E
-:1022AA00587BFF7A2579617855E6FF0890009F12DE
-:1022BA002FBE7849122FBA785B122FBA784F122F95
-:1022CA00BA7859122FBA7853122FBA7851122FBAF4
-:1022DA00784B122FBA784D122FBA120F5890010666
-:1022EA00E0D394004014E014F0304340C243740F2A
-:1022FA00F07BFF7A2579A9020F587BFF7A2579C4EA
-:10230A00120F589000FF7404F0E4900102F02212B8
-:10231A00341C50127F04122B60E4FF12320FE4FFC8
-:0C232A001232310230569000FF7402F0B5
-:012336002284
-:102EBF00302536C2259000FDE0FF04F0EF146012BC
-:102ECF001460141460161460182404701C1233F06C
-:102EDF0080171200828012122DA8800D1232B0803E
-:102EEF000812219AE49000FDF0302705C227121D29
-:022EFF00C722E8
-:10008E00426F6F7374204F70656E2E286C696E65AB
-:10009E003A2564290D0A00426F7820436C6F736510
-:1000AE002E286C696E653A2564290D0A00426F7818
-:1000BE00204F70656E2E286C696E653A2564290D89
-:1000CE000A004F70656E2F436C6F736520426F7818
-:1000DE002C45617270686F6E657320496E20426F99
-:1000EE0078284E756D3A25642928566F78537461B9
-:1000FE003A30782578292E0D0A004F70656E204211
-:10010E006F7820434D44205458204F7665722E0D43
-:10011E000A004F70656E20426F7820416E64204554
-:10012E00617270686F6E6520476574496E284E75F2
-:10013E006D3A25642928566F785374613A307825C4
-:10014E0078292E0D0A00436C6F736520426F78205C
-:10015E00416E6420466F72636520566F6C746167E2
-:10016E00652055702E0D0A2000564F5820566F757B
-:10017E007420355628564F585F5354413A307825DF
-:10018E00782C6C696E653A2564292E0D0A00564F3F
-:10019E0058204348472046756C6C2E0D0A00564F6A
-:1001AE00582047657420496E746F20536C656570D6
-:1001BE002E0D0A00466F6C6C6F772043484720491E
-:1001CE006E697453746120536574204D61782056A6
-:1001DE00706D69642E28566F785F7374613A30784B
-:1001EE00257829286C696E653A2564290D0A004622
-:1001FE006F6C6C6F772043484720496E6974537457
-:10020E00612E28566F785F7374613A30782578299D
-:10021E00286C696E653A2564290D0A00466F6C6C70
-:10022E006F772043484720537461312C4E6F204521
-:10023E00617250686F6E6520496E20426F782E286D
-:10024E006C696E653A2564290D0A00466F6C6C6FF9
-:10025E00772043484720537461312C564F52204328
-:10026E006867696E672849766F723A25646D412911
-:10027E002E286C696E653A2564290D0A00466F6C4E
-:10028E006C6F772043484720537461312C564F4C86
-:10029E0020436867696E672849766F6C3A25646DEE
-:1002AE0041292E286C696E653A2564290D0A00468F
-:1002BE006F6C6C6F772043484720537461322C4724
-:1002CE0065742049564F523A25646D412E286C694B
-:1002DE006E653A2564290D0A00466F6C6C6F7720A7
-:1002EE0043484720537461322C4765742049564F5A
-:1002FE004C3A25646D412E286C696E653A25642949
-:10030E000D0A00466F6C6C6F77204348472053747C
-:10031E0061332C564F5820436867205265496E69E9
-:10032E00742E286C696E653A2564290D0A00466F95
-:10033E006C6C6F77204348472053746133284356C3
-:10034E00292C564F522056706D69642041646453B7
-:10035E0074612849766F723A25646D41292E286C96
-:10036E00696E653A2564290D0A00466F6C6C6F77CD
-:10037E00204348472053746133284356292C564F47
-:10038E00522056706D69642053756253746128490A
-:10039E00766F723A25646D41292E286C696E653A26
-:1003AE002564290D0A00466F6C6C6F772043484711
-:1003BE002053746133284343292C564F52205670D4
-:1003CE006D6964205375625374612849766F723A71
-:1003DE0025646D41292E286C696E653A2564290DB8
-:1003EE000A00466F6C6C6F77204348472053746148
-:1003FE0033284343292C564F522056706D69642082
-:10040E004164645374612849766F723A25646D4174
-:10041E00292E286C696E653A2564290D0A00466FEF
-:10042E006C6C6F77204348472053746133284356D2
-:10043E00292C564F4C2056706D69642041646453CC
-:10044E0074612849766F6C3A25646D41292E286CAB
-:10045E00696E653A2564290D0A00466F6C6C6F77DC
-:10046E00204348472053746133284356292C564F56
-:10047E004C2056706D69642053756253746128491F
-:10048E00766F6C3A25646D41292E286C696E653A3B
-:10049E002564290D0A00466F6C6C6F772043484720
-:1004AE002053746133284343292C564F4C205670E9
-:1004BE006D6964205375625374612849766F6C3A86
-:1004CE0025646D41292E286C696E653A2564290DC7
-:1004DE000A00466F6C6C6F77204348472053746157
-:1004EE0033284343292C564F4C2056706D69642097
-:1004FE004164645374612849766F6C3A25646D418A
-:10050E00292E286C696E653A2564290D0A00466FFE
-:10051E006C6C6F772043484720537461342C564FD0
-:10052E00782056706D696420416464537461285656
-:10053E006F75743A307825782C49766F6C3A25644D
-:10054E006D412C49766F723A25646D4129286C698C
-:10055E006E653A2564292E0D0A00466F6C6C6F7716
-:10056E002043484720537461342C564F78204368FB
-:10057E00696E6728566F75743A307825782C4976EF
-:10058E006F6C3A25646D412C49766F723A25646D15
-:10059E004129286C696E653A2564292E0D0A00469C
-:1005AE006F6C6C6F772043484720537461342C5620
-:1005BE004F522056706D69642041646453746128F3
-:1005CE00566F75743A307825782C49766F723A25C5
-:1005DE00646D4129286C696E653A2564292E0D0AD1
-:1005EE0000466F6C6C6F772043484720537461341C
-:1005FE002C564F52204368696E6728566F75743AB1
-:10060E00307825782C49766F723A25646D41292809
-:10061E006C696E653A2564292E0D0A00466F6C6C66
-:10062E006F772043484720537461342C564F4C202B
-:10063E0056706D69642041646453746128566F75F9
-:10064E00743A307825782C49766F6C3A25646D4172
-:10065E0029286C696E653A2564292E0D0A00466FAD
-:10066E006C6C6F772043484720537461342C564F7F
-:10067E004C204368696E6728566F75743A3078253A
-:10068E00782C49766F6C3A25646D4129286C696E19
-:10069E00653A2564292E0D0A00466F6C6C6F772023
-:1006AE00434847205375625374612C564F4C2F5656
-:1006BE004F52286C696E653A2564292E0D0A004644
-:1006CE006F6C6C6F7720434847205375625374618B
-:1006DE002C564F52286C696E653A2564292E0D0AE8
-:1006EE0000466F6C6C6F77204348472053756253FA
-:1006FE0074612C564F4C286C696E653A2564292E10
-:10070E000D0A00466F6C6C6F772043484720537577
-:10071E00625374612C285354413A307825782C5604
-:10072E00706D69643A3078257829286C696E653A5F
-:10073E002564290D0A00466F6C6C6F77204348477D
-:10074E00204164645374612C285354413A30782507
-:10075E00782C56706D69643A3078257829286C6942
-:10076E006E653A2564290D0A005258305F4275664F
-:10077E006665725B305D3A307825782C5258305F62
-:10078E004275666665725B315D3A307825782C521B
-:10079E0058305F4275666665725B325D3A30782519
-:1007AE00782C5258305F4275666665725B335D3ADF
-:1007BE00307825782C5258305F4275666665725BCC
-:1007CE00345D3A307825782C5258305F4275666623
-:1007DE0065725B355D3A307825782C5258305F4221
-:1007EE0075666665725B365D3A307825782C5258A0
-:1007FE00305F4275666665725B375D3A3078257894
-:10080E002C6C696E653A25640D0A0000000000002C
-:10081E0000000000000000000000000000000000CA
-:0B082E000000000000000000000000BF
-:101FDE0090002674011213D3740290006BF09000DF
-:101FEE0099021539900050121460FFE5F090009F91
-:101FFE00F0EFA3F0A37404F0A322E6FFEEF0A3EF3C
-:10200E00F008E6FFA3EEF0A3EFF008E6FFA3EEF074
-:10201E00A3EFF008E6FFA3EEF0A3EFF02290001A74
-:10202E0012136190009FFFE4F0A3EFF0229000489E
-:10203E00121460900050FFAEF00214607849E6FF73
-:10204E0008E6A3CFF0A3EFF0784DE6FF08E6A3CFA6
-:10205E00229000261213D390001A0213617BFF9078
-:10206E00009F7405F0A32290002E8FF0021498901A
-:10207E000026121460FFAEF090002E021460FF9046
-:10208E0000A1E4F0A3EFF0A37405F0A3227BFF9070
-:10209E00009F7402F0A32290010BE0540CFBE4FAB3
-:1020AE00F9F8900000E0FFE4FCFDFEC3021514EE0B
-:1020BE008FF090005002149890004C121460D3FFD1
-:1020CE00ED9FEC95F022900028021361900034E40D
-:1020DE001213D3E49000230213D390001AEF1213BD
-:1020EE00D390006B229000390213617BFF90009F0A
-:1020FE007404F022E6FC08E6FD25E0FFEC338FF0D9
-:10210E001214987BFF2290010BE0540C22E49000F5
-:10211E0007F0A322EE8FF01214987D051213F5EF3F
-:10212E0078022274019000370213D3C3FDACF09FE6
-:10213E00EC9E22E4FCFDFEFAF9F8C3021514784D6C
-:10214E00E6FE08E6FF2290010BE05410FFE4FCFDD2
-:10215E00EF2274011213D37BFF22E0FF90009FE465
-:10216E00F0A32290003FF0A3F090006BF0227BFFD3
-:10217E0090010BE02290010BE05420FFE4FC229032
-:0C218E000007E09400229000340213616E
-:052B60009000BDEFF044
-:102B6500E4A3F0A3F07F27122F7D9000BEEFF07F46
-:102B750037122F7D9000BFEFF09000BDE024FD607F
-:102B85001B14602424FE6028240570359000BFE0E6
-:102B95004494F09000BEE04498F080259000BEE09B
-:102BA5004406F054E7F080199000BFE054FD800919
-:102BB5009000BFE04402F054FEF09000BEE054E106
-:102BC500F09000BEE0FD7F2712310A9000BFE0FDC6
-:052BD5007F3702310A08
-:10158800900109E054186003D20D22C20D203E03D9
-:1015980002185030456F200E1A1218797BFF7A0016
-:1015A800798E90009F7401F0A374D7F0120F587FC2
-:1015B800038065E4900003F0900001F0A3F0C200FE
-:1015C800C201D20B90010FE07022C22FD202D203C7
-:1015D800C205C208C204C209C20AD210C2471221F7
-:1015E800717A0079A512209B74088011C202C20387
-:1015F800D205C2067A0079BB12209B7415F0120F2F
-:1016080058C20EC245900001E0C39405500302176A
-:10161800DD300B07C20B7F04022B6020003BD20099
-:10162800122114FF60147B0C1221419000437005B5
-:101638007402F0800A7401F08005E4900043F07BA6
-:10164800FF7A0079D0900043E012203190010BE03E
-:101658009000A1122034120F582005030216FF90A3
-:101668000002E0C39405500A7F06122B6090000226
-:101678008027200144900003E0FFD39414501FEF0B
-:10168800540370047D118009900003E020E0077D79
-:10169800227F091225DA900003E004F080597F04C4
-:1016A800122B60E4900003F0D201D20FC2107BFF2E
-:1016B8007A017908120F58803E7817E67039300F92
-:1016C80004C20F802B1220A5602D90010BE0FF545F
-:1016D8000C6004D22FD2307BFF7A0179209000432E
-:1016E800E0FD12216AEDF0A3E4F0A3EFF0120F5829
-:1016F800122114900000F020020302184D30473BDD
-:10170800200E16121879D210E4122171900001F0FF
-:10171800C208D20BC200D204227F03122B607BFFC7
-:101728007A017954120F58C20ED203900001E0D307
-:10173800940350030217DDC247805020044D9000E7
-:1017480002E0FFD39414501DEF540370047D118000
-:1017580009900002E020E0077D227F081225DA9038
-:1017680000020217DD900003E0FFD39414501CEF31
-:10177800540370047D118009900003E020E0077D88
-:10178800227F0A1225DA900003804A30031F7F0364
-:10179800122B607A01797712217C122031A374030D
-:1017A800F0A37438F0120F58C20302184D200857DE
-:1017B80090010BE05430FF7B30122141600E122162
-:1017C80014FFE4FCFDFEEF600330382A900001E0CE
-:1017D800D394285004E004F0227BFF7A01799C120C
-:1017E8000F58D208E4900004F0900001F0C2097F7D
-:1017F80004122B60804F900040E070497B017A0012
-:101808007923120839803E900004E0FFD3941450E5
-:101818001FEF540370047D118009900004E020E05C
-:10182800077D227F051225DA900004E004F0801578
-:10183800200912D2097F04122B60C2107BFF7A01A3
-:1018480079AC120F58C20722200711D2077F041261
-:101858002B60C210122114900000F0221220A56003
-:101868000F122114FF6004D22FD230900000EFF045
-:0E187800227F3C12338F7F0112320FD20E22DC
-:0608390090009912155910
-:10083F0090006BE014700302091E1470030209E7A5
-:10084F00147003020A51147003020C0C2404600389
-:10085F00020D52121FEC90001D1213616003020D66
-:10086F005290006CE0D3940A5035E004F090001AD7
-:10087F00743C1213D3300C03020D52121FEC1220D2
-:10088F0065FF12338F7A0179C212217C122031A3B6
-:10089F007403F0A374D8F0120F58D20C020D52E467
-:1008AF0090006CF0C20C121FECE412213390002662
-:1008BF00E41213D31220DA900032E41213D3900013
-:1008CF0021E41213D3900039E41213D3900028E4DB
-:1008DF001213D3E4F5F01220C090002EE4F5F012BD
-:1008EF001498900019E41213D390001B743C12203B
-:1008FF00EC7401F012211BF07BFF7A0179FD90015E
-:10090F000BE0122031A37403F0A374FF020AA59029
-:10091F00010BE0FB5420FFE4FCFDFEEF6023EB54E2
-:10092F0010FF601D121FEC90001D74011213D3E411
-:10093F0090006BF07A02792A1220F9A3740E020A42
-:10094F00A5122183EF703B12214C121FEC90004433
-:10095F00122122C333CE33CED8F9FF121FEC9000F1
-:10096F0048EE8FF0121498784D90004C1221027AB5
-:10097F0002795990009FECF0ED122000741CF012D8
-:10098F000F5812215470407849E6FE08E6FF121FF7
-:10099F00EC900022122122C333CE33CED8F9FF12AE
-:1009AF001FEC900026EE8FF0121498784990002AD1
-:1009BF001221027A02798B90009FECF0A3ED1220A6
-:1009CF00017429F0120F58121FEC90001C740112C1
-:1009DF0020EC7402F0020D52D3900008E09405123F
-:1009EF00218D5003020A5D12211BF0122183FDEFAE
-:1009FF00701D12214C121FEC1220BD9000391221D4
-:100A0F00607A0279BDEE121FFB7445F0120F581277
-:100A1F00215470257849E6FE08E6FF121FECEE120E
-:100A2F0020759000281221607A0279E790009FEEDE
-:100A3F00121FFE744FF0120F5890006B7403F002E8
-:100A4F000D52D3900008E0940212218D500AE475E4
-:100A5F00F00112144A020D5212211B121FEB9000CB
-:100A6F004C12203ED39FE5F09E5016121FEC9000C3
-:100A7F002A12146090002E122044D39FE5F09E405E
-:100A8F0019E4121FE890001CE41213D37A037911B2
-:100A9F001220F9A37469F0020D4F121FEC1220F30C
-:100AAF0064016003020B56900050121460D394142B
-:100ABF00E5F09400504D90010BE030E529900037A0
-:100ACF007401122062C3943C400A121FEC9000394B
-:100ADF00E41213D3121FEC121FF2747BF07BFF7A18
-:100AEF0003793C020B53121FEC9000347401121364
-:100AFF00D3121FEC121FF27482F07BFF7A03797806
-:100B0F00020B53121FEC12203BD39FE5F09E900077
-:100B1F0099401C12153990003474011213D3121F0F
-:100B2F00EC121FF2748CF07BFF7A0379B4801512EC
-:100B3F001539122131121FEC121FF27493F07BFF43
-:100B4F007A0379F0120F58121FEC1220D46401604F
-:100B5F0003020D52122086D39414E5F09400504DE9
-:100B6F0090010BE030E429740112205FC3943C40E4
-:100B7F000A121FEC900028E41213D3121FEC9000FE
-:100B8F002E121FF574A6F07BFF7A04792C020D4FFD
-:100B9F00121FEC74011220E2121FEC90002E121F94
-:100BAF00F574ADF07BFF7A047968020D4F121FECDC
-:100BBF0012207DD39FE5F09E9000994020121539A9
-:100BCF0090002374011213D3121FEC90002E121FEA
-:100BDF00F574B7F07BFF7A0479A4020D4F12153923
-:100BEF0090002674011213D3121FEC90002E121FC7
-:100BFF00F574BEF07BFF7A0479E0020D4FD39000BD
-:100C0F0008E0941412218D501DE475F00112144A5E
-:100C1F0012214C121FEC1220BD7849E6FF08E6CFD7
-:100C2F00122075020D5212211B121FEB1220F364BA
-:100C3F000170631220D46401705C12203B122139C1
-:100C4F004008121FEC1220C64034121FEC12207DF8
-:100C5F00122139400B121FEC90002A1220C9401E9E
-:100C6F00121FEC122131121FDE12202B12204A12FA
-:100C7F001FFE74E5F07BFF7A05791C020D4F121FE2
-:100C8F00EC12202B12204A121FFE74ECF07BFF7A1D
-:100C9F00057968020D4F121FEC1220F364017048A2
-:100CAF0012203B1221394008121FEC1220C6401CA3
-:100CBF00121FEC900037121FE112202B1220561238
-:100CCF001FFE74FFF0FB7A0579AD8019121FEC122D
-:100CDF00202B122056F0A3EFF07405A3F0A3F07BA6
-:100CEF00FF7A0579EF120F58121FEC1220D464010E
-:100CFF00705190002A122080D312213A500F121FE8
-:100D0F00EC900026121460C31220CD501C121FEC61
-:100D1F00121FDE12202B78491220581220917413C3
-:100D2F00F07BFF7A06792A8017121FEC12202B789E
-:100D3F00491220581220917419F07BFF7A06796CB2
-:100D4F00120F58121FEC1220F3FF6401600A1220D9
-:100D5F00D464016003020ED7122194FE6401600D6A
-:100D6F0090002312136164016003020E63EF6401AC
-:100D7F0070251220D4B4011FEEB4011B122194B4BC
-:100D8F00011590001474011213D37A0679A712205B
-:100D9F006B7431F0120F58121FEC1220F3640170B4
-:100DAF001E1220D470191221946401703C9000140B
-:100DBF00041213D37A0679CD12206B743B8026125E
-:100DCF001FEC1220F370221220D4B4011C900023C8
-:100DDF00121361B401139000141221607A0679EF97
-:100DEF0012206D7446F0120F58121FEC1220DA9079
-:100DFF00001412136164016003020EEC121FEC1257
-:100E0F002065D39400400890001A74FE12138E9040
-:100E1F000019121361FF122065D39F500B121FECA4
-:100E2F001220E87404F0800690006B7402F0122117
-:100E3F001B121FEB900014E41220EC122168EF122A
-:100E4F001FEB12206512208C7465F07BFF7A0779F7
-:100E5F0011020ECA121FEC90003712136164016069
-:100E6F000A90002612136164017072900037E41229
-:100E7F0013D3E412205FC3943C500B121FEC90006D
-:100E8F001A740212138E7404121FE890001B1213AF
-:100E9F0061FF122065C39F4009121FEC1220E874F6
-:100EAF0001F090006B122168EF121FEB12206512F8
-:100EBF00208C7482F07BFF7A077944120F58121F2F
-:100ECF00EC122065FF02338F90006BE0D394024049
-:0D0EDF000CE4121FEB90001D74011213D3E0
-:010EEC0022E3
-:0B2E7C009000BD1215599000C0EDF051
-:102E8700E4FE9000C0E0FD14F0ED60299000BDE481
-:102E970075F0011215421213486EFEE4FFEFC3945A
-:102EA7000850DFEE30E007C313648CFE8004EEC3E6
-:072EB70013FE0F80E8AF06D7
-:012EBE0022F1
-:0825DA00900099EFF0A3EDF071
-:1025E200E4A3F0A3F0789D7C007D017BFF7A08795B
-:1025F20019FE7F2012132290009D7455F0A374AA35
-:10260200F0A374FFF090009AE09000A2F09000997D
-:10261200E09000A0F0121562263601266D022652C5
-:1026220003266D04266D05266D0826360926360A10
-:10263200000026739000A17403F0780EE65402C4E1
-:10264200333354C07814469000A3F0E4A3F0802101
-:10265200E4FF74292FF8E6FE749D2FF582E434001E
-:10266200F583EEF00FEFB420E980069000A174012B
-:10267200F09000A1E02405FFE43390009BF0A3EF6B
-:10268200F07B017A00799DFD122E7C90009BE0FC8C
-:10269200A3E0249DF58274003CF583EFF07F0112E4
-:1026A2002B6090009AE0FFB4220B75FE0E53FFF0F0
-:1026B20043FF08800DEFB4110975FE0E53FFF0437E
-:1026C200FF0190009CE02402FF90009BE03400FE9A
-:1026D2007B017A00799D122E3790009AE0FFB42296
-:1026E2000A75FE0353FFF343FF0822EFB411097585
-:0826F200FE0353FFF343FF0454
-:0126FA0022BD
-:1032CE00E490009AF0EF24FD60028011782EE6B4AF
-:0D32DE00110590006880039000697401F0F4
-:0132EB0022C0
-:102D1100E4FE900099F0304242C2427BFF7A07798B
-:102D210077782990009F12200808A3122008A37425
-:102D310008F0A374B1F0120F587B007A007929785A
-:102D41002DE62405FD122E7C7E00782DE6242EF83A
-:0B2D5100E6B50707782CE6FF1232CE33
-:012D5C002254
-:102FF800602A00C50BB80BEA0C1C0C800CB20CE460
-:103008000D160D480D7A0DAC0E100E420E740EA65C
-:0E3018000ED80F0A0F3C0F870FD2101D106844
-:102AE300E4FFEF25E024C5F582E43400F583E0FC40
-:102AF300A3E0D3785C96EC189650050FEFB415E27B
-:102B03007814E6FEEFD39E4004180680037813166C
-:102B130090010AE030E3047814A6077813E6FED3A5
-:102B230094C85006EEC3940A50077814A607187683
-:102B3300697814E6FFD394005002D23CEFD394019A
-:102B43005002D238EFD394055002D23AEFD3940A0D
-:0C2B53005002D239EFD3940F5002D23B55
-:012B5F002253
-:102C4D009000F4E06062E4F0D2249000F2E004F031
-:102C5D00E0C394054004E4F0D2259000F5E004F0C3
-:102C6D00E0C3940A4004E4F0D2279000EFE475F03D
-:102C7D000112144AC39000F0E094649000EFE094C8
-:102C8D00004006E4F0A3F0D2229000F1E004F0E061
-:102C9D00C394FA4013E4F0D2239000F3E004F0E083
-:092CAD0094044004E4F0D2262254
-:03000B000231625D
-:10316200C0E0C083C082C0D074FC258CF58C74662C
-:10317200258AF58A9000F47401F0D0D0D082D083F1
-:03318200D0E03268
-:0E349500758901758CFC758A66D2A9D28C22CD
-:0D34B10075FE0FEF25E0FE7403A80608224B
-:1033D9001234B18002C333D8FCF452FFEFB40406AF
-:0733E90075FE0FE4F5FF2261
-:1034060075FE11EF5407F5FF75FE12AF058FFF75B8
-:06341600FE1075FF01220B
-:102DF1001234B18002C333D8FCF452FF7401A80627
-:102E0100088002C333D8FC42FF75FE0B7401A8078A
-:102E1100088002C333D8FC42FFEF70038DCE22EF4E
-:102E2100B401038DCF22EFB402038DDE22EFB40390
-:062E310004AF058FDF2253
-:033FFD00010102BD
-:1030B100D28075FE0443FF0175FE0343FF0175FED7
-:1030C1000243FF01D28175FE0443FF0275FE0343F3
-:0D30D100FF0275FE0243FF02781576012212
-:0C345600C280123462D281123462D28033
-:05346200E4FF0FDFFE96
-:013467002242
-:10334000D281D2801234622081037F0022C2811296
-:0B33500034623081037F00227F0122E5
-:0F347800C280C28112345DD2811234620234628A
-:0834DC00123456C28002346272
-:0B34C900123456123462C280023462DA
-:0231CB00AE074D
-:1031CD007D08AF051DEF6015C280EE30E704D2819A
-:0F31DD008002C281EE25E0FE12345D80E5C280E3
-:0131EC0022C0
-:103185007E08E4FDD281AF061EEF6012ED25E0FD5D
-:10319500C28012345D3081EEED4401FD80E8C280CD
-:0231A500AF0574
-:0131A7002205
-:0E34A3007D087F3512310A7D0A7F760234E4FF
-:100026009000991215597F1012006EEF1213C17FBE
-:100036001112006E900001EF1213D37F1212007896
-:10004600900002EF1213D37F13120078900003EF93
-:100056001213D37F14122F7D900099121539900038
-:1000660004EF1213D37F0022122F7D9000991215F0
-:0C0076003922122F7D90009912153922BA
-:0531ED00900099EFF0D5
-:1031F200E47F20122F7D900099E06006EF4401FFEA
-:0D3202008004EF54FEFFAD077F2002310A6B
-:05320F0090009AEFF0B1
-:10321400E47F27122F7D90009AE06006EF4401FFBF
-:0D3224008004EF54FEFFAD077F2702310A42
-:05338F0090009CEFF02E
-:10339400E47F25122F7DEF54C0FF90009CE04FFD89
-:0533A4007F2502310A43
-:0532310090009AEFF08F
-:10323600E47F20122F7D90009AE06006EF54FBFF9A
-:0D3246008004EF4404FFAD077F2002310A31
-:0734E4008FFEAF058FFF22F0
-:0634EB008FFEAEFFAF06EC
-:0134F10022B8
-:10310A009000C0EFF0A3EDF01233407F0C1231CBE8
-:10311A001234C99000C0E0FF1231CB1234C99000BA
-:0C312A00C1E0FF1231CB1234C90234782E
-:052F7D009000C0EFF020
-:102F8200E4A3F01233407F0C1231CB1234C990000B
-:102F9200C0E0FF1231CB1234C91233407F0D12311F
-:102FA200CB1234C91231859000C1EFF01234DC1219
-:072FB20034789000C1E0FF3C
-:012FB90022F5
-:1031360090009EE4F0A3740AF07B147A007D0222CC
-:1031460090006FF090006EF0900070F090006DF0BF
-:0C31560022F0E490009EF0A3F0FBFA22AF
-:1031A800E4FB7D04FF123272E4FB7D047F011232DE
-:1031B80072E4FB7D047F02123272E4FB7D047F031C
-:0331C8000232725E
-:1018860030301BC230E4900113F07813F6121AF3CD
-:10189600FD7F03122F017402123146D2432220210A
-:1018A60006203D03300D64202A05D22AD23022902C
-:1018B600006FE06402600E123136E4FF122F0190D1
-:1018C600006F7403F090006EE06402600E12313611
-:1018D6007F01122F0190006E7403F0900070E06497
-:1018E60002600E1231367F02122F019000707403CF
-:1018F600F090006DE064027003021ABD1231367F6B
-:1019060003122F0190006D7403F022302A0CC22AB4
-:10191600C22CC22BC22EC22FD247780EE6FF70030E
-:101926000219E364037020202C07D22CC22B02314B
-:10193600A8E490009E121ABE7D017F03122F017447
-:10194600011231460219DA202B0DD22BC22CD230CD
-:10195600E4900114F0807D900113E0C3940150558A
-:10196600E004F0A3E014601A146027146034240322
-:10197600706290006FE06404605A7B017D04E4FFAE
-:10198600802E90006EE06404604A7B017D047F0136
-:10199600801E900070E06404603A7B017D047F0243
-:1019A600800E90006DE06404602A7B017D047F0355
-:1019B600123272801F900113E0C3940F5005E004A9
-:1019C600F08011E4900113F0A3E004F0E0C3940466
-:1019D6004002E4F0C22EC22FC231D22D22302B0A91
-:1019E600C22B1231A8D230D24722202E0C202D092C
-:1019F600202F06203103021ABD900113E0FFC39485
-:101A0600015004E004F022EFC394644003021AA8D4
-:101A1600900113E004F0303A3090006FE0640370F8
-:101A260003021ABDE490009EF0A3F07B64FA7D03E6
-:101A3600FF122F0190006F7404123157FD7F0112BF
-:101A46002F0190006E7402800F30391CE490009EC6
-:101A5600121B28121B437401123157FD7F02122FED
-:101A6600019000707402801EE490009E303B2712A5
-:101A76001B28121B4374011231577D017F02122F5E
-:101A8600019000707401123157FD7F03122F0190EF
-:101A9600006D7402F022121ABE7D01121B4E7401F3
-:101AA6008012C22EC22DC22FC231E4121AF3FD12C9
-:071AB6001B4E7402123149BE
-:101ABD0022F0A3F0FBFA7D01FF122F01E490009EAE
-:101ACD00F0A3F0FBFA7D017F01122F01E490009E3F
-:101ADD00F0A3F0FBFA7D017F02122F01E490009E2E
-:101AED00F0A3F0FBFA2290009EF0A3F0FBFAFDFFAD
-:101AFD00122F01E490009EF0A3F0FBFAFD7F01127E
-:101B0D002F01E490009EF0A3F0FBFAFD7F02122F4F
-:101B1D0001E490009EF0A3F0FBFA22F0A3F0FBFA93
-:101B2D007D01FF122F0190006F7401F0E490009E73
-:101B3D00F0A3F0FBFA227D017F01122F0190006EC0
-:0A1B4D00227F03122F0190006F2287
-:10294100023084E493A3F8E493A34003F68001F2F8
-:1029510008DFF48029E493A3F85407240CC8C33397
-:10296100C4540F4420C8834004F456800146F6DF66
-:10297100E4800B0102040810204080902FF2E47ED5
-:10298100019360BCA3FF543F30E509541FFEE4935B
-:10299100A360010ECF54C025E060A840B8E493A322
-:1029A100FAE493A3F8E493A3C8C582C8CAC583CA4D
-:1029B100F0A3C8C582C8CAC583CADFE9DEE780BE05
-:0130260000A9
-:10125200E709F608DFFA8046E709F208DFFA803E7E
-:1012620088828C83E709F0A3DFFA8032E309F6086B
-:10127200DFFA8078E309F208DFFA807088828C83D3
-:10128200E309F0A3DFFA806489828A83E0A3F60887
-:10129200DFFA805889828A83E0A3F208DFFA804C61
-:1012A20080D280FA80C680D4806980F28033801038
-:1012B20080A680EA809A80A880DA80E280CA8033A1
-:1012C20089828A83ECFAE493A3C8C582C8CCC58319
-:1012D200CCF0A3C8C582C8CCC583CCDFE9DEE780E9
-:1012E2000D89828A83E493A3F608DFF9ECFAA9F068
-:1012F200EDFB2289828A83ECFAE0A3C8C582C8CCBE
-:10130200C583CCF0A3C8C582C8CCC583CCDFEADED6
-:10131200E880DB89828A83E493A3F208DFF980CC38
-:1013220088F0EF60010E4E60C388F0ED2402B40431
-:101332000050B9F582EB2402B4040050AF232345D8
-:0613420082239012A27349
-:10134800BB010689828A83E0225002E722BBFE02A3
-:09135800E32289828A83E49322D6
-:10136100BB010CE58229F582E5833AF583E0225041
-:1013710006E92582F8E622BBFE06E92582F8E2228B
-:0D138100E58229F582E5833AF583E49322A5
-:10138E00BB010FF8E58229F582E5833AF583E02863
-:10139E00F0225009C58229F8E58226F622BBFE0905
-:1013AE00C58229F8E22582F222F8EA2583F583E93F
-:0313BE009328224F
-:1013C100BB010689828A83F0225002F722BBFE010B
-:0213D100F32205
-:1013D300F8BB010DE58229F582E5833AF583E8F050
-:1013E300225006E92582C8F622BBFE05E92582C8FC
-:0213F300F222E4
-:1013F500BC000BBE0029EF8DF084FFADF022E4CCDC
-:10140500F875F008EF2FFFEE33FEEC33FCEE9DECA4
-:10141500984005FCEE9DFE0FD5F0E9E4CEFD22EDEA
-:10142500F8F5F0EE8420D21CFEADF075F008EF2F34
-:10143500FFED33FD4007985006D5F0F222C398FD25
-:051445000FD5F0EA22C2
-:10144A00C5F0F8A3E028F0C5F0F8E582158270022D
-:06145A001583E038F022CA
-:10146000BB0110E58229F582E5833AF583E0F5F0CA
-:10147000A3E0225009E92582F886F008E622BBFEA7
-:101480000AE92582F8E2F5F008E222E5832AF583ED
-:08149000E993F5F0A3E99322B2
-:10149800F8BB0111E58229F582E5833AF583E8F086
-:1014A800E5F0A3F0225009E92582C8F608A6F02243
-:0D14B800BBFE09E92582C8F2E5F008F2222A
-:1014C500E88FF0A4CC8BF0A42CFCE98EF0A42CFCC6
-:1014D5008AF0EDA42CFCEA8EF0A4CDA8F08BF0A444
-:1014E5002DCC3825F0FDE98FF0A42CCD35F0FCEBA3
-:1014F5008EF0A4FEA9F0EB8FF0A4CFC5F02ECD3968
-:0F150500FEE43CFCEAA42DCE35F0FDE43CFC22D4
-:10151400EB9FF5F0EA9E42F0E99D42F0E89C45F02D
-:0115240022A4
-:10152500E86010ECA2E713FCED13FDEE13FEEF13DC
-:04153500FFD8F022C9
-:09153900E0FBA3E0FAA3E0F922B3
-:10154200F8E0FBA3A3E0F925F0F0E5821582700232
-:071552001583E0FA38F022D6
-:09155900EBF0A3EAF0A3E9F02293
-:10156200D083D082F8E4937012740193700DA3A318
-:1015720093F8740193F5828883E47374029368602C
-:06158200EFA3A3A380DF2C
-:100EED00E508249FF582E43400F583E0050822909F
-:100EFD00009C30180390009FE475F001121542021A
-:100F0D0013482011E97F2ED2118018EF540F249031
-:100F1D00D43440D4FF30150BEF24BFB41A00500366
-:100F2D002461FFE50960021509050CE50C70020549
-:100F3D000B30180E90009CE475F001121542EF0273
-:100F4D0013C10234877403D2188003E4C218F50864
-:100F5D0090009C121559E4F509F50BF50CE50960A7
-:100F6D00077F20120F3080F5750AFFC212C211C221
-:100F7D0013C214C216C217C219120EFCFF700D3027
-:100F8D0018057F00120F41AF0CAE0B22B4255FC2C6
-:100F9D00D5C215120EFCFF24D0B40A00501A75F0FC
-:100FAD000A780930D50508B6FF0106C6A426F62035
-:100FBD00D5047002D21480D924CFB41A00EF500496
-:100FCD00C2E5D215021142D21280C6D21180C0D212
-:100FDD001380BCD2D580BAD21680B47F20120F30C8
-:100FED002013077401B5090040F1120EEDFF120F29
-:100FFD0030020F6AD219D2178095120EEDFB120E28
-:10100D00EDFA120EEDF94A4B700679137A127BFF49
-:10101D0020132EE509602A7E008E8275830012133F
-:10102D006160060EEE650A70F0C2D5EBC0E0EAC055
-:10103D00E0E9C0E0EE121189D0E0F9D0E0FAD0E09D
-:10104D00FB121348FF60AAEBC0E0EAC0E0E9C0E084
-:10105D00120F30D0E02401F9D0E03400FAD0E0FBDB
-:10106D00E50A0460DCD50AD980877BFF7A11798582
-:10107D00D213809C791080027908C217C21980089A
-:10108D00D2D5790A8004790AC2D5E50A047002F531
-:10109D000AE4FAFDFEFF120EEDFC7B08201213127E
-:1010AD000EEDFD7B1030110A120EEDFE120EEDFF4E
-:1010BD007B20EC3382D592D55013C3E43011069FBB
-:1010CD00FFE49EFEE42012039DFDE49CFCE4CBF8BE
-:1010DD00C212EC700CCFCECDCCE824F8F870F380B2
-:1010ED0017C3EF33FFEE33FEED33FDEC33FCEB3383
-:1010FD00FB994002FB0FD8E9EB301205F8D0E0C4A4
-:10110D0048B212C0E00AEC4D4E4F78207B0070C201
-:10111D00EAB50A0040BCC0E012118BD0F0D0E0203F
-:10112D001204C4C0E0C4B212C0F0120F19D0F0D531
-:10113D00F0EB020F6A1215621007531081580FD889
-:10114D004C0FD44210854F108D44108D490FED4337
-:08115D0010935510774610773E
-:10116500451077471233500FDC2D0FE02E10032B5F
-:101175000FE423100120121C2A0F9C4800000FFBCE
-:101185003F3F3F00790AA2D5201414301609B91043
-:10119500020404B9080104A2D52017025001042055
-:1011A50013689213B509005034C0E07F203014193C
-:1011B5007F30A21372177216500F1211E2C213C2BA
-:1011C50017C216C2197F30800F301603E9C0E0122E
-:1011D5000F30301603D0E0F9D0E0B509CC30161742
-:1011E5007F30B9100C120F307F583015077F78808B
-:1011F50003B90803120F303013057F2D020F307F1E
-:10120500202019F87F2B2017F322921380CF286E08
-:10121500756C6C2900D212120EED3012F8C21278DC
-:101225000930D50108F6020F9C2D50434958120E7E
-:10123500ED2403B405004001E490122E93120F2112
-:0D124500743A120F21D214750904021081B1
-:00000001FF
diff --git a/Out/8835_EVB_250121_1743_349D_010102.bin b/Out/8835_EVB_250121_1743_349D_010102.bin
deleted file mode 100644
index 31a8d71..0000000
Binary files a/Out/8835_EVB_250121_1743_349D_010102.bin and /dev/null differ
diff --git a/Out/8835_EVB_250213_1145.bin b/Out/8835_EVB_250213_1145.bin
new file mode 100644
index 0000000..cb60fbe
Binary files /dev/null and b/Out/8835_EVB_250213_1145.bin differ
diff --git a/Out/8835_EVB_250213_1145.hex b/Out/8835_EVB_250213_1145.hex
new file mode 100644
index 0000000..bec5f43
--- /dev/null
+++ b/Out/8835_EVB_250213_1145.hex
@@ -0,0 +1,920 @@
+:030000000229389A
+:1029380075FE7275FF00758E009000007F007E03A3
+:0D294800E4F0A3DFFCDEFA75814602299061
+:0F343600122F2FD2AED2BE122C7D122EAE80F4EA
+:10317F009001B6E0FEA3E07802229001B7E025E0CF
+:10318F00FE9001B6E03322F0A3EFF0C3EE6480941B
+:02319F0080228C
+:1032C30075FE3175FF8175FE0E43FF107DAC7F30B7
+:0D32D3001234AF75FE599001A6E5FFF02200
+:10259900900158EFF0E5A420E0030226B175A401EB
+:1025A9007F351234B69001B6E4F0A3EFF07F36120E
+:1025B90034B6EF5403FE9001B6E04EF0A3E0F0907C
+:1025C9000158E04408FD7F311230989001A6E0FFE0
+:1025D9003395E0FEC39001B7E09FFF9001B6E09EFE
+:1025E900FE3395E0FDFCE47BC47A09F9F81216255F
+:1025F900780A1216859001B6EE1231965007E490CA
+:1026090001B6F0A3F09001B8E01216C226310026F7
+:102619004301264B02266103267104268105269172
+:1026290006269D07000026B112317FCEA2E713CE00
+:1026390013D8F8FF9001A70226AC1231899001BB8B
+:10264900804C9001B6E0FEA3E07803C333CE33CECD
+:10265900D8F9FF9001AD804B12317FC333CE33CE11
+:10266900D8F9FF9001B9803B12317FC333CE33CE05
+:10267900D8F9FF9001B1802B12317FC333CE33CE0D
+:10268900D8F9FF9001AF801B1231899001A9F0A3FD
+:10269900CEF0801412317FCEA2E713CE13D8F8FF03
+:1026A9009001ABEEF0A3EFF0900158E09001B8F083
+:0426B90075A3812262
+:102D4200E5A430E14A75A4027F371234B69001B38C
+:102D5200E4F0A3EFF07F381234B6EF5403FE900193
+:102D6200B3E04EFEA3E0FF9001B3EEF0A3EFF0FF5D
+:102D72009001A6E0FD3395E0FCC3EF9DFFEE9CFEC3
+:102D82009001B31231965007E49001B3F0A3F075AD
+:032D9200A38222F7
+:1032E0009001D97403F0E49001DBF09001DDF090DF
+:0B32F00001DC7403F09001DE04F0220A
+:1022EC00E4FE9001B3E0FCA3E0FDC394E8EC94039E
+:1022FC0040037F0022EF7003022413D3ED940FEC04
+:10230C00940340030223F1ED94CBEC9400500302B0
+:10231C0023F1D3ED94AAEC94024025D21F9001D95D
+:10232C00E0FF139001DCF0302012D3ED94BFEC945D
+:10233C00024004C22080059001DCEFF0E4FE807BBB
+:10234C00D3ED94AAEC9402504AED9437EC940140EE
+:10235C0042D2209001D9E0FF9001DCF0301F14D361
+:10236C00ED9493EC94025004C21F8007EFC31390BA
+:10237C0001DCF09001DE7404F0301A13D3ED9451AB
+:10238C00EC94015004C21A80069001DE7401F0E452
+:10239C00FE8028D3ED9437EC9401501FD21A900193
+:1023AC00DE7401F0302012ED9426EC94015004C23E
+:1023BC002080069001DE7404F0E4FE301D11C3EDA4
+:1023CC0094F3EC94025006C21DE4FE80027E0130B0
+:1023DC001E2FD3ED94DDEC94004006C21EE4FE806B
+:1023EC00207E01801CD3ED940FEC94034006D21D8B
+:1023FC007E01800DD3ED94CBEC94005004D21E7E64
+:10240C0001C21BC21C8058C21DC21ED3ED949FEC8E
+:10241C0094035031ED9471EC94004029301B10ED75
+:10242C009484EC94035006C21BE4FE80027E0130BF
+:10243C001C2DD3ED9482EC94004006C21CE4FE806B
+:10244C001E7E01801AD3ED949FEC94034004D21BA2
+:10245C00800BC3ED9471EC94005002D21C7E01AF42
+:01246C000669
+:01246D00224C
+:1029D5009001ECE05463600BE4FF1231C3E4900115
+:1029E500DAF0227F011222ECEF600EE4FF1231C310
+:1029F500D2219001DA7401F022C2219001EDE05458
+:102A050007FFBF06079001DA7403F0229001DCE0AE
+:102A1500FD7F221230989001DEE0FD7F2112309873
+:102A25009001DBE0C454F0FF9001DDE04FFD7F2312
+:102A35001230987F011231C390012DE0FFD394012C
+:102A45004002C23CEFD394034002C238EFD394074F
+:102A55004002C23AEFD3940C4002C239EFD394112D
+:0B2A65004002C23B9001DA7402F02234
+:10002600C23E9001ECE020E65530E203D23F22309A
+:100036003C04E4FF80119001ECE030E50D30233EF6
+:100046007F3C1233657F010231E5E4FF1222ECEFBB
+:100056006008E4FF1231E5D23D22C23DD23E303F78
+:100066001D9001DAE0B40216C39001BCE094109032
+:0F00760001BBE0940E4005D23EC23F22C23E22A3
+:10337F00426F78204F70656E2E0D0A00426F7820D5
+:09338F00436C6F73652E0D0A00FA
+:102D9500E4900158F09001EDE0FF5420FE900158B9
+:102DA500F09001F0E06E6032EF30E50E9001EF74C7
+:102DB50001F07BFF7A33797F800BE49001EFF07BA4
+:102DC500FF7A33798B121099D245C20ED22ED230AA
+:0A2DD500900158E09001F0F0D243A5
+:012DDF0022D1
+:1026BD00737570706572206C6F6E67203873207043
+:1026CD00726573732E286C696E653A2564290D0A3F
+:1026DD00004B6579206C696674286C696E653A25C6
+:1026ED0064292E0D0A00426F6F7374204F70656E52
+:1026FD00204B65792E286C696E653A2564290D0A83
+:10270D00006C6F6E672032732070726573730D0AE3
+:10271D000073686F72742070726573730D0A004BCD
+:10272D006579205061697220545820564F52286C9B
+:10273D00696E653A2564292E0D0A004B6579205086
+:10274D006169722054696D654F7574286C696E6589
+:10275D003A2564292E0D0A004B6579205061697266
+:10276D002047657420564F52286C696E653A256472
+:10277D00292E0D0A004B657920506169722047653D
+:10278D007420564F4C286C696E653A2564292E0DC0
+:10279D000A004B6579205061697220545820564FBC
+:1027AD004C286C696E653A2564292E0D0A004B651F
+:1027BD0079205061697220436E743A25642E286C1D
+:0A27CD00696E653A2564290D0A00C3
+:1030F0007BFF7A2679BD90015EF0A3227BFF9001D1
+:103100005E7401F0A3227BFF90015EF0A322F09099
+:0631100001D0F0D20F22F5
+:101CB3009001EDE030E4419001CDE475F00112159F
+:101CC3008BC39001CEE094409001CDE09401400E8F
+:101CD300D236E41230F07470F01210998014C3906D
+:101CE30001CEE094509001CDE094004005203502F0
+:101CF300D235D232C233804F303245D243E49001E1
+:101D0300D0F0C232D2339001CFF09001CDE0FEA3E8
+:101D1300E0FFD39414EE94005008D231D234D23081
+:101D2300800EC3EF94C8EE94005005303502D237CD
+:101D3300C2357A2679DEE412310674A6F0121099C0
+:101D4300E49001CDF0A3F0303375303E7230372F7D
+:101D5300200E08121EE674B9021EA2121F0C5003B5
+:101D6300021ED6C2379001D07402F0E49001CCF089
+:101D73009001C7F0A3F07BFF7A27790E12109930F8
+:101D8300362B200E08121EE674EC021EA2121F0C44
+:101D93005003021ED6C236E49001D1F09001D074F4
+:101DA30003F074011230F0740CF012109930340BFC
+:101DB300C2347BFF7A27791E121099C233C20E9068
+:101DC30001EFE064016003021EE59001D0E06402CC
+:101DD3006003021EAB9001CCE0C3940150127F025A
+:101DE300121EFF7A27792C041231067436021E72F2
+:101DF3009001CBE0D394054015E412310E7F03121A
+:101E03002B907A2779481230FC7456021EA2900157
+:101E1300C7E0B4011D7D227F0312246E9001C774B5
+:101E230002F07BFF7A27796590015E14F0A3746C4E
+:101E3300803D9001C7E064027039A3E0601F7F0317
+:101E4300121EFF9001CCF09001CB12310E7F0412D1
+:101E53002B907A2779821230FC749880427D227FFE
+:101E63000212246E7BFF7A27799F1230FE74A8F04A
+:101E73001210999001CCE0D3941440279001CBE049
+:101E830004F0E4A3F07BFF7A2779BB9001CBE0FF5A
+:101E930090015EE4F0A3EFF0A37401F0A374B6F035
+:101EA3000210999001CC802B9001D0E06403703232
+:101EB300A3E0FFC39464501FEF540770047D228096
+:101EC3000A9001D1E0540370077D117F0412246E40
+:101ED3009001D1E004F022E412310FA3F07F041249
+:021EE3002B9042
+:101EE500227F3C1233657F011231E5D20E7BFF7AEA
+:101EF5002679F390015EE4F0A3227D1112246EE4AD
+:101F05009001C7F0A3F0227F03122B909001CFE040
+:041F1500D39414222B
+:102C0A00900158E0FF25E0240CF582E43401F583B5
+:102C1A0022900158E0FF25E02414F582E43401F5FE
+:102C2A0083E0FCA3E0FDEF25E02424F582E43401EF
+:102C3A00F5832274042FF582E43401F58322E4F04B
+:102C4A00A3F0EF25E0241CF582E43401F5832290F9
+:102C5A000158E0FF2408F582E43401F58322E0FEFE
+:102C6A00A3E0C39DEE9C2225E02414F582E43401FE
+:032C7A00F58322BD
+:10306C0075FE0B75FF0F75FE1375FF0F75FE0C7556
+:10307C00FF55E4900102F0900101F0900103F090F3
+:0C308C000100F0C290C291C293C29222D7
+:10333100EF14600D14600D14600D2403700BD29016
+:0A33410022D29122D29222D29322CE
+:05322900900158E0FFD8
+:10322E00EF14600D14600D14600D2403700BC2902A
+:0A323E0022C29122C29222C2932202
+:102FE000E4FF122C3DE4F074082F122C60E4F0EFA3
+:102FF000122C0FE4F0A3F0EF122C71122C48E4F025
+:0E300000A3F0122C30E4F0A3F00FEFB404D4D0
+:01300E00229F
+:102EF000AC0774042C122C40EDF0EAC313FEEB1364
+:102F0000FFEC122C0FEEF0A3EFF0AF03EC122C71DC
+:102F1000EAF0A3EFF090015DE0FEA3E0FFEC122CDD
+:0F2F20004DEEF0A3EFF0EC122C31E4F0A3F02211
+:10324800122C3DEDF074082F122C60EBF0EF122CCD
+:0F3258000FE4F0A37469F0122C30E4F0A3F0221D
+:101F1900E4900158F0F0900158E0FFC394044003A5
+:101F290002210E122C3DE0601F24FE60211460780E
+:101F3900147003021FE2240360030220BD900158BC
+:101F4900E0FF1233310220BD1232290220BD122CCA
+:101F59000A122C2B122C68500512333180031232CD
+:101F690029122C1B122C6850030220BD900158E045
+:101F7900122C31122C48E0FEA3E0D39400EE940019
+:101F8900400E900158E0122C4D74FFF5F012158B9C
+:101F9900900158E0FF122C4DE0FCA3E04C600302D5
+:101FA90020BD74042F021FF3122C0A122C2BE0FE01
+:101FB900A3E0D39DEE9C50051233318003123229E0
+:101FC900122C1B122C6850030220BD900158E012FC
+:101FD9002C31E4F0A3F00220BD122C59E070131249
+:101FE90033AFC246900158E02404122C40E4F002B9
+:101FF90020BD122C59E0FE6402702E20460CD246F8
+:10200900EF122C0FE4F0A37469F0122C0AE475F0B6
+:102019000112158BEF122C0FE0FCA3E0C394FEEC28
+:10202900940050030220B48031EE640170372046D9
+:102039000FD246900158E0122C0FE4F0A374FEF081
+:10204900122C0A74FFF5F012158BEF122C0FE0FE1B
+:10205900A3E0D39469EE94005051900158E0122CFA
+:102069005EE4F08046122C59E06403703EEF122CB6
+:102079000FE0FEA3E0FFC394FEEE94004004D246B5
+:10208900800BD3EF946AEE94005002C24690015837
+:10209900E025E0240C304609122C1374FFF5F0807A
+:1020A90007122C13E475F00112158B122C0AA3E008
+:1020B900FD122DE0900158E0FF700A122C3DE090CE
+:1020C9000102F08037900158E0B4010C2404122C6D
+:1020D90040E0900101F08024900158E0B4020C2402
+:1020E90004122C40E0900103F08011900158E0B4F3
+:1020F900030A2404122C40E0900100F0900158E0FA
+:1021090004F0021F1FE4900158F0900158E0FFC34A
+:1021190094045012122C30E475F00112158B9001C1
+:0621290058E004F080E420
+:01212F00228D
+:10334B00D2AC759A03D2BCD2BDD2A9D2AB75FE3129
+:0A335B0075FF8175FE3043FF8022EC
+:10326700C2ACE4F59AC2BCC2BDC2A9C2AB75FE31FD
+:0F32770053FF7E75FE3053FF7FFD7F310230988D
+:10303E00304421302627C2269001E5E004F0E0C39B
+:10304E0094054019E4A3F07DAA7F4F123098E490C6
+:0E305E0001E5F02212326743870212334B2243
+:10000E009001DAE0D394015006201003304304C26D
+:05001E0043C322D322C0
+:102F2F001232FB123416123462E4F58612300F128D
+:102F3F0032C37D087F761234AFD2A8D2AF1232E0FF
+:102F4F007D697F031233DC12306C122FE012347064
+:0F2F5F009001E9740FF09001E27401F0C20E22AC
+:0300030002008573
+:06008500D24375E20F32C8
+:1033F200E0FF04F074852FF582E43401F583E5994A
+:02340200F022B6
+:1032FB0075FE0443FF0CD2DF43878075BA0375AAB2
+:0B330B00DC759852D299D298D2AC2207
+:062E260090017C1216B9B8
+:102E2C00E490017FF075FE0443FF0C75FE0353FF25
+:102E3C00F3F090017FE0C39FE49E501C2040FDD234
+:102E4C004090017CE475F0011216A2121489F599D8
+:0E2E5C0090017FE004F080DA75FE0453FFF36E
+:012E6A002245
+:0300230002289917
+:10289900C0E0C083C082C0D075D000C000C005C0F0
+:1028A90006C007309904C299C240309871C298D2C3
+:1028B90043900184E014601B1460332402705FE5C7
+:1028C90099900184B4550A7401F09001A5E4F0804F
+:1028D900108013E599900184B4AA0B7402F0900159
+:1028E900A51233F28038E4F09001A5F08030900110
+:1028F900A51233F2900189E02406FFE433FE90012A
+:10290900A5E0FDC39FEE6480F87480985005ED94AE
+:1029190020400B9001A5E4F0900184F0D242D00749
+:0F292900D006D005D000D0D0D082D083D0E032FD
+:0E345400900183EFF012349F900183E0FF227D
+:1034160075F10A759F03759EFD759692759A02223F
+:08349F002041FDD2418F97226C
+:03008B00023398A5
+:10339800C0E0E59630E1055396FDC241E59630E080
+:0733A800035396FED0E03252
+:062FAB004301E2040202F2
+:1034260090015DE4F0A37403F07B647A007D0222D0
+:1033C6009001B5E0FF04F01225999001B5E0C39491
+:0633D600084002E4F022B1
+:1032A500122D95121CB3122A70302211C222122936
+:0E32B500D5120026122B031219E01216E82281
+:093496007B017A0179EA022CE6BF
+:1027D700E4900158F09001E2E0FFA3E0FE6F603162
+:1027E700A3EEF09001E2E0A3F024FE601A14601C4F
+:1027F70024026003022898123426E4FF122EF012F6
+:1028070034267F01022EF07F010232079001E98012
+:10281700539001E3E024FE602E14603214605524C7
+:1028270003706E9001DFE004F0E0C394084062900B
+:1028370001E27402F0E49001DFF090012DE07051A5
+:102847009001E27404F0229001E27403F022302632
+:1028570040C2269001E9E0D39400400CE014F03028
+:10286700432FC243740FF0229001E27404F0E49006
+:1028770001E5F02212000E50127F04122B90E4FFA4
+:102887001231E5E4FF12320702303E9001E2740292
+:01289700F050
+:01289800221D
+:102EAE00302536C2259001E0E0FF04F0EF146012E9
+:102EBE001460141460161460182404701C1233C6A7
+:102ECE0080171234968012122D42800D1232A58078
+:102EDE00081227D7E49001E0F0302705C227121F11
+:022EEE001922A7
+:10008E00426F6F7374204F70656E2E286C696E65AB
+:10009E003A2564290D0A00426F7820436C6F736510
+:1000AE002E286C696E653A2564290D0A00426F7818
+:1000BE00204F70656E2E286C696E653A2564290D89
+:1000CE000A004F70656E2F436C6F736520426F7818
+:1000DE002C45617270686F6E657320496E20426F99
+:1000EE0078284E756D3A25642928566F78537461B9
+:1000FE003A30782578292E0D0A004F70656E204211
+:10010E006F7820434D44205458204F7665722E0D43
+:10011E000A004F70656E20426F7820416E64204554
+:10012E00617270686F6E6520476574496E284E75F2
+:10013E006D3A25642928566F785374613A307825C4
+:10014E0078292E0D0A00436C6F736520426F78205C
+:10015E00416E6420466F72636520566F6C746167E2
+:10016E00652055702E0D0A2000564F5820566F757B
+:10017E007420355628564F585F5354413A307825DF
+:10018E00782C6C696E653A2564292E0D0A00564F3F
+:10019E0058204348472046756C6C2E0D0A00564F6A
+:1001AE00582047657420496E746F20536C656570D6
+:1001BE002E0D0A00466F6C6C6F772043484720491E
+:1001CE006E697453746120536574204D61782056A6
+:1001DE00706D69642E28566F785F7374613A30784B
+:1001EE00257829286C696E653A2564290D0A004622
+:1001FE006F6C6C6F772043484720496E6974537457
+:10020E00612E28566F785F7374613A30782578299D
+:10021E00286C696E653A2564290D0A00466F6C6C70
+:10022E006F772043484720537461312C4E6F204521
+:10023E00617250686F6E6520496E20426F782E286D
+:10024E006C696E653A2564290D0A00466F6C6C6FF9
+:10025E00772043484720537461312C564F52204328
+:10026E006867696E672849766F723A25646D412C0E
+:10027E0049766F725F4E65673A25646D412C4976FB
+:10028E006F725F506F733A25646D41292E286C6929
+:10029E006E653A2564290D0A00466F6C6C6F7720E7
+:1002AE0043484720537461312C564F4C20436867A6
+:1002BE00696E672849766F6C3A25646D412C4976D4
+:1002CE006F6C5F4E65673A25646D412C49766F6C95
+:1002DE005F506F733A25646D41292E286C696E65E7
+:1002EE003A2564290D0A00466F6C6C6F77204348DF
+:1002FE004720537461322C4765742049564F523A49
+:10030E0025646D412C41745072652049766F723AA6
+:10031E0025646D412E286C696E653A2564290D0A97
+:10032E0000466F6C6C6F77204348472053746132E0
+:10033E002C4765742049564F4C3A25646D412C412B
+:10034E00745072652049766F6C3A25646D412E2883
+:10035E006C696E653A2564290D0A00466F6C6C6FE8
+:10036E00772043484720537461332C564F5820430F
+:10037E006867205265496E69742E28417450726503
+:10038E002049766F723A25646D412C49766F6C3A2E
+:10039E0025646D413B506F732049766F723A256428
+:1003AE006D412C49766F6C3A25646D4129286C6934
+:1003BE006E653A2564290D0A00466F6C6C6F7720C6
+:1003CE004348472053746133284356292C564F52C5
+:1003DE002056706D696420416464537461284174C1
+:1003EE005072652049766F723A25646D41292E2828
+:1003FE006C696E653A2564290D0A00466F6C6C6F48
+:10040E0077204348472053746133284356292C568E
+:10041E004F522056706D6964205375625374612873
+:10042E0041745072652049766F723A25646D412988
+:10043E002E286C696E653A2564290D0A00466F6C8C
+:10044E006C6F772043484720537461332843432908
+:10045E002C564F522056706D69642053756253743A
+:10046E00612841745072652049766F723A25646D29
+:10047E0041292E286C696E653A2564290D0A0046BD
+:10048E006F6C6C6F77204348472053746133284359
+:10049E0043292C564F522056706D69642041646476
+:1004AE005374612841745072652049766F723A25F3
+:1004BE00646D41292E286C696E653A2564290D0AF2
+:1004CE0000466F6C6C6F772043484720537461333E
+:1004DE00284356292C564F4C2056706D6964204186
+:1004EE0064645374612849766F6C3A25646D4129B2
+:1004FE002E286C696E653A2564290D0A00466F6CCC
+:10050E006C6F772043484720537461332843562934
+:10051E002C564F4C2056706D69642053756253747F
+:10052E00612849766F6C3A25646D41292E286C69D5
+:10053E006E653A2564290D0A00466F6C6C6F772044
+:10054E004348472053746133284343292C564F4C5C
+:10055E002056706D6964205375625374612841741E
+:10056E005072652049766F6C3A25646D41292E28AC
+:10057E006C696E653A2564290D0A00466F6C6C6FC6
+:10058E0077204348472053746133284343292C5620
+:10059E004F4C2056706D6964204164645374612819
+:1005AE0041745072652049766F6C3A25646D41290D
+:1005BE002E286C696E653A2564290D0A00466F6C0B
+:1005CE006C6F772043484720537461342C564F7814
+:1005DE002056706D69642041646453746128566FAF
+:1005EE0075743A307825782C49766F6C3A25646D9F
+:1005FE00412C49766F723A25646D4129286C696EDB
+:10060E00653A2564292E0D0A00466F6C6C6F7720B3
+:10061E0043484720537461342C564F782043686901
+:10062E006E6728566F75743A307825782C49766F38
+:10063E006C3A25646D412C49766F723A25646D4192
+:10064E0029286C696E653A2564292E0D0A00466FBD
+:10065E006C6C6F772043484720537461342C564F8F
+:10066E00522056706D69642041646453746128563B
+:10067E006F75743A307825782C49766F723A256406
+:10068E006D4129286C696E653A2564292E0D0A0084
+:10069E00466F6C6C6F772043484720537461342C3F
+:1006AE00564F52204368696E6728566F75743A30FC
+:1006BE007825782C49766F723A25646D4129286C1D
+:1006CE00696E653A2564292E0D0A00466F6C6C6FB3
+:1006DE00772043484720537461342C564F4C205694
+:1006EE00706D69642041646453746128566F75742B
+:1006FE003A307825782C49766F6C3A25646D41290D
+:10070E00286C696E653A2564292E0D0A00466F6CB9
+:10071E006C6F772043484720537461342C564F4CEE
+:10072E00204368696E6728566F75743A307825785D
+:10073E002C49766F6C3A25646D4129286C696E657B
+:10074E003A2564292E0D0A00466F6C6C6F77204394
+:10075E004847205375625374612C564F4C2F564F99
+:10076E0052286C696E653A2564292E0D0A00466F73
+:10077E006C6C6F7720434847205375625374612C1D
+:10078E00564F52286C696E653A2564292E0D0A0063
+:10079E00466F6C6C6F7720434847205375625374D5
+:1007AE00612C564F4C286C696E653A2564292E0DC6
+:1007BE000A00466F6C6C6F77204348472053756272
+:1007CE005374612C285354413A307825782C567046
+:1007DE006D69643A3078257829286C696E653A25FA
+:1007EE0064290D0A00466F6C6C6F772043484720D2
+:1007FE004164645374612C285354413A30782578FF
+:10080E002C56706D69643A3078257829286C696E9B
+:10081E00653A2564290D0A005258305F42756666A6
+:10082E0065725B305D3A307825782C5258305F42D5
+:10083E0075666665725B315D3A307825782C525854
+:10084E00305F4275666665725B325D3A3078257848
+:10085E002C5258305F4275666665725B335D3A3076
+:10086E007825782C5258305F4275666665725B3417
+:10087E005D3A307825782C5258305F427566666541
+:10088E00725B355D3A307825782C5258305F427560
+:10089E00666665725B365D3A307825782C52583034
+:1008AE005F4275666665725B375D3A307825782CE7
+:1008BE006C696E653A25640D0A00000000000000A8
+:1008CE00000000000000000000000000000000001A
+:0A08DE000000000000000000000010
+:102130007401121514EE90015EF0EFA3F0900158B7
+:1021400002169990000E1215A1FFE5F090015EF0C5
+:10215000A3EFF0A37406F0A32290001A1214A2FFBA
+:1021600090015EE4F0A3EFF09001A7E0FFA3E0CFC1
+:10217000900160F0A3EFF02290001A1214A2FFE485
+:10218000900160F0A3EFF0229000061215A1FFAEBF
+:10219000F090000E0215A17BFFE0FFE490015EF0DD
+:1021A000A3EFF0229000081215A1FFAEF090000CF2
+:1021B0000215A190001512151490001A0214A29095
+:1021C000001574011215149001C9227BFF90015E65
+:1021D0007404F0A322900162F0A3EFF02290000CAF
+:1021E0008FF00215F89001EEE0540CFBE4FAF9F8D8
+:1021F0009001BDE0FFE4FCFDFEC302167490000AEE
+:102200001215A1D3FFED9FEC95F022EE8FF0900018
+:102210000E0215F89000170214A2900013E4121594
+:1022200014E49000120215149001ABE0FFA3E090BB
+:102230000162CFF0A3EFF0A37407F0A3227BFF901D
+:10224000015E7407F0A3229000180214A2FD25E09D
+:10225000FFEC338FF01215F890015EECF022900144
+:10226000EEE0540C22FFE4F0A3EFF02274019000A2
+:1022700016021514C3FDACF09FEC9E229001ABE05A
+:10228000FEA3E0FF229001A7E0FEA3E0FF22FF9063
+:102290000160E5F022E4FCFDFEFAF9F8C3021674D1
+:1022A0009001EEE05410FFE4FCFDEF227401900079
+:1022B000140215147845F608F69001C9F022900131
+:1022C000EEE05420FFE4FC22EE8FF00215F8121528
+:1022D000A1FF900162E5F0229001C4E094002290F9
+:0C22E00000130214A2FFE4F0A3EFF022B0
+:052B900090017CEFF054
+:102B9500E4A3F0A3F07F27122F6E90017DEFF07F65
+:102BA50037122F6E90017EEFF090017CE024FD60DE
+:102BB5001B14602424FE60282405703590017EE0F6
+:102BC5004494F090017DE04498F0802590017DE0EB
+:102BD5004406F054E7F0801990017EE054FD800929
+:102BE50090017EE04402F054FEF090017DE054E156
+:102BF500F090017DE0FD7F2712309890017EE0FD89
+:052C05007F370230984A
+:1016E8009001ECE054186003D20D22C20D203E0395
+:1016F8000219AA30456B200E141219D37A00798E7C
+:101708001221CB7410F01210997F038067E49001C6
+:10171800C0F09001BEF0A3F0C200C201D20B90014C
+:10172800EFE07022C22FD202D203C205C208C2045F
+:10173800C209C20AD210C2471222B47A0079A5128D
+:1017480021CB74418013C202C203D205C2067BFFBB
+:101758007A0079BB1221CD744EF0121099C20EC2D4
+:10176800459001BEE0C394055003021939300B07B8
+:10177800C20B7F04022B90200037D20012225EFF9A
+:1017880060147B0C1222959001C670057402F080DB
+:101798000A7401F08005E49001C6F07A0079D090CF
+:1017A80001C61221979001EEE0FFE4122170121099
+:1017B8009920050302185B9001BFE0C39405500A05
+:1017C8007F06122B909001BF80272001449001C012
+:1017D800E0FFD39414501FEF540370047D11800967
+:1017E8009001C0E020E0077D227F0912246E90015D
+:1017F800C0E004F0805D7F04122B90E49001C0F0FB
+:10180800D201D20FC2107BFF7A0179081210998099
+:10181800429001D0E0703C300F04C20F802E12219C
+:10182800E560309001EEE0FF540C6004D22FD23016
+:101838007BFF7A0179209001C6E0FD90015EE4F01B
+:10184800A3EDF0A3E4F0A3EFF012109912225E903A
+:1018580001BDF02002030219A730473B200E1612E3
+:1018680019D3D210E41222B49001BEF0C208D20BF0
+:10187800C200D204227F03122B907BFF7A01795495
+:10188800121099C20ED2039001BEE0D39403500304
+:10189800021939C247805020044D9001BFE0FFD3A0
+:1018A8009414501DEF540370047D1180099001BFFA
+:1018B800E020E0077D227F0812246E9001BF021904
+:1018C800399001C0E0FFD39414501CEF5403700406
+:1018D8007D1180099001C0E020E0077D227F0A1277
+:1018E800246E9001C0804A30031F7F03122B907A28
+:1018F8000179779001EE122197A37405F0A3747112
+:10190800F0121099C2030219A72008559001EEE0C1
+:101918005430FF7B30122295600E12225EFFE4FCE9
+:10192800FDFEEF600330382A9001BEE0D3942850C2
+:1019380004E004F0227BFF7A01799C121099D20806
+:10194800E49001C1F09001BEF0C2097F04122B900F
+:10195800804D7846E67048FB7A0079291208E880BD
+:101968003E9001C1E0FFD39414501FEF540370045C
+:101978007D1180099001C1E020E0077D227F0512DA
+:10198800246E9001C1E004F08015200912D2097F6D
+:1019980004122B90C2107BFF7A0179AC121099C205
+:1019A8000722200711D2077F04122B90C21012229F
+:1019B8005E9001BDF0221221E5600F12225EFF60E9
+:0A19C80004D22FD2309001BDEFF0E1
+:0E19D200227F3C1233657F011231E5D20E22D6
+:0608E8009001581216B940
+:1008EE009001C9E01470030209CF147003020AD4F8
+:1008FE00147003020B48147003020D2E24046003BF
+:10090E00020E8712213D90001D1214A26003020EEA
+:10091E00879001CAE0D3940A5035E004F090001A93
+:10092E00743C121514300C03020E8712213D122155
+:10093E00B9FF1233657BFF7A0179C29001EEE0FFB9
+:10094E00E412214C7413F0121099D20C020E87E4AB
+:10095E009001CAF0C20C12213DE412226E900015D5
+:10096E00E412151412221A900011E41215149000BC
+:10097E0010E4121514900018E4121514900017E4E8
+:10098E00121514E4F5F012220E90000CE4F5F0129C
+:10099E0015F8900019E412151490001B743C1221E6
+:1009AE00C47401F0E49001C4F0A3F07BFF7A0179E6
+:1009BE00FD9001EEE0FF90015EE412214F743A804B
+:1009CE00349001EEE0FB5420FFE4FCFDFEEF6029C5
+:1009DE00EB5410FF602312213D90001D740112157F
+:1009EE0014E49001C9F07BFF7A02792A90015E74BB
+:1009FE0006F0A37449F0020E841222BEEF70571255
+:100A0E00227C12213D9000021222C87D051215365D
+:100A1E00EF7802C333CE33CED8F9FF12213D9000CA
+:100A2E00061222C89001ABE0FCA3E090000A12224D
+:100A3E004DED12213B9000061215A1FFE5F012219B
+:100A4E008090000A1222CE12214F7457F07BFF7A4B
+:100A5E000279591210991222A0705C12228512216D
+:100A6E003DEE8FF01215D91222857D05121536EF47
+:100A7E007802C333CE33CED8F9FF12213D90000455
+:100A8E001222C89001A7E0FCA3E090000812224DAC
+:100A9E00A3ED12213C9000041215A112228EF0A398
+:100AAE00EFF09000081222CE12214F7464F07BFFFB
+:100ABE007A0279A712109912213D90001C1221C2C0
+:100ACE007402F0020E87D39001C5E094051222D86D
+:100ADE005003020B54E49001C4F0A3F01222BEFDA9
+:100AEE00EF702412227C12213D12220B900018125C
+:100AFE00213012219112228E12214F7480F07BFF31
+:100B0E007A0279F51210991222A0702512228512FE
+:100B1E00213DEE1221DD9000171221301221AD126F
+:100B2E00228E12214F748AF07BFF7A03792F1210D6
+:100B3E00999001C97403F0020E87D39001C5E09419
+:100B4E00021222D8500AE475F00112158B020E879C
+:100B5E00E49001C4F012213B90000A12218BD39F26
+:100B6E00E5F09E500D12213D1221A4D39FE5F09E7B
+:100B7E00404BE49001C912213C90001CE412151464
+:100B8E0012213D122191FFE5F012219C1221AD128E
+:100B9E00228EF0A3EFF090000A1215A1FFE5F012DD
+:100BAE0021D59000081215A1FF900164E5F01221E5
+:100BBE004F74A4F07BFF7A037969020E8412213DF3
+:100BCE0012224764016003020C75122191D3941412
+:100BDE00E5F09400504D9001EEE030E529900016BE
+:100BEE0074011221B6C3943C400A12213D900018A4
+:100BFE00E412151412213D12214374B6F07BFF7AD4
+:100C0E000379C7020C7212213D9000137401121564
+:100C1E001412213D12214374BDF07BFF7A04790931
+:100C2E00020C7212213D122188D39FE5F09E900195
+:100C3E0058401C12169990001374011215141221AB
+:100C4E003D12214374C7F07BFF7A04794B80151255
+:100C5E00169912226C12213D12214374CEF07BFFA5
+:100C6E007A04798D12109912213D122214640160BA
+:100C7E0003020E871221ADD39414E5F09400504D6B
+:100C8E009001EEE030E42974011221B3C3943C408C
+:100C9E000A12213D900017E412151412213D900006
+:100CAE000C12214674E1F07BFF7A0479CF020E8498
+:100CBE0012213D740112222212213D90000C1221AC
+:100CCE004674E8F07BFF7A05790B020E8412213D03
+:100CDE009000041221A7D39FE5F09E90015840206A
+:100CEE00121699900012740112151412213D9000E3
+:100CFE000C12214674F2F07BFF7A057947020E84BE
+:100D0E00121699900015740112151412213D9000BF
+:100D1E000C12214674F9F07BFF7A057989020E8454
+:100D2E00D39001C5E094141222D8501EE475F00140
+:100D3E0012158B12227C12213D12220B9001A7E07C
+:100D4E00FFA3E0CF1221DD020E87E49001C4F01262
+:100D5E00213B122247640170651222146401705EF9
+:100D6E00122188122274400812213D1221FD4039B1
+:100D7E0012213D9000041221A7122274400B122161
+:100D8E003D900008122200402012213D12226C12CA
+:100D9E0021BF740212213C1221591222287420F014
+:100DAE007BFF7A0579CB020E8412213D1221591256
+:100DBE0022287427F07BFF7A067917020E841221FF
+:100DCE003D1222476401705A122188122274400883
+:100DDE0012213D1221FD402A12213D9000161221B2
+:100DEE00C2740212213C1221B912219A9001AB1247
+:100DFE00216BA37407F0A3743AF07BFF7A06795C3B
+:100E0E00801D12213D1221B912219A9001AB12219F
+:100E1E006BA37407F0A37440F07BFF7A06799E12E1
+:100E2E00109912213D1222146401704D1221A4D387
+:100E3E00122275500F12213D9000041215A1C312FB
+:100E4E002204501E12213D1221BF740212213C12A7
+:100E5E002159A37407F0A3744EF07BFF7A0679D95B
+:100E6E00801412213D122159A37407F0A37454F07B
+:100E7E007BFF7A07791B12109912213D122247FF30
+:100E8E006401600A12221464016003021018122217
+:100E9E00DFFE6401600D9000121214A26401600363
+:100EAE00020F96EF64017020122214B4011AEEB4F0
+:100EBE0001161222DFB401101222AC7A07795612F3
+:100ECE00223D746CF012109912213D1222476401DA
+:100EDE00701B12221470161222DF64017038041275
+:100EEE0022AE7A07797C12223D7476802512213D3E
+:100EFE001222477021122214B4011B9000121214F8
+:100F0E00A2B401121222AC7BFF7A07799E12223F05
+:100F1E007481F012109912213D12221A90001412AF
+:100F2E0014A26401600302102D12213D1221B9D3C7
+:100F3E009400400890001A74FE1214CF90001912FB
+:100F4E0014A2FF1221B9D39F500F12213D90001A07
+:100F5E00EF1221C47404F080069001C97402F0E40B
+:100F6E009001C4F012213B900014E41221C4E0FF62
+:100F7E00E4122136122178A37407F0A374A0F07B3B
+:100F8E00FF7A0779C002100B12213D900016121441
+:100F9E00A26401600D9000151214A2640160030298
+:100FAE00102D900016E4121514E41221B3C3943CD4
+:100FBE00500B12213D90001A74021214CF9001C9E9
+:100FCE00740412213C90001B1214A2FF1221B9C30B
+:100FDE009F400D12213D90001AEF1221C47401F0B2
+:100FEE009001C9E0FF90015EE4122139122178A32D
+:100FFE007407F0A374BDF07BFF7A0779F312109992
+:10100E0012213D1221B9FF0233659001C9E0D3943C
+:0F101E0002400CE412213C90001D7401121514C5
+:01102D0022A0
+:0B2E6B0090017C1216B990017FEDF081
+:102E7600E4FE90017FE0FD14F0ED602990017CE412
+:102E860075F0011216A21214896EFEE4FFEFC394C8
+:102E96000850DFEE30E007C313648CFE8004EEC3F7
+:072EA60013FE0F80E8AF06E8
+:012EAD002202
+:08246E00900158EFF0A3EDF01E
+:10247600E4A3F0A3F0785C7C017D017BFF7A087908
+:10248600C8FE7F2012146390015C7455F0A374AAF1
+:10249600F0A374FFF0900159E0900161F0900158AB
+:1024A600E090015FF01216C224CA01250B0224EA4D
+:1024B60003250B04250B05250B0824CA0924CA0A83
+:1024C600000025119001607403F09001DAE05402D7
+:1024D600C4333354C0FF90012DE04F900162F0E405
+:1024E600A3F08027E4FF74852FF582E43401F58399
+:1024F600E0FE745C2FF582E43401F583EEF00FEF15
+:10250600B420E380069001607401F0900160E0243D
+:1025160005FFE43390015AF0A3EFF07B017A0179CD
+:102526005CFD122E6B90015AE0FCA3E0245CF58260
+:1025360074013CF583EFF07F01122B90900159E076
+:10254600FFB4220B75FE0E53FFF043FF08800DEF1C
+:10255600B4110975FE0E53FFF043FF0190015BE0D5
+:102566002402FF90015AE03400FE7B017A01795C77
+:10257600122E26900159E0FFB4220A75FE0353FF7E
+:10258600F343FF0822EFB4110975FE0353FFF3432B
+:02259600FF0440
+:012598002220
+:10328600E4900159F0EF24FD6002801290018AE07B
+:0E329600B411059001C780039001C87401F0C7
+:0132A4002207
+:102A7000E4900158F0204203022B02C2427BFF7A0D
+:102A8000087926900185122199900186E012217E15
+:102A9000900187E0FFE41221D5900188E090016465
+:102AA000122265900189E090016612226590018AE8
+:102AB000E09001681222E590018BE090016A1222F9
+:102AC000E590018CE0FF90016CE4F0A3EFF0A374BB
+:102AD0000BF0A37405F01210997B017A01798590AF
+:102AE0000189E02405FD122E6B900189E0248AF50E
+:102AF00082E43401F583E0B50708900188E0FF1215
+:022B000032861B
+:012B020022B0
+:102FB100602A012E0BB80BEA0C1C0C800CB20CE43D
+:102FC1000D160D480D7A0DAC0E100E420E740EA6A4
+:0E2FD1000ED80F0A0F3C0F870FD2101D10688C
+:102B0300E4FFEF25E0242EF582E43401F583E0FCB5
+:102B1300A3E0FDC39001BCE09D9001BBE09C400598
+:102B23000FEFB415DD90012DE0FEEFD39E90012C45
+:102B3300E0400404F0800214F09001EDE030E3057E
+:102B430090012DEFF090012CE0FED394C85006EED7
+:102B5300C3940A500B90012DEFF090012C7469F08F
+:102B630090012DE0FFD394005002D23CEFD39401A7
+:102B73005002D238EFD394055002D23AEFD3940ADD
+:0C2B83005002D239EFD3940F5002D23B25
+:012B8F002223
+:102C7D009001D7E06062E4F0D2249001D5E004F039
+:102C8D00E0C394054004E4F0D2259001D8E004F0AF
+:102C9D00E0C3940A4004E4F0D2279001D2E475F029
+:102CAD000112158BC39001D3E094649001D2E0948E
+:102CBD00004006E4F0A3F0D2229001D4E004F0E04D
+:102CCD00C394FA4013E4F0D2239001D6E004F0E06F
+:092CDD0094044004E4F0D2262224
+:03000B00023116A9
+:10311600C0E0C083C082C0D074FC258CF58C746678
+:10312600258AF58A9001D77401F0D0D0D082D08359
+:03313600D0E032B4
+:0E346200758901758CFC758A66D2A9D28C2200
+:0D347E0075FE0FEF25E0FE7403A80608227E
+:1033AF0012347E8002C333D8FCF452FFEFB404060C
+:0733BF0075FE0FE4F5FF228B
+:1033DC0075FE11EF5407F5FF75FE12AF058FFF75E3
+:0633EC00FE1075FF012236
+:102DE00012347E8002C333D8FCF452FF7401A8066B
+:102DF000088002C333D8FC42FF75FE0B7401A8079C
+:102E0000088002C333D8FC42FFEF70038DCE22EF5F
+:102E1000B401038DCF22EFB402038DDE22EFB403A1
+:062E200004AF058FDF2264
+:033FFD00010102BD
+:10300F00D28075FE0443FF0175FE0343FF0175FE79
+:10301F000243FF01D28175FE0443FF0275FE034395
+:0F302F00FF0275FE0243FF029001F17401F022CF
+:0C340400C280123410D281123410D28029
+:05341000E4FF0FDFFEE8
+:013415002294
+:10331600D281D2801234102081037F0022C2811212
+:0B33260034103081037F00227F012261
+:0F344500C280C28112340BD281123410023410B3
+:0834A700123404C2800234104B
+:0B348B00123404123410C2800234100E
+:0231A100AE0777
+:1031A3007D08AF051DEF6015C280EE30E704D281C4
+:0F31B3008002C281EE25E0FE12340B80E5C2805F
+:0131C20022EA
+:103139007E08E4FDD281AF061EEF6012ED25E0FDA9
+:10314900C28012340B3081EEED4401FD80E8C2806B
+:02315900AF05C0
+:01315B002251
+:0E3470007D087F351230987D0A7F760234AFDA
+:102CE6009001581216B97F10122D2EEF1215027F81
+:102CF60011122D2E900001EF1215147F12122D388D
+:102D0600900002EF1215147F13122D38900003EF76
+:102D16001215147F14122F6E9001581216999000F6
+:102D260004EF1215147F0022122F6E90015812160E
+:0C2D36009922122F6E900158121699225B
+:0531C300900158EFF03F
+:1031C800E47F20122F6E900158E06006EF4401FF63
+:0D31D8008004EF54FEFFAD077F2002309809
+:0531E500900159EFF01C
+:1031EA00E47F27122F6E900159E06006EF4401FF39
+:0D31FA008004EF54FEFFAD077F27023098E0
+:0533650090015BEFF098
+:10336A00E47F25122F6EEF54C0FF90015BE04FFD02
+:05337A007F25023098E0
+:05320700900159EFF0F9
+:10320C00E47F20122F6E900159E06006EF54FBFF13
+:0D321C008004EF4404FFAD077F20023098CE
+:0734AF008FFEAF058FFF2225
+:0634B6008FFEAEFFAF0621
+:0134BC0022ED
+:1030980090017FEFF0A3EDF01233167F0C1231A1EF
+:1030A80012348B90017FE0FF1231A112348B900112
+:0C30B80080E0FF1231A112348B0234457D
+:052F6E0090017FEFF06F
+:102F7300E4A3F01233167F0C1231A112348B9001AB
+:102F83007FE0FF1231A112348B1233167F0D123101
+:102F9300A112348B123139900180EFF01234A71251
+:072FA3003445900180E0FFBE
+:012FAA002204
+:1030C40090015DE4F0A3740AF07B147A007D02227F
+:1030D400900102F0900101F0900103F0900100F0E2
+:0C30E40022F0E490015DF0A3F0FBFA2262
+:10315C00E4FB7D04FF123248E4FB7D047F01123254
+:10316C0048E4FB7D047F02123248E4FB7D047F03BC
+:03317C00023248D4
+:1019E00030301CC230E49001F3F090012CF0121C56
+:1019F0004FFD7F03122EF074021230D4D243222006
+:101A00002106203D03300D64202A05D22AD230223F
+:101A1000900102E06402600E1230C4E4FF122EF066
+:101A20009001027403F0900101E06402600E123034
+:101A3000C47F01122EF09001017403F0900103E0C5
+:101A40006402600E1230C47F02122EF09001037403
+:101A500003F0900100E064027003021C191230C40C
+:101A60007F03122EF09001007403F022302A0CC282
+:101A70002AC22CC22BC22EC22FD2479001DAE0FF1D
+:101A80007003021B3F64037020202C07D22CC22B52
+:101A900002315CE490015D121C1A7D017F03122E5D
+:101AA000F074011230D4021B36202B0DD22BC22C25
+:101AB000D230E49001F4F0807D9001F3E0C3940112
+:101AC0005055E004F0A3E014601A14602714603449
+:101AD00024037062900102E06404605A7B017D047B
+:101AE000E4FF802E900101E06404604A7B017D04E4
+:101AF0007F01801E900103E06404603A7B017D0455
+:101B00007F02800E900100E06404602A7B017D0466
+:101B10007F03123248801F9001F3E0C3940F5005F9
+:101B2000E004F08011E49001F3F0A3E004F0E0C3DE
+:101B300094044002E4F0C22EC22FC231D22D2230D2
+:101B40002B0AC22B12315CD230D24722202E0C201D
+:101B50002D09202F06203103021C199001F3E0FF0C
+:101B6000C394015004E004F022EFC39464400302E4
+:101B70001C049001F3E004F0303A30900102E0647C
+:101B8000037003021C19E490015DF0A3F07B64FA7A
+:101B90007D03FF122EF090010274041230E5FD7FE8
+:101BA00001122EF09001017402800F30391CE49074
+:101BB000015D121C84121C9F74011230E5FD7F022E
+:101BC000122EF09001037402801EE490015D303B00
+:101BD00027121C84121C9F74011230E57D017F02C4
+:101BE000122EF090010374011230E5FD7F03122ED6
+:101BF000F09001007402F022121C1A7D01121CAA3E
+:101C000074018012C22EC22DC22FC231E4121C4FA9
+:091C1000FD121CAA74021230D767
+:101C190022F0A3F0FBFA7D01FF122EF0E490015DA2
+:101C2900F0A3F0FBFA7D017F01122EF0E490015D33
+:101C3900F0A3F0FBFA7D017F02122EF0E490015D22
+:101C4900F0A3F0FBFA2290015DF0A3F0FBFAFDFF8F
+:101C5900122EF0E490015DF0A3F0FBFAFD7F011272
+:101C69002EF0E490015DF0A3F0FBFAFD7F02122E45
+:101C7900F0E490015DF0A3F0FBFA22F0A3F0FBFA87
+:101C89007D01FF122EF09001027401F0E490015DD4
+:101C9900F0A3F0FBFA227D017F01122EF0900101E1
+:0A1CA900227F03122EF090010222A8
+:10295500023436E493A3F8E493A34003F68001F22E
+:1029650008DFF48029E493A3F85407240CC8C33383
+:10297500C4540F4420C8834004F456800146F6DF52
+:10298500E4800B0102040810204080902FABE47E08
+:10299500019360BCA3FF543F30E509541FFEE49347
+:1029A500A360010ECF54C025E060A840B8E493A30E
+:1029B500FAE493A3F8E493A3C8C582C8CAC583CA39
+:1029C500F0A3C8C582C8CAC583CADFE9DEE780BEF1
+:012FDF0000F1
+:10139300E709F608DFFA8046E709F208DFFA803E3C
+:1013A30088828C83E709F0A3DFFA8032E309F60829
+:1013B300DFFA8078E309F208DFFA807088828C8391
+:1013C300E309F0A3DFFA806489828A83E0A3F60845
+:1013D300DFFA805889828A83E0A3F208DFFA804C1F
+:1013E30080D280FA80C680D4806980F280338010F6
+:1013F30080A680EA809A80A880DA80E280CA80335F
+:1014030089828A83ECFAE493A3C8C582C8CCC583D6
+:10141300CCF0A3C8C582C8CCC583CCDFE9DEE780A6
+:101423000D89828A83E493A3F608DFF9ECFAA9F025
+:10143300EDFB2289828A83ECFAE0A3C8C582C8CC7B
+:10144300C583CCF0A3C8C582C8CCC583CCDFEADE94
+:10145300E880DB89828A83E493A3F208DFF980CCF6
+:1014630088F0EF60010E4E60C388F0ED2402B404EF
+:101473000050B9F582EB2402B4040050AF23234596
+:0614830082239013E373C5
+:10148900BB010689828A83E0225002E722BBFE0261
+:09149900E32289828A83E4932294
+:1014A200BB010CE58229F582E5833AF583E02250FF
+:1014B20006E92582F8E622BBFE06E92582F8E22249
+:0D14C200E58229F582E5833AF583E4932263
+:1014CF00BB010FF8E58229F582E5833AF583E02821
+:1014DF00F0225009C58229F8E58226F622BBFE09C3
+:1014EF00C58229F8E22582F222F8EA2583F583E9FD
+:0314FF009328220D
+:10150200BB010689828A83F0225002F722BBFE01C8
+:02151200F322C2
+:10151400F8BB010DE58229F582E5833AF583E8F00D
+:10152400225006E92582C8F622BBFE05E92582C8B9
+:02153400F222A1
+:10153600BC000BBE0029EF8DF084FFADF022E4CC99
+:10154600F875F008EF2FFFEE33FEEC33FCEE9DEC62
+:10155600984005FCEE9DFE0FD5F0E9E4CEFD22EDA8
+:10156600F8F5F0EE8420D21CFEADF075F008EF2FF2
+:10157600FFED33FD4007985006D5F0F222C398FDE3
+:051586000FD5F0EA2280
+:10158B00C5F0F8A3E028F0C5F0F8E58215827002EB
+:06159B001583E038F02288
+:1015A100BB0110E58229F582E5833AF583E0F5F088
+:1015B100A3E0225009E92582F886F008E622BBFE65
+:1015C1000AE92582F8E2F5F008E222E5832AF583AB
+:0815D100E993F5F0A3E9932270
+:1015D900BB010A89828A83F0E5F0A3F0225006F75D
+:0F15E90009A7F01922BBFE06F3E5F009F319225A
+:1015F800F8BB0111E58229F582E5833AF583E8F025
+:10160800E5F0A3F0225009E92582C8F608A6F022E1
+:0D161800BBFE09E92582C8F2E5F008F222C8
+:10162500E88FF0A4CC8BF0A42CFCE98EF0A42CFC64
+:101635008AF0EDA42CFCEA8EF0A4CDA8F08BF0A4E2
+:101645002DCC3825F0FDE98FF0A42CCD35F0FCEB41
+:101655008EF0A4FEA9F0EB8FF0A4CFC5F02ECD3906
+:0F166500FEE43CFCEAA42DCE35F0FDE43CFC2273
+:10167400EB9FF5F0EA9E42F0E99D42F0E89C45F0CC
+:011684002243
+:10168500E86010ECA2E713FCED13FDEE13FEEF137B
+:04169500FFD8F02268
+:09169900E0FBA3E0FAA3E0F92252
+:1016A200F8E0FBA3A3E0F925F0F0E58215827002D1
+:0716B2001583E0FA38F02275
+:0916B900EBF0A3EAF0A3E9F02232
+:1016C200D083D082F8E4937012740193700DA3A3B7
+:1016D20093F8740193F5828883E4737402936860CB
+:0616E200EFA3A3A380DFCB
+:10102E00E508245EF582E43401F583E0050822909C
+:10103E00015B30180390015EE475F0011216A202F6
+:10104E0014892011E97F2ED2118018EF540F2490AD
+:10105E00D43440D4FF30150BEF24BFB41A00500324
+:10106E002461FFE50960021509050CE50C70020507
+:10107E000B30180E90015BE475F0011216A2EF0210
+:10108E0015020234547403D2188003E4C218F50812
+:10109E0090015B1216B9E4F509F50BF50CE5096044
+:1010AE00077F2012107180F5750AFFC212C211C29D
+:1010BE0013C214C216C217C21912103DFF700D30A2
+:1010CE0018057F00121082AF0CAE0B22B4255FC242
+:1010DE00D5C21512103DFF24D0B40A00501A75F077
+:1010EE000A780930D50508B6FF0106C6A426F620F3
+:1010FE00D5047002D21480D924CFB41A00EF500454
+:10110E00C2E5D215021283D21280C6D21180C0D28D
+:10111E001380BCD2D580BAD21680B47F2012107143
+:10112E002013077401B5090040F112102EFF1210A2
+:10113E00710210ABD219D217809512102EFB12101D
+:10114E002EFA12102EF94A4B700679547A137BFF41
+:10115E0020132EE509602A7E008E827583001214FC
+:10116E00A260060EEE650A70F0C2D5EBC0E0EAC0D2
+:10117E00E0E9C0E0EE1212CAD0E0F9D0E0FAD0E019
+:10118E00FB121489FF60AAEBC0E0EAC0E0E9C0E000
+:10119E00121071D0E02401F9D0E03400FAD0E0FB57
+:1011AE00E50A0460DCD50AD980877BFF7A1279C6FE
+:1011BE00D213809C791080027908C217C219800858
+:1011CE00D2D5790A8004790AC2D5E50A047002F5EF
+:1011DE000AE4FAFDFEFF12102EFC7B0820121312F9
+:1011EE00102EFD7B1030110A12102EFE12102EFF43
+:1011FE007B20EC3382D592D55013C3E43011069F79
+:10120E00FFE49EFEE42012039DFDE49CFCE4CBF87B
+:10121E00C212EC700CCFCECDCCE824F8F870F3806F
+:10122E0017C3EF33FFEE33FEED33FDEC33FCEB3340
+:10123E00FB994002FB0FD8E9EB301205F8D0E0C461
+:10124E0048B212C0E00AEC4D4E4F78207B0070C2BF
+:10125E00EAB50A0040BCC0E01212CCD0F0D0E020BB
+:10126E001204C4C0E0C4B212C0F012105AD0F0D5AD
+:10127E00F0EB0210AB1216C211485311C2581119DD
+:10128E004C11154211C64F11CE4411CE49112E43A9
+:08129E0011D45511B84611B836
+:1012A6004511B847137450111D2D11212E11442BD1
+:1012B600112523114220135D2A10DD480000113C40
+:1012C6003F3F3F00790AA2D5201414301609B91001
+:1012D600020404B9080104A2D52017025001042013
+:1012E60013689213B509005034C0E07F20301419FA
+:1012F6007F30A21372177216500F121323C213C235
+:1013060017C216C2197F30800F301603E9C0E012EB
+:101316001071301603D0E0F9D0E0B509CC301617BD
+:101326007F30B9100C1210717F583015077F788006
+:1013360003B908031210713013057F2D0210717F57
+:10134600202019F87F2B2017F322921380CF286EC6
+:10135600756C6C2900D21212102E3012F8C2127857
+:101366000930D50108F60210DD2D504349581210F8
+:101376002E2403B405004001E490136F931210620B
+:0D138600743A121062D2147509040211C2EB
+:00000001FF
diff --git a/Out/8835_EVB_250213_1145_5A16_010102.bin b/Out/8835_EVB_250213_1145_5A16_010102.bin
new file mode 100644
index 0000000..2c45126
Binary files /dev/null and b/Out/8835_EVB_250213_1145_5A16_010102.bin differ
diff --git a/Project/SY8835_Demo.uvgui.GH b/Project/SY8835_Demo.uvgui.GH
index 05f8316..dd13d8a 100644
--- a/Project/SY8835_Demo.uvgui.GH
+++ b/Project/SY8835_Demo.uvgui.GH
@@ -101,17 +101,17 @@
-1
- 167
- 2141
- 4061
- 1129
+ 164
+ -392
+ 1528
+ 1126
0
- 1058
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000010000000100000036453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF41453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000FFDC7800FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000BECEA100FFFFFFFF4C453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000F0A0A100FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6164635C6164632E6300000000056164632E6300000000BCA8E100FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E413531000000009CC1B600FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C557372496E635C766F785C766F785F6D6F64756C652E68000000000C766F785F6D6F64756C652E6800000000F7B88600FFFFFFFF3B453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C756172745C756172742E630000000006756172742E6300000000D9ADC200FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000A5C2D700FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6261745C6261742E6300000000056261742E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F000094020000
+ 1603
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000010000000060000000100000036453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF41453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000FFDC7800FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000BECEA100FFFFFFFF4C453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000F0A0A100FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6164635C6164632E6300000000056164632E6300000000BCA8E100FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E413531000000009CC1B600FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C557372496E635C766F785C766F785F6D6F64756C652E68000000000C766F785F6D6F64756C652E6800000000F7B88600FFFFFFFF3B453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C756172745C756172742E630000000006756172742E6300000000D9ADC200FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000A5C2D700FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6261745C6261742E6300000000056261742E6300000000B3A6BE00FFFFFFFF3F453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C73797374656D5C73797374656D2E63000000000873797374656D2E6300000000EAD6A300FFFFFFFF44453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C646973706C61795C646973706C61795F75692E63000000000C646973706C61795F75692E6300000000F6FA7D00FFFFFFFF48453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C636861726765725C636861726765725F6D6F64756C652E630000000010636861726765725F6D6F64756C652E6300000000B5E99D00FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6C65645C6C65642E6300000000056C65642E63000000005FC3CF00FFFFFFFF3C453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C557372496E635C696E635C646566696E652E680000000008646566696E652E6800000000C1838300FFFFFFFF3C453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C557372496E635C696E635C636F6E6669672E680000000008636F6E6669672E6800000000CACAD500FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000094020000
@@ -134,7 +134,7 @@
16
- 70000000870000003803000017010000
+ F40000006600000090050000F6000000
@@ -190,7 +190,7 @@
0
16
- 000000002D02000090050000BD020000
+ 03000000300200008D050000A4020000
16
@@ -210,7 +210,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -230,7 +230,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -250,7 +250,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -270,7 +270,7 @@
0
16
- A3040000660000008D05000001010000
+ A3040000660000008D05000010020000
16
@@ -330,7 +330,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -350,7 +350,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -370,7 +370,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -390,7 +390,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -410,7 +410,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -430,7 +430,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -526,11 +526,11 @@
0
32767
0
- 4096
+ 32768
0
16
- 03000000980200008D050000F8020000
+ 03000000980200007D070000CD030000
16
@@ -550,7 +550,7 @@
0
16
- F40000006300000090050000DF000000
+ F7000000660000008D050000C6000000
16
@@ -610,7 +610,7 @@
0
16
- A0040000630000009005000029020000
+ A3040000660000008D05000010020000
16
@@ -630,7 +630,7 @@
0
16
- 000000002D02000090050000A9020000
+ 03000000300200008D050000A4020000
16
@@ -690,7 +690,7 @@
0
16
- F40000006300000090050000DF000000
+ F7000000660000008D050000C6000000
16
@@ -730,7 +730,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -750,7 +750,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -770,7 +770,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -790,7 +790,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -810,7 +810,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -830,7 +830,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -850,7 +850,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -870,7 +870,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -890,7 +890,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -910,7 +910,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -930,7 +930,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -950,7 +950,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -970,7 +970,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -990,7 +990,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1010,7 +1010,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1030,7 +1030,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1050,7 +1050,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1070,7 +1070,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1090,7 +1090,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1110,7 +1110,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1130,7 +1130,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1150,7 +1150,7 @@
0
16
- 0300000066000000ED000000A4020000
+ 0300000066000000ED00000064020000
16
@@ -1166,11 +1166,11 @@
0
32767
0
- 4096
+ 32768
0
16
- 00000000950200009005000011030000
+ 03000000980200007D070000CD030000
16
@@ -1186,11 +1186,11 @@
0
32767
0
- 4096
+ 32768
0
16
- 03000000980200008D050000F8020000
+ 03000000980200007D070000CD030000
16
@@ -1210,7 +1210,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -1230,7 +1230,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -1246,11 +1246,11 @@
0
32767
0
- 4096
+ 32768
0
16
- 03000000980200008D050000F8020000
+ 03000000980200007D070000CD030000
16
@@ -1266,11 +1266,11 @@
0
32767
0
- 4096
+ 32768
0
16
- 03000000980200008D050000F8020000
+ 03000000980200007D070000CD030000
16
@@ -1310,7 +1310,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1330,7 +1330,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1350,7 +1350,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1370,7 +1370,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1390,7 +1390,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1410,7 +1410,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1430,7 +1430,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1450,7 +1450,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1470,7 +1470,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1490,7 +1490,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1510,7 +1510,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1530,7 +1530,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1550,7 +1550,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1570,7 +1570,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1590,7 +1590,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1610,7 +1610,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1630,7 +1630,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1650,7 +1650,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1670,7 +1670,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1690,7 +1690,7 @@
0
16
- A3040000660000008D0500007C010000
+ A3040000660000008D05000010020000
16
@@ -1704,7 +1704,7 @@
0
0
0
- 32767
+ 966
0
8192
0
@@ -1744,7 +1744,7 @@
0
0
0
- 32767
+ 476
0
8192
1
@@ -1764,7 +1764,7 @@
0
0
0
- 32767
+ 612
0
8192
2
@@ -1790,7 +1790,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -1799,14 +1799,14 @@
3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000070000000870000003803000017010000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000070000000870000006001000052010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000007D020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000070000000870000006001000052010000000000004F000000F00000007D0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000070000000870000006001000052010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007D02000080070000810200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000070000000870000003803000017010000000000008102000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000007D020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000094020000000000004F000000F00000007D0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000007D02000080070000810200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000009802000080070000FD030000000000008102000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2914
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036162739600000000000000140003616273083230323431303135084144435F43544C310F636872675F69635F64697361626C6508636872675F69635F04343235300E496E697469616C5F5354373733350564656275671C4932435F57726974655F4F6E654279746528305844342C307830312C1C4932435F57726974655F4F6E654279746528305844342C307831302C0B536C6565705F64656C61791B4932435F57726974655F4F6E654279746528305844342C307830371B4932435F57726974655F4F6E654279746528305844342C3078313010636872675F63757272656E745F736574174932435F57726974655F4F6E654279746528305844342C1B4932435F57726974655F4F6E654279746528305844342C30783033023033084C444F5F43544C30043437303008766F6C5F766261740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000
+ 2929
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D45617270686F6E655F56626174960000000000000014000D45617270686F6E655F5662617403616273083230323431303135084144435F43544C310F636872675F69635F64697361626C6508636872675F69635F04343235300E496E697469616C5F5354373733350564656275671C4932435F57726974655F4F6E654279746528305844342C307830312C1C4932435F57726974655F4F6E654279746528305844342C307831302C0B536C6565705F64656C61791B4932435F57726974655F4F6E654279746528305844342C307830371B4932435F57726974655F4F6E654279746528305844342C3078313010636872675F63757272656E745F736574174932435F57726974655F4F6E654279746528305844342C1B4932435F57726974655F4F6E654279746528305844342C30783033023033084C444F5F43544C3004343730300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
976
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -1871,11 +1871,11 @@
0
16
- F40000004F00000080070000DF000000
+ F40000004F0000008007000039010000
16
- 7408000066000000000F0000F6000000
+ F40000006600000080070000F6000000
@@ -2291,7 +2291,7 @@
0
16
- F40000006300000080070000DF000000
+ F4000000630000008007000039010000
16
@@ -3540,14 +3540,14 @@
3311
- 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF4000000DF00000080070000E3000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000007408000066000000000F0000F6000000F40000004F00000080070000DF0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080070000660000007008000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000440B000059030000000F0000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000000000008007000044020000100D0000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFF400000039010000800700003D0100000100000001000010040000000100000072FFFFFF56020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000F40000006600000080070000F6000000F40000004F00000080070000390100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000003E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F000000055030000000000004F000000F00000003E0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF000000003E030000800700004203000001000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000C40300005903000080070000FD030000C40300004203000080070000E603000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF000000000000000001000000000000000100000001000000FFFFFFFFC003000042030000C4030000E603000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000029020000900500002D020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004402000090050000D4020000000000002D02000090050000BD0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2763
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B960000000000000008001D48414C5F534D4255535F536C617665527843706C7443616C6C6261636B197379363230785F6972715F68616E646C65725F746872656164044E4F4E4511677379363230785F6465766963655F7379144932435F4745545F4F574E5F4144445245535331144932435F4745545F4F574E5F41444452455353320C4932435F4F4152325F4F41321E48414C5F534D4255535F4D6173746572527843706C7443616C6C6261636B0000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2929
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D45617270686F6E655F56626174960000000000000014000D45617270686F6E655F5662617403616273083230323431303135084144435F43544C310F636872675F69635F64697361626C6508636872675F69635F04343235300E496E697469616C5F5354373733350564656275671C4932435F57726974655F4F6E654279746528305844342C307830312C1C4932435F57726974655F4F6E654279746528305844342C307831302C0B536C6565705F64656C61791B4932435F57726974655F4F6E654279746528305844342C307830371B4932435F57726974655F4F6E654279746528305844342C3078313010636872675F63757272656E745F736574174932435F57726974655F4F6E654279746528305844342C1B4932435F57726974655F4F6E654279746528305844342C30783033023033084C444F5F43544C3004343730300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -3563,7 +3563,7 @@
Build
955
- 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -3579,7 +3579,7 @@
Debug
2362
- 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3603,38 +3603,38 @@
0
100
- 1
+ 6
..\UsrSrc\main.c
- 20
- 1
- 22
+ 0
+ 18
+ 47
1
0
..\UsrSrc\userapp\userapp.c
- 14
- 107
- 135
+ 0
+ 147
+ 170
1
0
..\UsrSrc\vox\vox_module.c
- 0
- 1
- 1
+ 89
+ 1931
+ 1959
1
0
..\UsrSrc\discharge\discharge_module.c
- 2
- 176
+ 9
+ 169
198
1
@@ -3651,18 +3651,18 @@
..\Src\startup\STARTUP.A51
- 1
- 16
- 31
+ 0
+ 122
+ 130
1
0
..\UsrInc\vox\vox_module.h
- 20
- 277
- 297
+ 16
+ 202
+ 215
1
0
@@ -3670,17 +3670,17 @@
..\UsrSrc\uart\uart.c
0
- 193
- 206
+ 510
+ 529
1
0
..\UsrSrc\key\key.c
- 0
- 281
- 306
+ 2
+ 220
+ 237
1
0
@@ -3694,6 +3694,60 @@
0
+
+ ..\UsrSrc\system\system.c
+ 13
+ 108
+ 129
+ 1
+
+ 0
+
+
+ ..\UsrSrc\display\display_ui.c
+ 8
+ 120
+ 149
+ 1
+
+ 0
+
+
+ ..\UsrSrc\charger\charger_module.c
+ 8
+ 6
+ 31
+ 1
+
+ 0
+
+
+ ..\UsrSrc\led\led.c
+ 0
+ 205
+ 234
+ 1
+
+ 0
+
+
+ ..\UsrInc\inc\define.h
+ 24
+ 26
+ 51
+ 1
+
+ 0
+
+
+ \todaywork\20241030_sy8835\SY8835_Demo\UsrInc\inc\config.h
+ 0
+ 281
+ 303
+ 1
+
+ 0
+
diff --git a/Project/SY8835_Demo.uvopt b/Project/SY8835_Demo.uvopt
index 5010072..159f6da 100644
--- a/Project/SY8835_Demo.uvopt
+++ b/Project/SY8835_Demo.uvopt
@@ -58,7 +58,7 @@
1
1
0
- 0
+ 1
0
@@ -145,7 +145,24 @@
-S14 -B921600 -O1799
-
+
+
+ 0
+ 0
+ 170
+ 1
+ -16762681
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ E:\todaywork\20241030_sy8835\SY8835_Demo\Project\UsrSrc\userapp\USERAPP.C
+
+
+
+
0
@@ -256,7 +273,7 @@
2
2
1
- 0
+ 1
0
0
..\UsrSrc\main.c
@@ -508,7 +525,7 @@
2
23
1
- 1
+ 0
0
0
..\UsrSrc\display\display_ui.c
diff --git a/Project/SY8835_Demo.uvproj b/Project/SY8835_Demo.uvproj
index f77f5a0..d18c28c 100644
--- a/Project/SY8835_Demo.uvproj
+++ b/Project/SY8835_Demo.uvproj
@@ -257,8 +257,8 @@
0
- 0x0
- 0x400
+ 0x100
+ 0x300
0
@@ -357,7 +357,7 @@
- 0X0000-0X03FF
+ 0X0100-0X03FF
diff --git a/UsrInc/adc/adc.h b/UsrInc/adc/adc.h
index 1e7b8df..7c3811f 100644
--- a/UsrInc/adc/adc.h
+++ b/UsrInc/adc/adc.h
@@ -36,33 +36,27 @@
\******************************************************************************/
extern uint8_t ADC_Chn_Num;
-extern idata uint16_t Vbat_Adc;
+extern uint16_t Vbat_Adc;
-extern idata int16 g_Vpmu_Adc;
+extern int16 g_Vpmu_Adc;
-extern idata int16 g_Vntc_Adc;
-#if 0
-extern idata uint16_t g_Vbjt_Adc;
+extern int16 g_Vntc_Adc;
-extern idata uint16_t g_Vp13_Adc;
-
-extern idata uint16_t g_Vref_Adc;
-#endif
extern uint8_t g_PMU_ADC_Chn;
-extern idata uint16_t g_pmu_Adc_Ivol;
+extern uint16_t g_pmu_Adc_Ivol;
-extern idata uint16_t g_pmu_Adc_Vin;
+extern uint16_t g_pmu_Adc_Vin;
-extern idata uint16_t g_pmu_Adc_Vpmid;
+extern uint16_t g_pmu_Adc_Vpmid;
-extern idata uint16_t g_pmu_Adc_Vor;
+extern uint16_t g_pmu_Adc_Vor;
-extern idata uint16_t g_pmu_Adc_Vol;
+extern uint16_t g_pmu_Adc_Vol;
-extern idata uint16_t g_pmu_Adc_Vdd;
+extern uint16_t g_pmu_Adc_Vdd;
-extern idata uint16_t g_pmu_Adc_Ivor;
+extern uint16_t g_pmu_Adc_Ivor;
typedef enum {
diff --git a/UsrInc/bat/bat.h b/UsrInc/bat/bat.h
index 9f29e93..45c5faa 100644
--- a/UsrInc/bat/bat.h
+++ b/UsrInc/bat/bat.h
@@ -40,10 +40,10 @@
Variables definitions
\******************************************************************************/
-extern idata uint8_t bat_level;
+extern uint8_t bat_level;
-extern idata uint8_t offset_bat_level;
+extern uint8_t offset_bat_level;
extern bit F_batlevel_low; //电池低压
diff --git a/UsrInc/i2c_simu/i2c_simu.h b/UsrInc/i2c_simu/i2c_simu.h
index b9d94d1..756df6f 100644
--- a/UsrInc/i2c_simu/i2c_simu.h
+++ b/UsrInc/i2c_simu/i2c_simu.h
@@ -66,9 +66,9 @@ sbit pin_i2c_sda = P0^1;
#endif
#define __I2C_SPEED_FAST__
-extern idata bool F_I2C_SIMU_INIT;
+extern bool F_I2C_SIMU_INIT;
-extern idata bool F_I2C_SIMU_ERROR;
+extern bool F_I2C_SIMU_ERROR;
/******************************************************************************\
Functions definitions
diff --git a/UsrInc/inc/config.h b/UsrInc/inc/config.h
index d252038..dceff4b 100644
--- a/UsrInc/inc/config.h
+++ b/UsrInc/inc/config.h
@@ -369,7 +369,7 @@ typedef enum
} TE_CHG_STA;
-extern idata TE_CHG_STA ChgStatus; // Charger状态定义
+extern TE_CHG_STA ChgStatus; // Charger状态定义
/* Boost相关标志位 */
extern bit gBoost_Prepared_Flag; //Boost满足开启条件,TRUE:Boost无保护,可以开启;FAULSE:Boost有保护,无法正常开启。
diff --git a/UsrInc/inc/define.h b/UsrInc/inc/define.h
index c2a4282..e2c1049 100644
--- a/UsrInc/inc/define.h
+++ b/UsrInc/inc/define.h
@@ -44,12 +44,14 @@
#define GPIO_I2C_SIMULATE 1 //GPIO 模拟 I2C接口
-#define HALL_ENABLE 1 //Hall功能。(Hall 46Bytes)
-
#define KEY_ENABLE 1 //Key功能(111Bytes)
#define VOX_ENABLE 1 //1080Bytes
+#define VOX_COVER_ENABLE //带HALL,关盖应用
+
+//#define VOX_ADT_ENABLE //无HALL,耳机入盒充电应用
+
#define VOX_FOLLOW_CHG 1 //1701Bytes
#if VOX_ENABLE
@@ -60,6 +62,16 @@
#endif
+#ifdef VOX_ADT_ENABLE
+
+#define HALL_ENABLE 0
+
+#else
+
+#define HALL_ENABLE 1 //Hall功能。(Hall 103Bytes)
+
+#endif
+
#define CHARGER_ENABLE 1 //94Bytes
#define DISCHARGE_ENABLE 1 //75Bytes
@@ -82,7 +94,7 @@
#ifdef _DEBUG_ALL
- #define _DEBUG_MAIN
+// #define _DEBUG_MAIN
#define _DEBUG_PMU
#define _DEBUG_KEY
#define _DEBUG_VOX
diff --git a/UsrInc/key/key.h b/UsrInc/key/key.h
index a5c6e24..8eafc40 100644
--- a/UsrInc/key/key.h
+++ b/UsrInc/key/key.h
@@ -47,7 +47,7 @@ typedef enum {
KEY_EVENT_LL_8S, //Key super long press for 8s interrupt flag
}KEY_EVENT_E;
-extern idata KEY_EVENT_E Event_key;
+extern KEY_EVENT_E Event_key;
/******************************************************************************\
Functions definitions
diff --git a/UsrInc/pmu/pmu.h b/UsrInc/pmu/pmu.h
index 0d275b7..d2a8803 100644
--- a/UsrInc/pmu/pmu.h
+++ b/UsrInc/pmu/pmu.h
@@ -449,7 +449,7 @@ typedef enum
}g_chg_type;
-extern g_PMU_Info xdata pmu_Info; //pmu状态信息
+extern g_PMU_Info pmu_Info; //pmu状态信息
extern g_PMU_Sys_Cfg pmu_Sys_Cfg;
diff --git a/UsrInc/uart/uart.h b/UsrInc/uart/uart.h
index c3f4f20..37e5910 100644
--- a/UsrInc/uart/uart.h
+++ b/UsrInc/uart/uart.h
@@ -63,7 +63,7 @@ extern char putchar (char ch);
Variables definitions
\******************************************************************************/
-extern idata uint8_t RX0_Buffer[COM0_Data_Lenth]; //接收缓冲
+extern uint8_t RX0_Buffer[COM0_Data_Lenth]; //接收缓冲
extern bit Uart0_RX_Finish_Flag;
#endif
diff --git a/UsrInc/userapp/userapp.h b/UsrInc/userapp/userapp.h
index ca8012b..c0eca75 100644
--- a/UsrInc/userapp/userapp.h
+++ b/UsrInc/userapp/userapp.h
@@ -52,7 +52,7 @@ typedef struct {
}s_sys_state;
-extern xdata s_sys_state Systerm_State;
+extern s_sys_state Systerm_State;
extern bit Wkup_Earphone_Flag; //保护消失后,需要升压唤醒耳机标志位
diff --git a/UsrInc/vox/vox_module.h b/UsrInc/vox/vox_module.h
index 96a5942..c2c6ebe 100644
--- a/UsrInc/vox/vox_module.h
+++ b/UsrInc/vox/vox_module.h
@@ -34,18 +34,27 @@
/*软件版本信息*/
#define FW_VER 0x001 //程序版本
-extern bit Vox_Vout_Enable;
-
extern bit Vox_Output_Short_Flag;
#define IVOX_THN 20 //耳机跟随充电流下降阈值
#define IVOX_THP 200 //耳机跟随充电流上升阈值
+#define VOL_TYPE 0x00
-#define VOL_TYPE 0x00
+#define VOR_TYPE 0x01
-#define VOR_TYPE 0x01
+#define VOX_MAX_CHAN 0x02
+
+ typedef enum {
+
+ VOX_NONE_IN_BOX = 0, //空仓
+
+ VOX_GET_INTO_BOX, //耳机入仓
+
+ VOX_STAY_IN_BOX, //耳机在仓
+
+ }Vox_State_e;
/*耳机配对状态*/
typedef enum {
@@ -59,6 +68,7 @@ extern bit Vox_Output_Short_Flag;
VOX_PAIR_KEEP, //不处理,保持当前状态
}e_Vox_Pairing_State;
+
/*耳机配对记录*/
typedef enum {
@@ -69,6 +79,26 @@ extern bit Vox_Output_Short_Flag;
}e_Vox_Paired_State;
+#ifdef VOX_COVER_ENABLE
+
+ extern bit Vox_Vout_Enable; //Vox功率输出标志位
+
+#else
+
+ extern bit Vor_Vout_Enable; //Vor功率输出标志位
+
+ extern bit Vol_Vout_Enable; //Vol功率输出标志位
+
+ extern bit Vor_GetOut_Box_Flag;
+
+ extern bit Vol_GetOut_Box_Flag;
+
+ extern Vox_State_e Vor_State;
+
+ extern Vox_State_e Vol_State;
+
+#endif
+
#if VOX_ENABLE
/******************************************************************************\
@@ -150,8 +180,6 @@ typedef enum {
VOL_CHAN = 0x00,
VOR_CHAN = 0x01,
-
- VOX_MAX_CHAN = 0x02,
VOX_BOTH = 0xFF,
@@ -189,8 +217,6 @@ typedef enum {
VOL_CHAN = 0x11,
VOR_CHAN = 0x22,
-
- VOX_MAX_CHAN = 0x02,
VOX_BOTH = 0xff,
@@ -230,6 +256,7 @@ typedef enum _VOX_BES_COMMAND_E
VHOUSE_CMD_SYS_RST = 0xFF, //系统复位指令
}VOX_BES_COMMAND_E;
+
#elif XUANHENG
@@ -240,8 +267,6 @@ typedef enum {
VOR_CHAN = 0x25,
VOX_BOTH = 0x21,
-
- VOX_MAX_CHAN = 0x02,
}e_Vox_Chan;
@@ -268,6 +293,19 @@ typedef enum _VOX_BES_COMMAND_E
}VOX_BES_COMMAND_E;
+#else
+
+/*耳机通道选择*/
+typedef enum {
+
+ VOL_CHAN = 0x00,
+
+ VOR_CHAN = 0x01,
+
+ VOX_BOTH = 0xFF,
+
+}e_Vox_Chan;
+
#endif
/* Vox Channel Select. */
@@ -299,19 +337,19 @@ typedef enum {
/* VOX Enable Type */
typedef enum {
- VOX_TRANS_Mode = 0x00, //VOx UART 透传功能使能
-
- VOX_COMM_Mode_Uart, //VOx 通讯 UART Mode
-
- VOX_COMM_Mode_Reg, //VOx 通讯 Register Mode
-
- VOX_VOUT_Mode, //VOx 5V 输出使能
-
- VOX_ADT_Mode, //VOx 负载接入、存在识别功能使能,负载自动识别
+ VOX_TRANS_Mode = 0x00, //VOx UART 透传功能使能
- VOX_PUnK_Mode, //Vox上拉电阻配置,上拉到VOX_Vup。
-
- VOX_PD1K_Mode, // VOX 1K 电阻下拉使能 1: VOR 通过 1K 电阻下拉至 gnd
+ VOX_COMM_Mode_Uart, //VOx 通讯 UART Mode
+
+ VOX_COMM_Mode_Reg, //VOx 通讯 Register Mode
+
+ VOX_VOUT_Mode, //VOx 5V 输出使能
+
+ VOX_ADT_Mode, //VOx 负载接入、存在识别功能使能,负载自动识别
+
+ VOX_PUnK_Mode, //Vox上拉电阻配置,上拉到VOX_Vup。
+
+ VOX_PD1K_Mode, // VOX 1K 电阻下拉使能 1: VOR 通过 1K 电阻下拉至 gnd
} VOX_Enable_Mode_e;
@@ -323,9 +361,9 @@ extern bit OpenCover_TX_Cmd_Flag;
#ifdef VOX_RX
-extern xdata uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
+extern uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
-extern xdata uint8_t Vox_Get_BES_Addr_Flag[2] ;
+extern uint8_t Vox_Get_BES_Addr_Flag[2] ;
#endif
@@ -363,7 +401,7 @@ typedef struct {
} g_Vox_Fllow_Chg_Cfg;
-extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg;
+extern g_Vox_Fllow_Chg_Cfg idata Vox_Fllow_Chg;
#endif
@@ -372,17 +410,43 @@ extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg;
/******************************************************************************\
UserCfg.Functions definitions
\******************************************************************************/
+#ifdef VOX_TX
extern void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select);
+#endif
+
+#ifdef VOX_ADT_ENABLE
+
+extern void Vol_Det_Machine(void);
+extern void Vor_Det_Machine(void);
+
+#else
+
extern void Vox_Det_Machine(void);
+
+#endif
+
#if VOX_FOLLOW_CHG
extern void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg );
#endif
+
+#ifdef VOX_ADT_ENABLE
+
+extern void VOL_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode);
+
+extern void VOR_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode);
+
+#else
+
extern void VOX_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode);
+#endif
+
#ifdef VOX_RX
+
extern void HandleVoxCommMsg(void);
+
#endif
#endif
diff --git a/UsrSrc/adc/adc.c b/UsrSrc/adc/adc.c
index 86b2929..12dda83 100644
--- a/UsrSrc/adc/adc.c
+++ b/UsrSrc/adc/adc.c
@@ -32,30 +32,30 @@
Variables definitions
\******************************************************************************/
int8_t ADC_Offset_Error; //ADC Offset Error 校准值寄存器
-
+
uint8_t ADC_Chn_Num;
-idata uint16_t Vbat_Adc;
+uint16_t Vbat_Adc;
-idata int16 g_Vpmu_Adc;
+int16 g_Vpmu_Adc;
-idata int16 g_Vntc_Adc;
+int16 g_Vntc_Adc;
uint8_t g_PMU_ADC_Chn;
-idata uint16_t g_pmu_Adc_Ivol;
+uint16_t g_pmu_Adc_Ivol;
-idata uint16_t g_pmu_Adc_Vin;
+uint16_t g_pmu_Adc_Vin;
-idata uint16_t g_pmu_Adc_Vpmid;
+uint16_t g_pmu_Adc_Vpmid;
-idata uint16_t g_pmu_Adc_Vor;
+uint16_t g_pmu_Adc_Vor;
-idata uint16_t g_pmu_Adc_Vol;
+uint16_t g_pmu_Adc_Vol;
-idata uint16_t g_pmu_Adc_Vdd;
+uint16_t g_pmu_Adc_Vdd;
-idata uint16_t g_pmu_Adc_Ivor;
+uint16_t g_pmu_Adc_Ivor;
/******************************************************************************\
Functions definitions
diff --git a/UsrSrc/bat/bat.c b/UsrSrc/bat/bat.c
index 797a789..4816e75 100644
--- a/UsrSrc/bat/bat.c
+++ b/UsrSrc/bat/bat.c
@@ -21,7 +21,7 @@
#include "adc.h"
#include "pmu.h"
-idata uint8_t bat_level;
+uint8_t bat_level;
bit F_batlevel_low; //电池低压
@@ -482,7 +482,7 @@ bit F_batlevel_50p;
bit F_batlevel_75p;
-idata uint8_t offset_bat_level;
+uint8_t offset_bat_level;
/*充电电池电压会浮高,具体电压需要测试。*/
const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] =
@@ -580,27 +580,27 @@ void check_bat_level(void)
if( bat_level <= C_bat_level_protect )
{
- F_batlevel_protect = 1;
+ F_batlevel_protect = TRUE;
}
if( bat_level <= C_bat_level_lowpower )
{
- F_batlevel_low = 1;
+ F_batlevel_low = TRUE;
}
if( bat_level <= C_bat_level_25p_power )
{
- F_batlevel_25p = 1;
+ F_batlevel_25p = TRUE;
}
if( bat_level <= C_bat_level_50p_power )
{
- F_batlevel_50p = 1;
+ F_batlevel_50p = TRUE;
}
if( bat_level <= C_bat_level_75p_power )
{
- F_batlevel_75p = 1;
+ F_batlevel_75p = TRUE;
}
}
diff --git a/UsrSrc/charger/charger_module.c b/UsrSrc/charger/charger_module.c
index dcf0020..4e181e4 100644
--- a/UsrSrc/charger/charger_module.c
+++ b/UsrSrc/charger/charger_module.c
@@ -32,7 +32,7 @@
bit CHG_NTC_Pro_Flag;
#endif
-idata TE_CHG_STA ChgStatus; // CHG状态定义
+TE_CHG_STA ChgStatus; // CHG状态定义
#if CHARGER_ENABLE
/******************************************************************************\
@@ -44,11 +44,9 @@ idata TE_CHG_STA ChgStatus; // CHG状态
Variables definitions
\******************************************************************************/
+uint8_t gConstant_Cur_Max_Setting; //Charge最大充电电流。
-
-idata uint8_t gConstant_Cur_Max_Setting; //Charge最大充电电流。
-
-idata s_gCharger_Cfg gCharge_Cfg;
+s_gCharger_Cfg gCharge_Cfg;
/******************************************************************************\
Functions definitions
@@ -138,7 +136,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > JEITA_NTC_CHG_COLD_HIGH_TMP ) //0.5*ICC充电
{
- NTC_250mA_Chg_Flag = 1;
+ NTC_250mA_Chg_Flag = TRUE;
gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting / 2;
@@ -146,7 +144,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > JEITA_NTC_CHG_COLD_HYST_HIGH_TMP )
{
- NTC_500mA_Chg_Flag = 0;
+ NTC_500mA_Chg_Flag = FALSE;
//gCharge_Cur.nConstant_Cur = gConstant_Cur_Max_Setting / 2;
}
@@ -161,7 +159,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
else
if( NTC_Adc <= JEITA_NTC_CHG_WARM_LOW_TMP && NTC_Adc > JEITA_NTC_CHG_WARM_HIGH_TMP ) //1*ICC充电
{
- NTC_500mA_Chg_Flag = 1;
+ NTC_500mA_Chg_Flag = TRUE;
gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting;
@@ -169,7 +167,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc <= JEITA_NTC_CHG_WARM_HYST_LOW_TMP )
{
- NTC_250mA_Chg_Flag = 0;
+ NTC_250mA_Chg_Flag = FALSE;
// gCharge_Cur.nConstant_Cur = gConstant_Cur_Max_Setting;
}
@@ -185,7 +183,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc <= JEITA_NTC_CHG_WARM_HYST_HIGH_TMP )
{
- NTC_Change_CV_Chg_Flag = 0;
+ NTC_Change_CV_Chg_Flag = FALSE;
// gCharge_Cur.nVFloat = CHG_VFLOAT_4_200V;
}
@@ -200,7 +198,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
else
if( NTC_Adc <= JEITA_NTC_CHG_HOT_LOW_TMP ) //浮充电压4.05V
{
- NTC_Change_CV_Chg_Flag = 1;
+ NTC_Change_CV_Chg_Flag = TRUE;
gCharge_Cfg.nVFloat = VFLOAT_JEITA_HOT;
@@ -208,7 +206,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if(NTC_Adc <= JEITA_NTC_CHG_HOT_HYST_LOW_TMP)
{
- NTC_500mA_Chg_Flag = 0;
+ NTC_500mA_Chg_Flag = FALSE;
// gCharge_Cur.nVFloat = CHG_VFLOAT_4_050V;
}
@@ -225,7 +223,8 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc < JEITA_NTC_CHG_PRO_HYST_LOW_TMP)
{
- CHG_NTC_Low_Pro_Flag = 0;
+ CHG_NTC_Low_Pro_Flag = FALSE;
+
NTC_Flag = FALSE;
}
else
@@ -238,7 +237,8 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > JEITA_NTC_CHG_PRO_HYST_HIGH_TMP )
{
- CHG_NTC_High_Pro_Flag = 0;
+ CHG_NTC_High_Pro_Flag = FALSE;
+
NTC_Flag = FALSE;
}
else
@@ -251,7 +251,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > JEITA_NTC_CHG_PRO_LOW_TMP ) //不充电
{
- CHG_NTC_Low_Pro_Flag = 1;
+ CHG_NTC_Low_Pro_Flag = TRUE;
#ifdef _DEBUG_CHARGER
printf("NTC Low Pro!NTC_Adc:%d,(line:%d)\r\n",(uint16)NTC_Adc,(uint16)__LINE__);
@@ -262,7 +262,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
if( NTC_Adc <= JEITA_NTC_CHG_PRO_HIGH_TMP ) //不充电
{
- CHG_NTC_High_Pro_Flag = 1;
+ CHG_NTC_High_Pro_Flag = TRUE;
NTC_Flag = TRUE;
@@ -272,13 +272,14 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
}
}
- DisChg_NTC_Low_Pro_Flag = 0;
- DisChg_NTC_High_Pro_Flag = 0;
+ DisChg_NTC_Low_Pro_Flag = FALSE;
+ DisChg_NTC_High_Pro_Flag = FALSE;
}
else //放电模式
{
- CHG_NTC_Low_Pro_Flag = 0;
- CHG_NTC_High_Pro_Flag = 0;
+ CHG_NTC_Low_Pro_Flag = FALSE;
+
+ CHG_NTC_High_Pro_Flag = FALSE;
if( NTC_Adc <= NTC_DISCHG_PRO_LOW_TMP && NTC_Adc > NTC_DISCHG_PRO_HIGH_TMP ) //正常放电
{
@@ -286,7 +287,8 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc < NTC_DISCHG_HYST_LOW_TMP )
{
- DisChg_NTC_Low_Pro_Flag = 0;
+ DisChg_NTC_Low_Pro_Flag = FALSE;
+
NTC_Flag = FALSE;
}
else
@@ -299,7 +301,8 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > NTC_DISCHG_HYST_HIGH_TMP )
{
- DisChg_NTC_High_Pro_Flag = 0;
+ DisChg_NTC_High_Pro_Flag = FALSE;
+
NTC_Flag = FALSE;
}
else
@@ -312,12 +315,12 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > NTC_DISCHG_PRO_LOW_TMP )
{
- DisChg_NTC_Low_Pro_Flag = 1;
+ DisChg_NTC_Low_Pro_Flag = TRUE;
}
else
if( NTC_Adc < NTC_DISCHG_PRO_HIGH_TMP )
{
- DisChg_NTC_High_Pro_Flag = 1;
+ DisChg_NTC_High_Pro_Flag = TRUE;
}
NTC_Flag = TRUE;
@@ -334,7 +337,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc < IEC_NTC_CHG_HYST_LOW_TMP )
{
- CHG_NTC_Low_Pro_Flag = 0;
+ CHG_NTC_Low_Pro_Flag = FALSE;
NTC_Flag = FALSE;
}
@@ -348,7 +351,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > IEC_NTC_CHG_HYST_HIGH_TMP )
{
- CHG_NTC_High_Pro_Flag = 0;
+ CHG_NTC_High_Pro_Flag = FALSE;
NTC_Flag = FALSE;
}
@@ -362,12 +365,12 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if(NTC_Adc > IEC_NTC_CHG_PRO_LOW_TMP)
{
- CHG_NTC_Low_Pro_Flag = 1;
+ CHG_NTC_Low_Pro_Flag = TRUE;
}
else
if(NTC_Adc <= IEC_NTC_CHG_PRO_HIGH_TMP)
{
- CHG_NTC_High_Pro_Flag = 1;
+ CHG_NTC_High_Pro_Flag = TRUE;
}
#ifdef _DEBUG_CHARGER
@@ -376,13 +379,15 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
NTC_Flag = TRUE;
}
- DisChg_NTC_Low_Pro_Flag = 0;
- DisChg_NTC_High_Pro_Flag = 0;
+ DisChg_NTC_Low_Pro_Flag = FALSE;
+
+ DisChg_NTC_High_Pro_Flag = FALSE;
}
else //放电模式
{
- CHG_NTC_Low_Pro_Flag = 0;
- CHG_NTC_High_Pro_Flag = 0;
+ CHG_NTC_Low_Pro_Flag = FALSE;
+
+ CHG_NTC_High_Pro_Flag = FALSE;
if( (NTC_Adc <= NTC_DISCHG_PRO_LOW_TMP) && (NTC_Adc > NTC_DISCHG_PRO_HIGH_TMP) ) //正常放电
{
@@ -390,7 +395,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc < NTC_DISCHG_HYST_LOW_TMP )
{
- DisChg_NTC_Low_Pro_Flag = 0;
+ DisChg_NTC_Low_Pro_Flag = FALSE;
NTC_Flag = FALSE;
}
@@ -404,7 +409,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if( NTC_Adc > NTC_DISCHG_HYST_HIGH_TMP )
{
- DisChg_NTC_High_Pro_Flag = 0;
+ DisChg_NTC_High_Pro_Flag = FALSE;
NTC_Flag = FALSE;
}
@@ -418,12 +423,12 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta)
{
if(NTC_Adc > NTC_DISCHG_PRO_LOW_TMP)
{
- DisChg_NTC_Low_Pro_Flag = 1;
+ DisChg_NTC_Low_Pro_Flag = TRUE;
}
else
if(NTC_Adc <= NTC_DISCHG_PRO_HIGH_TMP)
{
- DisChg_NTC_High_Pro_Flag = 1;
+ DisChg_NTC_High_Pro_Flag = TRUE;
}
NTC_Flag = TRUE;
@@ -475,14 +480,14 @@ void Charger_Handler(void)
{
Set_PMU_CHG(OFF); //Disable Charger.
- CHG_NTC_Pro_Flag = 1;
+ CHG_NTC_Pro_Flag = TRUE;
ChgStatus = CHG_PROTECT;
return;
}
- CHG_NTC_Pro_Flag = 0;
+ CHG_NTC_Pro_Flag = FALSE;
#endif
@@ -508,27 +513,27 @@ void Charger_Handler(void)
if( bat_level > ( C_bat_level_protect + 1 ) )
{
- F_batlevel_protect = 0;
+ F_batlevel_protect = FALSE;
}
if( bat_level > (C_bat_level_lowpower + 2) )
{
- F_batlevel_low = 0;
+ F_batlevel_low = FALSE;
}
if( bat_level > (C_bat_level_25p_power + 2) )
{
- F_batlevel_25p = 0;
+ F_batlevel_25p = FALSE;
}
if( bat_level > (C_bat_level_50p_power + 2) )
{
- F_batlevel_50p = 0;
+ F_batlevel_50p = FALSE;
}
if( bat_level > (C_bat_level_75p_power + 2) )
{
- F_batlevel_75p = 0;
+ F_batlevel_75p = FALSE;
}
#endif
diff --git a/UsrSrc/discharge/discharge_module.c b/UsrSrc/discharge/discharge_module.c
index a22ac92..80974c7 100644
--- a/UsrSrc/discharge/discharge_module.c
+++ b/UsrSrc/discharge/discharge_module.c
@@ -95,7 +95,7 @@ bit gBoost_UVLO_Flag;
if( (BST_EN & 0x01) && gBoost_Prepared_Flag )
{
BST_EN = 0; //Boost Disable
- gBoost_Prepared_Flag = 0;
+ gBoost_Prepared_Flag = FALSE;
#ifdef _DEBUG_DISCHARGE
printf("Bst Close\r\n");
@@ -123,11 +123,11 @@ void DisCharge_Handler(void)
/*放电过流保护 --- 硬件实现*/
#if 0
- gBoost_Prepared_Flag = 1;
+ gBoost_Prepared_Flag = TRUE;
#else
- gBoost_Prepared_Flag = 0;
+ gBoost_Prepared_Flag = FALSE;
/*过温保护 --- 硬件实现*/
if( pmu_Info.pmu_Fault_STA2 & Fault_Sta2_CHIP_OTP )
@@ -138,7 +138,7 @@ void DisCharge_Handler(void)
/*Boost Input UVLO 硬件实现*/
if( pmu_Info.pmu_Fault_STA2 & Fault_Sta2_BoostUV )
{
- gBoost_UVLO_Flag = 1;
+ gBoost_UVLO_Flag = TRUE;
return;
}
@@ -178,16 +178,16 @@ void DisCharge_Handler(void)
Set_PMU_Boost(OFF);
- Boost_NTC_Pro_Flag = 1;
+ Boost_NTC_Pro_Flag = TRUE;
return;
}
- Boost_NTC_Pro_Flag = 0;
+ Boost_NTC_Pro_Flag = FALSE;
#endif
- gBoost_Prepared_Flag = 1;
+ gBoost_Prepared_Flag = TRUE;
/*
VIN 存在时,Boost 在电池电压高于 UVLO(硬件关闭 2.8/3.0V,硬件清 boost 使能。开
@@ -201,13 +201,13 @@ void DisCharge_Handler(void)
{
if( Vbat_Adc >= OPEN_BOOST_VIN )
{
- gBoost_Prepared_Flag = 1;
+ gBoost_Prepared_Flag = TRUE;
- gBoost_UVLO_Flag = 0;
+ gBoost_UVLO_Flag = FALSE;
}
else
{
- gBoost_Prepared_Flag = 0; //Boost Disable
+ gBoost_Prepared_Flag = FALSE;
}
}
}
diff --git a/UsrSrc/display/display_ui.c b/UsrSrc/display/display_ui.c
index fd61eaf..1aa8ed0 100644
--- a/UsrSrc/display/display_ui.c
+++ b/UsrSrc/display/display_ui.c
@@ -118,7 +118,7 @@ uint8_t Breathing_Light_Cnt; //
if( LED_On_Flag )
{
- LED_On_Flag = 0;
+ LED_On_Flag = FALSE;
LED_On_Timer = 0;
@@ -127,7 +127,7 @@ uint8_t Breathing_Light_Cnt; //
Display_AllOff();
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
return;
}
@@ -138,9 +138,9 @@ uint8_t Breathing_Light_Cnt; //
{
if( !LED_On_Flag1 )
{
- LED_On_Flag1 = 1;
+ LED_On_Flag1 = TRUE;
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
}
else
{
@@ -171,17 +171,17 @@ uint8_t Breathing_Light_Cnt; //
/* 保护消失后,需要开启5V升压一段时间。 */
if( LED_On_Flag1 )
{
- LED_On_Flag1 = 0;
-
- LED_On_ChgDone_Flag = 0;
-
- LED_On_Chg_Flag = 0;
-
- CoverEvent_Flg_led = 0;
-
- Earphone_Chg_Flag_led = 0;
-
- Wkup_Earphone_Flag = 1;
+ LED_On_Flag1 = FALSE;
+
+ LED_On_ChgDone_Flag = FALSE;
+
+ LED_On_Chg_Flag = FALSE;
+
+ CoverEvent_Flg_led = FALSE;
+
+ Earphone_Chg_Flag_led = FALSE;
+
+ Wkup_Earphone_Flag = TRUE;
}
#endif
@@ -192,9 +192,9 @@ uint8_t Breathing_Light_Cnt; //
{
if( !LED_On_ChgDone_Flag )
{
- LED_On_ChgDone_Flag = 1;
-
- LED_On_Chg_Flag = 0;
+ LED_On_ChgDone_Flag = TRUE;
+
+ LED_On_Chg_Flag = FALSE;
LED_Breating_Light_Off();
@@ -207,13 +207,14 @@ uint8_t Breathing_Light_Cnt; //
{
if( !LED_On_Chg_Flag )
{
- LED_On_Chg_Flag = 1;
-
- LED_On_ChgDone_Flag = 0;
-
- LED_On_Flag = 1;
-
- Breathing_Light_Cnt = LED_R;
+ LED_On_Chg_Flag = TRUE;
+
+ LED_On_ChgDone_Flag = FALSE;
+
+ LED_On_Flag = TRUE;
+#ifdef PWM_ENABLE
+ Breathing_Light_Cnt = LED_R;
+#endif
}
else
{
@@ -284,25 +285,25 @@ uint8_t Breathing_Light_Cnt; //
}
}
- CoverEvent_Flg_led = 0;
-
- Earphone_Chg_Flag_led = 0;
-
- Key_Press_short_irq_led = 0;
-
- Disp_Bat_Lev = 1;
+ CoverEvent_Flg_led = FALSE;
+
+ Earphone_Chg_Flag_led = FALSE;
+
+ Key_Press_short_irq_led = FALSE;
+
+ Disp_Bat_Lev = TRUE;
}
else
{
if( LED_On_Chg_Flag )
{
- LED_On_Chg_Flag = 0;
+ LED_On_Chg_Flag = FALSE;
LED_Breating_Light_Off();
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
- Wkup_Earphone_Flag = 1;
+ Wkup_Earphone_Flag = TRUE;
return;
}
@@ -352,13 +353,13 @@ uint8_t Breathing_Light_Cnt; //
}
else
{
- CoverEvent_Flg_led = 0;
-
- Disp_Bat_Lev = 0;
-
- Earphone_Chg_Flag_led = 0;
-
- Key_Press_short_irq_led = 0;
+ CoverEvent_Flg_led = FALSE;
+
+ Disp_Bat_Lev = FALSE;
+
+ Earphone_Chg_Flag_led = FALSE;
+
+ Key_Press_short_irq_led = FALSE;
Display_AllOff(); //清LED显示
}
diff --git a/UsrSrc/hall/hall.c b/UsrSrc/hall/hall.c
index ff12027..c869dc6 100644
--- a/UsrSrc/hall/hall.c
+++ b/UsrSrc/hall/hall.c
@@ -104,20 +104,20 @@ uint8_t Hall_Sta_bk;
#endif
}
- CoverEvent_Flg = 1;
+ CoverEvent_Flg = TRUE;
- Boost_Open_Flag = 0;
+ Boost_Open_Flag = FALSE;
- CoverEvent_Flg_led = 1;
+ CoverEvent_Flg_led = TRUE;
#ifdef LED_DISPLAY
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
#endif
Hall_Sta_bk = Hall_Sta;
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
}
diff --git a/UsrSrc/i2c_simu/i2c_simu.c b/UsrSrc/i2c_simu/i2c_simu.c
index 26f742f..72a95c4 100644
--- a/UsrSrc/i2c_simu/i2c_simu.c
+++ b/UsrSrc/i2c_simu/i2c_simu.c
@@ -29,8 +29,8 @@
Variables definitions
\******************************************************************************/
-idata bool F_I2C_SIMU_INIT;
-idata bool F_I2C_SIMU_ERROR;
+ bool F_I2C_SIMU_INIT;
+ bool F_I2C_SIMU_ERROR;
/******************************************************************************\
Functions definitions
diff --git a/UsrSrc/key/key.c b/UsrSrc/key/key.c
index f2c40e2..69a9457 100644
--- a/UsrSrc/key/key.c
+++ b/UsrSrc/key/key.c
@@ -60,7 +60,7 @@ bit Key_Press_l_irq;
bit Key_Press_ll_irq;
-idata KEY_EVENT_E Event_key;
+KEY_EVENT_E Event_key;
uint8_t Key_TWS_Pair_Tim;
@@ -107,7 +107,7 @@ uint8_t Key_Lift_Debounce;
Key_Press_Debounce++;
if( Key_Press_Debounce >= KEY_PRESS_8S_CNT ) //长按8s,VOX掉电
{
- Key_Press_ll_irq = 1;
+ Key_Press_ll_irq = TRUE;
#ifdef _DEBUG_KEY
printf("supper long 8s press.(line:%d)\r\n",(u16)__LINE__);
#endif
@@ -117,38 +117,38 @@ uint8_t Key_Lift_Debounce;
{
if( !nKey_Press_2s_Flag )
{
- nKey_Press_2s_Flag = 1;
+ nKey_Press_2s_Flag = TRUE;
}
}
- Key_Press_Flag = 1;
+ Key_Press_Flag = TRUE;
- Key_Lift_Flag = 0;
+ Key_Lift_Flag = FALSE;
}
else
{
if( Key_Press_Flag )
{
#if SLEEP_ENABLE
-
- Enter_Sleep_Cnt_Restart_Flag = 1;
+
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
Event_key = KEY_EVENT_Empty;
- Key_Press_Flag = 0;
+ Key_Press_Flag = FALSE;
- Key_Lift_Flag = 1;
+ Key_Lift_Flag = TRUE;
Key_Lift_Debounce = 0;
if( (Key_Press_Debounce <= KEY_PRESS_500MS_CNT) ) //松开按键,按下时间小于500ms,则识别为短按,显示电量
{
- Key_Press_short_irq_led = 1;
+ Key_Press_short_irq_led = TRUE;
- nKey_Press_short_irq = 1;
+ nKey_Press_short_irq = TRUE;
#ifdef LED_DISPLAY
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
#endif
}
else
@@ -156,11 +156,11 @@ uint8_t Key_Lift_Debounce;
{
if( nKey_Press_2s_Flag )
{
- Key_Press_l_irq = 1;
+ Key_Press_l_irq = TRUE;
}
}
- nKey_Press_2s_Flag = 0;
+ nKey_Press_2s_Flag = FALSE;
#ifdef _DEBUG_KEY
printf("Key lift(line:%d).\r\n",(u16)__LINE__);
@@ -180,15 +180,25 @@ uint8_t Key_Lift_Debounce;
Set_PMU_Boost(ON);
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
#ifdef _DEBUG_KEY
printf("Boost Open Key.(line:%d)\r\n",(u16)__LINE__);
#endif
return;
}
-
- VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ Vol_State = VOX_GET_INTO_BOX;
+
+ Vor_State = VOX_GET_INTO_BOX;
+#else
+ VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
+#endif
+
+#endif
if( Key_Lift_Debounce <= KEY_LIFT_CNT )
{
@@ -197,17 +207,17 @@ uint8_t Key_Lift_Debounce;
return;
}
- Key_Press_l_irq = 0;
+ Key_Press_l_irq = FALSE;
/*todo*/
Event_key = KEY_EVENT_L_2S;
Key_TWS_Pair_Tim = 0;
-
+#ifdef VOX_TX
/*耳机配对*/
Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00;
Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00;
-
+#endif
#ifdef _DEBUG_KEY
printf("long 2s press\r\n");
#endif
@@ -221,14 +231,25 @@ uint8_t Key_Lift_Debounce;
Set_PMU_Boost(ON);
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
#ifdef _DEBUG_KEY
printf("Boost Open Key.(line:%d)\r\n",(u16)__LINE__);
#endif
return;
}
- VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ Vol_State = VOX_GET_INTO_BOX;
+
+ Vor_State = VOX_GET_INTO_BOX;
+#else
+ VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
+#endif
+
+#endif
if( Key_Lift_Debounce <= KEY_LIFT_CNT )
{
@@ -237,7 +258,7 @@ uint8_t Key_Lift_Debounce;
return;
}
- Key_Press_ll_irq = 0;
+ Key_Press_ll_irq = FALSE;
Key_TWS_Clear_Pair_Tim = 0;
/*todo*/
@@ -250,7 +271,7 @@ uint8_t Key_Lift_Debounce;
if( nKey_Press_short_irq )
{
- nKey_Press_short_irq = 0;
+ nKey_Press_short_irq = FALSE;
/*todo*/
// Event_key = KEY_EVENT_SHORT;
@@ -260,12 +281,12 @@ uint8_t Key_Lift_Debounce;
#endif
}
- Key_Lift_Flag = 0;
+ Key_Lift_Flag = FALSE;
- Boost_Open_Flag = 0;
+ Boost_Open_Flag = FALSE;
}
-#if 1
+#ifdef VOX_TX
if ( CoverStatus == OPEN )
{
if( Event_key == KEY_EVENT_L_2S ) //长按2s,充电仓发送配对指令。
@@ -303,10 +324,20 @@ uint8_t Key_Lift_Debounce;
#endif
Event_key = KEY_EVENT_Empty;
- OpenCover_TX_Cmd_Flag = 1;
-#if VOX_ENABLE
- VOX_EN_Type(VOX_ADT_Mode);
+ OpenCover_TX_Cmd_Flag = TRUE;
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ Vol_State = VOX_GET_INTO_BOX;
+
+ Vor_State = VOX_GET_INTO_BOX;
+#else
+ VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
#endif
+
+#endif
+
#ifdef _DEBUG_KEY
printf("Key Pair TimeOut(line:%d).\r\n",(uint16_t)__LINE__);
#endif
@@ -359,9 +390,20 @@ uint8_t Key_Lift_Debounce;
Event_key = KEY_EVENT_Empty;
- OpenCover_TX_Cmd_Flag = 1;
-
- VOX_EN_Type(VOX_ADT_Mode);
+ OpenCover_TX_Cmd_Flag = TRUE;
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ Vol_State = VOX_NONE_IN_BOX;
+
+ Vor_State = VOX_NONE_IN_BOX;
+#else
+ VOX_EN_Type(VOX_ADT_Mode); //VOX Enable 5V
+#endif
+
+#endif
+
#ifdef _DEBUG_KEY
printf("Key Pair Get VOL(line:%d).\r\n",(uint16_t)__LINE__);
#endif
@@ -438,11 +480,23 @@ uint8_t Key_Lift_Debounce;
{
Event_key = KEY_EVENT_Empty;
- OpenCover_TX_Cmd_Flag = 1;
+ OpenCover_TX_Cmd_Flag = TRUE;
Key_TWS_Clear_Pair_Tim = 0;
- VOX_EN_Type(VOX_ADT_Mode);
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ Vol_State = VOX_NONE_IN_BOX;
+
+ Vor_State = VOX_NONE_IN_BOX;
+#else
+ VOX_EN_Type(VOX_ADT_Mode); //VOX Enable 5V
+#endif
+
+#endif
+
}
}
}
diff --git a/UsrSrc/led/led.c b/UsrSrc/led/led.c
index 3dd44a5..7fe797b 100644
--- a/UsrSrc/led/led.c
+++ b/UsrSrc/led/led.c
@@ -201,6 +201,7 @@ void LED_Drv(void)
/******************************************************************************/
{
uint8_t i = 0;
+
static bit PWM_Dir_Flag;
for(i = 0;i < LED_ID_MAX;i++)
@@ -262,7 +263,9 @@ void LED_Drv(void)
if( LED.Light_Dir[i] == SHOW_NONE )
{
PWM_Disable(i);
- PWM_Dir_Flag = 0;
+
+ PWM_Dir_Flag = FALSE;
+
LED.State[i] = LED_OFF;
}
else
@@ -271,7 +274,7 @@ void LED_Drv(void)
{
if( !PWM_Dir_Flag )
{
- PWM_Dir_Flag = 1;
+ PWM_Dir_Flag = TRUE;
LED.Flash_Duty[i] = PWM_REL_VALUE;
}
@@ -287,7 +290,7 @@ void LED_Drv(void)
{
if( !PWM_Dir_Flag )
{
- PWM_Dir_Flag = 1;
+ PWM_Dir_Flag = TRUE;
LED.Flash_Duty[i] = PWM_REL_FULL;
}
@@ -303,12 +306,12 @@ void LED_Drv(void)
{
if( LED.Flash_Duty[i] >= PWM_REL_FULL )
{
- PWM_Dir_Flag = 1;
+ PWM_Dir_Flag = TRUE;
}
else
if( LED.Flash_Duty[i] <= (PWM_REL_VALUE + 1) )
{
- PWM_Dir_Flag = 0;
+ PWM_Dir_Flag = FALSE;
}
if(PWM_Dir_Flag)
diff --git a/UsrSrc/main.c b/UsrSrc/main.c
index 0d3e928..a22c0f0 100644
--- a/UsrSrc/main.c
+++ b/UsrSrc/main.c
@@ -48,7 +48,7 @@ void main(void )
#ifdef _DEBUG_MAIN
- printf("System Init.Ver:%2x%2x%2x\r\n",(uint16_t)FW_VER0, (uint16_t)FW_VER1, (uint16_t)FW_VER2);
+ printf("System Init.Ver:%02x%02x%02x\r\n",(uint16_t)FW_VER0, (uint16_t)FW_VER1, (uint16_t)FW_VER2);
#endif
diff --git a/UsrSrc/pmu/pmu.c b/UsrSrc/pmu/pmu.c
index 19f3983..134ee4f 100644
--- a/UsrSrc/pmu/pmu.c
+++ b/UsrSrc/pmu/pmu.c
@@ -31,7 +31,7 @@
Variables definitions
\******************************************************************************/
-g_PMU_Info xdata pmu_Info; //pmu状态信息
+g_PMU_Info pmu_Info; //pmu状态信息
#if 0
g_PMU_Sys_Cfg pmu_Sys_Cfg;
diff --git a/UsrSrc/sleep/sleep.c b/UsrSrc/sleep/sleep.c
index 4ee66e0..43f07a4 100644
--- a/UsrSrc/sleep/sleep.c
+++ b/UsrSrc/sleep/sleep.c
@@ -254,12 +254,24 @@ void Enter_Sleep(void)
*/
bit Check_Require_Sleep(void )
{
+#ifdef VOX_ADT_ENABLE
+ if( ( ChgStatus > CHG_PROTECT ) || ( ON == Vol_Vout_Enable ) || ( ON == Vor_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*充电中、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
+#else
if( ( ChgStatus > CHG_PROTECT ) || ( ON == Vox_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*充电中、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
+#endif
{
+
+#ifdef VOX_ADT_ENABLE
+#ifdef _DEBUG_SLEEP
+ printf("Not Get Into Sleep(ChgStatus:%d,Vol_Vout:%d,Vor_Vout:%d,Restart_Flag:%d).\r\n",(uint16_t)ChgStatus,(uint16_t)Vol_Vout_Enable,(uint16_t)Vor_Vout_Enable,(uint16_t)Enter_Sleep_Cnt_Restart_Flag);
+#endif
+#else
#ifdef _DEBUG_SLEEP
printf("Not Get Into Sleep(ChgStatus:%d,Vox_Vout:%d,Restart_Flag:%d).\r\n",(uint16_t)ChgStatus,(uint16_t)Vox_Vout_Enable,(uint16_t)Enter_Sleep_Cnt_Restart_Flag);
#endif
- Enter_Sleep_Cnt_Restart_Flag = 0;
+#endif
+ Enter_Sleep_Cnt_Restart_Flag = FALSE;
+
/*处理对应的保护和中断唤醒事件。*/
return false;
}
diff --git a/UsrSrc/system/system.c b/UsrSrc/system/system.c
index 271b257..6c23f8b 100644
--- a/UsrSrc/system/system.c
+++ b/UsrSrc/system/system.c
@@ -115,7 +115,7 @@ void System_Init(void)
#ifdef PWM_ENABLE
PWM_Init_Set(PWM_CLKFRE_SET,PWM_RELOAD_SET);
-#endif
+#endif
#ifdef LED_DISPLAY
LED_Init();
@@ -131,6 +131,15 @@ void System_Init(void)
Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
Systerm_State.Next_State = POWER_ON_STATE;
+
+ Boost_Open_Flag = FALSE;
+#ifdef VOX_ADT_ENABLE
+
+ Vol_GetOut_Box_Flag = TRUE;
+
+ Vor_GetOut_Box_Flag = TRUE;
+
+#endif
}
/*
@@ -153,7 +162,7 @@ void EX0_isr(void) interrupt Interrupt_Vector_IE0
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
diff --git a/UsrSrc/timer/sys_tim.c b/UsrSrc/timer/sys_tim.c
index 2dc9eb6..64b04ea 100644
--- a/UsrSrc/timer/sys_tim.c
+++ b/UsrSrc/timer/sys_tim.c
@@ -87,24 +87,24 @@ void Sys_Tim0_Handler(void)
return;
F_sys_tim_tick = 0;
//system tick
- F_sys_tim_1ms = 1;
+ F_sys_tim_1ms = TRUE;
//---------------5ms----------------------------------------
cnt_sys_tim_5ms++;
if(cnt_sys_tim_5ms >= 5)
{
cnt_sys_tim_5ms = 0;
- F_sys_tim_5ms = 1;
+
+ F_sys_tim_5ms = TRUE;
}
//---------------10ms----------------------------------------
cnt_sys_tim_10ms++;
if(cnt_sys_tim_10ms >= 10)
{
- cnt_sys_tim_10ms = 0;
-
- F_sys_tim_10ms = 1;
+ cnt_sys_tim_10ms = 0;
+ F_sys_tim_10ms = TRUE;
}
//---------------100ms----------------------------------------
@@ -112,7 +112,8 @@ void Sys_Tim0_Handler(void)
if(cnt_sys_tim_100ms >= 100)
{
cnt_sys_tim_100ms = 0;
- F_sys_tim_100ms = 1;
+
+ F_sys_tim_100ms = TRUE;
}
//-------------------------------------------------
@@ -120,14 +121,16 @@ void Sys_Tim0_Handler(void)
if(cnt_sys_tim_250ms>=250)
{
cnt_sys_tim_250ms = 0;
- F_sys_tim_250ms = 1;
+
+ F_sys_tim_250ms = TRUE;
//-----------------250ms-------------------------
cnt_sys_tim_1s++;
if(cnt_sys_tim_1s >= 4)
{
cnt_sys_tim_1s = 0;
- F_sys_tim_1s = 1;
+
+ F_sys_tim_1s = TRUE;
}
}
}
@@ -173,8 +176,7 @@ void tim0_Interrupt(void) interrupt Interrupt_Vector_TF0 //interrupt address is
TH0 += C_TIM0_Reload >> 8;
TL0 += C_TIM0_Reload & 0xFF;
- F_sys_tim_tick = 1;
-
+ F_sys_tim_tick = TRUE;
}
/*
@@ -220,8 +222,7 @@ void tim1_Interrupt(void) interrupt Interrupt_Vector_TF1//interrupt address is
TH1 += C_TIM1_Reload >> 8;
TL1 += C_TIM1_Reload & 0xFF;
- F_sys_tim1_tick = 1;
-
+ F_sys_tim1_tick = TRUE;
}
/*
diff --git a/UsrSrc/uart/uart.c b/UsrSrc/uart/uart.c
index 407da78..93eac40 100644
--- a/UsrSrc/uart/uart.c
+++ b/UsrSrc/uart/uart.c
@@ -44,7 +44,7 @@ bit busy0;
#if UART0_ENABLE
-idata uint8_t RX0_Buffer[COM0_Data_Lenth]; //接收缓冲
+uint8_t RX0_Buffer[COM0_Data_Lenth]; //接收缓冲
bit Uart0_RX_Finish_Flag;
@@ -52,7 +52,7 @@ bit Uart0_RX_Finish_Flag;
#if UART1_ENABLE
-idata uint8_t RX1_Buffer[COM0_Data_Lenth]; //接收缓冲
+uint8_t RX1_Buffer[COM0_Data_Lenth]; //接收缓冲
bit Uart1_RX_Finish_Flag;
@@ -146,7 +146,7 @@ void Uart0SendPacket(uint16_t Length,uint8_t *TransBuf)
{
while(busy0);
- busy0 = 1;
+ busy0 = TRUE;
S0BUF = *TransBuf++;
}
@@ -157,6 +157,8 @@ void Uart0SendPacket(uint16_t Length,uint8_t *TransBuf)
#endif
+#ifdef VOX_RX
+
uint8_t Rx0Status;
uint8_t RX0_Cnt;
@@ -178,7 +180,7 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
if(TI0)
{
TI0 = 0;
- busy0 = 0;
+ busy0 = FALSE;
}
/*处理UART0接收中断*/
@@ -187,7 +189,7 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
RI0 = 0;
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
#ifdef VOX_RX
@@ -229,7 +231,7 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
Rx0Status = 0;
- Uart0_RX_Finish_Flag = 1;
+ Uart0_RX_Finish_Flag = TRUE;
}
}
@@ -284,7 +286,7 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
Rx0Status = 0;
- Uart0_RX_Finish_Flag = 1;
+ Uart0_RX_Finish_Flag = TRUE;
}
}
@@ -301,6 +303,8 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
#endif
+#endif
+
#if UART1_ENABLE
bit busy1;
@@ -364,7 +368,7 @@ void Uart1SendPacket(uint16_t Length,uint8_t *TransBuf)
{
while(busy1);
//ACC = *TransBuf++;
- busy1 = 1;
+ busy1 = TRUE;
S1BUF = *TransBuf++;
}
@@ -406,7 +410,7 @@ void uart1_Interrupt(void) interrupt Interrupt_Vector_RI1_TI1
if(S1CON & 0x02) //TI1 = 1
{
S1CON &= ~0x02; //TI1 = 0
- busy1 = 0;
+ busy1 = FALSE;
}
/*处理UART1接收中断*/
@@ -415,7 +419,7 @@ void uart1_Interrupt(void) interrupt Interrupt_Vector_RI1_TI1
S1CON &= ~0x01;
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
#ifdef VOX_RX
@@ -528,7 +532,7 @@ void Uart2SendData(uint8_t Txdata)
{
while(busy2);
- busy2 = 1;
+ busy2 = TRUE;
S2BUF = Txdata;
@@ -588,7 +592,7 @@ void uart2_Interrupt(void) interrupt Interrupt_Vector_IE8
if(S2CON & 0x02) //TI2 = 1
{
S2CON &= ~0x02; //TI2 = 0
- busy2 = 0;
+ busy2 = FALSE;
}
/*处理UART1接收中断*/
diff --git a/UsrSrc/userapp/userapp.c b/UsrSrc/userapp/userapp.c
index c860d5f..f67b0cf 100644
--- a/UsrSrc/userapp/userapp.c
+++ b/UsrSrc/userapp/userapp.c
@@ -42,7 +42,7 @@
Variables definitions
\******************************************************************************/
-xdata s_sys_state Systerm_State = {SLEEP_STATE,AWAKE_STATE,AWAKE_STATE};
+s_sys_state Systerm_State = {SLEEP_STATE,AWAKE_STATE,AWAKE_STATE};
uint8_t Step_Cnt;
@@ -115,7 +115,7 @@ void System_Drivers_Machine(void)
if ( F_sys_tim_100ms )
{
- F_sys_tim_100ms = 0;
+ F_sys_tim_100ms = FALSE;
#if CHARGER_ENABLE
Charger_Handler();
@@ -134,7 +134,43 @@ void System_Drivers_Machine(void)
#endif
#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ /*Vox 过流保护,两只耳机都每隔200ms打嗝一次*/
+ if( pmu_Info.pmu_Fault_STA2 & ( Fault_Sta2_VorOCP | Fault_Sta2_VolOCP ) )
+ {
+ Vox_Output_Short_Flag = TRUE;
+ }
+ else
+ {
+ Vox_Output_Short_Flag = FALSE;
+
+#if VOX_ENABLE
+ Vol_Det_Machine(); //耳机入盒自动识别充电处理
+
+ Vor_Det_Machine();
+#endif
+
+#if VOX_FOLLOW_CHG
+
+ if( !Vol_GetOut_Box_Flag || !Vor_GetOut_Box_Flag )
+ {
+ if ( Vox_Fllow_Chg.Vox_Follow_Stop == OFF )
+ {
+ Vox_Follow_Chg( &Vox_Fllow_Chg ); //跟随充处理。
+ }
+ }
+
+#endif
+ }
+
+#else
+
Vox_Det_Machine();
+
+#endif
+
#endif
}
}
@@ -272,7 +308,7 @@ void SysTem_State_Machine(void)
if(F_sys_tim_1s)
{
- F_sys_tim_1s = 0;
+ F_sys_tim_1s = FALSE;
#ifdef _DEBUG_MAIN
@@ -291,7 +327,7 @@ void SysTem_State_Machine(void)
if(Enter_Sleep_Cnt_Restart_Flag)
{
- Enter_Sleep_Cnt_Restart_Flag = 0;
+ Enter_Sleep_Cnt_Restart_Flag = FALSE;
Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
#ifdef _DEBUG_MAIN
@@ -325,8 +361,18 @@ void SysTem_State_Machine(void)
if(Check_Require_Sleep())
{
- VOX_EN_Type(VOX_ADT_Mode);
-
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ VOL_EN_Type(VOX_ADT_Mode);
+
+ VOR_EN_Type(VOX_ADT_Mode);
+#else
+ VOX_EN_Type(VOX_ADT_Mode); //VOX Enable 5V
+#endif
+
+#endif
Set_PMU_Boost(OFF);
Set_PMU_StandbyMode_Set(OFF); //关闭LDO
@@ -340,7 +386,21 @@ void SysTem_State_Machine(void)
#else
Systerm_State.Next_State = AWAKE_STATE;
-
+#if VOX_ENABLE
+
+#ifdef VOX_ADT_ENABLE
+
+ VOL_EN_Type(VOX_ADT_Mode);
+
+ VOR_EN_Type(VOX_ADT_Mode);
+#else
+ VOX_EN_Type(VOX_ADT_Mode); //VOX Enable 5V
+#endif
+
+#endif
+ Set_PMU_Boost(OFF);
+
+ Set_PMU_StandbyMode_Set(OFF); //关闭LDO
#endif
break;
@@ -363,7 +423,7 @@ void UserAPP(void)
{
if(F_sys_tim_5ms)
{
- F_sys_tim_5ms = 0;
+ F_sys_tim_5ms = FALSE;
switch( Step_Cnt++ )
{
@@ -395,7 +455,7 @@ void UserAPP(void)
if ( F_sys_tim_10ms )
{
- F_sys_tim_10ms = 0;
+ F_sys_tim_10ms = FALSE;
#ifdef LED_DISPLAY
LED_Drv();
diff --git a/UsrSrc/vox/vox_module.c b/UsrSrc/vox/vox_module.c
index 611b4f6..42fd68a 100644
--- a/UsrSrc/vox/vox_module.c
+++ b/UsrSrc/vox/vox_module.c
@@ -30,12 +30,20 @@
#include "adc.h"
#include "userapp.h"
-bit Vox_Vout_Enable; //Vox功率输出标志位
+#ifdef VOX_COVER_ENABLE
+
+bit Vox_Vout_Enable; //Vox功率输出标志位
+
+#else
+
+bit Vor_Vout_Enable; //Vor功率输出标志位
+
+bit Vol_Vout_Enable; //Vol功率输出标志位
+
+#endif
bit Boost_Open_Flag;
-uint8_t Vox_Type;
-
bit Vox_Output_Short_Flag;
#if VOX_ENABLE
@@ -44,7 +52,10 @@ bit Vox_Output_Short_Flag;
Macro definitions
\******************************************************************************/
/*100ms调用周期*/
-
+#define KEY_TWS_PAIR_TIMER 2
+
+#define KEY_TWS_PAIR_CNT 6
+
#define Vox_COM_MSG_Tim 20
#define MAX_PACKET_SIZE 0x20
@@ -63,9 +74,9 @@ bit Vox_Output_Short_Flag;
uint8_t Vox_Follow_Init_Deb;
-xdata uint16_t Vox_Follow_Chg_Debounce;
+uint16_t Vox_Follow_Chg_Debounce;
-g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg;
+g_Vox_Fllow_Chg_Cfg idata Vox_Fllow_Chg;
e_Vox_Follow_Chg_Sta Follow_Chg_Sta;
@@ -73,8 +84,8 @@ e_Vox_Follow_Chg_Sta Follow_Chg_Sta;
#ifdef VOX_RX
-xdata uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
-xdata uint8_t Vox_Get_BES_Addr_Flag[2];
+uint8_t Vox_Get_Vbat_Flag[2]; //耳机配对状态,VOL:低4bit;VOR:高4bit。0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
+uint8_t Vox_Get_BES_Addr_Flag[2];
//idata uint8_t BES_Addr[6] = {0}; //蓝牙耳机地址,Vox_Bes_Addr[0][6]:VOL;Vox_Bes_Addr[1][6]:VOR
#endif
@@ -84,58 +95,60 @@ uint8_t EarPhone_Num;
#endif
bit OpenCover_TX_Cmd_Flag;
-
-#define KEY_TWS_PAIR_TIMER 2
-#define KEY_TWS_PAIR_CNT 6
+#if 0
#if XUANHENG
-xdata uint8_t Vox_Pairing_State[2]; //耳机配对状态,0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
-
-xdata uint8_t Vox_Set_BES_Addr_Flag[2];
+uint8_t Vox_Pairing_State[2]; //耳机配对状态,0是无效,1是正在配对,2是配对成功,3不处理,保持当前状态。
+
+uint8_t Vox_Set_BES_Addr_Flag[2];
-xdata uint8_t BES_Addr[6]; //蓝牙耳机地址,Vox_Bes_Addr[0][6]:VOL;Vox_Bes_Addr[1][6]:VOR
+uint8_t BES_Addr[6]; //蓝牙耳机地址,Vox_Bes_Addr[0][6]:VOL;Vox_Bes_Addr[1][6]:VOR
-xdata uint8_t Random_Data[8];
+uint8_t Random_Data[8];
-xdata uint8_t Bes_Bet_Level[2]; //对耳电池电量信息,Bes_Bet_Level[0]:左耳;Bes_Bet_Level[1]:右耳
+uint8_t Bes_Bet_Level[2]; //对耳电池电量信息,Bes_Bet_Level[0]:左耳;Bes_Bet_Level[1]:右耳
-xdata uint8_t Bes_Chg_Full[2]; //对耳硬件是否满电:0非满电;1:满电。
+uint8_t Bes_Chg_Full[2]; //对耳硬件是否满电:0非满电;1:满电。
-xdata uint8_t Tws_Paired_Record[2]; //TWS配对记录;0:有TWS配对记录;1:没有TWS配对记录;
+uint8_t Tws_Paired_Record[2]; //TWS配对记录;0:有TWS配对记录;1:没有TWS配对记录;
-xdata uint8_t Phone_Paired_Record[2]; //手机配对记录;0:有与手机配对记录;1:没有和手机配对记录。
+uint8_t Phone_Paired_Record[2]; //手机配对记录;0:有与手机配对记录;1:没有和手机配对记录。
-xdata uint8_t Bes_OTA_State[2]; //耳机静默升级状态;1:有;0:没有
+uint8_t Bes_OTA_State[2]; //耳机静默升级状态;1:有;0:没有
-xdata uint8_t Bes_Set_SN_State[2]; //耳机应答仓写入SN是否成功。1:成功;0:失败
+uint8_t Bes_Set_SN_State[2]; //耳机应答仓写入SN是否成功。1:成功;0:失败
-xdata uint8_t Bes_In_Pair_State[2]; //耳机进入配对状态标志位
+uint8_t Bes_In_Pair_State[2]; //耳机进入配对状态标志位
-xdata uint8_t Vox_Clear_Pair_Flag[2];
+uint8_t Vox_Clear_Pair_Flag[2];
bit Vol_Bes_Addr_Flag;
bit Vor_Bes_Addr_Flag;
-xdata uint8_t SN_Num[22]; //SN码,需要从OTP的固定位置获取。
+uint8_t SN_Num[22]; //SN码,需要从OTP的固定位置获取。
-xdata uint8_t SN_Num_Start; //SN码发送起始位置,有开盖动作时清零。
+uint8_t SN_Num_Start; //SN码发送起始位置,有开盖动作时清零。
bit gShip_Mode_Flag; //船运模式标志位:0:正常关机;1:船运模式
-#else
+#elif JIELI
-xdata uint8_t Net_Info[2][13];
+uint8_t Vox_Type;
-xdata uint8_t MAC_Addr[2][18];
+uint8_t Net_Info[2][13];
-xdata uint8_t Earphone_Vbat[2]; //对耳电量
+uint8_t MAC_Addr[2][18];
+
+uint8_t Earphone_Vbat[2]; //对耳电量
+
+#endif
#endif
/******************************************************************************\
Functions definitions
\******************************************************************************/
-#if 0
+#ifdef VOX_ADT_ENABLE
/*
*******************************************************************************
* uint8_t VOL_EN_Type(VOL_Enable_Type_e VOL_Enable_Type)
@@ -177,7 +190,7 @@ xdata uint8_t Earphone_Vbat[2]; //
VOX_Confg |= VOX_COM_PULL_UP_SET | VOX_PULL_UP_VOLTAGE_SET | VOX_COM_VOLTAGE_SET;
- Bst_VOX_Comm_EN |= BST_COMM_EN_Vol_Comm_En;
+ Bst_VOX_Comm_EN |= BST_COMM_EN_Gate_Ctrl | BST_COMM_EN_Vol_Comm_En;
break;
@@ -218,6 +231,10 @@ xdata uint8_t Earphone_Vbat[2]; //
I2cSfr_Write( BST_COMM_EN, Bst_VOX_Comm_EN );
I2cSfr_Write( VOX_CFG, VOX_Confg );
+
+#ifdef _DEBUG_VOX
+// printf("Vol Bst_VOX_Comm_EN:0x%x,VOX_Confg:0x%x(line:%d).\r\n",(uint16_t)Bst_VOX_Comm_EN, (uint16_t)VOX_Confg,(uint16_t)__LINE__);
+#endif
}
/*
@@ -261,7 +278,7 @@ xdata uint8_t Earphone_Vbat[2]; //
VOX_Confg |= VOX_COM_PULL_UP_SET | VOX_PULL_UP_VOLTAGE_SET | VOX_COM_VOLTAGE_SET;
- Bst_VOX_Comm_EN |= BST_COMM_EN_Vor_Comm_En;
+ Bst_VOX_Comm_EN |= BST_COMM_EN_Gate_Ctrl | BST_COMM_EN_Vor_Comm_En;
break;
@@ -302,6 +319,10 @@ xdata uint8_t Earphone_Vbat[2]; //
I2cSfr_Write( BST_COMM_EN, Bst_VOX_Comm_EN );
I2cSfr_Write( VOX_CFG, VOX_Confg );
+
+#ifdef _DEBUG_VOX
+// printf("Vor Bst_VOX_Comm_EN:0x%x,VOX_Confg:0x%x(line:%d).\r\n",(uint16_t)Bst_VOX_Comm_EN, (uint16_t)VOX_Confg,(uint16_t)__LINE__);
+#endif
}
#else
@@ -389,6 +410,554 @@ xdata uint8_t Earphone_Vbat[2]; //
}
#endif
+
+#ifdef VOX_ADT_ENABLE
+
+#define VOX_LOADON_DET_DEBOUNCE 2 //Vox Loadon信号检测延时计数,loadon信号软件数字滤波,根据实际耳机进行调试;
+
+#define VOX_NO_LOADON_CNT 5 //耳机充满后,断内部下拉电阻延时计数,根据实际应用调整。
+
+#define VOX_IOFF_DET_DEBOUNCE 50 //Vox Ioff检测延时5s,重载转轻载延时计数。
+
+Vox_State_e Vol_State;
+
+bit Vol_GetOut_Box_Flag; //Vol 出盒标志,用于耳机抽电灯效。
+/*
+*******************************************************************************
+* void Vol_Det_Machine(void)
+*
+* Description : Vol Detect:耳机识别。 (100ms调用周期)
+*
+* Arguments : NONE
+
+* Returns : NONE
+
+* Notes : NONE
+*
+*******************************************************************************
+*/
+
+void Vol_Det_Machine(void)
+{
+ static uint8_t nVol_Loadon_Det_Debounce; //loadon标志检测延时计数
+
+ static uint8_t nVol_Output_Debounce; //Vox重载转轻载延时计数
+
+ static bit nVol_Chg_Full_Flag; //耳机充满标志
+
+ static bit nVol_GetOut_Box_Flag;
+
+ static bit nVol_Outbox_Disp_Flag;
+
+ static bit nVol_Intobox_Disp_Flag;
+
+ static bit nVol_Get_Chip_STA_Flag;
+
+ static uint8_t nCHIP_STA1_Vol;
+
+ if( gBoost_Prepared_Flag )
+ {
+ switch( Vol_State )
+ {
+ case VOX_GET_INTO_BOX: //耳机入仓
+
+ /*开启Vox Vout 5V前需要先开Boost。*/
+ if( !Boost_Open_Flag )
+ {
+ Set_PMU_Boost_Vout(BOOST_VOUT_MAX); //开关盖Boost输出5.2V,保证耳机一定能被唤醒。
+
+ Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
+
+ Boost_Open_Flag = TRUE;
+#ifdef _DEBUG_VOX
+ printf("Boost Open.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ return;
+ }
+
+ VOL_EN_Type(VOX_VOUT_Mode); //Vox开启Vout 5V输出
+
+ Vol_Vout_Enable = ON;
+
+ Boost_Open_Flag = FALSE;
+
+ nVol_Chg_Full_Flag = FALSE;
+
+ nVol_GetOut_Box_Flag = FALSE;
+
+ nVol_Intobox_Disp_Flag = FALSE;
+
+ nVol_Outbox_Disp_Flag = FALSE;
+
+ nVol_Output_Debounce = 0;
+
+ /*重启跟随充*/
+#if VOX_FOLLOW_CHG
+ Vox_Fllow_Chg.Vox_Follow_Start = OFF;
+
+ Vox_Fllow_Chg.Vox_Follow_Stop = OFF;
+
+ Follow_Chg_Sta = Vox_Follow_Chg_InitSta;
+#endif
+
+ Vol_State = VOX_STAY_IN_BOX;
+
+ break;
+
+ case VOX_STAY_IN_BOX: //耳机在仓
+
+ if ( ( pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOL_Ioff ) ) == ( VOL_LoadOn | VOL_Ioff ) ) //充电过程中出现只有IOFF,则出现如下三种情况:1、耳机出仓;2、耳机电池充满;3、耳机电池锂保。
+ {
+ if( nVol_Intobox_Disp_Flag ) //Vol耳机在正常充电过程中,被拔出。
+ {
+ nVol_Outbox_Disp_Flag = TRUE;
+
+ nVol_Intobox_Disp_Flag = FALSE;
+
+ nVol_GetOut_Box_Flag = TRUE;
+
+ Vol_GetOut_Box_Flag = TRUE; //左耳出盒标志置1,用于抽电灯效
+
+#ifdef _DEBUG_VOX
+ printf("Vol Get Out.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
+ nVol_Output_Debounce++;
+ if( nVol_Output_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时5s,Vox掉Vout 5V后转入ADT模式。
+ {
+ nVol_Output_Debounce = 0;
+
+ VOL_EN_Type(VOX_ADT_Mode);
+
+ nVol_Chg_Full_Flag = TRUE;
+#ifdef _DEBUG_VOX
+ printf("Vol Full And In ADT.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+ else
+ if ( ( pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOL_Ioff ) ) == VOL_LoadOn ) //无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;
+ {
+ nVol_Output_Debounce = 0;
+
+ nVol_Intobox_Disp_Flag = TRUE;
+
+ if( nVol_Chg_Full_Flag ) //Vox在ADT模式后检测到loadon标志,则说明耳机已充满,不再抽电,等loadon消失,判断耳机出盒。
+ {
+ Vol_Vout_Enable = OFF;
+#ifdef _DEBUG_VOX
+ printf("Vol Full.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ else
+ {
+ if( nVol_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的入盒灯效闪一次。
+ {
+ nVol_Outbox_Disp_Flag = FALSE;
+
+ if( nVol_GetOut_Box_Flag )
+ {
+ nVol_GetOut_Box_Flag = FALSE;
+ /*重启跟随充*/
+#if VOX_FOLLOW_CHG
+ Vox_Fllow_Chg.Vox_Follow_Start = OFF;
+
+ Vox_Fllow_Chg.Vox_Follow_Stop = OFF;
+
+ Follow_Chg_Sta = Vox_Follow_Chg_InitSta;
+#endif
+
+ Earphone_Chg_Flag_led = TRUE; //用于灯效显示
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+
+#ifdef _DEBUG_VOX
+ printf("Vol Get In Again.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+
+ Vol_Vout_Enable = ON; //正常充电标志置ON。
+
+ Vol_GetOut_Box_Flag = FALSE;
+#ifdef _DEBUG_VOX
+ printf("Vol Ching.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
+
+ }
+ else
+ if ( !( pmu_Info.pmu_VOX_STA & VOL_LoadOn ) ) //无Loadon,说明,耳机出仓
+ {
+ nVol_Loadon_Det_Debounce++;
+ if( nVol_Loadon_Det_Debounce >= VOX_NO_LOADON_CNT ) //耳机充满后,断开内部下拉电阻延时计数,根据实际应用调整。
+ {
+ nVol_Loadon_Det_Debounce = 0;
+
+ nVol_Intobox_Disp_Flag = FALSE;
+
+ nVol_Outbox_Disp_Flag = FALSE;
+
+ nVol_GetOut_Box_Flag = FALSE;
+
+ Vol_State = VOX_NONE_IN_BOX;
+#ifdef _DEBUG_VOX
+ printf("Vol Out Box.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+
+ break;
+
+ case VOX_NONE_IN_BOX: //空仓
+
+ VOL_EN_Type(VOX_ADT_Mode);
+
+ Vol_Vout_Enable = OFF;
+
+ Vol_GetOut_Box_Flag = TRUE; //左耳出盒标志置1,用于抽电灯效
+
+ if( pmu_Info.pmu_VOX_STA & VOL_LoadOn ) //adt模式下出现loadon信号,则说明Vol通道有耳机入盒。
+ {
+ nVol_Loadon_Det_Debounce++;
+ if( nVol_Loadon_Det_Debounce >= VOX_LOADON_DET_DEBOUNCE ) //Vox Loadon信号检测延时计数,loadon信号软件数字滤波,根据实际耳机进行调试;
+ {
+ nVol_Loadon_Det_Debounce = 0;
+
+ Vol_State = VOX_GET_INTO_BOX;
+
+ /*置灯效显示标志*/
+ Earphone_Chg_Flag_led = TRUE;
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+
+#ifdef _DEBUG_VOX
+ printf("Vol Det Loadon.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+ else
+ {
+ nVol_Loadon_Det_Debounce = 0;
+ }
+
+ break;
+
+ default:
+ break;
+ }
+ }
+ else //bat保护后,VOX恢复到最初状态。
+ {
+ Vol_State = VOX_GET_INTO_BOX;
+
+ Vol_Vout_Enable = OFF;
+
+ if( !nVol_Get_Chip_STA_Flag )
+ {
+ nVol_Get_Chip_STA_Flag = TRUE;
+
+ VOL_EN_Type(VOX_ADT_Mode); //VOL Disable 5V And Enable VOR ADT
+
+ nCHIP_STA1_Vol = pmu_Info.pmu_VOX_STA & VOL_LoadOn;
+ }
+ else
+ {
+ /*耳机出入盒判断*/
+ if( nCHIP_STA1_Vol != ( pmu_Info.pmu_VOX_STA & VOL_LoadOn ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。
+ {
+ if( pmu_Info.pmu_VOX_STA & VOL_LoadOn ) //Vox入盒
+ {
+ Earphone_Chg_Flag_led = TRUE; //用于灯效显示
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+#ifdef _DEBUG_VOX
+ printf("VOL Get Into Box Bat Low.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
+ nCHIP_STA1_Vol = pmu_Info.pmu_VOX_STA & VOL_LoadOn;
+ }
+ }
+ }
+}
+
+Vox_State_e Vor_State;
+
+bit Vor_GetOut_Box_Flag; //Vor 出盒标志,用于耳机抽电灯效。
+/*
+*******************************************************************************
+* void Vor_Det_Machine(void)
+*
+* Description : Vor Detect:耳机识别。 (100ms调用周期)
+*
+* Arguments : NONE
+
+* Returns : NONE
+
+* Notes : NONE
+*
+*******************************************************************************
+*/
+void Vor_Det_Machine(void)
+{
+ static uint8_t nVor_Loadon_Det_Debounce; //loadon标志检测延时计数
+
+ static uint8_t nVor_Output_Debounce; //Vox重载转轻载延时计数
+
+ static bit nVor_Chg_Full_Flag; //耳机充满标志
+
+ static bit nVor_GetOut_Box_Flag;
+
+ static bit nVor_Outbox_Disp_Flag;
+
+ static bit nVor_Intobox_Disp_Flag;
+
+ static bit nVor_Get_Chip_STA_Flag;
+
+ static uint8_t nCHIP_STA1_Vor;
+
+ if( gBoost_Prepared_Flag )
+ {
+ switch( Vor_State )
+ {
+ case VOX_GET_INTO_BOX: //耳机入仓
+
+ /*开启Vox Vout 5V前需要先开Boost。*/
+ if( !Boost_Open_Flag )
+ {
+ Set_PMU_Boost_Vout(BOOST_VOUT_MAX); //开关盖Boost输出5.2V,保证耳机一定能被唤醒。
+
+ Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
+
+ Boost_Open_Flag = TRUE;
+#ifdef _DEBUG_VOX
+ printf("Boost Open.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ return;
+ }
+
+ VOR_EN_Type(VOX_VOUT_Mode); //Vox开启Vout 5V输出
+
+ Vor_Vout_Enable = ON;
+
+ Boost_Open_Flag = FALSE;
+
+ nVor_Chg_Full_Flag = FALSE;
+
+ nVor_GetOut_Box_Flag = FALSE;
+
+ nVor_Intobox_Disp_Flag = FALSE;
+
+ nVor_Outbox_Disp_Flag = FALSE;
+
+ nVor_Output_Debounce = 0;
+
+ /*重启跟随充*/
+#if VOX_FOLLOW_CHG
+ Vox_Fllow_Chg.Vox_Follow_Start = OFF;
+
+ Vox_Fllow_Chg.Vox_Follow_Stop = OFF;
+
+ Follow_Chg_Sta = Vox_Follow_Chg_InitSta;
+#endif
+
+#ifdef _DEBUG_VOX
+ printf("Vor Get Into Box.(line:%d)\r\n",(u16)__LINE__);
+#endif
+
+ Vor_State = VOX_STAY_IN_BOX;
+
+ break;
+
+ case VOX_STAY_IN_BOX: //耳机在仓
+
+ if ( ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOR_Ioff ) ) == ( VOR_LoadOn | VOR_Ioff ) ) //充电过程中出现只有IOFF,则出现如下三种情况:1、耳机出仓;2、耳机电池充满;3、耳机电池锂保。
+ {
+ if( nVor_Intobox_Disp_Flag ) //Vor耳机在正常充电过程中,被拔出。
+ {
+ nVor_Outbox_Disp_Flag = TRUE;
+
+ nVor_Intobox_Disp_Flag = FALSE;
+
+ nVor_GetOut_Box_Flag = TRUE;
+
+ Vor_GetOut_Box_Flag = TRUE; //右耳出盒标志置1,用于抽电灯效
+
+#ifdef _DEBUG_VOX
+ printf("Vor Get Out.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
+ nVor_Output_Debounce++;
+ if( nVor_Output_Debounce >= VOX_IOFF_DET_DEBOUNCE ) //重载转轻载(耳机出仓后)需延时5s,Vox掉Vout 5V后转入ADT模式。
+ {
+ nVor_Output_Debounce = 0;
+
+ VOR_EN_Type(VOX_ADT_Mode);
+
+ nVor_Chg_Full_Flag = TRUE;
+#ifdef _DEBUG_VOX
+ printf("Vor Full And In ADT.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+ else
+ if ( ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOR_Ioff ) ) == VOR_LoadOn ) //无IOFF有Loadon,说明:1、耳机出仓后4s内,耳机再次入仓;2、10分钟未满,耳机电池退出锂保状态,进入正常充电;
+ {
+ nVor_Output_Debounce = 0;
+
+ nVor_Intobox_Disp_Flag = TRUE;
+
+ if( nVor_Chg_Full_Flag ) //Vox在ADT模式后检测到loadon标志,则说明耳机已充满,不再抽电,等loadon消失,判断耳机出盒。
+ {
+ Vor_Vout_Enable = OFF;
+#ifdef _DEBUG_VOX
+ printf("Vor Full.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ else
+ {
+ if( nVor_Outbox_Disp_Flag ) //左耳4s内再次入盒,左耳对应的入盒灯效闪一次。
+ {
+ nVor_Outbox_Disp_Flag = FALSE;
+
+ if( nVor_GetOut_Box_Flag )
+ {
+ nVor_GetOut_Box_Flag = FALSE;
+ /*重启跟随充*/
+#if VOX_FOLLOW_CHG
+ Vox_Fllow_Chg.Vox_Follow_Start = OFF;
+
+ Vox_Fllow_Chg.Vox_Follow_Stop = OFF;
+
+ Follow_Chg_Sta = Vox_Follow_Chg_InitSta;
+#endif
+
+ Earphone_Chg_Flag_led = TRUE; //用于灯效显示
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+
+#ifdef _DEBUG_VOX
+ printf("Vor Get In Again.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+
+ Vor_Vout_Enable = ON; //正常充电标志置ON。
+
+ Vor_GetOut_Box_Flag = FALSE;
+#ifdef _DEBUG_VOX
+ printf("Vor Ching.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+ else
+ if ( !( pmu_Info.pmu_VOX_STA & VOR_LoadOn ) ) //无Loadon,说明,耳机出仓
+ {
+ nVor_Loadon_Det_Debounce++;
+ if( nVor_Loadon_Det_Debounce >= VOX_NO_LOADON_CNT ) //耳机充满后,断开内部下拉电阻延时计数,根据实际应用调整。
+ {
+ nVor_Loadon_Det_Debounce = 0;
+
+ nVor_Intobox_Disp_Flag = FALSE;
+
+ nVor_Outbox_Disp_Flag = FALSE;
+
+ nVor_GetOut_Box_Flag = FALSE;
+
+ Vor_State = VOX_NONE_IN_BOX;
+#ifdef _DEBUG_VOX
+ printf("Vor Out Box.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+ else
+ {
+ nVor_Loadon_Det_Debounce = 0;
+ }
+
+ break;
+
+ case VOX_NONE_IN_BOX: //空仓
+
+ VOR_EN_Type(VOX_ADT_Mode);
+
+ Vor_Vout_Enable = OFF;
+
+ Vor_GetOut_Box_Flag = TRUE; //右耳出盒标志置1,用于抽电灯效
+
+ if( pmu_Info.pmu_VOX_STA & VOR_LoadOn ) //adt模式下出现loadon信号,则说明Vor通道有耳机入盒。
+ {
+ nVor_Loadon_Det_Debounce++;
+ if( nVor_Loadon_Det_Debounce >= VOX_LOADON_DET_DEBOUNCE ) //Vox Loadon信号检测延时计数,loadon信号软件数字滤波,根据实际耳机进行调试;
+ {
+ nVor_Loadon_Det_Debounce = 0;
+
+ Vor_State = VOX_GET_INTO_BOX;
+
+ /*置灯效显示标志*/
+ Earphone_Chg_Flag_led = TRUE;
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+
+#ifdef _DEBUG_VOX
+ printf("Vor Det Loadon.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+ }
+
+ break;
+
+ default:
+ break;
+ }
+ }
+ else //bat保护后,VOX恢复到最初状态。
+ {
+ Vor_State = VOX_GET_INTO_BOX;
+
+ Vor_Vout_Enable = OFF;
+
+ if( !nVor_Get_Chip_STA_Flag )
+ {
+ nVor_Get_Chip_STA_Flag = TRUE;
+
+ VOR_EN_Type(VOX_ADT_Mode); //VOR Disable 5V And Enable VOR ADT
+
+ nCHIP_STA1_Vor = pmu_Info.pmu_VOX_STA & VOR_LoadOn;
+ }
+ else
+ {
+ /*耳机出入盒判断*/
+ if( nCHIP_STA1_Vor != ( pmu_Info.pmu_VOX_STA & VOR_LoadOn ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。
+ {
+ if( pmu_Info.pmu_VOX_STA & VOR_LoadOn ) //Vox入盒
+ {
+ Earphone_Chg_Flag_led = TRUE; //用于灯效显示
+#ifdef LED_DISPLAY
+ LED_On_Flag = TRUE;
+#endif
+#ifdef _DEBUG_VOX
+ printf("VOR Get Into Box Bat Low.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
+ nCHIP_STA1_Vor = pmu_Info.pmu_VOX_STA & VOR_LoadOn;
+ }
+ }
+ }
+}
+
+#else
+
/*
*******************************************************************************
* void Vox_Det_Machine(void)
@@ -432,29 +1001,29 @@ void Vox_Det_Machine(void)
static bit Vox_Getinto_Sleep_Flag;
- static uint8_t CHIP_STA1_BK;
-
- static uint8_t Vox_Voltage_Hold_Timer;
-
- static uint8_t Vox_TX_Timer;
-
+ static uint8_t CHIP_STA1_BK;
+
+ static uint8_t Vox_Voltage_Hold_Timer;
+
+ static uint8_t Vox_TX_Timer;
+
static bit Vox_Chn_Select;
- static uint8_t Vox_Output_Debounce;
+ static uint8_t Vox_Output_Debounce;
- static uint8_t Vox_Output_Cnt;
+ static uint8_t Vox_Output_Cnt;
+
+ static bit CoverEvent_Flg1;
- static bit CoverEvent_Flg1;
-
/*Vox 过流保护,两只耳机都每隔200ms打嗝一次*/
if( pmu_Info.pmu_Fault_STA2 & ( Fault_Sta2_VorOCP | Fault_Sta2_VolOCP ) )
{
- Vox_Output_Short_Flag = 1;
+ Vox_Output_Short_Flag = TRUE;
return;
}
- Vox_Output_Short_Flag = 0;
+ Vox_Output_Short_Flag = FALSE;
if( gBoost_Prepared_Flag )
{
@@ -466,7 +1035,7 @@ void Vox_Det_Machine(void)
Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
#ifdef _DEBUG_VOX
printf("Boost Open.(line:%d)\r\n",(u16)__LINE__);
#endif
@@ -481,33 +1050,33 @@ void Vox_Det_Machine(void)
Vox_TX_Timer = 0;
- Get_CHIP_STA1_Flag0 = 0;
+ Get_CHIP_STA1_Flag0 = FALSE;
- Get_CHIP_STA1_Flag1 = 0;
+ Get_CHIP_STA1_Flag1 = FALSE;
- CoverEvent_Flg1 = 1;
+ CoverEvent_Flg1 = TRUE;
if( CoverStatus == CLOSE ) //1、关盖关闭COM_CTRL;显示灯效。(无需查询Loadon、IOFF状态,无论耳机是否在仓,Vox 5V输出。)
{
- Earphone_Chg_Flag_led = 0; //关盖取消耳机入盒灯效,显示关盖灯效。
+ Earphone_Chg_Flag_led = FALSE; //关盖取消耳机入盒灯效,显示关盖灯效。
- Cover_Close_Flag = 1;
+ Cover_Close_Flag = TRUE;
- Cover_Close_Flag1 = 1;
+ Cover_Close_Flag1 = TRUE;
- Cover_Open_Flag = 0;
+ Cover_Open_Flag = FALSE;
- Vox_Chg_Full_Flag = 0;
+ Vox_Chg_Full_Flag = FALSE;
- Cover_Close_Force_Vout_Flag = 0;
+ Cover_Close_Force_Vout_Flag = FALSE;
- Vox_Getinto_Sleep_Flag = 0;
+ Vox_Getinto_Sleep_Flag = FALSE;
- Vox_Chn_Select = 0;
+ Vox_Chn_Select = FALSE;
Vox_Vout_Enable = ON;
- Wkup_Earphone_Flag = 0;
+ Wkup_Earphone_Flag = FALSE;
#if VOX_FOLLOW_CHG
Vox_Fllow_Chg.Vox_Follow_Start = OFF;
@@ -522,21 +1091,21 @@ void Vox_Det_Machine(void)
}
else //2、开盖处理:5v 500ms 转0V 500ms,后转ADT模式。
{
- Cover_Close_Flag = 0;
+ Cover_Close_Flag = FALSE;
- Cover_Close_Flag1 = 0;
+ Cover_Close_Flag1 = FALSE;
- Cover_Open_Flag = 1;
+ Cover_Open_Flag = TRUE;
- Cover_Open_5V_Flag = 0;
+ Cover_Open_5V_Flag = FALSE;
#ifdef _DEBUG_VOX
printf("Box Open.(line:%d)\r\n",(u16)__LINE__);
#endif
}
- Boost_Open_Flag = 0;
+ Boost_Open_Flag = FALSE;
- CoverEvent_Flg = 0;
+ CoverEvent_Flg = FALSE;
}
/* 开关盖后,VOX先升压5.2V 一段时间,唤醒耳机,后转入ADT,获取盒内耳机数量。 */
@@ -549,7 +1118,7 @@ void Vox_Det_Machine(void)
if ( CoverEvent_Flg1 )
{
- CoverEvent_Flg1 = 0;
+ CoverEvent_Flg1 = FALSE;
VOX_EN_Type(VOX_ADT_Mode);
@@ -559,7 +1128,7 @@ void Vox_Det_Machine(void)
{
if ( !Get_CHIP_STA1_Flag0 ) //获取耳机在盒数量。
{
- Get_CHIP_STA1_Flag0 = 1;
+ Get_CHIP_STA1_Flag0 = TRUE;
if ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) )
{
@@ -639,9 +1208,9 @@ void Vox_Det_Machine(void)
Vox_Output_Debounce = 0;
- Get_CHIP_STA1_Flag1 = 1;
+ Get_CHIP_STA1_Flag1 = TRUE;
- OpenCover_TX_Cmd_Flag = 1;
+ OpenCover_TX_Cmd_Flag = TRUE;
Vox_Vout_Enable = OFF;
#ifdef _DEBUG_VOX
@@ -655,7 +1224,7 @@ void Vox_Det_Machine(void)
{
if( OpenCover_TX_Cmd_Flag )
{
- OpenCover_TX_Cmd_Flag = 0;
+ OpenCover_TX_Cmd_Flag = FALSE;
CHIP_STA1_BK = pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn );
@@ -667,9 +1236,9 @@ void Vox_Det_Machine(void)
{
if ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) )
{
- Earphone_Chg_Flag_led = 1;
+ Earphone_Chg_Flag_led = TRUE;
#ifdef LED_DISPLAY
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
#endif
}
#ifdef _DEBUG_VOX
@@ -693,7 +1262,7 @@ void Vox_Det_Machine(void)
Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
Vox_Vout_Enable = ON;
#if VOX_FOLLOW_CHG
@@ -705,13 +1274,13 @@ void Vox_Det_Machine(void)
#endif
Vox_Voltage_Hold_Timer = 0;
- Vox_Chg_Full_Flag = 0;
+ Vox_Chg_Full_Flag = FALSE;
- CoverEvent_Flg1 = 1;
+ CoverEvent_Flg1 = TRUE;
- Get_CHIP_STA1_Flag0 = 0;
+ Get_CHIP_STA1_Flag0 = FALSE;
- Cover_Close_Force_Vout_Flag = 1;
+ Cover_Close_Force_Vout_Flag = TRUE;
return;
}
@@ -722,9 +1291,9 @@ void Vox_Det_Machine(void)
printf("Close Box And Force Voltage Up.\r\n ");
#endif
- Boost_Open_Flag = 0;
+ Boost_Open_Flag = FALSE;
- Cover_Close_Flag1 = 1;
+ Cover_Close_Flag1 = TRUE;
if( Vox_Voltage_Hold_Timer <= HALL_CLOSE_VOX_5V_HOLD_CNT ) //关盖Boost VOUT 5V保持时间。
{
@@ -733,7 +1302,7 @@ void Vox_Det_Machine(void)
return;
}
- Wkup_Earphone_Flag = 0;
+ Wkup_Earphone_Flag = FALSE;
}
else
{
@@ -823,13 +1392,13 @@ void Vox_Det_Machine(void)
#ifdef _DEBUG_VOX
printf("VOX Vout 5V(VOX_STA:0x%x,line:%d).\r\n",(uint16_t)(pmu_Info.pmu_VOX_STA), (uint16_t)__LINE__);
#endif
- Cover_Close_Flag1 = 0;
+ Cover_Close_Flag1 = FALSE;
}
else
{
if( !Vox_Chg_Full_Flag )
{
- if( ( (pmu_Info.pmu_VOX_STA & ( VOR_Ioff | VOL_Ioff ) ) == ( VOR_Ioff | VOL_Ioff ) )|| !( pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。
+ if( ( (pmu_Info.pmu_VOX_STA & ( VOR_Ioff | VOL_Ioff ) ) == ( VOR_Ioff | VOL_Ioff ) ) || !( pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。
{
if( Vox_Voltage_Hold_Timer <= VOX_CHG_FULL_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。
{
@@ -841,13 +1410,13 @@ void Vox_Det_Machine(void)
printf("VOX CHG Full.\r\n");
#endif
- Vox_Chg_Full_Flag = 1;
+ Vox_Chg_Full_Flag = TRUE;
Vox_Output_Cnt = 0;
Vox_Voltage_Hold_Timer = 0;
- Vox_Getinto_Sleep_Flag = 0;
+ Vox_Getinto_Sleep_Flag = FALSE;
VOX_EN_Type(VOX_ADT_Mode); //VOX Enable ADT
}
@@ -897,7 +1466,7 @@ void Vox_Det_Machine(void)
{
if( !Vox_Getinto_Sleep_Flag )
{
- Vox_Getinto_Sleep_Flag = 1;
+ Vox_Getinto_Sleep_Flag = TRUE;
VOX_EN_Type(VOX_ADT_Mode);
@@ -910,14 +1479,14 @@ void Vox_Det_Machine(void)
}
}
}
-
- Bat_Low_Pro_Flag = 0;
+
+ Bat_Low_Pro_Flag = FALSE;
}
else
{
if( !Bat_Low_Pro_Flag ) //低电保护后,VOX开启ADT模式。判断耳机出入盒,并显示相应的灯效。
{
- Bat_Low_Pro_Flag = 1;
+ Bat_Low_Pro_Flag = TRUE;
VOX_EN_Type(VOX_ADT_Mode);
@@ -933,9 +1502,9 @@ void Vox_Det_Machine(void)
{
if( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) )
{
- Earphone_Chg_Flag_led = 1;
+ Earphone_Chg_Flag_led = TRUE;
#ifdef LED_DISPLAY
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
#endif
}
@@ -945,6 +1514,8 @@ void Vox_Det_Machine(void)
}
+#endif
+
#if VOX_FOLLOW_CHG
/*
@@ -964,7 +1535,7 @@ void Vox_Det_Machine(void)
void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
{
static bit nVpmid_Value_Setting;
-
+
switch (Follow_Chg_Sta)
{
case Vox_Follow_Chg_InitSta: //STA0:PMID=5.2V可以保证耳机一定能进入充电状态,并持续一段时间保证耳机能开始抽电。
@@ -983,34 +1554,34 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#ifdef _DEBUG_FOLLOW
printf("Follow CHG InitSta Set Max Vpmid.(Vox_sta:0x%x)(line:%d)\r\n",(u16)pmu_Info.pmu_VOX_STA, (u16)__LINE__);
#endif
- nVpmid_Value_Setting = 1;
+ nVpmid_Value_Setting = TRUE;
}
}
else
{
Vox_Follow_Init_Deb = 0;
/* 参数初始化。 */
- nVpmid_Value_Setting = 0;
+ nVpmid_Value_Setting = FALSE;
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] = OFF;
- n_Vox_Fllow_Chg->IVox_TC_Mode[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->IVox_TC_Mode[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->IVox_TC_Mode[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->IVox_TC_Mode[VOL_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] = OFF;
- n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] = 0;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] = 0;
- n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] = 0;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] = 0;
n_Vox_Fllow_Chg->Vpmid_Threshold_Neg = VOUT_MIN_THD;
@@ -1043,26 +1614,26 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
/*获取当前Ivox。Vox开启功率,且Ioff处于重载状态。*/
if( !(pmu_Info.pmu_VOX_STA & VOR_Ioff) )
{
- n_Vox_Fllow_Chg->IVox_Init[VOR_CHAN] = g_pmu_Adc_Ivor;
+ n_Vox_Fllow_Chg->IVox_Init[VOR_TYPE] = g_pmu_Adc_Ivor;
- n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] = IVOR_Threshold_Neg(g_pmu_Adc_Ivor); //Ivox_Threshold_Neg = IVox_Init * 80%
+ n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_TYPE] = IVOR_Threshold_Neg(g_pmu_Adc_Ivor); //Ivox_Threshold_Neg = IVox_Init * 80%
- n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_CHAN] = IVOR_Threshold_Pos(g_pmu_Adc_Ivor); //Ivox_Threshold_Neg = IVox_Init * 2
+ n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE] = IVOR_Threshold_Pos(g_pmu_Adc_Ivor); //Ivox_Threshold_Neg = IVox_Init * 2
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta1,VOR Chging(Ivor:%dmA).(line:%d)\r\n",g_pmu_Adc_Ivor,(u16)__LINE__);
+ printf("Follow CHG Sta1,VOR Chging(Ivor:%dmA,Ivor_Neg:%dmA,Ivor_Pos:%dmA).(line:%d)\r\n",g_pmu_Adc_Ivor,(u16)n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_TYPE],(u16)n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE],(u16)__LINE__);
#endif
}
if( !(pmu_Info.pmu_VOX_STA & VOL_Ioff) )
{
- n_Vox_Fllow_Chg->IVox_Init[VOL_CHAN] = g_pmu_Adc_Ivol;
+ n_Vox_Fllow_Chg->IVox_Init[VOL_TYPE] = g_pmu_Adc_Ivol;
- n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] = IVOL_Threshold_Neg(g_pmu_Adc_Ivol); //Ivox_Threshold_Neg = IVox_Init * 80%
+ n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_TYPE] = IVOL_Threshold_Neg(g_pmu_Adc_Ivol); //Ivox_Threshold_Neg = IVox_Init * 80%
- n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_CHAN] = IVOL_Threshold_Pos(g_pmu_Adc_Ivol); //Ivox_Threshold_Neg = IVox_Init * 2
+ n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE] = IVOL_Threshold_Pos(g_pmu_Adc_Ivol); //Ivox_Threshold_Neg = IVox_Init * 2
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta1,VOL Chging(Ivol:%dmA).(line:%d)\r\n",(u16)g_pmu_Adc_Ivol,(uint16_t)__LINE__);
+ printf("Follow CHG Sta1,VOL Chging(Ivol:%dmA,Ivol_Neg:%dmA,Ivol_Pos:%dmA).(line:%d)\r\n",(u16)g_pmu_Adc_Ivol,(u16)n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_TYPE],(u16)n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE],(uint16_t)__LINE__);
#endif
}
@@ -1086,21 +1657,21 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
if ( !(pmu_Info.pmu_VOX_STA & VOR_Ioff) )
{
- n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] = g_pmu_Adc_Ivor;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] = g_pmu_Adc_Ivor;
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] = ON; //判断VOR有耳机在盒正常抽电
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] = ON; //判断VOR有耳机在盒正常抽电
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta2,Get IVOR:%dmA.(line:%d)\r\n",(uint16_t)g_pmu_Adc_Ivor,(u16)__LINE__);
+ printf("Follow CHG Sta2,Get IVOR:%dmA,AtPre Ivor:%dmA.(line:%d)\r\n",(uint16_t)g_pmu_Adc_Ivor,(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(u16)__LINE__);
#endif
}
if ( !(pmu_Info.pmu_VOX_STA & VOL_Ioff) )
{
- n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] = g_pmu_Adc_Ivol;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] = g_pmu_Adc_Ivol;
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] = ON; //判断VOL有耳机在盒正常抽电
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] = ON; //判断VOL有耳机在盒正常抽电
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta2,Get IVOL:%dmA.(line:%d)\r\n",(uint16_t)g_pmu_Adc_Ivol,(u16)__LINE__);
+ printf("Follow CHG Sta2,Get IVOL:%dmA,AtPre Ivol:%dmA.(line:%d)\r\n",(uint16_t)g_pmu_Adc_Ivol,(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
@@ -1119,99 +1690,99 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
{
Vox_Follow_Chg_Debounce = 0;
- if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_CHAN] ) || \
- ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_CHAN] ) ) //当前电流大于THP阈值电流,则说明耳机状态发生改变(TC跳转到CC或Recharge复充),需要重启跟随充。
+ if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE] ) || \
+ ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE] ) ) //当前电流大于THP阈值电流,则说明耳机状态发生改变(TC跳转到CC或Recharge复充),需要重启跟随充。
{
Follow_Chg_Sta = Vox_Follow_Chg_InitSta;
n_Vox_Fllow_Chg->Vox_Follow_Start = OFF; //重启动跟随充
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3,VOX Chg ReInit.(line:%d)\r\n",(uint16_t)__LINE__);
+ printf("Follow CHG Sta3,VOX Chg ReInit.(AtPre Ivor:%dmA,Ivol:%dmA;Pos Ivor:%dmA,Ivol:%dmA)(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE],n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE],(uint16_t)__LINE__);
#endif
}
else
{
- if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON )
+ if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON )
{
- if ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] <= VOX_CV_TC_CURRENT ) //检测到Ivor小于CV/TC电流阈值,则说明耳机进入CV/TC阶段
+ if ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] <= VOX_CV_TC_CURRENT ) //检测到Ivor小于CV/TC电流阈值,则说明耳机进入CV/TC阶段
{
if ( pmu_Info.pmu_VOX_STA & VOR_Ioff ) //检测到Ivor Ioff,则VPMID升档。
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = ON;
if ( n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present >= VOUT_MAX_THD ) //Vpmid电压升到最大,并且IOFF标志存在,则说明耳机充满。
{
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] = OFF;
}
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CV),VOR Vpmid AddSta(Ivor:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CV),VOR Vpmid AddSta(AtPre Ivor:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(u16)__LINE__);
#endif
}
else //未检测到Ivor Ioff,则Vpmid降档
{
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CV),VOR Vpmid SubSta(Ivor:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CV),VOR Vpmid SubSta(AtPre Ivor:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(u16)__LINE__);
#endif
}
}
else
{
- if ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] )
+ if ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_TYPE] )
{
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CC),VOR Vpmid SubSta(Ivor:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CC),VOR Vpmid SubSta(AtPre Ivor:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(u16)__LINE__);
#endif
}
else
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CC),VOR Vpmid AddSta(Ivor:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CC),VOR Vpmid AddSta(AtPre Ivor:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE],(u16)__LINE__);
#endif
}
}
}
- if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON )
+ if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON )
{
- if ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] <= VOX_CV_TC_CURRENT ) //检测到Ivol小于CV/TC电流阈值,则说明耳机进入CV/TC阶段
+ if ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] <= VOX_CV_TC_CURRENT ) //检测到Ivol小于CV/TC电流阈值,则说明耳机进入CV/TC阶段
{
if ( pmu_Info.pmu_VOX_STA & VOL_Ioff ) //检测到Ivol Ioff,则VPMID升档。
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = ON;
if ( n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present >= VOUT_MAX_THD ) //Vpmid电压升到最大,并且IOFF标志存在,则说明耳机充满。
{
- n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] = OFF;
}
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CV),VOL Vpmid AddSta(Ivol:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CV),VOL Vpmid AddSta(Ivol:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
else //未检测到Ivol Ioff,则Vpmid降档
{
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CV),VOL Vpmid SubSta(Ivol:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CV),VOL Vpmid SubSta(Ivol:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
}
else
{
- if ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] )
+ if ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_TYPE] )
{
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CC),VOL Vpmid SubSta(Ivol:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CC),VOL Vpmid SubSta(AtPre Ivol:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
else
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = ON;
#ifdef _DEBUG_FOLLOW
- printf("Follow CHG Sta3(CC),VOL Vpmid AddSta(Ivol:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN],(u16)__LINE__);
+ printf("Follow CHG Sta3(CC),VOL Vpmid AddSta(AtPre Ivol:%dmA).(line:%d)\r\n",(uint16_t)n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
}
@@ -1228,25 +1799,25 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
/* 每2s检测一次IVOX电流。 */
Vox_Follow_Chg_Debounce++;
- n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] = g_pmu_Adc_Ivor;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] = g_pmu_Adc_Ivor;
- n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] = g_pmu_Adc_Ivol;
+ n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] = g_pmu_Adc_Ivol;
}
else
{
Vox_Follow_Chg_Debounce = 0;
/* 充电效率优先 */
#ifdef FOLLOW_CHG_EFFICIENCY
- if ( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON ) )
+ if ( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON ) )
{
- if ( ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] ) || \
- ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_CHAN] ) ) && \
- ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] ) || \
- ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_CHAN] ) ) )
+ if ( ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_TYPE] ) || \
+ ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE] ) ) && \
+ ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_TYPE] ) || \
+ ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE] ) ) )
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = ON;
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = ON;
Follow_Chg_Sta = Vox_Follow_Chg_Sta2;
#ifdef _DEBUG_FOLLOW
@@ -1266,13 +1837,13 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#endif
{
/* 充电速度优先 */
- if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON )
+ if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON )
{
/* 当检测到 IVOX < IVOX_THN or IVOX > IVOX_THP,则PMID 升高一个step(或N个step,根据实际测试设定。) */
- if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] ) || \
- ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_CHAN] ) )
+ if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_TYPE] ) || \
+ ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_TYPE] ) )
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = ON;
Follow_Chg_Sta = Vox_Follow_Chg_Sta2;
#ifdef _DEBUG_FOLLOW
@@ -1287,12 +1858,12 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#endif
}
- if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON )
+ if ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON )
{
- if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_CHAN] ) || \
- ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] ) )
+ if ( ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] > n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_TYPE] ) || \
+ ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE] < n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_TYPE] ) )
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = ON;
Follow_Chg_Sta = Vox_Follow_Chg_Sta2;
#ifdef _DEBUG_FOLLOW
@@ -1315,14 +1886,14 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
break;
}
- if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON ) || ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON ) )
+ if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON ) || ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON ) )
{
- if( ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) || ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] == ON ) ) //当需要降压Vpmid,则每降一次档位,都会充电至少2s。
+ if( ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] == ON ) || ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] == ON ) ) //当需要降压Vpmid,则每降一次档位,都会充电至少2s。
{
- if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON ) )
+ if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON ) )
{
- if( ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) && ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) )
+ if( ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] == ON ) && ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] == ON ) )
{
n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON;
#ifdef _DEBUG_FOLLOW
@@ -1330,9 +1901,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#endif
}
}
- if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == OFF ) )
+ if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == ON ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == OFF ) )
{
- if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON )
+ if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] == ON )
{
n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON;
#ifdef _DEBUG_FOLLOW
@@ -1341,9 +1912,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
}
}
else
- if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] == OFF ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] == ON ) )
+ if( ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_TYPE] == OFF ) && ( n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_TYPE] == ON ) )
{
- if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] == ON )
+ if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] == ON )
{
n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON;
#ifdef _DEBUG_FOLLOW
@@ -1352,9 +1923,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
}
}
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_TYPE] = OFF;
if ( n_Vox_Fllow_Chg->Vpmid_SubSta_Flag == ON )
{
@@ -1386,11 +1957,11 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
else
{
/* PMID > PMID_THP,且VOL和VOR的任意一支路电流超过阈值,Ivol_THN > Ivol > Ivol_THP 或 Ivor_THN > Ivor > Ivor_THP。*/
- if( ( n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] == ON ) || ( n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] == ON ) )
+ if( ( n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] == ON ) || ( n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] == ON ) )
{
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_TYPE] = OFF;
- n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = OFF;
+ n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_TYPE] = OFF;
if( n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present < VOUT_MAX_THD )
{
@@ -1427,6 +1998,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#endif
+#ifdef VOX_TX
+
+
#if XUANHENG
/*
@@ -1518,7 +2092,6 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
#endif
-#ifdef VOX_TX
/*
*******************************************************************************
* void HandleTxCommand(VOX_BES_COMMAND_E RxCommand, e_Vox_Chan nVox_Chn_Select)
@@ -1894,8 +2467,23 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select)
#endif
/* vor、vol都使用uart0进行分时通讯。 */
- VOX_EN_Type( VOX_COMM_Mode_Uart );
+#ifdef VOX_ADT_ENABLE
+
+ if(nVox_Chn_Select == VOL_CHAN)
+ {
+ VOL_EN_Type( VOX_COMM_Mode_Uart );
+ }
+ else
+ {
+ VOR_EN_Type( VOX_COMM_Mode_Uart );
+ }
+#else
+
+ VOX_EN_Type( VOX_COMM_Mode_Uart );
+
+#endif
+
if(nVox_Chn_Select == VOR_CHAN)
{
SFRADDR = MFP_CTL0; //关闭VOR到UART0的开关,配置P02为GPIO,P03为UART0。
@@ -2211,15 +2799,23 @@ void HandleRxMsg(VOX_BES_COMMAND_E RxCommand)
void HandleVoxCommMsg(void)
{
- uint16_t CrcCheckSum = 0;
uint8_t i = 0;
+
#if XUANHENG
- uint16_t Data_Len = 0;
+
+ uint16_t CrcCheckSum = 0;
+
+ uint16_t Data_Len = 0;
+
+#else
+
+ uint8_t CrcCheckSum = 0;
+
#endif
/*RX数据处理*/
if( Uart0_RX_Finish_Flag )
{
- Uart0_RX_Finish_Flag = 0;
+ Uart0_RX_Finish_Flag = FALSE;
#ifdef _DEBUG_VOX
printf("RX0_Buffer[0]:0x%x,RX0_Buffer[1]:0x%x,RX0_Buffer[2]:0x%x,RX0_Buffer[3]:0x%x,RX0_Buffer[4]:0x%x,RX0_Buffer[5]:0x%x,RX0_Buffer[6]:0x%x,RX0_Buffer[7]:0x%x,line:%d\r\n",(u16)RX0_Buffer[0],(u16)RX0_Buffer[1],(u16)RX0_Buffer[2],(u16)RX0_Buffer[3],(u16)RX0_Buffer[4],(u16)RX0_Buffer[5],(u16)RX0_Buffer[6],(u16)RX0_Buffer[7],(u16)__LINE__);
diff --git a/sy8835_demo.si4project/sy8835_demo.SearchResults b/sy8835_demo.si4project/sy8835_demo.SearchResults
index e54da2f..1499fb8 100644
--- a/sy8835_demo.si4project/sy8835_demo.SearchResults
+++ b/sy8835_demo.si4project/sy8835_demo.SearchResults
@@ -1,2 +1,14 @@
----- reg3315 Matches (1 in 1 files) ----
-define.h (UsrInc\inc) line 142 : #include "reg3315.h"
+---- VOX_MAX_CHAN Matches (13 in 1 files) ----
+vox_module.h (UsrInc\vox) line 47 : #define VOX_MAX_CHAN 0x02
+vox_module.h (UsrInc\vox) line 184 : VOX_MAX_CHAN = 0x02,
+vox_module.h (UsrInc\vox) line 223 : VOX_MAX_CHAN = 0x02,
+vox_module.h (UsrInc\vox) line 275 : VOX_MAX_CHAN = 0x02,
+vox_module.h (UsrInc\vox) line 311 : VOX_MAX_CHAN = 0x02,
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint16_t IVox_Init[VOX_MAX_CHAN]; //璺熼殢鍏匳ox鍒濆鍖栫數娴佸笺
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint16_t IVox_Threshold_Neg[VOX_MAX_CHAN]; //Vox鐢垫祦涓嬮檷闃堝
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint16_t IVox_Threshold_Pos[VOX_MAX_CHAN]; //Vox鐢垫祦涓婂崌闃堝
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint16_t IVox_At_Present[VOX_MAX_CHAN]; //Vox褰撳墠鐢垫祦
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint8_t IVox_TC_Mode[VOX_MAX_CHAN]; //Vox CV_TC鍏呯數鐢垫祦闃堝
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint8_t Vpmid_SubSta[VOX_MAX_CHAN]; //Vox鐨刅pmid鐢靛帇涓嬮檷鏍囧織
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint8_t Vpmid_AddSta[VOX_MAX_CHAN]; //Vpmid鐢靛帇涓婂崌鏍囧織
+{anong_Vox_Fllow_Chg_Cfg} in vox_module.h (UsrInc\vox) : uint8_t Vox_InBox_Sta[VOX_MAX_CHAN]; //鑰虫満鍦ㄧ洅鏍囧織
diff --git a/sy8835_demo.si4project/sy8835_demo.sip_sym b/sy8835_demo.si4project/sy8835_demo.sip_sym
index ed76abf..c2decf9 100644
Binary files a/sy8835_demo.si4project/sy8835_demo.sip_sym and b/sy8835_demo.si4project/sy8835_demo.sip_sym differ
diff --git a/sy8835_demo.si4project/sy8835_demo.sip_xab b/sy8835_demo.si4project/sy8835_demo.sip_xab
index 1ebd7a5..b3b92bb 100644
Binary files a/sy8835_demo.si4project/sy8835_demo.sip_xab and b/sy8835_demo.si4project/sy8835_demo.sip_xab differ
diff --git a/sy8835_demo.si4project/sy8835_demo.sip_xad b/sy8835_demo.si4project/sy8835_demo.sip_xad
index 3e8dc7f..106ea0b 100644
Binary files a/sy8835_demo.si4project/sy8835_demo.sip_xad and b/sy8835_demo.si4project/sy8835_demo.sip_xad differ
diff --git a/sy8835_demo.si4project/sy8835_demo.siwork b/sy8835_demo.si4project/sy8835_demo.siwork
index 499469a..8c173d4 100644
Binary files a/sy8835_demo.si4project/sy8835_demo.siwork and b/sy8835_demo.si4project/sy8835_demo.siwork differ