From 98f7532db85b3ec4ad152cd0e2ce37e47d1f5c97 Mon Sep 17 00:00:00 2001 From: Alex xu Date: Thu, 13 Feb 2025 11:48:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=86=85=E5=AE=B9=EF=BC=9A1?= =?UTF-8?q?=E3=80=81=E4=BC=98=E5=8C=96RAM=E5=86=85=E5=AD=98=EF=BC=8C?= =?UTF-8?q?=E5=B0=86=E5=85=A8=E5=B1=80=E5=8F=98=E9=87=8F=E5=9D=87=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E4=B8=BAxdata=EF=BC=8C=E4=BF=9D=E8=AF=81=E8=B6=B3?= =?UTF-8?q?=E5=A4=9F=E7=9A=84idata=E5=AE=B9=E9=87=8F=EF=BC=9B2=E3=80=81?= =?UTF-8?q?=E5=B0=86bit=E5=8F=98=E9=87=8F=E7=BD=AE=E4=B8=BATRUE=E6=88=96FA?= =?UTF-8?q?LSE=EF=BC=8C=E4=BC=98=E5=8C=96=E7=A8=8B=E5=BA=8F=E5=8F=AF?= =?UTF-8?q?=E8=AF=BB=E6=80=A7=EF=BC=9B3=E3=80=81=E5=A2=9E=E5=8A=A0Vox=20AD?= =?UTF-8?q?T=E8=AF=86=E5=88=AB=E5=85=85=E7=94=B5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=9B4=E3=80=81=E4=BC=98=E5=8C=96=E8=B7=9F=E9=9A=8F?= =?UTF-8?q?=E5=85=85=E5=8A=9F=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Out/8835_EVB_250121_1743.bin | Bin 16384 -> 0 bytes Out/8835_EVB_250121_1743.hex | 921 ----------------- Out/8835_EVB_250121_1743_349D_010102.bin | Bin 16386 -> 0 bytes Out/8835_EVB_250213_1145.bin | Bin 0 -> 16384 bytes Out/8835_EVB_250213_1145.hex | 920 +++++++++++++++++ Out/8835_EVB_250213_1145_5A16_010102.bin | Bin 0 -> 16386 bytes Project/SY8835_Demo.uvgui.GH | 286 +++--- Project/SY8835_Demo.uvopt | 25 +- Project/SY8835_Demo.uvproj | 6 +- UsrInc/adc/adc.h | 26 +- UsrInc/bat/bat.h | 4 +- UsrInc/i2c_simu/i2c_simu.h | 4 +- UsrInc/inc/config.h | 2 +- UsrInc/inc/define.h | 18 +- UsrInc/key/key.h | 2 +- UsrInc/pmu/pmu.h | 2 +- UsrInc/uart/uart.h | 2 +- UsrInc/userapp/userapp.h | 2 +- UsrInc/vox/vox_module.h | 114 ++- UsrSrc/adc/adc.c | 22 +- UsrSrc/bat/bat.c | 14 +- UsrSrc/charger/charger_module.c | 91 +- UsrSrc/discharge/discharge_module.c | 20 +- UsrSrc/display/display_ui.c | 85 +- UsrSrc/hall/hall.c | 10 +- UsrSrc/i2c_simu/i2c_simu.c | 4 +- UsrSrc/key/key.c | 124 ++- UsrSrc/led/led.c | 13 +- UsrSrc/main.c | 2 +- UsrSrc/pmu/pmu.c | 2 +- UsrSrc/sleep/sleep.c | 14 +- UsrSrc/system/system.c | 13 +- UsrSrc/timer/sys_tim.c | 25 +- UsrSrc/uart/uart.c | 28 +- UsrSrc/userapp/userapp.c | 78 +- UsrSrc/vox/vox_module.c | 952 ++++++++++++++---- .../sy8835_demo.SearchResults | 16 +- sy8835_demo.si4project/sy8835_demo.sip_sym | Bin 441512 -> 441512 bytes sy8835_demo.si4project/sy8835_demo.sip_xab | Bin 143360 -> 147456 bytes sy8835_demo.si4project/sy8835_demo.sip_xad | Bin 1728 -> 1768 bytes sy8835_demo.si4project/sy8835_demo.siwork | Bin 71393 -> 50289 bytes 41 files changed, 2372 insertions(+), 1475 deletions(-) delete mode 100644 Out/8835_EVB_250121_1743.bin delete mode 100644 Out/8835_EVB_250121_1743.hex delete mode 100644 Out/8835_EVB_250121_1743_349D_010102.bin create mode 100644 Out/8835_EVB_250213_1145.bin create mode 100644 Out/8835_EVB_250213_1145.hex create mode 100644 Out/8835_EVB_250213_1145_5A16_010102.bin diff --git a/Out/8835_EVB_250121_1743.bin b/Out/8835_EVB_250121_1743.bin deleted file mode 100644 index 08c6e6327ad341cd38360f33e20dafcb15b5d6a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 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 31a8d7116e40b63c560eec919e4e6ccf0ea3917a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16386 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 diff --git a/Out/8835_EVB_250213_1145.bin b/Out/8835_EVB_250213_1145.bin new file mode 100644 index 0000000000000000000000000000000000000000..cb60fbe59e4e41ad2b6057e53feaac9437efec0f GIT binary patch literal 16384 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..2c45126d4204532dbed1975421931d63a2ae9058 GIT binary patch literal 16386 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 literal 0 HcmV?d00001 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 ed76abfb7f7fabd9c54e998637174f912a14e313..c2decf90d6a15e20d2b3e719f74ad3a7532e614b 100644 GIT binary patch delta 13236 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 delta 11903 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 YX73KxiGSb!9)o||!2gd8Yz)r&U!$4_fdBvi diff --git a/sy8835_demo.si4project/sy8835_demo.sip_xab b/sy8835_demo.si4project/sy8835_demo.sip_xab index 1ebd7a59675a708f27ebf0c375914a6dc2370304..b3b92bbfa452e1589b63c0936a68b6106275729e 100644 GIT binary patch delta 10335 zcmd6tZE#fAdB@MWyV4><$15yH70A(oWn|gZtSHn&>nU2j07{W|k%WNMuC&HP#=%H7 zvH^p$>o;CZY=n-(4PysG!o<#(Sm9>4cBT`9?G*PzY~eUbah#$gZKyNTiEx@}Xgj6n z+&#aQbdwLx)XmgmiTUkw?mf?W&i{GN%PK!UBcCrD9WAMf3Q;Qbf3t+hr&^lDgO;P- z-xhV%mimc&YU{w(Lmwl1yJw!LTy|B&xFN(s{nNa*tGmBs zI`6k!VeL=C-iGUMb!MLxVupF#45cMIwCU-XI(fs<{jagF zRhb0|m0ytbPA`bd+|HQzqvA_94T(J={uf7xn?;8VI@R_Ebc`y*mkLg3rg!agzNNKW z*rhZhpM@P2;7rcUb>T6k0n{O$TD?r^&62_e=>^ z@G-%$&34DcQZta?v8~xV9}ck^Y)H(0C?-m#Hrf?ak2d^e6%%ut9z<(Liy-i|>U_i7 z<$AjEt(~3X^YrMwvUr`WdI~h=_06l^#6hoqNq@|n_>0DPjj#`#~FK+B_EX7B}7EI0s^0XG^ENCMm9!MvkkpTkrZu zEwHGVtNhl3@`AT=MVTz`wLa*_#j4g+=NG-~%9@hIK%^j5{basvu@GVQCRUF|>j|d` zKwC$5ngN>u8MXrw73!5W+vCX7c-od;vBFDsPL!$m?Qt)2`{-3(yni&3K;p)o)#+4A zZi+w+d#CTo$dN5^FS(^JS~ge+n3(15AG{d(%CIgj`CVGxyW-xlU1Qg-ye}rq(1WOU z4P}RhVuge-x;4CaGM)kN3-Oy$h;p%6Z9i0B^~hwLgSL;u>ii);z70?G*t)t?8`SW~ zaQVYFwn2Amo16D|4Js|mKR5YtzH395*y|m7=GRhgR(lU$DZei8xNGOOp|iU4s7QFO zo6|k@xz1rI-B`&we{B$6&*L3<<&lUTGzqDJ!O z{palaEUVrZ9&vt9qCR}#{)iTu>VL6q_I_K{^r-XQI|nyC8BPAN6USf2(wC!J=Kx87SmDRH(tJj73gcu$D;hS*NSO~nAP zz7i11JbXYs@^WPkLY6SHgqc-%*me&e3h_vYRfxY+;G7^He`g!O$Oa}a;O~aozZK#i zh4}pt7xa-6LRaKq0<1?x#v$wo2u30>4#P+WMsRQ-A>Dtm!@Tv728vi3p6s zU=#+Mh_&nfiw+<;8W2L55W+|j-s_$D*78U$YBNnsBj1x=Ej|&M+>{!gV;OtSjvIb1 z#9sdt3b=ks?9B5wP3Ohp=II|4_fNb4)xr0u^3#<$2#LW+ z3Pw^e5`vKsjACFE0q-qL-TYubWyYh6yIyMwyL!XL#XyyvS(iIr5>&5Z>sLd3Cd99Y z-u8x7imnks^kLi~#bHw1a!!!LG#~|GQVgc(z;9azU>0wf#TzEW3VdgmAjN3#|{)ZZR$?7u#@4EiswtS57BS!VSO``ZtVI3f46SgZaY&ZQ9HZ31zW=4Y0Xx- zB6z!ICT5|x|J{`l=ldnzJ3qW7T2742Yr6D#;hZXe|7|t)e%$$78+|}dCcdc66z1_R?vyC#ML#5XJ^Zu$uQ_UShAf{Tc{^w_%+&7|=RZ4H2#s4** zwfzO&4rRToKX@iqs!OKc6RWRH`14r*^hdhPuNRwaat1uGL-ecrE-k;BjgoDpUb>XZ zZMU)KNvaY|Rf4HXFjWbrD#27Gn5ty?+T!HWz*Hr5;=|jE1qcHL2&MqR6d;&%gDE&L z1qY_ySY9hAI5eQ(z!V%9jldKf*c2Rf*RO6{^bb=CNspeL^C5n3I;$(cs{a%(;SdRP z=z}@r1+3rAQ4IS~%$xsj9Z}WyoA}h9uQXnsQO5DI+FvH+Q;wYLpN+`#vbfOd#1hTv z_I4Ihn1vK(A%$n!<8#0R_uh+Iu~QvjbZR-*j!0>MNMS?@BT^WV!iW?`q%a~a@F&{a zsX#O^B6TZba#E#OP$`T`VN?pEQW%xOs1!z}mUHc>lm@62Mx`(+g;6QYvIw&*!W7>E zSGBjZEYje|dVSNUU%zgKT;{~NQ#0#FbGoP1@4HG4%lI#*T#hz(uU_nr&y?elQ*k*_ zmix6Mv|0=MlIFX!TmLh}>}gFgY+jY>sG3r%4cFN{t#&A|-)OH>1J>{Bj!b|5rYSoa z-Cx62Ho3~fzb~iIeCK`@~T9M^+OP0g$`RC?HPqv!X*^IaO?oAuF={v%x zs0>!?-;4eI)v_{jDj|^?ybw@2IuLRKe9|7t(?ud zqgKCo#g=UUQ!#h`8u@K^VvTGp-XdarEauJ2tR4ByLg^ET5I=vH_EJRLSQ__tu4%*7;o8SBaZ#?nE%>c z^6N6eanodC&%gsixC^_3pOKSy?|ix|=05rv`QPrbewmp6{gT2~uF%(d@q-ZWi1{b` zWruX*n`NT76w;bnRq$*_@yrQRyI`*KV3yK=^~Q~*6qdGD+4knn|B*@Q2Q zZ-=P1Nn`Eq^PA-})xmdBJV8mcPXwpx<)51VnD{-}zw%l64d?KnOt_7M@{j8m>N!bg zT06L%GP!A(+bQ_Fes)m4D&6G$a-xc~42%y93G`FpR&A5ps}Kt2$E+|a{QcYHUZ;w1 zF428uQf-}oLite3cCVawhZVayR~Rc7_Hds%zPoaR@!MFrH8Xt~=GF{8Y~MzEuKVem zl^lLco!fmONkP+*7v`-!lZ%tcWH;Y`#J;uG+P%{cH#+X zGsOEs%qB*MO81rSI;)P)U7q8u+M|54uI+@zh}1A1!yMUQ&S)@aW|;FJ%!qA&Dpy@r zj;+^v992iE>(qF4{A$KT>t9x{X<%G<%rO?`*b5&}XRa$;_?YolwPG@~*r#ujKHk9CYLRWZz_cSVQStsCzN>f$Y<2 z`bhPHa#(BIPpKcpOxNKJ@}Eg6^!3~I1W{l|6g-b8V1!M3L}FRJG`FDvq0G`#Y_gH@ zYJUU9C-^EQt1H*&7=OIANNujJ`Q25gmr>(EzpV!_$71-wlET;fCN-Mxy-RRP4p@(n zsM!%KUBOi5x*0j1=hO^yYKBQ2m{T+SM99BAA>JEeJ8L(Y(@hZ6|KH`)3Oe{!EO3_v zp7?&zjt@Q(Vm1K83zfpC6fTxu8=k^RexoSXZ;tXjz)>CtILgBu-n)C8d>8aDQ(Q*FF@tad>2ua_m-27@G82#kvYJFH5YQ8x)u;H`;UfggJb| z>|p~Q*pV!5V(kZlT`bHl*0O(PRAwW^KW5OM{?4xeNZ;G6o$ZC5-Jm_&3mAFPp6SrT z4B9gtmi-Igl&Od;cYktF*0>V~_1^Oj_3PAoa-!taxI7&#Uej0TxoJtS>)5W=+R>}Ot<`PlyetTfJ# delta 7590 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 diff --git a/sy8835_demo.si4project/sy8835_demo.sip_xad b/sy8835_demo.si4project/sy8835_demo.sip_xad index 3e8dc7f0e3001a0efc36e8ceef64a76df5021843..106ea0ba7544688104c0d8d05767e8879e6fac7d 100644 GIT binary patch delta 653 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