diff --git a/Out/8837_EVB_250121_1409.bin b/Out/8837_EVB_250121_1409.bin
deleted file mode 100644
index f7ba548..0000000
Binary files a/Out/8837_EVB_250121_1409.bin and /dev/null differ
diff --git a/Out/8837_EVB_250121_1409.hex b/Out/8837_EVB_250121_1409.hex
deleted file mode 100644
index b348a8e..0000000
--- a/Out/8837_EVB_250121_1409.hex
+++ /dev/null
@@ -1,809 +0,0 @@
-:03000000022517BF
-:10251700758E3075D20078FFE4F6D8FD9000007F05
-:10252700007E01E4F0A3DFFCDEFA758188022572E4
-:102D4B0053797374656D20496E69742E5665723AAA
-:0C2D5B002532782532782532780D0A00E8
-:102C7E0012289D7BFF7A2D794B900089E4F0A304F6
-:102C8E00F0A3E4F0A304F0A3E4F0A37402F0121492
-:0D2C9E000DD2AED2BE1226AF122BF080F484
-:1029960075FE0F43FF8075FE2975FFB575A5217578
-:1029A600FE1E43FF01E5A3540F24F8780DF6E5A3B8
-:1029B600C4540F7814F6E5AD540F24F875F00AA444
-:1029C6007810F67812A6ABE5ADC4540F24F875F06E
-:0B29D6000AA418F67813A6ACD2BD22AC
-:1019B800900085EFF0204403021BD29000B6E0FEB1
-:1019C800A3E07803CEC313CE13D8F9F0EE9000B697
-:1019D800F09000B3E024FD6048147003021A9D14CF
-:1019E8007003021B1124FE7003021B81240560038F
-:1019F800021BCF780DE6FF3395E0FEC39000B7E0F9
-:101A08009FFF9000B6E09EFE9000BAF0A3EFF0C3EF
-:101A1800EE648094804003021BCFE49000BA021B5E
-:101A2800CC9000B6E0FEA3E0FF7C097DC4120B0554
-:101A3800780A120A8F9000B6EEF0A3EFF07810E65D
-:101A4800FD3395E0FCC3EF9DFFEE9CFE3395E0FD72
-:101A5800FCE47B64FAF9F8120A2FC006C007781272
-:101A6800E675F002A424F4FFE5F03401AB07FA337D
-:101A780095E0F9F8D007D006122A259000AFEEF0CD
-:101A8800A3EFF0C3EE648094804003021BCFE49080
-:101A980000AF021BCC9000B6E0FEA3E0FF7C097DFE
-:101AA800C4120B05780A120A8F9000B6EEF0A3EF65
-:101AB800F07811E6FD3395E0FCC3EF9DFFEE9CFE48
-:101AC8003395E0FDFCE47B64FAF9F8120A2FC006AE
-:101AD800C0077813E675F002A424F4FFE5F034019A
-:101AE800AB07FA3395E0F9F8D007D006122A25900B
-:101AF80000B1EEF0A3EFF0C3EE64809480400302DF
-:101B08001BCFE49000B1021BCC9000B6E0FEA3E02E
-:101B1800FF7C097DC4120B05780A120A8F9000B663
-:101B2800EEF0A3EFF0E025E0FE9000B6E033900081
-:101B3800B8F0A3CEF09000B8E0FEA3E07802C3337B
-:101B4800CE33CED8F9FDAC067814E6FF3395E0FE27
-:101B5800EF24F8FFEE34FFFE12094D7C037DE812F6
-:101B6800095F9000B8EE8FF0120995C39000B8E0B5
-:101B7800648094805051E4804B780DE6FF3395E003
-:101B8800FEC39000B7E09FFF9000B6E09EFEE4FC25
-:101B9800FD7BC47A09F9F8120A2F780A120AA29072
-:101BA80000B6EEF0A3EFF0E025E0FF9000B6E033DA
-:101BB800FE9000B4F0A3EFF0C3EE64809480500769
-:101BC800E49000B4F0A3F0C24422900085E09000B5
-:101BD800B3F0C454F04401F5A5E49000B6F0A3F0C6
-:051BE8009000BDF02299
-:03006B0002271851
-:10271800C0E0C0F0C083C082C0D075D000C000C087
-:1027280006C007E5F330E038AFA1780E760008A6BA
-:1027380007E5A254031846F608E6F69000BDE0C384
-:102748009408501718E6FE08E6FF9000B6EE8FF0E2
-:102758001209959000BDE004F08005D24453A5FE0F
-:1027680075F301D007D006D000D0D0D082D083D066
-:04277800F0D0E0328B
-:102B240075FE8743FF207815760375FE7043FF1802
-:102B340053B3F143B302E47817F67819F67815E63F
-:102B44007818F6781A76017917E718461846F5B119
-:042B540075B2012233
-:10217900E4FE9000BAE0FCA3E0FDC394E8EC94030C
-:1021890040037F0022EF7003022292D3ED940FECFB
-:1021990094034003022270ED94CBEC9400500302A7
-:1021A9002270D3ED94AAEC94024022D2207815E64D
-:1021B900FF137818F6302111D3ED94BFEC94024047
-:1021C90004C22180047818A607E4FE8070D3ED9438
-:1021D900AAEC94025043ED9437EC9401403BD22190
-:1021E9007815E6FF7818F6302013D3ED9493EC9424
-:1021F900025004C2208006EFC3137818F6781A76C5
-:1022090001301B11D3ED9451EC94015004C21B8091
-:1022190004E4781AF6E4FE8024D3ED9437EC9401B3
-:10222900501BD21BE4781AF6302110ED9426EC9459
-:10223900015004C2218004781A7601E4FE301E118F
-:10224900C3ED94F3EC94025006C21EE4FE80027EB4
-:1022590001301F2FD3ED94DDEC94004006C21FE43A
-:10226900FE80207E01801CD3ED940FEC9403400680
-:10227900D21E7E01800DD3ED94CBEC94005004D294
-:102289001F7E01C21CC21D8058C21EC21FD3ED94FD
-:102299009FEC94035031ED9471EC94004029301C6B
-:1022A90010ED9484EC94035006C21CE4FE80027E77
-:1022B90001301D2DD3ED9482EC94004006C21DE43B
-:1022C900FE801E7E01801AD3ED949FEC9403400496
-:1022D900D21C800BC3ED9471EC94005002D21D7E88
-:0822E90001781AE6F5B2AF0618
-:0122F10022CA
-:1022F200E4FBFAE5E65480FFE4FCFDFEEF700753D1
-:10230200B3FE7816F62278167601E5E830E5057513
-:10231200E8208005E5E530E10453B3FE22E5F23022
-:10232200E50475F22022E5F2540C601353B3FEE586
-:10233200F354C070030223CC75F20C75F3C02275FE
-:10234200F3C07F01122179EF600653B3FED222223D
-:10235200C222E5F230E432781AE6B401067A107B42
-:102362006880047A0F7BA0EB246AFFEA34FFFEC385
-:102372009000B9E09F9000B8E09E500575F2108081
-:102382000353B3FE78167603227917E778194618B5
-:1023920046F5B1781AE6F5B243B311781CE6FFD3DD
-:1023A20094014002C23DEFD394034002C239EFD3FD
-:1023B20094074002C23BEFD3940C4002C23AEFD3DF
-:0A23C20094114002C23C7816760226
-:0123CC0022EE
-:10000E00303F10EFB4010475B5C02253B5BFED44B7
-:04001E0080F5B52292
-:102DC500E5B55480FFEF6008303F05E4F5B5C23F37
-:012DD50022DB
-:10283F00C23FE5E520E156E5E230E703D24022E56D
-:10284F00E830E00D30244675E8017D3FE4FF0200DB
-:10285F000EE4FF122179EF6006122DC5D23E22C27F
-:10286F003E303D03022DC5D23F3040217816E6B4ED
-:10287F00021BC39000B9E094109000B8E0648094FC
-:0E288F008E4005D23FC24022122DC5C23F220C
-:102C2200E5E25408FF9000D1E06F6021E5E230E375
-:102C3200089000D07401F08005E49000D0F0D245F5
-:0D2C4200C20FD22FD2319000D1EFF0D24757
-:012C4F002262
-:101FBE00E5E25402FFE4FCFDFEEF70319000C775C0
-:101FCE00F0011209959000C7E0FEA3E0FFC394173D
-:101FDE00EE94024004D237800EC3EF9487EE940045
-:101FEE004005203602D236D233C2348040303336EA
-:101FFE00D247E4781DF6C233D2349000C9F0900077
-:10200E00C7E0FEA3E0FFD3941EEE94005008D23238
-:10201E00D235D231800EC3EF944FEE94015005307D
-:10202E003602D238C236E49000C7F0A3F0303462E4
-:10203E00303F5F303827200F0280287F031228F4AC
-:10204E009000C9E0D394235003022165C238781D55
-:10205E007602E49000C6F090002BF0A3F030372902
-:10206E00200F0A7D3FE4FF12000ED20F227F0312D3
-:10207E0028F49000C9E0D394235003022165C2379F
-:10208E00E49000CAF0781D7603303502C235C234B2
-:10209E00C20F9000D0E064016003022178781DE643
-:1020AE006402600302213A9000C6E0C3940150100E
-:1020BE00E4FD7F01121DE8E490002BF0A3F08054A4
-:1020CE009000C5E0D394054003E4803990002CE0E5
-:1020DE00B4010FE4FD7F02121DE890002C7402F093
-:1020EE00803290002CE06402702A90002BE0601D7C
-:1020FE007D017F02121DE8E490002BF0A3F090000A
-:10210E00C6F09000C5F0781DF6D2108058E4FD7F21
-:10211E0001121DE89000C6E0D39414400A9000C549
-:10212E00E004F0E4A3F0229000C6802B781DE66454
-:10213E000370379000CAE0FFC394B4501EEF540FE3
-:10214E0070047D0180099000CAE054077006FD7F7F
-:10215E0003121DE89000CAE004F022E4781DF6D2C6
-:0A216E00109000CAF07F041228F45C
-:012178002244
-:102BBE0075FE0675FF3C75FE0E53FF0F75FE0F5327
-:102BCE00FFF075FE0375FFAAE4900031F09000301F
-:102BDE00F0900032F090002FF0C282C283C285C204
-:022BEE0084223F
-:102D6700EF14600D14600D14600D2403700BD282F4
-:0A2D770022D28322D28422D28522C8
-:052D0E00900085E0FFCC
-:102D1300EF14600D14600D14600D2403700BC28258
-:0A2D230022C28322C28422C285224C
-:1027DF00E4FF74332FF582E43400F583E4F07437AB
-:1027EF002FF582E43400F583E4F0EF25E0243BF588
-:1027FF0082E43400F583E4F0A3F0EF25E02443F501
-:10280F0082E43400F583E4F0A3F0EF25E0244BF5E8
-:10281F0082E43400F583E4F0A3F0EF25E02453F5D0
-:0F282F0082E43400F583E4F0A3F00FEFB404A3C8
-:01283E002277
-:10277C00AC0774332CF582E43400F583EDF0EAC336
-:10278C0013FEEB13FFEC25E0243BF582E43400F55B
-:10279C0083EEF0A3EFF0AF03EC25E02443F582E4E5
-:1027AC003400F583EAF0A3EFF090008AE0FEA3E09A
-:1027BC00FFEC25E0244BF582E43400F583EEF0A326
-:1027CC00EFF0EC25E02453F582E43400F583E4F0DB
-:0327DC00A3F02245
-:102AE90074332FF582E43400F583EDF074372FF554
-:102AF90082E43400F583EBF0EF25E0243BF582E432
-:102B09003400F583E4F0A37469F0EF25E02453F56C
-:0B2B190082E43400F583E4F0A3F02216
-:10103500E4900085F0F0900085E0FFC39404400340
-:1010450002137774332FF582E43400F583E06022D0
-:1010550024FE602414700302113F1470030211B6BC
-:1010650024036003021313900085E0FF122D67022D
-:101075001313122D0E021313900085E0FF25E024B3
-:101085003BF582E43400F583E0FCA3E0FDEF25E0C9
-:101095002453F582E43400F583E0FEA3E0C39DEE1E
-:1010A5009C5005122D678003122D0E900085E0FFE0
-:1010B50025E02443F582E43400F583E0FCA3E0FD5C
-:1010C500EF25E02453F582E43400F583E0FEA3E048
-:1010D500C39DEE9C5003021313900085E025E02488
-:1010E50053F582E43400F583E4F0A3F0EF25E02422
-:1010F5004BF582E43400F583E0FEA3E0D39400EEE3
-:1011050094004016900085E025E0244BF582E434F8
-:1011150000F58374FFF5F0120995900085E0FF2531
-:10112500E0244BF582E43400F583E0FCA3E04C6059
-:101135000302131374332F0211D2900085E0FF25AB
-:10114500E0243BF582E43400F583E0FCA3E0FDEF09
-:1011550025E02453F582E43400F583E0FEA3E0D3D3
-:101165009DEE9C5005122D678003122D0E90008573
-:10117500E0FF25E02443F582E43400F583E0FCA399
-:10118500E0FDEF25E02453F582E43400F583E0FE2D
-:10119500A3E0C39DEE9C5003021313900085E02548
-:1011A500E02453F582E43400F583E4F0A3F0021360
-:1011B50013900085E0FF2437F582E43400F583E0E1
-:1011C50070171229E1C246900085E02433F582E4C8
-:1011D5003400F583E4F0021313900085E0FF243713
-:1011E500F582E43400F583E0FE6402704B2046147A
-:1011F500D246EF25E0243BF582E43400F583E4F0A4
-:10120500A37469F0900085E0FF25E0243BF582E4B6
-:101215003400F583E475F001120995EF25E0243BD0
-:10122500F582E43400F583E0FCA3E0C394FEEC947E
-:101235000050030212FD804EEE6401705A204617DD
-:10124500D246900085E025E0243BF582E43400F5A4
-:1012550083E4F0A374FEF0900085E0FF25E0243BD5
-:10126500F582E43400F58374FFF5F0120995EF2556
-:10127500E0243BF582E43400F583E0FEA3E0D3945B
-:1012850069EE94005072900085E02437F582E434CD
-:1012950000F583E4F08061900085E0FF2437F58256
-:1012A500E43400F583E06403704EEF25E0243BF55C
-:1012B50082E43400F583E0FEA3E0FFC394FEEE94E0
-:1012C500004004D246800BD3EF946AEE940050029E
-:1012D500C246900085E025E0243B30460DF582E4CA
-:1012E5003400F58374FFF5F0800BF582E43400F5E6
-:1012F50083E475F001120995900085E0FF25E0244F
-:101305003BF582E43400F583A3E0FD122945900006
-:1013150085E0FF701174332FF582E43400F583E026
-:10132500900031F08043900085E0B401102433F53E
-:1013350082E43400F583E0900030F0802C90008545
-:10134500E0B402102433F582E43400F583E0900024
-:1013550032F08015900085E0B4030E2433F582E465
-:101365003400F583E090002FF0900085E004F00252
-:10137500103BE4900085F0900085E0FFC394045095
-:101385001BEF25E02453F582E43400F583E475F082
-:0C13950001120995900085E004F080DB57
-:0113A1002229
-:102B580075FE1E43FF0275FE2143FF0875D4867576
-:102B6800FE2143FF0475FE2143FF02300E0875FE67
-:102B78002453FFC3800675FE2443FF3C9000D6749F
-:032B88000FF02229
-:10005600D2AC759A01D2B9D2BDD2A9D2AB75FE295E
-:0400660043FFB02282
-:10006E00C2ACE4F59AD2B9C2BDC2A9C2AB75FE2923
-:04007E0053FF4F22BB
-:092E0C0012006E43870202005619
-:102DB100E5E25401FFEF7006201103304704C247DA
-:042DC100C322D32234
-:10289D0075FE01E4F5FF122D81122DFF122DE4E4DA
-:1028AD00F58675B7C375FE6A75FF0475FE6C43FF3B
-:1028BD000B12299675FE8043FF0275FE0E53FFFC29
-:1028CD0043FF0175FE1775FF3CD2A8D2AF122B2422
-:1028DD007D697F03122D9B122BBE1227DF122B5801
-:0728ED009000CD7401F02200
-:03000300020006F2
-:03000600D24732AC
-:03004B00022E1D65
-:062E1D0075EB3CD24732C8
-:03005300022E2357
-:062E230075F302D24732F4
-:0E2DD6009000AEEFF0122E159000AEE0FF223E
-:082E15002041FDD2418F9922FA
-:102D810075FE0E53FFF343FF04D2DF43878075BA0C
-:0A2D91000375AAFD759852D2AC221A
-:03002300022DF2B9
-:0D2DF200309904C299C241309802C2983253
-:0D2DFF0075BB03759DDC759B92439A012204
-:062B8B009000A9120AD619
-:102B9100E49000ACF0F09000ACE0C39FE49E501CC8
-:102BA1002042FDD2429000A9E475F001120ABF1241
-:0C2BB10008B2F59C9000ACE004F080DA63
-:012BBD0022F5
-:030083000223CD88
-:1023CD00C0E0C083C082C0D075D000C000C005C0C1
-:1023DD0006C007E59B30E105539BFDC242E59B30EE
-:1023ED00E076539BFED2479000D2E0146019146042
-:1023FD003424027063E59C9000D2B455087401F04A
-:10240D00A3E4F0800E8018E59C9000D2B4AA10745D
-:10241D0002F0A3E0FF04F074692FF8A69C8039E464
-:10242D00F0A3F080339000D3E0FF04F074692FF82F
-:10243D00A69C786BE62404FFE433FEE0FDC39FEE1B
-:10244D006480F87480985005ED9420400B9000D373
-:10245D00E4F09000D2F0D243D007D006D005D000E2
-:09246D00D0D0D082D083D0E0323F
-:10247600536C65657020537461746520286C696EB1
-:10248600653A2564290D0A004348475F5354413A8B
-:1024960025642C53545F564F583A307825782C5380
-:1024A6005441303A307825782C535441313A3078BB
-:1024B60025782C535441323A307825782C535441A0
-:1024C600333A307825782C535441343A307825788D
-:1024D6002E4465635F536C6565703A25640D0A008A
-:1024E6004465636E745F536C65657044656C6179B1
-:1024F6002052656C6F61642E0D0A00456E7465721C
-:10250600205374616E646279204D6F6465210D0AF3
-:0125160000C4
-:062AAC004300CD0402020C
-:102CCE009000BCE0FF04F01219B89000BCE0B4060E
-:102CDE000204F09000BCE0C3940840037402F0229A
-:102D2D00122C22121FBE122C50302311C22312223C
-:0E2D3D00F212283F1225B7120C671217072258
-:101BED00E4900085F09000CDE0FFA3E0FE6F606B08
-:101BFD00A3EEF09000CDE0A3F024FE60351460421A
-:101C0D0014604624036003021DE790008AE4F0A3EC
-:101C1D007403F07B647A007D02E4FF12277C900050
-:101C2D008AE4F0A37403F07B647A007D027F0102E5
-:101C3D00277C200E03021DE7D24575E80CC20DC2AC
-:101C4D000E229000D6740FF0227BFF7A24797690C5
-:101C5D000089E4F0A374D9F0021D6E9000CEE0244B
-:101C6D00FE6035146076147003021D812403600339
-:101C7D00021DE79000CBE004F0E0C394085003028E
-:101C8D001DE79000CD7402F0E49000CBF0781CE6D7
-:101C9D006003021DE7021D7AE5F6700CE5F8700889
-:101CAD00E5FA7004E5E1602D9000CD7403F0E5F6E2
-:101CBD00540FFFE4FCFDFE7B08FAF9F8C3120A7E0F
-:101CCD0070069000CD7404F075E11F75F60F75F870
-:101CDD00FC75FABC229000CD7403F022202703027C
-:101CED001DE7C22775FE6E900085E5FFF07BFF7A3C
-:101CFD0024798E7816E6FF900089E4F0A3EFF0903A
-:101D0D000085E0FF90008BE4F0A3EFF0AFE2A3E4D9
-:101D1D00F0A3EFF0AFE3A3E4F0A3EFF0AFE4A3E49F
-:101D2D00F0A3EFF0AFE5A3E4F0A3EFF0AFE6A3E48B
-:101D3D00F0A3EFF09000D6E0FF900097E4F0A3EF52
-:101D4D00F012140D9000D6E0D394004017E014F07B
-:101D5D00204703021DE7C247740FF07BFF7A2479F9
-:101D6D00E602140D7BFF7A25790112140D9000CD3A
-:101D7D007404F022122DB1505B122B587F041228DF
-:101D8D00F4122DC5E490008AF0A3F0FBFAFDFF12CA
-:101D9D00277CE490008AF0A3F0FBFAFD7F01122767
-:101DAD007CE490008AF0A3F0FBFAFD7F0212277C01
-:101DBD00E490008AF0A3F0FBFAFD7F0312277C90DC
-:101DCD0000317402F0900030F0900032F090002F4E
-:0A1DDD00F0022E0C9000CD7402F00D
-:011DE70022D9
-:102BF000302626C2269000CCE0FF04F0EF14600CD3
-:102C000014600E24027012122CCE800D122D2D8015
-:102C100008121BEDE49000CCF0302805C2281210F9
-:022C200035225B
-:102CEE0000000000000000000000000000000000D6
-:102CFE0000000000000000000000000000000000C6
-:032AB200016800B8
-:1028F400EF24FE601E14602814602F24FE6035242B
-:1029040005703D43BD8853BDBB75FE6F53FFF24355
-:10291400FF092243BDCC75FE6F53FFFE43FF0C221B
-:1029240053BD7753B7CF43B7302253B7CF43B70321
-:1029340053BD772253B7CC53BD7775FE6A43FF303E
-:012944002270
-:10170700203F0302197F304559200F0A7D3FE4FF30
-:1017170012000ED20F227F031228F4E4900003F088
-:10172700900001F0A3F0C200C201D20B9000D0E0FC
-:101737007020C230D202D203C205C208C204C20955
-:10174700C20AD211C248900026F0A3F090002EF0F2
-:101757008008C202C203D205C206C20FC20DC20E62
-:10176700C245900001E0C39405500302191F300BD6
-:1017770005C20B0218F320002ED200E5E354A06047
-:1017870021E5E354A0FFE4FCFDFE7BA0FAF9F8C3D2
-:10179700120A7E90002A70057402F0800A7401F024
-:1017A7008005E490002AF020050302183790000214
-:1017B700E0C3940550077F061228F4802620013ADB
-:1017C700900003E0FFD39414501EEF54037003FD01
-:1017D7008009900003E020E0077D017F06121DE8E5
-:1017E700900003E004F080487F041228F4E490009E
-:1017F70003F0D201D210C2118036781DE670313065
-:101807001004C2108022E5E354A0FBE4FAF9F89033
-:101817000000E0FFE4FCFDFEC3120A7E6012E5E370
-:1018270054A06004D230D231E5E354A0900000F018
-:1018370020020302197C30483F200F237D3FE4FF3D
-:1018470012000ED20FD211E4900026F0A3F0900000
-:101857002EF0900001F0C208D20BC200D204227F02
-:10186700031228F4C20FD203900001E0D39403506F
-:101877000302191FC248804D20044A900002E0FF6E
-:10188700D39414501BEF54037003FD80099000029A
-:10189700E020E0077D017F81121DE890000280783B
-:1018A700900003E0FFD39414501BEF54037003FD23
-:1018B7008009900003E020E0077D017F07121DE803
-:1018C7009000038053E5E8540C6026200E1E90001C
-:1018D70003E004F0E0C3940550030219B7E4F07580
-:1018E700E80C7F031228F4D20DC211227F040228CC
-:1018F700F4C20DC20E3003097F031228F4C203801D
-:101907007420083DE5E354AC64AC600330392190A2
-:101917000001E0D394285004E004F022D208E490B8
-:101927000004F0900001F0C2097F041228F48045FA
-:10193700900027E0703F7B017A00790912008680CA
-:1019470034900004E0FFD39414501EEF5403700347
-:10195700FD8009900004E020E0077D017F80121DD3
-:10196700E8900004E004F0800C200909D2097F0404
-:101977001228F4C211C2072220070BD2077F0412D4
-:1019870028F4C2118022E5E354A0FBE4FAF9F890A9
-:101997000000E0FFE4FCFDFEC3120A7E6012E5E3EF
-:1019A70054A06004D230D231E5E354A0900000F097
-:0119B700220D
-:06008600900085120AD66D
-:10008C0090002EE01470030201631470030202420C
-:10009C001470030202B314700302041F24046003DF
-:1000AC0002059F900085120AB690001E1208CB60C4
-:1000BC000302059F7868E6D3940A50260690001A2E
-:1000CC00743F12092B300C0302059F900085120A15
-:1000DC00B690001A1208CBFDE4FF12000ED20C02EF
-:1000EC00059FE47868F6C20C900085120AB6900061
-:1000FC0016E412092B900015E412092B900013E45E
-:10010C0012092B900012E412092B900011E4120931
-:10011C002B900010E412092B900018E412092B907C
-:10012C000017E412092B90000EE4F5F0120A02906D
-:10013C00000CE4F5F0120A02900019E412092B905D
-:10014C00001B743F12092B90002E7401F0E49000F8
-:10015C0007F0A3F002059FE5E35408FFE4FCEF6011
-:10016C001CE5E354046016900085120AB690001E3C
-:10017C00740112092BE490002EF002059FE5E35464
-:10018C0008FFE4FCEF704A9000B1E0FEA3E0FF90A2
-:10019C000085120AB6900002EE8FF0120A027D055D
-:1001AC0012095FEF7802C333CE33CED8F9FF90003B
-:1001BC0085120AB6900006EE8FF0120A029000B279
-:1001CC00E025E0FF9000B1E03390000A8FF0120AB6
-:1001DC0002E5E35404FFE4FCEF704F9000AFE0FE47
-:1001EC00A3E0FF900085120AB6EE8FF01209E3909F
-:1001FC0000AFE0FEA3E0FF7D0512095FEF7802C3BC
-:10020C0033CE33CED8F9FF900085120AB690000495
-:10021C00EE8FF0120A029000B0E025E0FF9000AFE4
-:10022C00E0339000088FF0120A02900085120AB693
-:10023C0090001D020594D3900008E09405900007EF
-:10024C00E094005002806FE4900007F0A3F0E5E327
-:10025C005408FFEF701F9000B1E0FEA3E0FF900088
-:10026C0085120AB690000EEE8FF0120A029000185A
-:10027C00740112092BE5E35404FFE4FCEF701F90AA
-:10028C0000AFE0FEA3E0FF900085120AB690000CD0
-:10029C00EE8FF0120A02900017740112092B9000D5
-:1002AC002E7403F002059FD3900008E09402900096
-:1002BC0007E09400500AE475F00112099502059FBD
-:1002CC00E4900007F0A3F0900085120AB690000AA3
-:1002DC001209ABFFAEF090000E1209ABD39FE5F004
-:1002EC009E501C900085120AB69000081209ABFFB4
-:1002FC00AEF090000C1209ABD39FE5F09E4011E4D8
-:10030C0090002EF0900085120AB690001D0203E1B9
-:10031C00900085120AB69000181208CB6401706D1B
-:10032C0090000E1209ABFFAEF0D39414EE94005073
-:10033C0031E5E330E31F900016740112092B900095
-:10034C001A1208CBC3943F4044900085120AB69011
-:10035C000018E48035900085120AB69000137401E1
-:10036C008028900085120AB69000061209ABFDD3C6
-:10037C00EF9DEE95F09000854008120AB6900013A0
-:10038C008006120AB6900016740112092B90008593
-:10039C00120AB69000171208CB6401600302059F85
-:1003AC0090000C1209ABFFAEF0D39414EE940050F5
-:1003BC0034E5E330E222900015740112092B900011
-:1003CC001A1208CBC3943F500302059F900085126C
-:1003DC000AB6900017E48035900085120AB690009A
-:1003EC001274018028900085120AB690000412093C
-:1003FC00ABFDD3EF9DEE95F09000854008120AB648
-:10040C009000128006120AB6900015740112092B86
-:10041C0002059FD3900008E09414900007E094002C
-:10042C005031E475F0011209959000B1E0FEA3E0A3
-:10043C00FF900085120AB690000EEE8FF0120A02A1
-:10044C009000AFE0FFA3E090000CCF8FF0120A02F7
-:10045C0002059FE4900007F0A3F0900085120AB605
-:10046C009000181208CB640160030204FD90001781
-:10047C001208CB6401707A9000061209ABFFAEF043
-:10048C0090000E1209ABFDACF0C39FEC9E4018908F
-:10049C000085120AB690000A1209ABFFD3ED9FEC4F
-:1004AC0095F0500302059F900085120AB690000447
-:1004BC001209ABFFAEF090000C1209ABFDACF0C30F
-:1004CC009FEC9E4018900085120AB6900008120905
-:1004DC00ABFFD3ED9FEC95F0500302059F90008588
-:1004EC00120AB6900016740112092B900015020521
-:1004FC0094900085120AB69000181208CB64017013
-:10050C00419000061209ABFFAEF090000E1209AB41
-:10051C00FDACF0C39FEC9E4015900085120AB6907E
-:10052C00000A1209ABFFD3ED9FEC95F0401490003C
-:10053C0085120AB6900016740112092B90002E74C5
-:10054C0002F0900085120AB69000171208CB6401D5
-:10055C0070419000081209ABFFAEF090000C12092C
-:10056C00ABFDACF0D39FEC9E5015900085120AB6F3
-:10057C009000041209ABFFC3ED9FEC95F050149062
-:10058C000085120AB6900015740112092B90002EEA
-:10059C007402F0900085120AB69000181208CBFF76
-:1005AC006401600D9000171208CB64016003020710
-:1005BC00A29000131208CBFE6401600D9000121281
-:1005CC0008CB6401600302071CEFB4011E900017F6
-:1005DC001208CBB40115EEB401119000131208CB24
-:1005EC00B40108900014740112092B900018120821
-:1005FC00CBFFB401189000171208CB7010900013A9
-:10060C001208CB6401702390001404801AEF701A46
-:10061C009000171208CBB401119000121208CBB441
-:10062C000108900014740112092B900013E41209B4
-:10063C002B900012E412092B9000141208CB6401C9
-:10064C0060030207BB900085120AB690001A1208CC
-:10065C00CBD39400400890001A74FE1208F8900056
-:10066C00191208CBFF90001A1208CBD39F4021908F
-:10067C0000B9E024C8FF9000B8E03400FEC390003D
-:10068C00B5E09FEE6480F89000B4E0648098504828
-:10069C00900085120AB69000191208CBFF90001A30
-:1006AC001208CBD39F9000855013120AB690001AF3
-:1006BC00EF12092B90001CE412092B8013120AB6BE
-:1006CC0090001C740112092B90001A74021208F885
-:1006DC0090002E7404F0801390002E7402F09000A1
-:1006EC0085120AB690001CE412092BE4900007F066
-:1006FC00A3F0900085120AB6900014E412092B9016
-:10070C00001C1208CBFF90001A1208CBFD02079FA9
-:10071C00900085120AB69000161208CB6401600D89
-:10072C009000151208CB640160030207BB90001601
-:10073C00E412092B900015E412092B90001A1208F0
-:10074C00CBC3943F500E900085120AB690001A74D9
-:10075C00021208F890002E7404F0900085120AB66C
-:10076C0090001B1208CBFF90001A1208CBC39F40BD
-:10077C0013900085120AB690001AEF12092B900004
-:10078C002E7401F0900085120AB690001A1208CB54
-:10079C00FDE4FF02000E90002EE0D394024010E422
-:0F07AC00F0900085120AB690001E740112092BFE
-:0107BB00221B
-:0B2A69009000A9120AD69000ACEDF01E
-:102A7400E4FE9000ACE0FD14F0ED60299000A9E4C0
-:102A840075F001120ABF1208B26EFEE4FFEFC394A0
-:102A94000850DFEE30E007C313648CFE8004EEC3FD
-:072AA40013FE0F80E8AF06EE
-:012AAB002208
-:081DE800900085EFF0A3EDF07F
-:101DF000E4A3F0A3F078897C007D017BFF7A2C7945
-:101E0000EEFE7F2012088CE4900089F0A37455F058
-:101E1000A374AAF0900085E0FE90008DF0900086FB
-:101E2000E0FD90002DF0EE120ADF1E43011E72024B
-:101E30001EC1031ECE061ECE071F17801F1F810066
-:101E4000001F2D90008C7402F0ED700E90008E74C7
-:101E500002F0E490002BF0021F2D900086E0640158
-:101E60006003021F2D90008E04F0E490002CF0021D
-:101E70001F2D90008C7420F07F05900086E075F097
-:101E800012A424442FF8E6FE74892FF582E434006E
-:101E9000F583EEF00FEFB412E17F17EFC3940D401E
-:101EA00003021F2D900086E075F00DA4242A2FF860
-:101EB000E6FE74892FF582E43400F583EEF00F809E
-:101EC000DA90008C7402F090008E04F0805F900035
-:101ED0008C7405F090008E7401F0781CE675F005A6
-:101EE000A4A3F0A37420F0900086E0FF700D900092
-:101EF00028E07002800F9000298015EFB4012E9029
-:101F00000029E0700890009174FFF0802090002874
-:101F1000E0900091F0801690008C7401F0800E909B
-:101F2000008C7402F090002AE090008EF090008CFB
-:101F3000E02404FFE433900087F0A3EFF07B017A04
-:101F4000007989FD122A69900087E0FCA3E02489CA
-:101F5000F58274003CF583EFF07F011228F49000C5
-:101F600086E0FF700843BD0253BDFE8016EFB4014A
-:101F70000843BD2053BDEF800AEFB4FF0643BD22E6
-:101F800053BDEE900088E02402FF900087E034000B
-:101F9000FE7B017A007989122B8B900086E0FF701E
-:101FA0000753BDFD43BD0122EFB4010753BDDF431D
-:0D1FB000BD1022EFB4FF0653BDDF43BD118D
-:011FBD002201
-:10263900EF24FA605014604D24067069E4FE746D4D
-:102649002EF8E6FF90002DE075F012A424442EF830
-:10265900A6070EEEB412E7E4FE747F2EF8E6FF90AB
-:10266900002DE075F00DA4242A2EF8A6070EEEB46D
-:1026790008E790002DE0700690002B04F0229000EE
-:102689002C7401F022786DE6B4E30D900005740115
-:10269900F008E6900028F0229000067401F0786EA8
-:0526A900E6900029F09D
-:0126AE002209
-:102C5000E4FFFE900085F0304323C243FB7A007905
-:102C600069786BE62403FD122A697E00786BE624FE
-:0D2C70006CF8E6B50707786CE6FF12263910
-:012C7D002234
-:102AB500011C00C139602A005B0BB80BEA0C1C0C29
-:102AC500800CB20CE40D160D480D7A0DAC0E100EEF
-:102AD500420E740EA60ED80F0A0F3C0F870FD210A8
-:032AE5001D106859
-:1025B700E4FFEF25E0245BF582E43400F583E0FCDB
-:1025C700A3E0FDC39000B9E09D9000B8E09C4005F2
-:1025D7000FEFB415DD781CE6FEEFD39E4004180616
-:1025E7008003781B16E5E16007E4F5E1781CA60790
-:1025F700781BE6FED394BE5006EEC3940A500778C4
-:102607001CA607187664781CE6FFD394005002D204
-:102617003DEFD394015002D239EFD394055002D243
-:102627003BEFD3940A5002D23AEFD3940F5002D221
-:012637003C66
-:01263800227F
-:1026AF009000C3E06062E4F0D2259000C1E004F036
-:1026BF00E0C394054004E4F0D2269000C4E004F097
-:1026CF00E0C3940A4004E4F0D2289000BEE475F011
-:1026DF0001120995C39000BFE094649000BEE0948E
-:1026EF00004006E4F0A3F0D2239000C0E004F0E035
-:1026FF00C394FA4013E4F0D2249000C2E004F0E057
-:09270F0094044004E4F0D22722F6
-:03000B00020026CA
-:10002600C0E0C083C082C0D074FC258CF58C746699
-:10003600258AF58A9000C37401F0D0D0D082D0838F
-:03004600D0E032D5
-:0E2DE400758901758CFC758A66D2A9D28C2285
-:1029E100EFD39401501675FE0EEF25E02404FE741A
-:1029F10003A806088002C333D8FC801475FE0FEFCC
-:102A010024FE25E0FE7403A806088002C333D8FC27
-:102A1100F452FFEFB4040C75FE0F53FFF075FE0E78
-:042A210053FF0F222E
-:102D9B0075FE54EF5407F5FF75FE56AF058FFF75A3
-:062DAB00FE5375FF01223A
-:10294500EFD39401501875FE0EEF25E02404FE74B4
-:1029550003A806088002C333D8FC42FF801675FE23
-:102965000FEF24FE25E0FE7403A806088002C3339A
-:10297500D8FC42FFEF70038DCE22EFB401038DCF5B
-:1029850022EFB402038DDE22EFB40304AF058FDF1F
-:01299500221F
-:032FFD00010102CD
-:102CAB00E4FB7D04FF122AE9E4FB7D047F01122A79
-:102CBB00E9E4FB7D047F02122AE9E4FB7D047F0338
-:032CCB00022AE9F1
-:100C6700303159C231E49000D4F0781BF690008AF5
-:100C7700F0A3F0FBFAFDFF12277CE490008AF0A3B3
-:100C8700F0FBFAFD7F0112277CE490008AF0A3F0C5
-:100C9700FBFAFD7F0212277CE490008AF0A3F0FBA9
-:100CA700FAFD7F0312277C9000317402F090003028
-:100CB700F0900032F090002FF0D2472220220F2030
-:100CC7003E0C200D03020D7C300E03020D7C202B01
-:100CD70005D22BD23122900031E06402601A9000D5
-:100CE7008AE4F0A3740AF07B147A007D02E4FF1211
-:100CF700277C9000317403F0900030E06402601AA2
-:100D070090008AE4F0A3740AF07B147A007D027FD6
-:100D17000112277C9000307403F0900032E06402E7
-:100D2700601A90008AE4F0A3740AF07B147A007DBD
-:100D3700027F0212277C9000327403F090002FE0AC
-:100D47006402601A90008AE4F0A3740AF07B147AB4
-:100D5700007D027F0312277C90002F7403F0200D83
-:100D6700030210349000D4E0C394285003020EB25B
-:100D7700D20ED23122302B0CC22BC22DC22CC22F45
-:100D8700C230D2487816E6FF7003020E8C640370F7
-:100D97005E202D07D22DC22C022CABE490008AF0E6
-:100DA700A3F0FBFA7D01FF12277CE490008AF0A3F1
-:100DB700F0FBFA7D017F0112277CE490008AF0A303
-:100DC700F0FBFA7D017F0212277CE490008AF0A3F2
-:100DD700F0FBFA7D017F0312277C9000317401F04C
-:100DE700900030F0900032F090002FF0020E832038
-:100DF7002C0DD22CC22DD231E49000D5F0807D90FD
-:100E070000D4E0C394015055E004F0A3E014601A45
-:100E170014602714603424037062900031E0640486
-:100E2700605A7B017D04E4FF802E900030E064046B
-:100E3700604A7B017D047F01801E900032E06404DC
-:100E4700603A7B017D047F02800E90002FE06404EE
-:100E5700602A7B017D047F03122AE9801F9000D45A
-:100E6700E0C3940F5005E004F08011E49000D4F043
-:100E7700A3E004F0E0C394044002E4F0C22FC230C0
-:100E8700C232D22E22302C0AC22C122CABD231D233
-:100E97004822202F0C202E09203006203203021072
-:100EA700349000D4E0FFC394015004E004F022EF33
-:100EB700C394644003020FDF9000D4E004F0303B9A
-:100EC70037900031E064037003021034E490008A25
-:100ED700F0A3F07B64FA7D03FF12277C9000317446
-:100EE70004F0E490008AF0A3F0FBFAFD7F011227DB
-:100EF7007C9000307402802D303A41E490008AF0F3
-:100F0700A3F0FBFA7D01FF12277C9000317401F0FA
-:100F1700E490008AF0A3F0FBFA7D017F0112277CA1
-:100F27009000307401F0E490008AF0A3F0FBFAFD22
-:100F37007F0212277C90003274028043E490008A7B
-:100F4700303C53F0A3F0FBFA7D01FF12277C9000A1
-:100F5700317401F0E490008AF0A3F0FBFA7D017F81
-:100F67000112277C9000307401F0E490008AF0A30E
-:100F7700F0FBFA7D017F0212277C9000327401F0AA
-:100F8700E490008AF0A3F0FBFAFD7F0312277C9020
-:100F9700002F7402F022F0A3F0FBFA7D01FF122765
-:100FA7007CE490008AF0A3F0FBFA7D017F01122711
-:100FB7007CE490008AF0A3F0FBFA7D017F02122700
-:100FC7007CE490008AF0A3F0FBFA7D017F031227EF
-:100FD7007C90003174018048C22FC22EC230C232C9
-:100FE700E490008AF0A3F0FBFAFDFF12277CE4905F
-:100FF700008AF0A3F0FBFAFD7F0112277CE4900042
-:101007008AF0A3F0FBFAFD7F0212277CE490008AA6
-:10101700F0A3F0FBFAFD7F0312277C9000317402E6
-:0D102700F0900030F0900032F090002FF0BB
-:011034002299
-:10253700022C7EE493A3F8E493A34003F68001F210
-:1025470008DFF48029E493A3F85407240CC8C333A5
-:10255700C4540F4420C8834004F456800146F6DF74
-:10256700E4800B0102040810204080902AACE47E2E
-:10257700019360BCA3FF543F30E509541FFEE49369
-:10258700A360010ECF54C025E060A840B8E493A330
-:10259700FAE493A3F8E493A3C8C582C8CAC583CA5B
-:1025A700F0A3C8C582C8CAC583CADFE9DEE780BE13
-:012AE80000ED
-:1007BC00E709F608DFFA8046E709F208DFFA803E1F
-:1007CC0088828C83E709F0A3DFFA8032E309F6080C
-:1007DC00DFFA8078E309F208DFFA807088828C8374
-:1007EC00E309F0A3DFFA806489828A83E0A3F60828
-:1007FC00DFFA805889828A83E0A3F208DFFA804C02
-:10080C0080D280FA80C680D4806980F280338010D8
-:10081C0080A680EA809A80A880DA80E280CA803341
-:10082C0089828A83ECFAE493A3C8C582C8CCC583B9
-:10083C00CCF0A3C8C582C8CCC583CCDFE9DEE78089
-:10084C000D89828A83E493A3F608DFF9ECFAA9F008
-:10085C00EDFB2289828A83ECFAE0A3C8C582C8CC5E
-:10086C00C583CCF0A3C8C582C8CCC583CCDFEADE77
-:10087C00E880DB89828A83E493A3F208DFF980CCD9
-:10088C0088F0EF60010E4E60C388F0ED2402B404D2
-:10089C000050B9F582EB2402B4040050AF23234579
-:0608AC00822390080C738A
-:1008B200BB010689828A83E0225002E722BBFE0244
-:0908C200E32289828A83E4932277
-:1008CB00BB010CE58229F582E5833AF583E02250E2
-:1008DB0006E92582F8E622BBFE06E92582F8E2222C
-:0D08EB00E58229F582E5833AF583E4932246
-:1008F800BB010FF8E58229F582E5833AF583E02804
-:10090800F0225009C58229F8E58226F622BBFE09A5
-:10091800C58229F8E22582F222F8EA2583F583E9DF
-:03092800932822EF
-:10092B00F8BB010DE58229F582E5833AF583E8F002
-:10093B00225006E92582C8F622BBFE05E92582C8AE
-:02094B00F22296
-:10094D00EF8DF0A4A8F0CF8CF0A428CE8DF0A42EBE
-:02095D00FE2278
-:10095F00C2D5EC30E709B2D5E4C39DFDE49CFCEEB3
-:10096F0030E715B2D5E4C39FFFE49EFE120B44C3DC
-:10097F00E49DFDE49CFC8003120B4430D507C3E4D7
-:06098F009FFFE49EFE2222
-:10099500C5F0F8A3E028F0C5F0F8E58215827002ED
-:0609A5001583E038F0228A
-:1009AB00BB0110E58229F582E5833AF583E0F5F08A
-:1009BB00A3E0225009E92582F886F008E622BBFE67
-:1009CB000AE92582F8E2F5F008E222E5832AF583AD
-:0809DB00E993F5F0A3E9932272
-:1009E300BB010A89828A83F0E5F0A3F0225006F75F
-:0F09F30009A7F01922BBFE06F3E5F009F319225C
-:100A0200F8BB0111E58229F582E5833AF583E8F026
-:100A1200E5F0A3F0225009E92582C8F608A6F022E3
-:0D0A2200BBFE09E92582C8F2E5F008F222CA
-:100A2F00E88FF0A4CC8BF0A42CFCE98EF0A42CFC66
-:100A3F008AF0EDA42CFCEA8EF0A4CDA8F08BF0A4E4
-:100A4F002DCC3825F0FDE98FF0A42CCD35F0FCEB43
-:100A5F008EF0A4FEA9F0EB8FF0A4CFC5F02ECD3908
-:0F0A6F00FEE43CFCEAA42DCE35F0FDE43CFC2275
-:102A2500C2D5E830E70FB2D5E4C39BFBE49AFAE4DC
-:102A350099F9E498F8EC30E717B2D5122A5B120B36
-:102A4500D5E4C39BFBE49AFAE499F9E498F880038A
-:102A5500120BD530D50DE4C39FFFE49EFEE49DFD2A
-:042A6500E49CFC22CF
-:100A7E00EB9FF5F0EA9E42F0E99D42F0E89C45F0CE
-:010A8E002245
-:100A8F00E8600FECC313FCED13FDEE13FEEF13FF45
-:030A9F00D8F12269
-:100AA200E86010ECA2E713FCED13FDEE13FEEF136A
-:040AB200FFD8F02257
-:090AB600E0FBA3E0FAA3E0F92241
-:100ABF00F8E0FBA3A3E0F925F0F0E58215827002C0
-:070ACF001583E0FA38F02264
-:090AD600EBF0A3EAF0A3E9F02221
-:100ADF00D083D082F8E4937012740193700DA3A3A6
-:100AEF0093F8740193F5828883E4737402936860BA
-:060AFF00EFA3A3A380DFBA
-:100B0500EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D7D
-:100B1500FDE43CFCE8A42EC8C5F03DFDE43CFCEF3B
-:0D0B2500A4FFE5F028FEE43DFDE43CFC22C9
-:1013A200E5082489F582E43400F583E005082290FB
-:1013B2000086301903900089E475F001120ABF0219
-:1013C20008B22012E97F2ED2128018EF540F249017
-:1013D200D43440D4FF30160BEF24BFB41A005003AC
-:1013E2002461FFE50960021509050CE50C70020590
-:1013F2000B30190E900086E475F001120ABFEF025D
-:101402000B32022DD67403D2198003E4C219F508F7
-:10141200900086120AD6E4F509F50BF50CE5096091
-:10142200077F201213E580F5750AFFC213C212C2AC
-:1014320014C215C217C218C21A1213B1FF700D30AE
-:1014420019057F001213F6AF0CAE0B22B4255FC252
-:10145200D5C2161213B1FF24D0B40A00501A75F087
-:101462000A780930D50508B6FF0106C6A426F6207B
-:10147200D5047002D21580D924CFB41A00EF5004DB
-:10148200C2E5D2160215F7D21380C6D21280C0D29C
-:101492001480BCD2D580BAD21780B47F201213E553
-:1014A2002014077401B5090040F11213A2FF1213B0
-:1014B200E502141FD21AD21880951213A2FB12133E
-:1014C200A2FA1213A2F94A4B700679C87A167BFF68
-:1014D20020142EE509602A7E008E82758300120890
-:1014E200CB60060EEE650A70F0C2D5EBC0E0EAC032
-:1014F200E0E9C0E0EE12163ED0E0F9D0E0FAD0E02A
-:10150200FB1208B2FF60AAEBC0E0EAC0E0E9C0E06B
-:101512001213E5D0E02401F9D0E03400FAD0E0FB68
-:10152200E50A0460DCD50AD980877BFF7A16793A0E
-:10153200D214809C791080027908C218C21A8008DD
-:10154200D2D5790A8004790AC2D5E50A047002F577
-:101552000AE4FAFDFEFF1213A2FC7B082013131209
-:1015620013A2FD7B1030120A1213A2FE1213A2FF65
-:101572007B20EC3382D592D55013C3E43012069F00
-:10158200FFE49EFEE42013039DFDE49CFCE4CBF803
-:10159200C213EC700CCFCECDCCE824F8F870F380F7
-:1015A20017C3EF33FFEE33FEED33FDEC33FCEB33C9
-:1015B200FB994002FB0FD8E9EB301305F8D0E0C4E9
-:1015C20048B213C0E00AEC4D4E4F78207B0070C247
-:1015D200EAB50A0040BCC0E0121640D0F0D0E020CC
-:1015E2001304C4C0E0C4B213C0F01213CED0F0D5BD
-:1015F200F0EB02141F120ADF14BC53153658148D77
-:101602004C148942153A4F15424415424914A243DB
-:08161200154855152C46152C56
-:10161A0045152C4716E85014912D14952E14B82B05
-:10162A0014992314B62016D12A145148000014B074
-:10163A003F3F3F00790AA2D5201514301709B91087
-:10164A00020404B9080104A2D5201802500104209A
-:10165A0014689214B509005034C0E07F203015197F
-:10166A007F30A21472187217500F121697C214C242
-:10167A0018C217C21A7F30800F301703E9C0E01270
-:10168A0013E5301703D0E0F9D0E0B509CC301717CD
-:10169A007F30B9100C1213E57F583016077F788017
-:1016AA0003B908031213E53014057F2D0213E57FF1
-:1016BA0020201AF87F2B2018F322921480CF286E4C
-:1016CA00756C6C2900D2131213A23013F8C2137866
-:1016DA000930D50108F60214512D50434958121306
-:1016EA00A22403B405004001E49016E3931213D632
-:0D16FA00743A1213D6D21575090402153684
-:100B3200BB010689828A83F0225002F722BBFE01A2
-:020B4200F3229C
-:100B4400BC000BBE0029EF8DF084FFADF022E4CC95
-:100B5400F875F008EF2FFFEE33FEEC33FCEE9DEC5E
-:100B6400984005FCEE9DFE0FD5F0E9E4CEFD22EDA4
-:100B7400F8F5F0EE8420D21CFEADF075F008EF2FEE
-:100B8400FFED33FD4007985006D5F0F222C398FDDF
-:050B94000FD5F0EA227C
-:100B990075F008758200EF2FFFEE33FECD33CDCC13
-:100BA90033CCC58233C5829BED9AEC99E582984096
-:100BB9000CF582EE9BFEED9AFDEC99FC0FD5F0D673
-:100BC900E4CEFBE4CDFAE4CCF9A88222B800C1B99D
-:100BD9000059BA002DEC8BF084CFCECDFCE5F0CBDB
-:100BE900F97818EF2FFFEE33FEED33FDEC33FCEB14
-:100BF90033FB10D703994004EB99FB0FD8E5E4F9CF
-:100C0900FA227818EF2FFFEE33FEED33FDEC33FCBB
-:100C1900C933C910D7059BE99A4007EC9BFCE99AAF
-:100C2900F90FD8E0E4C9FAE4CCFB2275F010EF2FF4
-:100C3900FFEE33FEED33FDCC33CCC833C810D707F4
-:100C49009BEC9AE899400AED9BFDEC9AFCE899F82F
-:0E0C59000FD5F0DAE4CDFBE4CCFAE4C8F922C2
-:00000001FF
diff --git a/Out/8837_EVB_250121_1409_9DE0_010102.bin b/Out/8837_EVB_250121_1409_9DE0_010102.bin
deleted file mode 100644
index 5f25540..0000000
Binary files a/Out/8837_EVB_250121_1409_9DE0_010102.bin and /dev/null differ
diff --git a/Out/8837_EVB_250213_1135.bin b/Out/8837_EVB_250213_1135.bin
new file mode 100644
index 0000000..4fb8bae
Binary files /dev/null and b/Out/8837_EVB_250213_1135.bin differ
diff --git a/Out/8837_EVB_250213_1135.hex b/Out/8837_EVB_250213_1135.hex
new file mode 100644
index 0000000..8c22160
--- /dev/null
+++ b/Out/8837_EVB_250213_1135.hex
@@ -0,0 +1,753 @@
+:030000000222F6E3
+:1022F600758E3075D20078FFE4F6D8FD9000007F29
+:10230600007E01E4F0A3DFFCDEFA75816F02235143
+:0F2AD8001225BAD2AED2BE12248E12294C80F42F
+:1026CE0075FE0F43FF8075FE2975FFB575A5217543
+:1026DE00FE1E43FF01E5A3540F24F89001CBF0E555
+:1026EE00A3C4540F9001DFF0E5AD540F24F875F03C
+:1026FE000AA49001D5F09001D9E5ABF0E5ADC45434
+:10270E000F24F875F00AA49001D6F09001DCE5AC28
+:04271E00F0D2BD2216
+:1018AA0090013FEFF0203E03021ACB9001D1E0FEF7
+:1018BA00A3E07803CEC313CE13D8F9F0EE9001D18A
+:1018CA00F09001CEE024FD604914700302199214CD
+:1018DA007003021A0824FE7003021A7924056003B1
+:1018EA00021AC89001CBE0FF3395E0FEC39001D203
+:1018FA00E09FFF9001D1E09EFE9001DAF0A3EFF0A5
+:10190A00C3EE648094804003021AC8E49001DA02AC
+:10191A001AC59001D1E0FEA3E0FF7C097DC4120B39
+:10192A001F780A120AA99001D1EEF0A3EFF09001F4
+:10193A00D5E0FD3395E0FCC3EF9DFFEE9CFE3395A9
+:10194A00E0FDFCE47B64FAF9F8120A49C006C00714
+:10195A009001D9E075F002A424F4FFE5F03401AB5C
+:10196A0007FA3395E0F9F8D007D006122808900153
+:10197A00C9EEF0A3EFF0C3EE648094804003021A2C
+:10198A00C8E49001C9021AC59001D1E0FEA3E0FFA4
+:10199A007C097DC4120B1F780A120AA99001D1EEA4
+:1019AA00F0A3EFF09001D6E0FD3395E0FCC3EF9D84
+:1019BA00FFEE9CFE3395E0FDFCE47B64FAF9F81235
+:1019CA000A49C006C0079001DCE075F002A424F4BD
+:1019DA00FFE5F03401AB07FA3395E0F9F8D007D008
+:1019EA00061228089001CCEEF0A3EFF0C3EE648053
+:1019FA0094804003021AC8E49001CC021AC59001EF
+:101A0A00D1E0FEA3E0FF7C097DC4120B1F780A1205
+:101A1A000AA99001D1EEF0A3EFF0E025E0FE9001D3
+:101A2A00D1E0339001D7F0A3CEF09001D7E0FEA326
+:101A3A00E07802C333CE33CED8F9FDAC069001DF8D
+:101A4A00E0FF3395E0FEEF24F8FFEE34FFFE1209C3
+:101A5A00517C037DE81209639001D7EE8FF01209D9
+:101A6A0099C39001D7E0648094805052E4804C90EE
+:101A7A0001CBE0FF3395E0FEC39001D2E09FFF90D7
+:101A8A0001D1E09EFEE4FCFD7BC47A09F9F8120A52
+:101A9A0049780A120ABC9001D1EEF0A3EFF0E025D2
+:101AAA00E0FF9001D1E033FE9001CFF0A3EFF0C345
+:101ABA00EE648094805007E49001CFF0A3F0C23E18
+:101ACA002290013FE09001CEF0C454F04401F5A504
+:0C1ADA00E49001D1F0A3F09001DEF022B6
+:03006B0002242349
+:10242300C0E0C0F0C083C082C0D075D000C000C07F
+:1024330006C007E5F330E03FAFA19001D3E4F0A37A
+:10244300EFF0E5A25403FE9001D3E04EF0A3E0F0D9
+:102453009001DEE0C3940850199001D3E0FEA3E09D
+:10246300FF9001D1EE8FF01209999001DEE004F0A4
+:102473008005D23E53A5FE75F301D007D006D000E8
+:0B248300D0D0D082D083D0F0D0E03267
+:1028810075FE8743FF209001FB7403F075FE7043D2
+:10289100FF1853B3F143B302E47809F6780BF6E07D
+:1028A10018F6780C76017909E718461846F5B175DE
+:0328B100B201224F
+:101CC200E4FE9001DAE0FCA3E0FDC394E8EC9403A7
+:101CD20040037F0022EF7003021DDDD3ED940FEC71
+:101CE20094034003021DBBED94CBEC94005003021D
+:101CF2001DBBD3ED94AAEC94024023D21A9001FBAF
+:101D0200E0FF13780AF6301B11D3ED94BFEC940276
+:101D12004004C21B8004780AA607E4FE8071D3ED5A
+:101D220094AAEC94025044ED9437EC9401403CD2D6
+:101D32001B9001FBE0FF780AF6301A13D3ED94935F
+:101D4200EC94025004C21A8006EFC313780AF678A4
+:101D52000C7601301511D3ED9451EC94015004C26C
+:101D6200158004E4780CF6E4FE8024D3ED9437EC7D
+:101D72009401501BD215E4780CF6301B10ED94261A
+:101D8200EC94015004C21B8004780C7601E4FE300E
+:101D92001811C3ED94F3EC94025006C218E4FE80CD
+:101DA200027E0130192FD3ED94DDEC94004006C27F
+:101DB20019E4FE80207E01801CD3ED940FEC940385
+:101DC2004006D2187E01800DD3ED94CBEC940050E6
+:101DD20004D2197E01C216C2178058C218C219D382
+:101DE200ED949FEC94035031ED9471EC94004029F2
+:101DF200301610ED9484EC94035006C216E4FE8073
+:101E0200027E0130172DD3ED9482EC94004006C27D
+:101E120017E4FE801E7E01801AD3ED949FEC94039A
+:101E22004004D216800BC3ED9471EC94005002D2A0
+:0A1E3200177E01780CE6F5B2AF064A
+:011E3C002283
+:1020C400E4FBFAE5E65480FFE4FCFDFEEF70075301
+:1020D400B3FE7808F62278087601E5E830E5057560
+:1020E400E8208005E5E530E10453B3FE22E5F23053
+:1020F400E50475F22022E5F2540C601353B3FEE5B7
+:10210400F354C0700302219F75F20C75F3C022755D
+:10211400F3C07F01121CC2EF600653B3FED21C222F
+:10212400C21CE5F230E432780CE6B401067A107B86
+:102134006880047A0F7BA0EB246AFFEA34FFFEC3B5
+:102144009001D8E09F9001D7E09E500575F2108071
+:102154000353B3FE78087603227909E7780B46180F
+:1021640046F5B1780CE6F5B243B31190019EE0FF59
+:10217400D394014002C237EFD394034002C233EF39
+:10218400D394074002C235EFD3940C4002C234EF1B
+:0B219400D394114002C2367808760296
+:01219F00221D
+:10005600303910EFB4010475B5C02253B5BFED4475
+:0400660080F5B5224A
+:102AC700E5B55480FFEF6008303905E4F5B5C23944
+:012AD70022DC
+:10261900C239E5E520E156E5E230E703D23A22E5A1
+:10262900E830E00D301E4675E8017D3FE4FF020009
+:1026390056E4FF121CC2EF6006122AC7D23822C222
+:1026490038303703022AC7D239303A217808E6B43C
+:10265900021BC39001D8E094109001D7E0648094E4
+:0E2669008E4005D239C23A22122AC7C2392247
+:10297E00E5E25408FF9001F8E06F6021E5E230E3F4
+:10298E00089001F77401F08005E49001F7F0D23F52
+:0D299E00C210D229D22B9001F8EFF0D241E7
+:0129AB002209
+:101AE600E5E25402FFE4FCFDFEEF70319001E27581
+:101AF600F0011209999001E2E0FEA3E0FFC39417FA
+:101B0600EE94024004D231800EC3EF9487EE940027
+:101B16004005203002D230D22DC22E8041302D37E2
+:101B2600D241E49001E5F0C22DD22E9001E4F0906E
+:101B360001E2E0FEA3E0FFD3941EEE94005008D22B
+:101B46002CD22FD22B800EC3EF944FEE940150056A
+:101B5600303002D232C230E49001E2F0A3F0302EEF
+:101B66003830393530322920100280337F0312276E
+:101B7600229001E4E0D394235003021CAFC23290BA
+:101B860001E57402F0E49001E1F090012FF0A3F07A
+:101B9600302F02C22FC22EC21030312B20100A7DE8
+:101BA6003FE4FF120056D210227F03122722900133
+:101BB600E4E0D394235003021CAFC231E49001E663
+:101BC600F09001E57403F09001F7E0640160030210
+:101BD6001CC19001E5E064026003021C849001E1EF
+:101BE600E0C3940150107D257F37121661E4900101
+:101BF6002FF0A3F080709001E0E0D39405401CE440
+:101C0600F07D257F111216617D247F11121661E485
+:101C16009001E5F0D2137F03021CBE900130E0B4C0
+:101C2600010F7D247F0A1216619001307402F08044
+:101C360035900130E06402702D90012FE060207D28
+:101C4600257F0A121661E490012FF0A3F09001E1BE
+:101C5600F09001E0F09001E5F0D2137F0480597D09
+:101C6600247F371216619001E1E0D39414400A9064
+:101C760001E0E004F0E4A3F0229001E1802B900162
+:101C8600E5E064037035A3E0FFC394B4501FEF543E
+:101C96000F70047D25800A9001E6E0540770077DE9
+:101CA600247F0B1216619001E6E004F022E4900115
+:0B1CB600E5F0D213A3F07F04122722F8
+:011CC1002200
+:10291A0075FE0675FF3C75FE0E53FF0F75FE0F53CD
+:10292A00FFF075FE0375FFFFE4900173F0900172EA
+:10293A00F0900174F0900171F0C282C283C285C224
+:02294A008422E5
+:102A6F00EF14600D14600D14600D2403700BD282EF
+:0A2A7F0022D28322D28422D28522C3
+:052A320090013FE0FFF0
+:102A3700EF14600D14600D14600D2403700BC28237
+:0A2A470022C28322C28422C285222B
+:10255A00E4FF74752FF582E43401F583E4F07479AD
+:10256A002FF582E43401F583E4F0EF25E0247DF5CC
+:10257A0082E43401F583E4F0A3F0EF25E02485F545
+:10258A0082E43401F583E4F0A3F0EF25E0248DF52D
+:10259A0082E43401F583E4F0A3F0EF25E02495F515
+:0F25AA0082E43401F583E4F0A3F00FEFB404A34F
+:0125B90022FF
+:1024F700AC0774752CF582E43401F583EDF0EAC37B
+:1025070013FEEB13FFEC25E0247DF582E43401F59F
+:1025170083EEF0A3EFF0AF03EC25E02485F582E42A
+:102527003401F583EAF0A3EFF0900144E0FEA3E065
+:10253700FFEC25E0248DF582E43401F583EEF0A36A
+:10254700EFF0EC25E02495F582E43401F583E4F01F
+:03255700A3F022CC
+:10000E0074752FF582E43401F583EDF074792FF5D4
+:10001E0082E43401F583EBF0EF25E0247DF582E4F4
+:10002E003401F583E4F0A37469F0EF25E02495F52F
+:0B003E0082E43401F583E4F0A3F0221B
+:10103E00E490013FF0F090013FE0FFC394044003C1
+:10104E0002138074752FF582E43401F583E060227B
+:10105E0024FE60241470030211481470030211BFA1
+:10106E002403600302131C90013FE0FF122A6F025B
+:10107E00131C122A3202131C90013FE0FF25E024BC
+:10108E007DF582E43401F583E0FCA3E0FDEF25E07D
+:10109E002495F582E43401F583E0FEA3E0C39DEED2
+:1010AE009C5005122A6F8003122A3290013FE0FFF6
+:1010BE0025E02485F582E43401F583E0FCA3E0FD10
+:1010CE00EF25E02495F582E43401F583E0FEA3E0FC
+:1010DE00C39DEE9C500302131C90013FE025E024BB
+:1010EE0095F582E43401F583E4F0A3F0EF25E024D6
+:1010FE008DF582E43401F583E0FEA3E0D39400EE97
+:10110E009400401690013FE025E0248DF582E434F2
+:10111E0001F58374FFF5F012099990013FE0FF2568
+:10112E00E0248DF582E43401F583E0FCA3E04C600D
+:10113E000302131C74752F0211DB90013FE0FF2593
+:10114E00E0247DF582E43401F583E0FCA3E0FDEFBD
+:10115E0025E02495F582E43401F583E0FEA3E0D387
+:10116E009DEE9C5005122A6F8003122A3290013F89
+:10117E00E0FF25E02485F582E43401F583E0FCA34D
+:10118E00E0FDEF25E02495F582E43401F583E0FEE1
+:10119E00A3E0C39DEE9C500302131C90013FE0257B
+:1011AE00E02495F582E43401F583E4F0A3F0021314
+:1011BE001C90013FE0FF2479F582E43401F583E0D1
+:1011CE0070171227C4C24090013FE02475F582E4E7
+:1011DE003401F583E4F002131C90013FE0FF247903
+:1011EE00F582E43401F583E0FE6402704B20401476
+:1011FE00D240EF25E0247DF582E43401F583E4F05E
+:10120E00A37469F090013FE0FF25E0247DF582E4B0
+:10121E003401F583E475F001120999EF25E0247D80
+:10122E00F582E43401F583E0FCA3E0C394FEEC9474
+:10123E00005003021306804EEE6401705A204017D0
+:10124E00D24090013FE025E0247DF582E43401F5A3
+:10125E0083E4F0A374FEF090013FE0FF25E0247DCF
+:10126E00F582E43401F58374FFF5F0120999EF2548
+:10127E00E0247DF582E43401F583E0FEA3E0D3940F
+:10128E0069EE9400507290013FE02479F582E434C7
+:10129E0001F583E4F0806190013FE0FF2479F5824F
+:1012AE00E43401F583E06403704EEF25E0247DF510
+:1012BE0082E43401F583E0FEA3E0FFC394FEEE94D6
+:1012CE00004004D240800BD3EF946AEE940050029B
+:1012DE00C24090013FE025E0247D30400DF582E4D0
+:1012EE003401F58374FFF5F0800BF582E43401F5DB
+:1012FE0083E475F00112099990013FE0FF25E02487
+:10130E007DF582E43401F583A3E0FD12277390018D
+:10131E003FE0FF701174752FF582E43401F583E020
+:10132E00900173F0804390013FE0B401102475F5F5
+:10133E0082E43401F583E0900172F0802C90013F3D
+:10134E00E0B402102475F582E43401F583E09001D7
+:10135E0074F0801590013FE0B4030E2475F582E41D
+:10136E003401F583E0900171F090013FE004F0024A
+:10137E001044E490013FF090013FE0FFC39404500D
+:10138E001BEF25E02495F582E43401F583E475F036
+:0C139E000112099990013FE004F080DB8F
+:0113AA002220
+:1028B40075FE1E43FF0275FE2143FF0875D486751D
+:1028C400FE2143FF0475FE2143FF02300E0875FE0E
+:1028D4002453FFC3800675FE2443FF3C9001FC741F
+:0328E4000FF022D0
+:10006E00D2AC759A01D2B9D2BDD2A9D2AB75FE2946
+:04007E0043FFB0226A
+:102A9F00C2ACE4F59AD2B9C2BDC2A9C2AB75FE29C8
+:042AAF0053FF4F2260
+:092B0200122A9F43870202006EB3
+:102AB300E5E25401FFEF7006201403304104C241E4
+:042AC300C322D32235
+:1025BA0075FE01E4F5FF122AF5122AE7E4F586759D
+:1025CA00B7C375FE6A75FF0475FE6C53FF3043FF8F
+:1025DA004A1226CE75FE8043FF0275FE0E53FFFC9B
+:1025EA0043FF0175FE1775FF3CD2A8D2AF122881AE
+:1025FA007D697F03122A8912291A12255A1228B4D0
+:0F260A009001FC740FF0C2109001F07401F022E7
+:03000300020006F2
+:03000600D24132B2
+:03004B00022B0B7A
+:062B0B0075EB3CD24132E3
+:03005300022B116C
+:062B110075F302D241320F
+:0D2AF50075BB03759DDC759B92439A012211
+:0628E700900165120AF0E9
+:1028ED00E4900168F0F0900168E0C39FE49E501CF5
+:1028FD00203CFDD23C900165E475F001120AD9121D
+:0C290D0008B6F59C900168E004F080DA48
+:01291900229B
+:030083000221A0B7
+:1021A000C0E0C083C082C0D075D000C000C003C0F2
+:1021B00005C006C007E59B30E105539BFDC23CE529
+:1021C0009B30E079539BFED2419001F3E0146023F1
+:1021D00004706AE59C9001F3B4AA127401F0A3E4C0
+:1021E000F0E0FF04F074502FF8A69C8050E4F0A3B8
+:1021F000F0804A9001F4E0FF04F074502FF8A69CA0
+:10220000E0FDB407177856E6FEE42409FFE43EFE3D
+:1022100018E6FBEF4BFFA3EEF0A3EFF0EDFF90010C
+:10222000F5E07003A3E06F60099001F4E0D394201F
+:10223000400B9001F4E4F09001F3F0D23DD007D0D0
+:1022400006D005D003D000D0D0D082D083D0E032E9
+:06284C004301F00402024A
+:1029F2009001DDE0FF04F01218AA9001DDE0B406B8
+:102A02000204F09001DDE0C3940840037402F02256
+:102A510012297E121AE6122677301D11C21D12208C
+:0E2A6100C4122619122396120C6F1213AB2208
+:101E3D00E490013FF09001F0E0FFA3E0FE6F6055EC
+:101E4D00A3EEF09001F0E0A3F024FE603214603FA9
+:101E5D0024026003021FAD900144E4F0A37403F06B
+:101E6D007B647A007D02E4FF1224F7900144E4F0D4
+:101E7D00A37403F07B647A007D027F010224F720B6
+:101E8D000E03021FADD23F75E80CC20DC20E22909B
+:101E9D0001FC021F3C9001F1E024FE6035146076D8
+:101EAD00147003021F4724036003021FAD9001EE5F
+:101EBD00E004F0E0C394085003021FAD9001F074EC
+:101ECD0002F0E49001EEF090019EE06003021FAD80
+:101EDD008061E5F6700CE5F87008E5FA7004E5E14F
+:101EED00602D9001F07403F0E5F6540FFFE4FCFD56
+:101EFD00FE7B08FAF9F8C3120A9870069001F07487
+:101F0D0004F075E11F75F60F75F8FC75FABC22909B
+:101F1D0001F07403F022202103021FADC2219001B4
+:101F2D00FCE0D39400400CE014F0304173C24174D6
+:101F3D000FF0229001F07404F022122AB3505B12BC
+:101F4D0028B47F04122722122AC7E4900144F0A37B
+:101F5D00F0FBFAFDFF1224F7E4900144F0A3F0FB2F
+:101F6D00FAFD7F011224F7E4900144F0A3F0FBFA8F
+:101F7D00FD7F021224F7E4900144F0A3F0FBFAFD7B
+:101F8D007F031224F79001737402F0900172F090A8
+:101F9D000174F0900171F0022B029001F07402F0C7
+:011FAD002211
+:10294C00302026C2209001EFE0FF04F0EF14600C61
+:10295C0014600E240270121229F2800D122A51807A
+:10296C0008121E3DE49001EFF0302205C222121035
+:02297C003E22F9
+:102A120000000000000000000000000000000000B4
+:102A220000000000000000000000000000000000A4
+:10272200EF24FE601E14602814602F24FE603524FE
+:1027320005703D43BD9953BD9975FE6F53FFF2433A
+:10274200FF092243BDCC75FE6F53FFFE43FF0C22EF
+:1027520053BD7753B7CF43B7302253B7CF43B703F5
+:1027620053BD772253B7CC53BD7775FE6A43FF3012
+:012772002244
+:1013AB00203903021628303F5920100A7D3FE4FFF5
+:1013BB00120056D210227F03122722E4900103F071
+:1013CB00900101F0A3F0C200C201D20B9001F7E033
+:1013DB007020C22AD202D203C205C208C204C209BB
+:1013EB00C20AD214C24290012CF0A3F090013BF040
+:1013FB008008C202C203D205C206C210C20DC20EC1
+:10140B00C23F900101E0C3940550030215C7300B96
+:10141B0005C20B02159B20002ED200E5E354A06001
+:10142B0021E5E354A0FFE4FCFDFE7BA0FAF9F8C331
+:10143B00120A9890012E70057402F0800A7401F064
+:10144B008005E490012EF02005030214DD900102CB
+:10145B00E0C3940550077F06122722802720013B0B
+:10146B00900103E0FFD39414501FEF540370047DDD
+:10147B00248009900103E020E0077D257F0D1216E3
+:10148B0061900103E004F080497F04122722E4906D
+:10149B000103F0D201D213C21480379001E5E07042
+:1014AB0031301304C2138022E5E354A0FBE4FAF9B4
+:1014BB00F8900100E0FFE4FCFDFEC3120A986012F5
+:1014CB00E5E354A06004D22AD22BE5E354A09001AB
+:1014DB0000F020020302162530423F2010237D3FEF
+:1014EB00E4FF120056D210D214E490012CF0A3F0BA
+:1014FB0090013BF0900101F0C208D20BC200D20464
+:10150B00227F03122722C210D203900101E0D39451
+:10151B000350030215C7C242804F20044C900102B6
+:10152B00E0FFD39414501CEF540370047D24800906
+:10153B00900102E020E0077D257F0D1216619001DE
+:10154B00028079900103E0FFD39414501CEF5403F5
+:10155B0070047D248009900103E020E0077D257F46
+:10156B00371216619001038053E5E8540C60262076
+:10157B000E1E900103E004F0E0C394055003021625
+:10158B0060E4F075E80C7F03122722D20DC21422FF
+:10159B007F04022722C20DC20E3003097F031227DC
+:1015AB0022C203807520083DE5E354AC64AC6003B4
+:1015BB00303321900101E0D394285004E004F02251
+:1015CB00D208E4900104F0900101F0C2097F0412EB
+:1015DB002722804690012DE070407B017A01790F24
+:1015EB001200868035900104E0FFD39414501FEF56
+:1015FB00540370047D248009900104E020E0077DF2
+:10160B00257F05121661900104E004F0800C20097F
+:10161B0009D2097F04122722C214C2072220070B0A
+:10162B00D2077F04122722C2148022E5E354A0FBC9
+:10163B00E4FAF9F8900100E0FFE4FCFDFEC3120AA6
+:10164B00986012E5E354A06004D22AD22BE5E35450
+:05165B00A0900100F069
+:011660002267
+:0600860090013F120AF098
+:10008C0090013BE0147003020167147003020246F6
+:10009C001470030202B714700302042324046003D7
+:1000AC000205A390013F120AD090001E1208CF60E7
+:1000BC00030205A390013EE0D3940A5028E004F01B
+:1000CC0090001A743F12092F300C030205A3900103
+:1000DC003F120AD090001A1208CFFDE4FF1200560E
+:1000EC00D20C0205A3E490013EF0C20C90013F1229
+:1000FC000AD0900016E412092F900015E412092F73
+:10010C00900013E412092F900012E412092F9000B2
+:10011C0011E412092F900010E412092F900018E43A
+:10012C0012092F900017E412092F90000EE4F5F03D
+:10013C00120A1C90000CE4F5F0120A1C900019E451
+:10014C0012092F90001B743F12092F90013B740170
+:10015C00F0E490010DF0A3F00205A3E5E35408FFD1
+:10016C00E4FCEF601CE5E35404601690013F120AB6
+:10017C00D090001E740112092FE490013BF002058F
+:10018C00A3E5E35408FFE4FCEF704A9001CCE0FED9
+:10019C00A3E0FF90013F120AD0900002EE8FF01204
+:1001AC000A1C7D05120963EF7802C333CE33CED817
+:1001BC00F9FF90013F120AD0900006EE8FF0120A60
+:1001CC001C9001CDE025E0FF9001CCE03390000ABB
+:1001DC008FF0120A1CE5E35404FFE4FCEF704F901F
+:1001EC0001C9E0FEA3E0FF90013F120AD0EE8FF0B0
+:1001FC001209FD9001C9E0FEA3E0FF7D0512096321
+:10020C00EF7802C333CE33CED8F9FF90013F120AF8
+:10021C00D0900004EE8FF0120A1C9001CAE025E089
+:10022C00FF9001C9E0339000088FF0120A1C900176
+:10023C003F120AD090001D020598D390010EE09455
+:10024C000590010DE094005002806FE490010DF0D8
+:10025C00A3F0E5E35408FFEF701F9001CCE0FEA380
+:10026C00E0FF90013F120AD090000EEE8FF0120AC0
+:10027C001C900018740112092FE5E35404FFE4FCF0
+:10028C00EF701F9001C9E0FEA3E0FF90013F120A3E
+:10029C00D090000CEE8FF0120A1C90001774011213
+:1002AC00092F90013B7403F00205A3D390010EE0DB
+:1002BC00940290010DE09400500AE475F0011209CB
+:1002CC00990205A3E490010DF0A3F090013F120AEE
+:1002DC00D090000A1209C5FFAEF090000E1209C5AD
+:1002EC00D39FE5F09E501C90013F120AD09000085D
+:1002FC001209C5FFAEF090000C1209C5D39FE5F0B2
+:10030C009E4011E490013BF090013F120AD0900006
+:10031C001D0203E590013F120AD09000181208CF7D
+:10032C006401706D90000E1209C5FFAEF0D39414E9
+:10033C00EE94005031E5E330E31F90001674011287
+:10034C00092F90001A1208CFC3943F404490013FEC
+:10035C00120AD0900018E4803590013F120AD09018
+:10036C0000137401802890013F120AD090000612ED
+:10037C0009C5FDD3EF9DEE95F090013F4008120AA0
+:10038C00D09000138006120AD09000167401120946
+:10039C002F90013F120AD09000171208CF64016011
+:1003AC00030205A390000C1209C5FFAEF0D3941400
+:1003BC00EE94005034E5E330E22290001574011203
+:1003CC00092F90001A1208CFC3943F50030205A3C3
+:1003DC0090013F120AD0900017E4803590013F1233
+:1003EC000AD09000127401802890013F120AD0901C
+:1003FC0000041209C5FDD3EF9DEE95F090013F402E
+:10040C0008120AD09000128006120AD090001574BF
+:10041C000112092F0205A3D390010EE09414900150
+:10042C000DE094005031E475F0011209999001CC63
+:10043C00E0FEA3E0FF90013F120AD090000EEE8F79
+:10044C00F0120A1C9001C9E0FFA3E090000CCF8FC2
+:10045C00F0120A1C0205A3E490010DF0A3F0900128
+:10046C003F120AD09000181208CF640160030205F5
+:10047C00019000171208CF6401707A9000061209DF
+:10048C00C5FFAEF090000E1209C5FDACF0C39FEC99
+:10049C009E401890013F120AD090000A1209C5FF25
+:1004AC00D3ED9FEC95F050030205A390013F120A87
+:1004BC00D09000041209C5FFAEF090000C1209C5D3
+:1004CC00FDACF0C39FEC9E401890013F120AD090F7
+:1004DC0000081209C5FFD3ED9FEC95F050030205FF
+:1004EC00A390013F120AD0900016740112092F90AC
+:1004FC00001502059890013F120AD09000181208BE
+:10050C00CF640170419000061209C5FFAEF0900057
+:10051C000E1209C5FDACF0C39FEC9E401590013F37
+:10052C00120AD090000A1209C5FFD3ED9FEC95F08A
+:10053C00401490013F120AD0900016740112092F3A
+:10054C0090013B7402F090013F120AD090001712F8
+:10055C0008CF640170419000081209C5FFAEF090FD
+:10056C00000C1209C5FDACF0D39FEC9E5015900108
+:10057C003F120AD09000041209C5FFC3ED9FEC9501
+:10058C00F0501490013F120AD0900015740112091A
+:10059C002F90013B7402F090013F120AD09000188A
+:1005AC001208CFFF6401600D9000171208CF640190
+:1005BC0060030207A69000131208CFFE6401600DC1
+:1005CC009000121208CF64016003020720EFB401FF
+:1005DC001E9000171208CFB40115EEB40111900053
+:1005EC00131208CFB40108900014740112092F9053
+:1005FC0000181208CFFFB401189000171208CF7022
+:10060C00109000131208CF64017023900014048022
+:10061C001AEF701A9000171208CFB4011190001243
+:10062C001208CFB40108900014740112092F900025
+:10063C0013E412092F900012E412092F90001412E7
+:10064C0008CF640160030207BF90013F120AD090EB
+:10065C00001A1208CFD39400400890001A74FE12AE
+:10066C0008FC9000191208CFFF90001A1208CFD383
+:10067C009F40219001D8E024C8FF9001D7E03400BE
+:10068C00FEC39001D0E09FEE6480F89001CFE0644F
+:10069C008098504890013F120AD09000191208CF50
+:1006AC00FF90001A1208CFD39F90013F5013120AEB
+:1006BC00D090001AEF12092F90001CE412092F8021
+:1006CC0013120AD090001C740112092F90001A7496
+:1006DC00021208FC90013B7404F0801390013B74EF
+:1006EC0002F090013F120AD090001CE412092FE492
+:1006FC0090010DF0A3F090013F120AD0900014E489
+:10070C0012092F90001C1208CFFF90001A1208CF6C
+:10071C00FD0207A390013F120AD09000161208CFD9
+:10072C006401600D9000151208CF6401600302078C
+:10073C00BF900016E412092F900015E412092F90B7
+:10074C00001A1208CFC3943F500E90013F120AD0EA
+:10075C0090001A74021208FC90013B7404F0900192
+:10076C003F120AD090001B1208CFFF90001A1208FB
+:10077C00CFC39F401390013F120AD090001AEF1282
+:10078C00092F90013B7401F090013F120AD09000A8
+:10079C001A1208CFFDE4FF02005690013BE0D394FF
+:1007AC00024010E4F090013F120AD090001E740138
+:0307BC0012092FF0
+:0107BF002217
+:0E225000900165120AF0900168ECF0A3EDF029
+:10225E0074FFA3F0A3F0A37410F0A37421F0E4A311
+:10226E00F090016874FFF5F01209AF45F0607090C0
+:10227E000165E475F001120AD91208B690016EF0EC
+:10228E00E0FE90016AE06EF0A3E0F0E490016FF0E2
+:10229E00A3F0C3900170E0940890016FE094005099
+:1022AE00C090016AE0FEA3E0FFEE30E719EF25E0F3
+:1022BE00FFEE33FEA3E06EFEA3E06FFF90016AEE29
+:1022CE00F0A3EFF0800D90016BE025E0F090016A35
+:1022DE00E033F090016FE475F00112099980B3902C
+:0722EE00016AE0FEA3E0FF1E
+:0122F50022C6
+:0816610090013FEFF0A3EDF052
+:10166900E4A3F0A3F078437C017D017BFF7A2A791A
+:1016790012FE7F20120890E4900163F0A3F090011C
+:101689004374AAF0900140E0FE900144F090013FBC
+:10169900E0900145F0A3E4F09001F7E0900147F0F4
+:1016A90090013FE0120AF9171F0516E20A17300BDD
+:1016B900173A0D17830E17D80F17301118A91216DC
+:1016C900CF37000017E4E4900148F0A3F07B0678D7
+:1016D90040E4F608DBFC0217E4900148740EF0E4DC
+:1016E900A3F0FB74402BF8E6FD744A2BF582E43431
+:1016F90001F583EDF00BEBB406E9E4FB74462BF836
+:10170900E6FD74502BF582E43401F583EDF00BEB23
+:10171900B408E90217E49001487401F0E4A3F0A2C7
+:101729000F33A3F00217E4E4900148F0A3F0021785
+:10173900E49001487405F0E4A3F0A37410F0F0A359
+:101749007401F07808E65402C4333354C0FD9001A3
+:101759009EE075F005A44D90014CF0EEB42405907F
+:101769000139800A900140E0B4250890013AE090DF
+:10177900014DF0E490014EF08061900148740AF047
+:10178900E4A3F07829E6A3F0E4FBEBFF7829E6FD72
+:101799002FFFE433FED3EF9416EE64809480400F5C
+:1017A900744B2BF582E43401F58374FFF08013ED5B
+:1017B9002B242AF8E6FF744B2BF582E43401F583D8
+:1017C900EFF00BEBB409C37829740926F6800C9065
+:1017D90001487401F0E4A3F0A304F0900149E0FE8C
+:1017E900900148E0FDED2407FFE43EFE900141F041
+:1017F900FCA3EFF0FD7B017A01794312225090019D
+:1018090063EEF0A3EFF0900163E0FEA3E0FD900129
+:1018190041E0FAA3E02443F58274013AF583EDF03F
+:10182900EEFF900141E475F001120999FC7443251A
+:10183900F0F58274013CF583EFF07F0112272290C5
+:101849000140E0FFB4240843BD0253BDFE8016EFFA
+:10185900B4250843BD2053BDEF800AEFB4210643E8
+:10186900BD2253BDEE900142E02402FF900141E008
+:101879003400FE7B017A0179431228E7900140E0A8
+:10188900FFB4240753BDFD43BD0122EFB42507531F
+:10189900BDDF43BD1022EFB4210653BDDF43BD11A7
+:0118A900221C
+:101FAE007851E6C4540FFD540360030220C3EF12B0
+:101FBE000AF920030A20150B20250D20900E20A2D1
+:101FCE000F20B4111FD937000020C3E4FE7855E668
+:101FDE00FFEEC39F500F74572EF8E6FF74402EF895
+:101FEE00A6070E80E8EDB4040690012F0220C090E3
+:101FFE0001300220C0ED7857B40406E6900133F0AC
+:10200E0022E6900134F022EDB4040690013702204E
+:10201E00C09001380220C0ED640478597032E6FE9B
+:10202E00547F900139F0EEC413131354019001053F
+:10203E00F008E6784EF6785BE6FE5401900131F03A
+:10204E00EEC313540190013CF008E6900135F022E6
+:10205E00E6FE547F90013AF0EEC413131354019030
+:10206E000106F008E6784FF6785BE6FE5401900123
+:10207E0032F0EEC313540190013DF008E6900136A4
+:10208E00F022ED7857B40406E690010BF022E690AC
+:10209E00010CF022ED7857B40406E6900107F02209
+:1020AE00E6900108F022EDB404059001078003903C
+:0520BE0001087401F0AF
+:0120C30022FA
+:10267700E490013FF0A3F0A3F0303D4AC23D785605
+:10268700E6FEE42407FFE43EFE18E6FDEF4DFF906B
+:102697000140EEF0FCA3EFF0FD7B007A00795012C9
+:1026A7002250AC06AD07900140A3E0FB2452F8E6A8
+:1026B700FE74512BF8E6FBEBB5050BEEB504077876
+:0626C70052E6FF121FAEF7
+:0126CD0022EA
+:10285200602A019F0BB80BEA0C1C0C800CB20CE432
+:102862000D160D480D7A0DAC0E100E420E740EA60A
+:0E2872000ED80F0A0F3C0F870FD2101D1068F2
+:10239600E4FFEF25E0249FF582E43401F583E0FCB9
+:1023A600A3E0FDC39001D8E09D9001D7E09C4005D5
+:1023B6000FEFB415DD90019EE0FEEFD39E90019DD8
+:1023C600E0400404F0800214F0E5E16008E4F5E181
+:1023D60090019EEFF090019DE0FED394BE5006EE74
+:1023E600C3940A500B90019EEFF090019D7464F027
+:1023F60090019EE0FFD394005002D237EFD39401B0
+:102406005002D233EFD394055002D235EFD3940A5B
+:0C2416005002D234EFD3940F5002D236A3
+:012422002297
+:10248E009001ECE06062E4F0D21F9001EAE004F00B
+:10249E00E0C394054004E4F0D2209001EDE004F096
+:1024AE00E0C3940A4004E4F0D2229001E7E475F010
+:1024BE0001120999C39001E8E094649001E7E09459
+:1024CE00004006E4F0A3F0D21D9001E9E004F0E034
+:1024DE00C394FA4013E4F0D21E9001EBE004F0E056
+:0924EE0094044004E4F0D2212220
+:03000B000229AC1B
+:1029AC00C0E0C083C082C0D074FC258CF58C7466EA
+:1029BC00258AF58A9001EC7401F0D0D0D082D083B6
+:0329CC00D0E03226
+:0E2AE700758901758CFC758A66D2A9D28C2285
+:1027C400EFD39401501675FE0EEF25E02404FE7439
+:1027D40003A806088002C333D8FC801475FE0FEFEB
+:1027E40024FE25E0FE7403A806088002C333D8FC47
+:1027F400F452FFEFB4040C75FE0F53FFF075FE0E98
+:0428040053FF0F224D
+:102A890075FE54EF5407F5FF75FE56AF058FFF75B8
+:062A9900FE5375FF01224F
+:10277300EFD39401501875FE0EEF25E02404FE7488
+:1027830003A806088002C333D8FC42FF801675FEF7
+:102793000FEF24FE25E0FE7403A806088002C3336E
+:1027A300D8FC42FFEF70038DCE22EFB401038DCF2F
+:1027B30022EFB402038DDE22EFB40304AF058FDFF3
+:0127C30022F3
+:032FFD00010102CD
+:1029CF00E4FB7D04FF12000EE4FB7D047F01120087
+:1029DF000EE4FB7D047F0212000EE4FB7D047F03F7
+:0329EF0002000ED5
+:100C6F00302B5AC22BE49001F9F090019DF09001C6
+:100C7F0044F0A3F0FBFAFDFF1224F7E4900144F0D7
+:100C8F00A3F0FBFAFD7F011224F7E4900144F0A3D7
+:100C9F00F0FBFAFD7F021224F7E4900144F0A3F079
+:100CAF00FBFAFD7F031224F79001737402F0900199
+:100CBF0072F0900174F0900171F0D24122201C0F5C
+:100CCF0020380C200D03020D85300E03020D8520F8
+:100CDF002505D225D22B22900173E06402601A9071
+:100CEF000144E4F0A3740AF07B147A007D02E4FF60
+:100CFF001224F79001737403F0900172E0640260A4
+:100D0F001A900144E4F0A3740AF07B147A007D0278
+:100D1F007F011224F79001727403F0900174E06464
+:100D2F0002601A900144E4F0A3740AF07B147A0075
+:100D3F007D027F021224F79001747403F090017109
+:100D4F00E06402601A900144E4F0A3740AF07B148B
+:100D5F007A007D027F031224F79001717403F02053
+:100D6F000D0302103D9001F9E0C394285003020EC9
+:100D7F00BBD20ED22B2230250CC225C227C226C2CF
+:100D8F0029C22AD2427808E6FF7003020E95640347
+:100D9F00705E202707D227C2260229CFE490014494
+:100DAF00F0A3F0FBFA7D01FF1224F7E4900144F069
+:100DBF00A3F0FBFA7D017F011224F7E4900144F0C8
+:100DCF00A3F0FBFA7D017F021224F7E4900144F0B7
+:100DDF00A3F0FBFA7D017F031224F79001737401D6
+:100DEF00F0900172F0900174F0900171F0020E8C8E
+:100DFF0020260DD226C227D22BE49001FAF0807D57
+:100E0F009001F9E0C394015055E004F0A3E01460A1
+:100E1F001A14602714603424037062900173E06425
+:100E2F0004605A7B017D04E4FF802E900172E06420
+:100E3F0004604A7B017D047F01801E900174E06491
+:100E4F0004603A7B017D047F02800E900171E064A3
+:100E5F0004602A7B017D047F0312000E801F900126
+:100E6F00F9E0C3940F5005E004F08011E49001F90C
+:100E7F00F0A3E004F0E0C394044002E4F0C229C2FE
+:100E8F002AC22CD2282230260AC2261229CFD22BD0
+:100E9F00D2422220290C202809202A06202C0302C6
+:100EAF00103D9001F9E0FFC394015004E004F022DB
+:100EBF00EFC394644003020FE89001F9E004F030AF
+:100ECF003537900173E06403700302103DE4900125
+:100EDF0044F0A3F07B64FA7D03FF1224F7900173B3
+:100EEF007404F0E4900144F0A3F0FBFAFD7F0112CB
+:100EFF0024F79001727402802D303441E490014444
+:100F0F00F0A3F0FBFA7D01FF1224F7900173740137
+:100F1F00F0E4900144F0A3F0FBFA7D017F0112246D
+:100F2F00F79001727401F0E4900144F0A3F0FBFA22
+:100F3F00FD7F021224F790017474028043E4900144
+:100F4F0044303653F0A3F0FBFA7D01FF1224F790E3
+:100F5F0001737401F0E4900144F0A3F0FBFA7D01FA
+:100F6F007F011224F79001727401F0E4900144F0B4
+:100F7F00A3F0FBFA7D017F021224F7900174740134
+:100F8F00F0E4900144F0A3F0FBFAFD7F031224F785
+:100F9F009001717402F022F0A3F0FBFA7D01FF12B1
+:100FAF0024F7E4900144F0A3F0FBFA7D017F0112D6
+:100FBF0024F7E4900144F0A3F0FBFA7D017F0212C5
+:100FCF0024F7E4900144F0A3F0FBFA7D017F0312B4
+:100FDF0024F790017374018048C229C228C22AC223
+:100FEF002CE4900144F0A3F0FBFAFDFF1224F7E488
+:100FFF00900144F0A3F0FBFAFD7F011224F7E49077
+:10100F000144F0A3F0FBFAFD7F021224F7E49001F4
+:10101F0044F0A3F0FBFAFD7F031224F790017374E1
+:0E102F0002F0900172F0900174F0900171F0E7
+:01103D002290
+:10231600022AD8E493A3F8E493A34003F68001F2DB
+:1023260008DFF48029E493A3F85407240CC8C333C8
+:10233600C4540F4420C8834004F456800146F6DF97
+:10234600E4800B010204081020408090284CE47EB3
+:10235600019360BCA3FF543F30E509541FFEE4938C
+:10236600A360010ECF54C025E060A840B8E493A353
+:10237600FAE493A3F8E493A3C8C582C8CAC583CA7E
+:10238600F0A3C8C582C8CAC583CADFE9DEE780BE36
+:012880000057
+:1007C000E709F608DFFA8046E709F208DFFA803E1B
+:1007D00088828C83E709F0A3DFFA8032E309F60808
+:1007E000DFFA8078E309F208DFFA807088828C8370
+:1007F000E309F0A3DFFA806489828A83E0A3F60824
+:10080000DFFA805889828A83E0A3F208DFFA804CFD
+:1008100080D280FA80C680D4806980F280338010D4
+:1008200080A680EA809A80A880DA80E280CA80333D
+:1008300089828A83ECFAE493A3C8C582C8CCC583B5
+:10084000CCF0A3C8C582C8CCC583CCDFE9DEE78085
+:100850000D89828A83E493A3F608DFF9ECFAA9F004
+:10086000EDFB2289828A83ECFAE0A3C8C582C8CC5A
+:10087000C583CCF0A3C8C582C8CCC583CCDFEADE73
+:10088000E880DB89828A83E493A3F208DFF980CCD5
+:1008900088F0EF60010E4E60C388F0ED2402B404CE
+:1008A0000050B9F582EB2402B4040050AF23234575
+:0608B00082239008107382
+:1008B600BB010689828A83E0225002E722BBFE0240
+:0908C600E32289828A83E4932273
+:1008CF00BB010CE58229F582E5833AF583E02250DE
+:1008DF0006E92582F8E622BBFE06E92582F8E22228
+:0D08EF00E58229F582E5833AF583E4932242
+:1008FC00BB010FF8E58229F582E5833AF583E02800
+:10090C00F0225009C58229F8E58226F622BBFE09A1
+:10091C00C58229F8E22582F222F8EA2583F583E9DB
+:03092C00932822EB
+:10092F00F8BB010DE58229F582E5833AF583E8F0FE
+:10093F00225006E92582C8F622BBFE05E92582C8AA
+:02094F00F22292
+:10095100EF8DF0A4A8F0CF8CF0A428CE8DF0A42EBA
+:02096100FE2274
+:10096300C2D5EC30E709B2D5E4C39DFDE49CFCEEAF
+:1009730030E715B2D5E4C39FFFE49EFE120B4CC3D0
+:10098300E49DFDE49CFC8003120B4C30D507C3E4CB
+:060993009FFFE49EFE221E
+:10099900C5F0F8A3E028F0C5F0F8E58215827002E9
+:0609A9001583E038F02286
+:1009AF00A3F8E0C5F025F0F0E582158270021583FB
+:0609BF00E0C838F0E82258
+:1009C500BB0110E58229F582E5833AF583E0F5F070
+:1009D500A3E0225009E92582F886F008E622BBFE4D
+:1009E5000AE92582F8E2F5F008E222E5832AF58393
+:0809F500E993F5F0A3E9932258
+:1009FD00BB010A89828A83F0E5F0A3F0225006F745
+:0F0A0D0009A7F01922BBFE06F3E5F009F3192241
+:100A1C00F8BB0111E58229F582E5833AF583E8F00C
+:100A2C00E5F0A3F0225009E92582C8F608A6F022C9
+:0D0A3C00BBFE09E92582C8F2E5F008F222B0
+:100A4900E88FF0A4CC8BF0A42CFCE98EF0A42CFC4C
+:100A59008AF0EDA42CFCEA8EF0A4CDA8F08BF0A4CA
+:100A69002DCC3825F0FDE98FF0A42CCD35F0FCEB29
+:100A79008EF0A4FEA9F0EB8FF0A4CFC5F02ECD39EE
+:0F0A8900FEE43CFCEAA42DCE35F0FDE43CFC225B
+:10280800C2D5E830E70FB2D5E4C39BFBE49AFAE4FB
+:1028180099F9E498F8EC30E717B2D512283E120B74
+:10282800DDE4C39BFBE49AFAE499F9E498F88003A1
+:10283800120BDD30D50DE4C39FFFE49EFEE49DFD41
+:04284800E49CFC22EE
+:100A9800EB9FF5F0EA9E42F0E99D42F0E89C45F0B4
+:010AA800222B
+:100AA900E8600FECC313FCED13FDEE13FEEF13FF2B
+:030AB900D8F1224F
+:100ABC00E86010ECA2E713FCED13FDEE13FEEF1350
+:040ACC00FFD8F0223D
+:090AD000E0FBA3E0FAA3E0F92227
+:100AD900F8E0FBA3A3E0F925F0F0E58215827002A6
+:070AE9001583E0FA38F0224A
+:090AF000EBF0A3EAF0A3E9F02207
+:100AF900D083D082F8E4937012740193700DA3A38C
+:100B090093F8740193F5828883E47374029368609F
+:060B1900EFA3A3A380DF9F
+:100B1F00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D63
+:100B2F00FDE43CFCE8A42EC8C5F03DFDE43CFCEF21
+:0D0B3F00A4FFE5F028FEE43DFDE43CFC22AF
+:100B4C00BC000BBE0029EF8DF084FFADF022E4CC8D
+:100B5C00F875F008EF2FFFEE33FEEC33FCEE9DEC56
+:100B6C00984005FCEE9DFE0FD5F0E9E4CEFD22ED9C
+:100B7C00F8F5F0EE8420D21CFEADF075F008EF2FE6
+:100B8C00FFED33FD4007985006D5F0F222C398FDD7
+:050B9C000FD5F0EA2274
+:100BA10075F008758200EF2FFFEE33FECD33CDCC0B
+:100BB10033CCC58233C5829BED9AEC99E58298408E
+:100BC1000CF582EE9BFEED9AFDEC99FC0FD5F0D66B
+:100BD100E4CEFBE4CDFAE4CCF9A88222B800C1B995
+:100BE1000059BA002DEC8BF084CFCECDFCE5F0CBD3
+:100BF100F97818EF2FFFEE33FEED33FDEC33FCEB0C
+:100C010033FB10D703994004EB99FB0FD8E5E4F9C6
+:100C1100FA227818EF2FFFEE33FEED33FDEC33FCB3
+:100C2100C933C910D7059BE99A4007EC9BFCE99AA7
+:100C3100F90FD8E0E4C9FAE4CCFB2275F010EF2FEC
+:100C4100FFEE33FEED33FDCC33CCC833C810D707EC
+:100C51009BEC9AE899400AED9BFDEC9AFCE899F827
+:0E0C61000FD5F0DAE4CDFBE4CCFAE4C8F922BA
+:00000001FF
diff --git a/Out/8837_EVB_250213_1135_9EC6_010102.bin b/Out/8837_EVB_250213_1135_9EC6_010102.bin
new file mode 100644
index 0000000..5eaeae5
Binary files /dev/null and b/Out/8837_EVB_250213_1135_9EC6_010102.bin differ
diff --git a/Project/SY8837_Demo.uvgui.GH b/Project/SY8837_Demo.uvgui.GH
index 87d7524..6452b0e 100644
--- a/Project/SY8837_Demo.uvgui.GH
+++ b/Project/SY8837_Demo.uvgui.GH
@@ -101,17 +101,17 @@
-1
- 167
- 2141
- 4061
- 1129
+ 164
+ -392
+ 1528
+ 1126
0
- 1333
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D000000000000000100000036453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000FFDC7800FFFFFFFF4C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000BECEA100FFFFFFFF41453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000F0A0A100FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000BCA8E100FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C757365725C757365722E680000000006757365722E68000000009CC1B600FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000F7B88600FFFFFFFF3C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C696E635C636F6E6669672E680000000008636F6E6669672E6800000000D9ADC200FFFFFFFF48453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C636861726765725C636861726765725F6D6F64756C652E680000000010636861726765725F6D6F64756C652E6800000000A5C2D700FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C766F785C766F785F6D6F64756C652E68000000000C766F785F6D6F64756C652E6800000000B3A6BE00FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6164635C6164632E6300000000056164632E6300000000EAD6A300FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6C65645C6C65642E6300000000056C65642E6300000000F6FA7D00FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C68616C6C5C68616C6C2E63000000000668616C6C2E6300000000B5E99D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F0000C3020000
+ 1585
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000100000000F0000000100000036453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000FFDC7800FFFFFFFF4C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000BECEA100FFFFFFFF41453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000F0A0A100FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E41353100000000BCA8E100FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C757365725C757365722E680000000006757365722E68000000009CC1B600FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000F7B88600FFFFFFFF3C453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C696E635C636F6E6669672E680000000008636F6E6669672E6800000000D9ADC200FFFFFFFF48453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C636861726765725C636861726765725F6D6F64756C652E680000000010636861726765725F6D6F64756C652E6800000000A5C2D700FFFFFFFF40453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C766F785C766F785F6D6F64756C652E68000000000C766F785F6D6F64756C652E6800000000B3A6BE00FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6164635C6164632E6300000000056164632E6300000000EAD6A300FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C6C65645C6C65642E6300000000056C65642E6300000000F6FA7D00FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C68616C6C5C68616C6C2E63000000000668616C6C2E6300000000B5E99D00FFFFFFFF3B453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C756172745C756172742E630000000006756172742E63000000005FC3CF00FFFFFFFF39453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C557372496E635C6164635C6164632E6800000000056164632E6800000000C1838300FFFFFFFF3F453A5C746F646179776F726B5C32303234313230325F7470333431305C5359383833375F44656D6F5C5573725372635C73797374656D5C73797374656D2E63000000000873797374656D2E6300000000CACAD500FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000C3020000
@@ -134,7 +134,7 @@
16
- D8000000EF000000A00300007F010000
+ 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
@@ -530,7 +530,7 @@
0
16
- 03000000C70200008D05000027030000
+ 03000000C70200007D070000CD030000
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
+ 0300000066000000ED00000093020000
16
@@ -1170,7 +1170,7 @@
0
16
- 00000000C40200009005000040030000
+ 03000000C70200007D070000CD030000
16
@@ -1190,7 +1190,7 @@
0
16
- 03000000C70200008D05000027030000
+ 03000000C70200007D070000CD030000
16
@@ -1210,7 +1210,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -1230,7 +1230,7 @@
0
16
- 03000000300200008D05000090020000
+ 03000000300200008D050000A4020000
16
@@ -1250,7 +1250,7 @@
0
16
- 03000000C70200008D05000027030000
+ 03000000C70200007D070000CD030000
16
@@ -1270,7 +1270,7 @@
0
16
- 03000000C70200008D05000027030000
+ 03000000C70200007D070000CD030000
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
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D8000000EF000000A00300007F010000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D8000000EF000000C8010000BA010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000AC020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000D8000000EF000000C8010000BA010000000000004F000000F0000000AC0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000D8000000EF000000C8010000BA010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000AC02000080070000B00200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000D8000000EF000000A00300007F01000000000000B002000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000660000009005000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000AC020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F0000000C3020000000000004F000000F0000000AC0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003002000090050000D4020000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000AC02000080070000B00200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000C702000080070000FD03000000000000B002000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2914
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000036162739600000000000000140003616273083230323431303135084144435F43544C310F636872675F69635F64697361626C6508636872675F69635F04343235300E496E697469616C5F5354373733350564656275671C4932435F57726974655F4F6E654279746528305844342C307830312C1C4932435F57726974655F4F6E654279746528305844342C307831302C0B536C6565705F64656C61791B4932435F57726974655F4F6E654279746528305844342C307830371B4932435F57726974655F4F6E654279746528305844342C3078313010636872675F63757272656E745F736574174932435F57726974655F4F6E654279746528305844342C1B4932435F57726974655F4F6E654279746528305844342C30783033023033084C444F5F43544C30043437303008766F6C5F766261740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000
+ 2929
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D45617270686F6E655F56626174960000000000000014000D45617270686F6E655F5662617403616273083230323431303135084144435F43544C310F636872675F69635F64697361626C6508636872675F69635F04343235300E496E697469616C5F5354373733350564656275671C4932435F57726974655F4F6E654279746528305844342C307830312C1C4932435F57726974655F4F6E654279746528305844342C307831302C0B536C6565705F64656C61791B4932435F57726974655F4F6E654279746528305844342C307830371B4932435F57726974655F4F6E654279746528305844342C3078313010636872675F63757272656E745F736574174932435F57726974655F4F6E654279746528305844342C1B4932435F57726974655F4F6E654279746528305844342C30783033023033084C444F5F43544C3004343730300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
976
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3603,12 +3603,12 @@
0
100
- 0
+ 15
..\UsrSrc\main.c
- 40
+ 0
18
- 46
+ 48
1
0
@@ -3616,8 +3616,8 @@
..\UsrSrc\vox\vox_module.c
0
- 6
- 35
+ 111
+ 132
1
0
@@ -3633,18 +3633,18 @@
..\UsrSrc\userapp\userapp.c
- 0
- 98
- 110
+ 4
+ 121
+ 140
1
0
..\Src\startup\STARTUP.A51
- 1
+ 8
11
- 26
+ 38
1
0
@@ -3660,18 +3660,18 @@
..\UsrSrc\key\key.c
- 0
- 19
- 31
+ 24
+ 246
+ 278
1
0
\todaywork\20241202_tp3410\SY8837_Demo\UsrInc\inc\config.h
- 14
- 183
- 206
+ 1
+ 293
+ 315
1
0
@@ -3696,9 +3696,9 @@
..\UsrSrc\adc\adc.c
- 0
- 40
- 44
+ 2
+ 25
+ 47
1
0
@@ -3721,6 +3721,33 @@
0
+
+ ..\UsrSrc\uart\uart.c
+ 1
+ 76
+ 98
+ 1
+
+ 0
+
+
+ ..\UsrInc\adc\adc.h
+ 2
+ 26
+ 54
+ 1
+
+ 0
+
+
+ ..\UsrSrc\system\system.c
+ 16
+ 140
+ 158
+ 1
+
+ 0
+
diff --git a/Project/SY8837_Demo.uvproj b/Project/SY8837_Demo.uvproj
index edaf86d..1ef9222 100644
--- a/Project/SY8837_Demo.uvproj
+++ b/Project/SY8837_Demo.uvproj
@@ -257,8 +257,8 @@
0
- 0x0
- 0x200
+ 0x100
+ 0x100
0
@@ -357,7 +357,7 @@
- 0X0000-0X01FF
+ 0X0100-0X01FF
diff --git a/SY8837_Demo.si4project/SY8837_Demo.SearchResults b/SY8837_Demo.si4project/SY8837_Demo.SearchResults
index ea6ec96..6f22cdc 100644
--- a/SY8837_Demo.si4project/SY8837_Demo.SearchResults
+++ b/SY8837_Demo.si4project/SY8837_Demo.SearchResults
@@ -1,15 +1,20 @@
----- Enter_Sleep_Cnt_Restart_Flag Matches (14 in 8 files) ----
-LED_Display_App in display_ui.c (UsrSrc\display) : Enter_Sleep_Cnt_Restart_Flag = 1;
-Hall_Handler in hall.c (UsrSrc\hall) : Enter_Sleep_Cnt_Restart_Flag = 1;
-Key_Handler in key.c (UsrSrc\key) : Enter_Sleep_Cnt_Restart_Flag = 1;
-sleep.c (UsrSrc\sleep) line 37 : bit Enter_Sleep_Cnt_Restart_Flag;
-Check_Require_Sleep in sleep.c (UsrSrc\sleep) : if( ( CHIP_STA0 & VIN_PRESENT ) || ( ON == Vox_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*鍏呯數涓佹湁涓柇銆佽虫満澶勪簬鍏呯數鐘舵佹儏鍐典笅锛孊oost閲嶈浇杈撳嚭锛岀郴缁熶笉杩涗紤鐪犳ā寮忋 */
-Check_Require_Sleep in sleep.c (UsrSrc\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);
-Check_Require_Sleep in sleep.c (UsrSrc\sleep) : Enter_Sleep_Cnt_Restart_Flag = 0;
-sleep.h (UsrInc\sleep) line 40 : extern bit Enter_Sleep_Cnt_Restart_Flag;
-EX0_isr in system.c (UsrSrc\system) : Enter_Sleep_Cnt_Restart_Flag = 1;
-EX2_isr in system.c (UsrSrc\system) : Enter_Sleep_Cnt_Restart_Flag = 1;
-EX3_isr in system.c (UsrSrc\system) : Enter_Sleep_Cnt_Restart_Flag = 1;
-uart1_Interrupt in uart.c (UsrSrc\uart) : Enter_Sleep_Cnt_Restart_Flag = 1;
-SysTem_State_Machine in userapp.c (UsrSrc\userapp) : if(Enter_Sleep_Cnt_Restart_Flag)
-SysTem_State_Machine in userapp.c (UsrSrc\userapp) : Enter_Sleep_Cnt_Restart_Flag = 0;
+---- gCharge_Cfg Matches (23 in 1 files) ----
+charger_module.c (UsrSrc\charger) line 51 : s_gCharger_Cfg gCharge_Cfg;
+Charger_Init in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nTrickle_Cur = TRICKLE_CUR_SET;
+Charger_Init in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nIterm_Cur = ITERM_CUR_SET;
+Charger_Init in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting;
+Charger_Init in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nVFloat = VFLOAT_SET;
+Charger_Init in charger_module.c (UsrSrc\charger) : REG_CHG1 = gCharge_Cfg.nTrickle_Cur | gCharge_Cfg.nIterm_Cur | gCharge_Cfg.nConstant_Cur ; //璁剧疆Charger鐨勬稉娴佸厖鐢电數娴併佹埅姝㈠厖鐢电數娴併佹亽娴丆C銆
+Charger_Init in charger_module.c (UsrSrc\charger) : REG_CHG2 = gCharge_Cfg.nVFloat;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting / 2;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nConstant_Cur = gConstant_Cur_Max_Setting / 2;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nVFloat = VFLOAT_SET;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nVFloat = VFLOAT_JEITA_HOT;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nVFloat = VFLOAT_JEITA_HOT;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : gCharge_Cfg.nVFloat = VFLOAT_SET;
+PMU_NTC_Handle in charger_module.c (UsrSrc\charger) : REG_CHG2 = gCharge_Cfg.nVFloat;
+Charger_Handler in charger_module.c (UsrSrc\charger) : if( gCharge_Cfg.nVFloat == CHG_VFLOAT_4_200V )
+Charger_Handler in charger_module.c (UsrSrc\charger) : REG_CHG1 = gCharge_Cfg.nTrickle_Cur | gCharge_Cfg.nIterm_Cur | gCharge_Cfg.nConstant_Cur ; //璁剧疆Charger鐨勬稉娴佸厖鐢电數娴併佹埅姝㈠厖鐢电數娴併佹亽娴丆C銆
+Charger_Handler in charger_module.c (UsrSrc\charger) : REG_CHG2 = gCharge_Cfg.nVFloat; //璁剧疆CV鐢靛帇闃堝笺
diff --git a/SY8837_Demo.si4project/SY8837_Demo.sip_sym b/SY8837_Demo.si4project/SY8837_Demo.sip_sym
index 87522d0..b6941c7 100644
Binary files a/SY8837_Demo.si4project/SY8837_Demo.sip_sym and b/SY8837_Demo.si4project/SY8837_Demo.sip_sym differ
diff --git a/SY8837_Demo.si4project/SY8837_Demo.sip_xsb b/SY8837_Demo.si4project/SY8837_Demo.sip_xsb
index 35871e4..9f496f6 100644
Binary files a/SY8837_Demo.si4project/SY8837_Demo.sip_xsb and b/SY8837_Demo.si4project/SY8837_Demo.sip_xsb differ
diff --git a/SY8837_Demo.si4project/SY8837_Demo.sip_xsd b/SY8837_Demo.si4project/SY8837_Demo.sip_xsd
index d186954..aaa1c3d 100644
Binary files a/SY8837_Demo.si4project/SY8837_Demo.sip_xsd and b/SY8837_Demo.si4project/SY8837_Demo.sip_xsd differ
diff --git a/SY8837_Demo.si4project/SY8837_Demo.siwork b/SY8837_Demo.si4project/SY8837_Demo.siwork
index 9d62814..c182d2e 100644
Binary files a/SY8837_Demo.si4project/SY8837_Demo.siwork and b/SY8837_Demo.si4project/SY8837_Demo.siwork differ
diff --git a/UsrInc/adc/adc.h b/UsrInc/adc/adc.h
index c6cff8a..31380c2 100644
--- a/UsrInc/adc/adc.h
+++ b/UsrInc/adc/adc.h
@@ -3,7 +3,7 @@
*
* @file adc.h
* @brief adc module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -34,39 +34,33 @@
/******************************************************************************\
Variables definitions
\******************************************************************************/
-extern idata int8_t ADC_Offset_Error; //ADC Offset Error 校准值寄存器
+extern int8_t ADC_Offset_Error; //ADC Offset Error 校准值寄存器
-extern idata uint8_t Vor_Isense_Gain_Error;
+extern uint8_t Vor_Isense_Gain_Error;
-extern idata uint8_t Vol_Isense_Gain_Error;
+extern uint8_t Vol_Isense_Gain_Error;
-extern idata int8_t Vor_Isense_Offset_Error;
+extern int8_t Vor_Isense_Offset_Error;
-extern idata int8_t Vol_Isense_Offset_Error;
+extern int8_t Vol_Isense_Offset_Error;
-extern xdata uint8_t ADC_Chn_Num;
+extern uint8_t ADC_Chn_Num;
-extern idata uint16_t g_Value_Adc;
+extern uint16_t g_Value_Adc;
-extern xdata uint16_t g_Value_Adc_Avg;
-#if 0
-extern xdata uint16_t g_Value_Adc0;
-
-extern xdata uint16_t g_Value_Adc1;
+extern uint16_t g_Value_Adc_Avg;
-extern xdata uint16_t g_Vref_Adc;
-#endif
-extern xdata int16_t g_Vntc_Adc;
+extern int16_t g_Vntc_Adc;
-extern xdata int16_t g_pmu_Adc_Ivol;
+extern int16_t g_pmu_Adc_Ivol;
-extern xdata int16_t g_pmu_Adc_Ivor;
+extern int16_t g_pmu_Adc_Ivor;
-extern xdata int16_t g_Vbat_Adc;
+extern int16_t g_Vbat_Adc;
-extern xdata int16_t g_pmu_Adc_Vout;
+extern int16_t g_pmu_Adc_Vout;
-extern xdata uint8_t g_ADC_Chn;
+extern uint8_t g_ADC_Chn;
/* ADC通道枚举。 */
typedef enum {
diff --git a/UsrInc/bat/bat.h b/UsrInc/bat/bat.h
index 1542416..305ac2d 100644
--- a/UsrInc/bat/bat.h
+++ b/UsrInc/bat/bat.h
@@ -3,7 +3,7 @@
*
* @file bat.h
* @brief bat module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -40,10 +40,9 @@
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; //电池低压
extern bit F_batlevel_protect; //低电保护
diff --git a/UsrInc/charger/charger_module.h b/UsrInc/charger/charger_module.h
index 8b91659..1905187 100644
--- a/UsrInc/charger/charger_module.h
+++ b/UsrInc/charger/charger_module.h
@@ -1,9 +1,9 @@
/*
******************************************************************************
*
- * @file Charger_module.h
+ * @file charger_module.h
* @brief charger module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/discharge/discharge_module.h b/UsrInc/discharge/discharge_module.h
index 06a116d..753037b 100644
--- a/UsrInc/discharge/discharge_module.h
+++ b/UsrInc/discharge/discharge_module.h
@@ -3,7 +3,7 @@
*
* @file discharge_module.h
* @brief discharge module
- * @ic sy8837
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/12/02 09:59:40
diff --git a/UsrInc/display/display_ui.h b/UsrInc/display/display_ui.h
index 3e91314..a256889 100644
--- a/UsrInc/display/display_ui.h
+++ b/UsrInc/display/display_ui.h
@@ -3,7 +3,7 @@
*
* @file display_ui.h
* @brief display ui module
- * @ic sy8837
+ * @ic sy8837/8
*
* @version 1.0
* @date 2025/01/14 09:59:40
diff --git a/UsrInc/hall/hall.h b/UsrInc/hall/hall.h
index 0eb7227..f2c5988 100644
--- a/UsrInc/hall/hall.h
+++ b/UsrInc/hall/hall.h
@@ -44,7 +44,7 @@ extern CoverStatus_E CoverStatus;
extern bit CoverEvent_Flg;
-extern xdata uint8_t Hall_Sta_bk;
+extern uint8_t Hall_Sta_bk;
#if HALL_ENABLE
diff --git a/UsrInc/inc/config.h b/UsrInc/inc/config.h
index 11ee656..9f83173 100644
--- a/UsrInc/inc/config.h
+++ b/UsrInc/inc/config.h
@@ -1,9 +1,9 @@
/*
******************************************************************************
*
- * @file Config.h
- * @brief Config module
- * @ic sy8835
+ * @file config.h
+ * @brief config module
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -288,7 +288,7 @@
#define VOX_ADT_CUR_SET VOX_ADT_Cur_4_5UA //配置VOX负载识别电流阈值。
-#define VOX_IOFF_CUR_SET Vox_Ioff_3mA //配置VOX IOFF检测阈值。
+#define VOX_IOFF_CUR_SET Vox_Ioff_3mA << 6 //配置VOX IOFF检测阈值。
#define VOX_LIGHT_TO_HAVEY_DEB VOX_LIGHT_TO_HAVEY_128 //配置VOX 轻载转重载滤波时间。
@@ -300,21 +300,21 @@
#define VOX_CHG_FULL_5V_LEAST_CNT 40 //配置关盖条件下,VOX 耳机充满后,VOX输出5V持续时间(100ms * 40)
-#define HALL_OPEN_VOX_5V_DEBOUNCE 5 //配置开盖动作后,VOX 输出5V持续时间(100ms * 5),单位:ms。
+#define HALL_OPEN_VOX_5V_DEBOUNCE 5 //配置开盖动作后,VOX 输出5V持续时间(100ms * 5),单位:100ms。
-#define HALL_OPEN_VOX_0V_DEBOUNCE 5 //配置开盖动作后,VOX 输出0V持续时间(100ms * 5),单位:ms。
+#define HALL_OPEN_VOX_0V_DEBOUNCE 5 //配置开盖动作后,VOX 输出0V持续时间(100ms * 5),单位:100ms。
-#define VOX_OCP_HICUUP_DEBOUNCE 5 //配置关盖条件下,VOX 打嗝时间(100ms * 5),单位:ms。
+#define VOX_OCP_HICUUP_DEBOUNCE 5 //配置关盖条件下,VOX 打嗝时间(100ms * 5),单位:100ms。
-#define HALL_CLOSE_VOX_5V_HOLD_CNT 3 //配置关盖动作后,VOX 输出5V持续时间(100ms * 3),单位:ms。
+#define HALL_CLOSE_VOX_5V_HOLD_CNT 3 //配置关盖动作后,VOX 输出5V持续时间(100ms * 3),单位:100ms。
/* 双向通讯协议选择 */
-#define JIELI 1 //杰理耳机芯片
+#define JIELI 0 //杰理耳机芯片
#define ZHONGKE 0 //中科蓝讯耳机芯片
-#define XUANHENG 0 //玄恒耳机芯片
+#define XUANHENG 1 //玄恒耳机芯片
/* Vox跟随充参数设置。(100ms调用周期) */
@@ -324,13 +324,13 @@
#define Vox_FOLLOW_CHG_PTM_THD 200 //PTM模式启动阈值(VOUT - VBAT),单位mV。
-#define VOX_FOLLOW_CHG_INIT_CNT 10 //启动跟随充VOX VOUT输出最高电压持续时间,1s,单位:ms。
+#define VOX_FOLLOW_CHG_INIT_CNT 10 //启动跟随充VOX VOUT输出最高电压持续时间,1s,单位:100ms。
#define VOX_FOLLOW_CHG_PMID_UP_STEPS 2 //VOX VOUT上升调节档位数。
#define VOX_FOLLOW_CHG_PMID_DOWN_STEPS 2 //VOX VOUT下降调节档位数。
-#define VOX_FOLLOW_CHG_PMID_UP_CNT 20 //VOX VOUT上升调节周期(2s),单位:ms。
+#define VOX_FOLLOW_CHG_PMID_UP_CNT 20 //VOX VOUT上升调节周期(2s),单位:100ms。
#define VOUT_MAX_THD Boost_Vout_5_225V //VOX VOUT输出最大阈值。
diff --git a/UsrInc/inc/define.h b/UsrInc/inc/define.h
index add21f4..8b3c67e 100644
--- a/UsrInc/inc/define.h
+++ b/UsrInc/inc/define.h
@@ -3,7 +3,7 @@
*
* @file define.h
* @brief define module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -27,8 +27,6 @@
#define TIMER1_ENABLE 0 //Timer1 定时周期1ms。(120Bytes)
-#define UART0_ENABLE 1 //UART0功能。(133Bytes)
-
#define UART1_ENABLE 1 //UART1功能
#define WTG_ENABLE 1 //看门狗功能使能(7Bytes)
@@ -41,12 +39,14 @@
#endif
-#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 //2111Bytes
#if VOX_ENABLE
@@ -57,6 +57,16 @@
#endif
+#ifdef VOX_ADT_ENABLE //耳机入仓自动识别充电的,就不需要HALL功能。
+
+#define HALL_ENABLE 0
+
+#else
+
+#define HALL_ENABLE 1 //Hall功能。(Hall 46Bytes)
+
+#endif
+
#define CHARGER_ENABLE 1 //94Bytes
#define DISCHARGE_ENABLE 1 //75Bytes
@@ -77,11 +87,13 @@
#define BAT_VALUE 1 //171Bytes
-#define _DEBUG_ALL //打开打印功能
+//#define _DEBUG_ALL //打开打印功能
#ifdef _DEBUG_ALL
- #define _DEBUG_MAIN
+ #define UART0_ENABLE //UART0功能,Debug Log。(133Bytes)
+
+// #define _DEBUG_MAIN
// #define _DEBUG_KEY
// #define _DEBUG_VOX
// #define _DEBUG_FOLLOW
diff --git a/UsrInc/inc/reg883x.h b/UsrInc/inc/reg883x.h
index 84423c9..bfe09bf 100644
--- a/UsrInc/inc/reg883x.h
+++ b/UsrInc/inc/reg883x.h
@@ -1,14 +1,24 @@
-/*---------------------------------------------------------------------
-REG3102.H
-
-Header file for TP3410 microcontroller.
-
-Initial Released by zheng, 2021-01-13.
-
- Thinkplus Semiconductor co., ltd, All Rights Reserved!
-----------------------------------------------------------------------*/
-#ifndef _REG3102_H_
-#define _REG3102_H_
+/*
+ ******************************************************************************
+ *
+ * @file reg883x.h
+ * @brief Header file for TP3315 microcontroller.
+ * @ic sy8837/8
+ *
+ * @version 1.0
+ * @date 2024/11/01 10:59:40
+ * @author Alex Xu
+ *
+ * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
+ * All Rights Reserved
+ *
+ * History:
+ * Revision Date Author Desc
+ * 1.0.0 2024/11/01 Alex Xu build this file
+ ******************************************************************************
+ */
+#ifndef _REG883X_H_
+#define _REG883X_H_
//------------------------ Ext SFR Registers -------------------------
/*------ GPIO/MFP Registers ------*/
diff --git a/UsrInc/key/key.h b/UsrInc/key/key.h
index a5c6e24..29b58d7 100644
--- a/UsrInc/key/key.h
+++ b/UsrInc/key/key.h
@@ -3,7 +3,7 @@
*
* @file key.h
* @brief key module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -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/led/led.h b/UsrInc/led/led.h
index e4ea597..d9ca2c3 100644
--- a/UsrInc/led/led.h
+++ b/UsrInc/led/led.h
@@ -2,8 +2,8 @@
******************************************************************************
*
* @file led.h
- * @brief led dispaly module
- * @ic sy8835
+ * @brief led module
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -63,9 +63,9 @@ sbit pin_LED_4 = P0^5;
/* 配置P02-P05限流输出,<03h> --P0_DRV */
#define P0_DRV_NONE 0x00
-#define P0_DRV_400 0xAA
+#define P0_DRV_400 0xFF
-#define P0_DRV_800 0xFF
+#define P0_DRV_800 0xAA
/******************************************************************************\
Typedef definitions
diff --git a/UsrInc/pwm/pwm.h b/UsrInc/pwm/pwm.h
index 5e28bea..5e11437 100644
--- a/UsrInc/pwm/pwm.h
+++ b/UsrInc/pwm/pwm.h
@@ -3,7 +3,7 @@
*
* @file pwm.h
* @brief pwm module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/sleep/sleep.h b/UsrInc/sleep/sleep.h
index 94d6df6..01c5cfc 100644
--- a/UsrInc/sleep/sleep.h
+++ b/UsrInc/sleep/sleep.h
@@ -3,7 +3,7 @@
*
* @file sleep.h
* @brief sleep module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -37,6 +37,9 @@
#if SLEEP_ENABLE
extern uint8_t Decnt_SleepDelay;
+
+extern const uint8_t Enter_Standby_Tim;
+
extern bit Enter_Sleep_Cnt_Restart_Flag;
//extern uint8_t Enter_ShipMode_Debounce;
diff --git a/UsrInc/system/system.h b/UsrInc/system/system.h
index 83c9fc8..e4a1626 100644
--- a/UsrInc/system/system.h
+++ b/UsrInc/system/system.h
@@ -3,7 +3,7 @@
*
* @file system.h
* @brief system module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/timer/sys_tim.h b/UsrInc/timer/sys_tim.h
index 10a38ac..d97b60f 100644
--- a/UsrInc/timer/sys_tim.h
+++ b/UsrInc/timer/sys_tim.h
@@ -3,7 +3,7 @@
*
* @file sys_tim.h
* @brief system timer module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/uart/uart.h b/UsrInc/uart/uart.h
index 974e8ec..f45a6da 100644
--- a/UsrInc/uart/uart.h
+++ b/UsrInc/uart/uart.h
@@ -3,7 +3,7 @@
*
* @file uart.h
* @brief uart module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/user/user.h b/UsrInc/user/user.h
index 3f57bcd..3b64fd0 100644
--- a/UsrInc/user/user.h
+++ b/UsrInc/user/user.h
@@ -3,7 +3,7 @@
*
* @file user.h
* @brief user module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/userapp/userapp.h b/UsrInc/userapp/userapp.h
index c25ccb3..730e1dc 100644
--- a/UsrInc/userapp/userapp.h
+++ b/UsrInc/userapp/userapp.h
@@ -3,7 +3,7 @@
*
* @file userapp.h
* @brief userapp module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrInc/vox/vox_module.h b/UsrInc/vox/vox_module.h
index 644111c..a3942b6 100644
--- a/UsrInc/vox/vox_module.h
+++ b/UsrInc/vox/vox_module.h
@@ -1,9 +1,9 @@
/*
******************************************************************************
*
- * @file VOX_Module.h
+ * @file vox_module.h
* @brief VOL/R module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
@@ -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 {
@@ -69,6 +78,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
/******************************************************************************\
@@ -298,8 +327,6 @@ typedef enum {
VOL_CHAN = 0x00,
VOR_CHAN = 0x01,
-
- VOX_MAX_CHAN = 0x02,
VOX_BOTH = 0xFF,
@@ -337,8 +364,6 @@ typedef enum {
VOL_CHAN = 0x11,
VOR_CHAN = 0x22,
-
- VOX_MAX_CHAN = 0x02,
VOX_BOTH = 0xff,
@@ -395,8 +420,6 @@ typedef enum {
VOR_CHAN = 0x25,
VOX_BOTH = 0x21,
-
- VOX_MAX_CHAN = 0x02,
}e_Vox_Chan;
@@ -479,9 +502,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
@@ -530,12 +553,27 @@ extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg;
extern void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select);
+#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
-extern void VOX_EN_Type(VOX_Enable_Mode_e VOX_Enable_Mode);
+#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
diff --git a/UsrInc/watchdog/watchdog.h b/UsrInc/watchdog/watchdog.h
index 24837ce..1d98c9e 100644
--- a/UsrInc/watchdog/watchdog.h
+++ b/UsrInc/watchdog/watchdog.h
@@ -3,7 +3,7 @@
*
* @file watchdog.h
* @brief watchdog module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:59:40
diff --git a/UsrSrc/InitVars.c b/UsrSrc/InitVars.c
index 3321b8e..d470a90 100644
--- a/UsrSrc/InitVars.c
+++ b/UsrSrc/InitVars.c
@@ -1,9 +1,9 @@
/*
******************************************************************************
*
- * @file adc.c
- * @brief adc module
- * @ic sy8835
+ * @file InitVar.c
+ * @brief InitVar module
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 15:00:40
diff --git a/UsrSrc/adc/adc.c b/UsrSrc/adc/adc.c
index e61e174..e458e90 100644
--- a/UsrSrc/adc/adc.c
+++ b/UsrSrc/adc/adc.c
@@ -3,7 +3,7 @@
*
* @file adc.c
* @brief adc module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 15:00:40
@@ -34,45 +34,37 @@
\******************************************************************************/
-idata int8_t ADC_Offset_Error; //ADC Offset Error 校准值寄存器
+int8_t ADC_Offset_Error; //ADC Offset Error 校准值寄存器
-idata int8_t Bat_ADC_Offset_Error;
+int8_t Bat_ADC_Offset_Error;
-idata uint8_t Vor_Isense_Gain_Error;
+uint8_t Vor_Isense_Gain_Error;
-idata uint8_t Vol_Isense_Gain_Error;
+uint8_t Vol_Isense_Gain_Error;
-idata int8_t Vor_Isense_Offset_Error;
+int8_t Vor_Isense_Offset_Error;
-idata int8_t Vol_Isense_Offset_Error;
+int8_t Vol_Isense_Offset_Error;
-xdata uint8_t ADC_Chn_Num;
+uint8_t ADC_Chn_Num;
-idata uint16_t g_Value_Adc;
+uint16_t g_Value_Adc;
-xdata uint16_t g_Value_Adc_Avg;
+uint16_t g_Value_Adc_Avg;
-#if 0
-xdata uint16_t g_Value_Adc0;
+int16_t g_Vntc_Adc;
-xdata uint16_t g_Value_Adc1;
+int16_t g_pmu_Adc_Ivol;
-xdata uint16_t g_Vref_Adc;
-#endif
+int16_t g_pmu_Adc_Ivor;
-xdata int16_t g_Vntc_Adc;
+int16_t g_Vbat_Adc;
-xdata int16_t g_pmu_Adc_Ivol;
+int16_t g_pmu_Adc_Vout;
-xdata int16_t g_pmu_Adc_Ivor;
+uint8_t g_ADC_Chn;
-xdata int16_t g_Vbat_Adc;
-
-xdata int16_t g_pmu_Adc_Vout;
-
-xdata uint8_t g_ADC_Chn;
-
-xdata uint8_t Adc_Index;
+uint8_t Adc_Index;
bit ADC_Cal_Over_Flag;
@@ -223,7 +215,7 @@ void PMU_ADC_Chn_Data( PMU_ADC_CHANNELS_E pmu_Adc_Chn )
break;
}
- ADC_Cal_Over_Flag = 0;
+ ADC_Cal_Over_Flag = FALSE;
#ifdef _DEBUG_ADC
printf("adc chn:%d,adc_value:%d,Ivol:%d,Vbat:%d,Vout:%d,Ivor:%d,Vntc:%d.\r\n",(uint16_t)ADC_Chn_Num,(uint16_t)g_Value_Adc_Avg,(uint16_t)g_pmu_Adc_Ivol,(uint16_t)g_Vbat_Adc,(uint16_t)g_pmu_Adc_Vout,(uint16_t)g_pmu_Adc_Ivor,(uint16_t)g_Vntc_Adc);
@@ -271,7 +263,7 @@ void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6
}
else
{
- ADC_Cal_Over_Flag = 1;
+ ADC_Cal_Over_Flag = TRUE;
ADC_CTL1 &= ~0x01; //Disable ADC.
}
diff --git a/UsrSrc/bat/bat.c b/UsrSrc/bat/bat.c
index 0ee1d3f..55a6a0f 100644
--- a/UsrSrc/bat/bat.c
+++ b/UsrSrc/bat/bat.c
@@ -3,7 +3,7 @@
*
* @file bat.c
* @brief Voltage-based RC model gauge algorithm
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 17:35:40
@@ -20,9 +20,9 @@
#include "bat.h"
#include "adc.h"
-idata uint8_t bat_level = 0;
+uint8_t bat_level;
-bit F_batlevel_low = 0; //电池低压
+bit F_batlevel_low; //电池低压
#if 0
@@ -481,7 +481,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] =
@@ -581,27 +581,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 4556d09..5f69b84 100644
--- a/UsrSrc/charger/charger_module.c
+++ b/UsrSrc/charger/charger_module.c
@@ -3,7 +3,7 @@
*
* @file charger_module.c
* @brief charger module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 17:35:40
@@ -38,7 +38,7 @@ idata TE_CHG_STA ChgStatus; // CHG状态
/******************************************************************************\
Macro definitions
\******************************************************************************/
-#define NTC_PRO_DEBOUNCE_TIM 10
+#define NTC_PRO_DEBOUNCE_TIM 10
/******************************************************************************\
Variables definitions
@@ -46,7 +46,7 @@ idata TE_CHG_STA ChgStatus; // CHG状态
-idata uint8_t gConstant_Cur_Max_Setting; //Charge最大充电电流。
+uint8_t gConstant_Cur_Max_Setting; //Charge最大充电电流。
idata s_gCharger_Cfg gCharge_Cfg;
@@ -162,7 +162,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;
@@ -170,7 +170,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;
}
@@ -185,7 +185,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;
@@ -193,7 +193,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;
}
@@ -209,7 +209,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;
}
@@ -224,7 +224,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;
@@ -232,7 +232,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;
}
@@ -249,7 +249,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
@@ -262,7 +263,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
@@ -275,7 +277,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__);
@@ -286,7 +288,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;
@@ -296,13 +298,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 ) //正常放电
{
@@ -310,7 +313,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
@@ -323,7 +327,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
@@ -336,12 +341,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;
@@ -358,7 +363,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;
}
@@ -372,7 +377,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;
}
@@ -386,12 +391,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
@@ -400,13 +405,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) ) //正常放电
{
@@ -414,7 +421,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;
}
@@ -428,7 +435,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;
}
@@ -442,12 +449,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;
@@ -560,12 +567,12 @@ void Charger_Handler(void)
{
CHG_CTL &= ~CHG_EN; //Disable Charger.
- CHG_NTC_Pro_Flag = 1;
+ CHG_NTC_Pro_Flag = TRUE;
return;
}
- CHG_NTC_Pro_Flag = 0;
+ CHG_NTC_Pro_Flag = FALSE;
#endif
@@ -606,27 +613,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 3b7a3e3..69a8854 100644
--- a/UsrSrc/discharge/discharge_module.c
+++ b/UsrSrc/discharge/discharge_module.c
@@ -3,7 +3,7 @@
*
* @file discharge_module.c
* @brief discharge module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 17:35:40
@@ -104,7 +104,7 @@ bit gBoost_UVLO_Flag;
{
BST_EN = 0x00; //Boost Disable
- gBoost_Prepared_Flag = 0;
+ gBoost_Prepared_Flag = FALSE;
#ifdef _DEBUG_DISCHARGE
printf("Bst Close\r\n");
@@ -139,11 +139,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( CHIP_STA3 & 0x02 )
@@ -154,7 +154,7 @@ void DisCharge_Handler(void)
/*Boost Input UVLO 硬件实现*/
if( (CHIP_STA0 & BOOST_BATUV) ) //用于清软件标志位。
{
- gBoost_UVLO_Flag = 1;
+ gBoost_UVLO_Flag = TRUE;
return;
}
@@ -184,12 +184,12 @@ void DisCharge_Handler(void)
DisCharge_Boost_Close();
- Boost_NTC_Pro_Flag = 1;
+ Boost_NTC_Pro_Flag = TRUE;
return;
}
- Boost_NTC_Pro_Flag = 0;
+ Boost_NTC_Pro_Flag = FALSE;
#endif
@@ -204,7 +204,7 @@ void DisCharge_Handler(void)
#endif
- gBoost_Prepared_Flag = 1;
+ gBoost_Prepared_Flag = TRUE;
/*
VIN 存在时,Boost 在电池电压高于 UVLO(硬件关闭 2.8/3.0V,硬件清 boost 使能。开
@@ -218,15 +218,15 @@ void DisCharge_Handler(void)
{
if( g_Vbat_Adc >= OPEN_BOOST_VIN )
{
- gBoost_Prepared_Flag = 1;
+ gBoost_Prepared_Flag = TRUE;
- gBoost_UVLO_Flag = 0;
+ gBoost_UVLO_Flag = FALSE;
}
else
{
DisCharge_Boost_Close(); //Boost Disable
- gBoost_Prepared_Flag = 0;
+ gBoost_Prepared_Flag = FALSE;
}
}
}
diff --git a/UsrSrc/display/display_ui.c b/UsrSrc/display/display_ui.c
index f1926d8..0be691e 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
{
@@ -172,9 +172,9 @@ uint8_t Breathing_Light_Cnt; //
}
else
{
- Vox_Ocp_Flag = 1;
+ Vox_Ocp_Flag = TRUE;
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
}
}
}
@@ -185,17 +185,17 @@ uint8_t Breathing_Light_Cnt; //
/* 保护消失后,需要开启5V升压一段时间。 */
if( LED_On_Flag1 )
{
- LED_On_Flag1 = 0;
+ LED_On_Flag1 = FALSE;
- LED_On_ChgDone_Flag = 0;
+ LED_On_ChgDone_Flag = FALSE;
- LED_On_Chg_Flag = 0;
+ LED_On_Chg_Flag = FALSE;
- CoverEvent_Flg_led = 0;
+ CoverEvent_Flg_led = FALSE;
- Earphone_Chg_Flag_led = 0;
+ Earphone_Chg_Flag_led = FALSE;
- Wkup_Earphone_Flag = 1;
+ Wkup_Earphone_Flag = TRUE;
}
#endif
@@ -206,9 +206,9 @@ uint8_t Breathing_Light_Cnt; //
{
if( !LED_On_ChgDone_Flag )
{
- LED_On_ChgDone_Flag = 1;
+ LED_On_ChgDone_Flag = TRUE;
- LED_On_Chg_Flag = 0;
+ LED_On_Chg_Flag = FALSE;
LED_Breating_Light_Off();
@@ -221,11 +221,11 @@ uint8_t Breathing_Light_Cnt; //
{
if( !LED_On_Chg_Flag )
{
- LED_On_Chg_Flag = 1;
+ LED_On_Chg_Flag = TRUE;
- LED_On_ChgDone_Flag = 0;
+ LED_On_ChgDone_Flag = FALSE;
- LED_On_Flag = 1;
+ LED_On_Flag = TRUE;
#ifdef PWM_ENABLE
Breathing_Light_Cnt = LED_R;
#endif
@@ -296,25 +296,25 @@ uint8_t Breathing_Light_Cnt; //
}
}
- CoverEvent_Flg_led = 0;
+ CoverEvent_Flg_led = FALSE;
- Earphone_Chg_Flag_led = 0;
+ Earphone_Chg_Flag_led = FALSE;
- Key_Press_short_irq_led = 0;
+ Key_Press_short_irq_led = FALSE;
- Disp_Bat_Lev = 1;
+ 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;
}
@@ -364,13 +364,13 @@ uint8_t Breathing_Light_Cnt; //
}
else
{
- CoverEvent_Flg_led = 0;
+ CoverEvent_Flg_led = FALSE;
- Disp_Bat_Lev = 0;
+ Disp_Bat_Lev = FALSE;
- Earphone_Chg_Flag_led = 0;
+ Earphone_Chg_Flag_led = FALSE;
- Key_Press_short_irq_led = 0;
+ Key_Press_short_irq_led = FALSE;
Display_AllOff(); //清LED显示
}
diff --git a/UsrSrc/hall/hall.c b/UsrSrc/hall/hall.c
index 0852940..e4437d0 100644
--- a/UsrSrc/hall/hall.c
+++ b/UsrSrc/hall/hall.c
@@ -3,7 +3,7 @@
*
* @file hall.c
* @brief hall module
- * @ic sy8837
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/12/02 15:00:40
@@ -41,7 +41,7 @@ bit CoverEvent_Flg; //Hall
#if HALL_ENABLE
-xdata uint8_t Hall_Sta_bk;
+uint8_t Hall_Sta_bk;
/******************************************************************************\
Functions definitions
@@ -110,21 +110,21 @@ xdata 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/key/key.c b/UsrSrc/key/key.c
index 5f16000..5f8d96c 100644
--- a/UsrSrc/key/key.c
+++ b/UsrSrc/key/key.c
@@ -3,7 +3,7 @@
*
* @file key.c
* @brief key module
- * @ic sy8837
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/12/02 15:00:40
@@ -35,11 +35,11 @@
\******************************************************************************/
#define KEY_PRESS_500MS_CNT 30 //按键按下500ms(调用周期15ms)
-#define KEY_PRESS_2S_CNT 135 //按键按下计数2s(调用周期20ms)
+#define KEY_PRESS_2S_CNT 135 //按键按下计数2s(调用周期15ms)
#define KEY_PRESS_5S_CNT 335
-#define KEY_PRESS_8S_CNT 535 //按键按下计数8s(调用周期20ms)
+#define KEY_PRESS_8S_CNT 535 //按键按下计数8s(调用周期15ms)
#define KEY_TWS_PAIR_TIMER 20
@@ -51,7 +51,7 @@
#define KEY_LL_TX_Interval_2 16
-#define KEY_LIFT_CNT 35
+#define KEY_LIFT_CNT 35 //调用周期15ms
/******************************************************************************\
Variables definitions
@@ -61,7 +61,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;
@@ -109,7 +109,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
@@ -119,13 +119,13 @@ 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
{
@@ -134,24 +134,24 @@ uint8_t Key_Lift_Debounce;
#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
@@ -159,11 +159,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__);
@@ -181,15 +181,25 @@ uint8_t Key_Lift_Debounce;
{
DisCharge_Boost_Open(OFF,BOOST_VOUT_MAX);
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
#ifdef _DEBUG_KEY
printf("Boost Open Key.(line:%d)\r\n",(u16)__LINE__);
#endif
return;
}
-
+#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 )
{
Key_Lift_Debounce++;
@@ -197,7 +207,7 @@ uint8_t Key_Lift_Debounce;
return;
}
- Key_Press_l_irq = 0;
+ Key_Press_l_irq = FALSE;
/*todo*/
Event_key = KEY_EVENT_L_2S;
@@ -212,44 +222,11 @@ uint8_t Key_Lift_Debounce;
printf("long 2s press\r\n");
#endif
}
- /*长按8s,系统强制进shipmode.*/
- if( Key_Press_ll_irq )
- {
- if( !Boost_Open_Flag )
- {
- DisCharge_Boost_Open(OFF,BOOST_VOUT_MAX);
-
- Boost_Open_Flag = 1;
-#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( Key_Lift_Debounce <= KEY_LIFT_CNT )
- {
- Key_Lift_Debounce++;
-
- return;
- }
-
- Key_Press_ll_irq = 0;
- Key_TWS_Clear_Pair_Tim = 0;
- /*todo*/
- Event_key = KEY_EVENT_LL_8S;
-
-#ifdef _DEBUG_KEY
- printf("supper long 8s press.(line:%d)\r\n",(u16)__LINE__);
-#endif
- }
if( nKey_Press_short_irq )
{
- nKey_Press_short_irq = 0;
+ nKey_Press_short_irq = FALSE;
/*todo*/
// Event_key = KEY_EVENT_SHORT;
@@ -259,11 +236,56 @@ uint8_t Key_Lift_Debounce;
#endif
}
- Key_Lift_Flag = 0;
+ Key_Lift_Flag = FALSE;
- Boost_Open_Flag = 0;
+ Boost_Open_Flag = FALSE;
}
+ /*长按8s,VOX先升压。*/
+ if( Key_Press_ll_irq )
+ {
+ if( !Boost_Open_Flag )
+ {
+ DisCharge_Boost_Open(OFF,BOOST_VOUT_MAX);
+
+ Boost_Open_Flag = TRUE;
+#ifdef _DEBUG_KEY
+ printf("Boost Open Key.(line:%d)\r\n",(u16)__LINE__);
+#endif
+
+ return;
+ }
+
+#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 )
+ {
+ Key_Lift_Debounce++;
+
+ return;
+ }
+
+ Key_Press_ll_irq = FALSE;
+
+ Key_TWS_Clear_Pair_Tim = 0;
+ /*todo*/
+ Event_key = KEY_EVENT_LL_8S;
+
+#ifdef _DEBUG_KEY
+ printf("supper long 8s press.(line:%d)\r\n",(u16)__LINE__);
+#endif
+ }
+
#if 1
if ( CoverStatus == OPEN )
{
@@ -292,12 +314,27 @@ uint8_t Key_Lift_Debounce;
if(Key_TWS_Pair_Cnt > KEY_TWS_PAIR_CNT) //耳机蓝牙地址置换超时10s,关闭蓝牙地址置换,开启VOX 5V。
{
Key_TWS_Pair_Cnt = 0;
+#if XUANHENG
+ HandleTxCommand(CMD_PAIRING_IMD,VOR_CHAN);
+
+ HandleTxCommand(CMD_PAIRING_IMD,VOL_CHAN);
+
+#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__);
@@ -351,9 +388,19 @@ 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
@@ -429,11 +476,22 @@ 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 8f64c00..59cde26 100644
--- a/UsrSrc/led/led.c
+++ b/UsrSrc/led/led.c
@@ -3,7 +3,7 @@
*
* @file led.c
* @brief led module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 15:00:40
@@ -275,7 +275,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
@@ -284,7 +286,7 @@ void LED_Drv(void)
{
if( !PWM_Dir_Flag )
{
- PWM_Dir_Flag = 1;
+ PWM_Dir_Flag = TRUE;
LED.Flash_Duty[i] = PWM_REL_VALUE;
}
@@ -300,7 +302,7 @@ void LED_Drv(void)
{
if( !PWM_Dir_Flag )
{
- PWM_Dir_Flag = 1;
+ PWM_Dir_Flag = TRUE;
LED.Flash_Duty[i] = PWM_REL_FULL;
}
@@ -316,12 +318,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 eb5a61a..fa7d578 100644
--- a/UsrSrc/main.c
+++ b/UsrSrc/main.c
@@ -3,7 +3,7 @@
*
* @file main.c
* @brief main module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 17:35:40
@@ -47,7 +47,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/pwm/pwm.c b/UsrSrc/pwm/pwm.c
index dc95ea6..76ec82b 100644
--- a/UsrSrc/pwm/pwm.c
+++ b/UsrSrc/pwm/pwm.c
@@ -3,7 +3,7 @@
*
* @file pwm.c
* @brief pwm module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 09:50:40
diff --git a/UsrSrc/sleep/sleep.c b/UsrSrc/sleep/sleep.c
index c5001b2..4afae74 100644
--- a/UsrSrc/sleep/sleep.c
+++ b/UsrSrc/sleep/sleep.c
@@ -3,7 +3,7 @@
*
* @file sleep.c
* @brief sleep module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 17:35:40
@@ -203,12 +203,17 @@ void Enter_Sleep(void)
*/
bit Check_Require_Sleep(void )
{
+#ifdef VOX_ADT_ENABLE
+ if( ( CHIP_STA0 & VIN_PRESENT ) || ( ON == Vol_Vout_Enable ) || ( ON == Vor_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*充电中、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
+#else
if( ( CHIP_STA0 & VIN_PRESENT ) || ( ON == Vox_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*充电中、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
+#endif
+// if( ( CHIP_STA0 & VIN_PRESENT ) || ( ON == Vox_Vout_Enable ) || Enter_Sleep_Cnt_Restart_Flag ) /*充电中、有中断、耳机处于充电状态情况下,Boost重载输出,系统不进休眠模式。 */
{
#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;
+ Enter_Sleep_Cnt_Restart_Flag = FALSE;
/*处理对应的保护和中断唤醒事件。*/
return false;
diff --git a/UsrSrc/system/system.c b/UsrSrc/system/system.c
index 6801916..5348d2f 100644
--- a/UsrSrc/system/system.c
+++ b/UsrSrc/system/system.c
@@ -3,7 +3,7 @@
*
* @file system.c
* @brief system module
- * @ic sy8837
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/12/02 15:00:40
@@ -69,7 +69,7 @@ void System_Init(void)
SFRADDR = P0_PD; //Disable P00\P01 Pull Down.
SFRDATA = 0x00;
-#if UART0_ENABLE
+#ifdef UART0_ENABLE
UART0_Init();
#endif
@@ -107,7 +107,8 @@ void System_Init(void)
SFRADDR = VOX_CON0; //设置VOX负载识别电流4.5uA。见Config.h文件。
SFRDATA = VOX_ADT_CUR_SET;
- SFRADDR = VOX_CON2; //设置VOX轻重载转换滤波时间。bit3:2 VOX轻载转重载滤波时间;bit1:0 VOX重载转轻载滤波时间
+ SFRADDR = VOX_CON2; //设置VOX轻重载转换滤波时间。bit3:2 VOX轻载转重载滤波时间;bit1:0 VOX重载转轻载滤波时间;bit7:6 Vox IOFF检测阈值设置。
+ SFRDATA &= ~0xCF;
SFRDATA |= (VOX_LIGHT_TO_HAVEY_DEB << 2) | VOX_HAVEY_TO_LIGHT_DEB | VOX_IOFF_CUR_SET ;
#endif
@@ -161,7 +162,13 @@ void System_Init(void)
#ifdef SLEEP_ENABLE
WakeUp_Init_Set();
#endif
+ Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
+ Boost_Open_Flag = FALSE;
+#ifdef VOX_ADT_ENABLE
+ Vol_GetOut_Box_Flag = TRUE;
+ Vor_GetOut_Box_Flag = TRUE;
+#endif
Systerm_State.Next_State = POWER_ON_STATE;
}
@@ -203,7 +210,7 @@ void Sys_Clk_Adjust(uint8_t Clk_Div)
void EX0_isr(void) interrupt Interrupt_Vector_IE0
{
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
}
@@ -227,7 +234,7 @@ void EX2_isr(void) interrupt Interrupt_Vector_IE2
IRQ_FLAG3 = 0x3C;
#if SLEEP_ENABLE
- Enter_Sleep_Cnt_Restart_Flag = 1;
+ Enter_Sleep_Cnt_Restart_Flag = TRUE;
#endif
}
@@ -252,7 +259,7 @@ void EX3_isr(void) interrupt Interrupt_Vector_IE3
IRQ_FLAG10 = Standby_Tmr_WkUp;
#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 463cfc4..e30d6a2 100644
--- a/UsrSrc/timer/sys_tim.c
+++ b/UsrSrc/timer/sys_tim.c
@@ -25,7 +25,6 @@
#include "led.h"
#include "pwm.h"
-
/******************************************************************************\
Macro definitions
\******************************************************************************/
@@ -85,14 +84,14 @@ 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----------------------------------------
@@ -100,7 +99,7 @@ void Sys_Tim0_Handler(void)
if(cnt_sys_tim_10ms >= 10)
{
cnt_sys_tim_10ms = 0;
- F_sys_tim_10ms = 1;
+ F_sys_tim_10ms = TRUE;
}
//---------------100ms----------------------------------------
@@ -108,7 +107,7 @@ 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;
}
//-------------------------------------------------
@@ -116,14 +115,14 @@ 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;
}
}
}
@@ -168,7 +167,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;
}
/*
@@ -207,13 +206,19 @@ void Sys_Tim0_Init(void)
*/
void tim1_Interrupt(void) interrupt Interrupt_Vector_TF1//interrupt address is 0x000B
{
+// uint8_t Sfr_ADDR_BK = 0;
//1ms
TF1 = 0;
TH1 += C_TIM1_Reload >> 8;
TL1 += C_TIM1_Reload & 0xFF;
- F_sys_tim1_tick = 1;
+// Sfr_ADDR_BK = SFRADDR;
+// /* TODO:操作其它SFRADDR寄存器*/
+
+ F_sys_tim1_tick = TRUE;
+
+// SFRADDR = Sfr_ADDR_BK;
}
/*
diff --git a/UsrSrc/uart/uart.c b/UsrSrc/uart/uart.c
index 3c29950..f51e3c9 100644
--- a/UsrSrc/uart/uart.c
+++ b/UsrSrc/uart/uart.c
@@ -3,7 +3,7 @@
*
* @file uart.c
* @brief uart module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 15:00:40
@@ -105,7 +105,7 @@ void Uart0SendData(uint8_t Txdata)
#endif
-#if UART0_ENABLE
+#ifdef UART0_ENABLE
/*
*******************************************************************************
@@ -178,7 +178,7 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
if(TI0)
{
TI0 = 0;
- busy0 = 0;
+ busy0 = FALSE;
}
/*处理UART0接收中断*/
@@ -240,9 +240,8 @@ void Uart1SendPacket(uint16_t Length,uint8_t *TransBuf)
for(i=0;i= 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 ( ( CHIP_STA1 & ( 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 ( !( CHIP_STA1 & 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( CHIP_STA1 & 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 = CHIP_STA1 & VOL_LoadOn;
+ }
+ else
+ {
+ /*耳机出入盒判断*/
+ if( nCHIP_STA1_Vol != ( CHIP_STA1 & VOL_LoadOn ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。
+ {
+ if( CHIP_STA1 & 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 = CHIP_STA1 & 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 )
+ {
+ DisCharge_Boost_Open(OFF,BOOST_VOUT_MAX);
+
+ 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 ( ( CHIP_STA1 & ( VOR_LoadOn | VOR_Ioff ) ) == 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 ( ( CHIP_STA1 & ( 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 ( !( CHIP_STA1 & 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( CHIP_STA1 & 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 = CHIP_STA1 & VOR_LoadOn;
+ }
+ else
+ {
+ /*耳机出入盒判断*/
+ if( nCHIP_STA1_Vor != ( CHIP_STA1 & VOR_LoadOn ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。
+ {
+ if( CHIP_STA1 & 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 = CHIP_STA1 & VOR_LoadOn;
+ }
+ }
+ }
+}
+
+#else
+
/*
*******************************************************************************
* void Vox_Det_Machine(void)
@@ -461,7 +1018,7 @@ void Vox_Det_Machine(void)
{
DisCharge_Boost_Open(OFF,BOOST_VOUT_MAX); //开关盖Boost输出5.2V,保证耳机一定能被唤醒。Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
return;
}
@@ -474,33 +1031,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;
@@ -516,25 +1073,25 @@ 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;
- Vox_Output_Short_Flag = 0;
+ Vox_Output_Short_Flag = FALSE;
- Vox_Ocp_Flag = 0;
+ Vox_Ocp_Flag = FALSE;
- CoverEvent_Flg = 0;
+ CoverEvent_Flg = FALSE;
}
/* 开关盖后,VOX先升压5.2V 一段时间,唤醒耳机,后转入ADT,获取盒内耳机数量。 */
if( Vox_Voltage_Hold_Timer < HALL_OPEN_VOX_5V_DEBOUNCE ) //开盖后5V N00ms。
@@ -546,7 +1103,7 @@ void Vox_Det_Machine(void)
if ( CoverEvent_Flg1 )
{
- CoverEvent_Flg1 = 0;
+ CoverEvent_Flg1 = FALSE;
VOX_EN_Type(VOX_ADT_Mode);
@@ -556,7 +1113,7 @@ void Vox_Det_Machine(void)
{
if ( !Get_CHIP_STA1_Flag0 ) //获取耳机在盒数量。
{
- Get_CHIP_STA1_Flag0 = 1;
+ Get_CHIP_STA1_Flag0 = TRUE;
if ( CHIP_STA1 & ( VOR_LoadOn | VOL_LoadOn ) )
{
@@ -620,7 +1177,6 @@ void Vox_Det_Machine(void)
HandleTxCommand(VHOUSE_CMD_GET_VBAT,VOR_CHAN); //右耳发开盖指令,区分耳机通道。
#elif XUANHENG
HandleTxCommand(CMD_HEARTBEAT,VOR_CHAN);
-
#endif
#endif
@@ -634,9 +1190,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
@@ -650,7 +1206,7 @@ void Vox_Det_Machine(void)
{
if( OpenCover_TX_Cmd_Flag )
{
- OpenCover_TX_Cmd_Flag = 0;
+ OpenCover_TX_Cmd_Flag = FALSE;
CHIP_STA1_BK = CHIP_STA1 & ( VOR_LoadOn | VOL_LoadOn );
@@ -662,9 +1218,9 @@ void Vox_Det_Machine(void)
{
if ( CHIP_STA1 & ( 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
@@ -686,7 +1242,7 @@ void Vox_Det_Machine(void)
{
DisCharge_Boost_Open(OFF, BOOST_VOUT_MAX); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。
- Boost_Open_Flag = 1;
+ Boost_Open_Flag = TRUE;
Vox_Vout_Enable = ON;
#if VOX_FOLLOW_CHG
@@ -698,25 +1254,25 @@ 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;
}
VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V
#ifdef _DEBUG_VOX
- printf("Close Box And Force Voltage Up.\r\n");
+ 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保持时间。
{
@@ -725,7 +1281,7 @@ void Vox_Det_Machine(void)
return;
}
- Wkup_Earphone_Flag = 0;
+ Wkup_Earphone_Flag = FALSE;
}
else
{
@@ -823,7 +1379,7 @@ void Vox_Det_Machine(void)
VOX_EN_Type(VOX_VOUT_Mode);
- Vox_Output_Short_Flag = 1;
+ Vox_Output_Short_Flag = TRUE;
Vox_Vout_Enable = OFF;
}
@@ -836,9 +1392,9 @@ void Vox_Det_Machine(void)
return;
}
- Vox_Output_Short_Flag = 0;
+ Vox_Output_Short_Flag = FALSE;
- Vox_Ocp_Flag = 0;
+ Vox_Ocp_Flag = FALSE;
/* 发完关盖码后,开启VOX VOUT 5V输出。 */
if( Cover_Close_Flag1 )
@@ -847,7 +1403,7 @@ void Vox_Det_Machine(void)
#ifdef _DEBUG_VOX
printf("VOX Vout 5V(STA1:0x%x,line:%d).\r\n",(uint16_t)CHIP_STA1, (uint16_t)__LINE__);
#endif
- Cover_Close_Flag1 = 0;
+ Cover_Close_Flag1 = FALSE;
}
else
{
@@ -865,13 +1421,13 @@ void Vox_Det_Machine(void)
#ifdef _DEBUG_VOX
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
}
@@ -921,7 +1477,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);
@@ -935,13 +1491,13 @@ 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);
@@ -957,9 +1513,9 @@ void Vox_Det_Machine(void)
{
if( CHIP_STA1 & ( 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
}
@@ -968,6 +1524,8 @@ void Vox_Det_Machine(void)
}
}
+#endif
+
#if VOX_FOLLOW_CHG
/*
@@ -984,7 +1542,6 @@ void Vox_Det_Machine(void)
*
*******************************************************************************
*/
-idata uint8_t Vox_Follow_Init_Deb = 0;
void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
{
@@ -1008,34 +1565,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",(uint16_t)CHIP_STA1, (uint16_t)__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;
@@ -1068,11 +1625,11 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
/*获取当前Ivox。Vox开启功率,且Ioff处于重载状态。*/
if( !( CHIP_STA1 & 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",(u16)g_pmu_Adc_Ivor,(uint16_t)__LINE__);
#endif
@@ -1081,11 +1638,11 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
if( !( CHIP_STA1 & 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__);
#endif
@@ -1111,9 +1668,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
if ( !( CHIP_STA1 & 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__);
#endif
@@ -1121,9 +1678,9 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
if ( !( CHIP_STA1 & 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__);
#endif
@@ -1144,8 +1701,8 @@ 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;
@@ -1156,87 +1713,87 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg )
}
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 ( CHIP_STA1 & 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(Ivor:%dmA).(line:%d)\r\n",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(Ivor:%dmA).(line:%d)\r\n",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(Ivor:%dmA).(line:%d)\r\n",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(Ivor:%dmA).(line:%d)\r\n",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 ( CHIP_STA1 & 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",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",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(Ivol:%dmA).(line:%d)\r\n",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(Ivol:%dmA).(line:%d)\r\n",n_Vox_Fllow_Chg->IVox_At_Present[VOL_TYPE],(u16)__LINE__);
#endif
}
}
@@ -1253,25 +1810,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
@@ -1290,13 +1847,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
@@ -1311,12 +1868,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
@@ -1339,14 +1896,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
@@ -1354,9 +1911,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
@@ -1365,9 +1922,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
@@ -1376,9 +1933,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 )
{
@@ -1427,11 +1984,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 )
{
@@ -1937,7 +2494,22 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select)
#endif
/* vor、vol都使用uart1进行分时通讯,设置TX模式*/
+#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 == VOL_CHAN)
{
@@ -2264,15 +2836,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( Uart1_RX_Finish_Flag )
{
- Uart1_RX_Finish_Flag = 0;
+ Uart1_RX_Finish_Flag = FALSE;
#ifdef _DEBUG_VOX
printf("RX1_Buffer[0]:0x%x,RX1_Buffer[1]:0x%x,RX1_Buffer[2]:0x%x,RX1_Buffer[3]:0x%x,RX1_Buffer[4]:0x%x,RX1_Buffer[5]:0x%x,RX1_Buffer[6]:0x%x,line:%d\r\n",(u16)RX1_Buffer[0],(u16)RX1_Buffer[1],(u16)RX1_Buffer[2],(u16)RX1_Buffer[3],(u16)RX1_Buffer[4],(u16)RX1_Buffer[5],(u16)RX1_Buffer[6],(u16)__LINE__);
diff --git a/UsrSrc/watchdog/watchdog.c b/UsrSrc/watchdog/watchdog.c
index 9ab972a..f4a4e66 100644
--- a/UsrSrc/watchdog/watchdog.c
+++ b/UsrSrc/watchdog/watchdog.c
@@ -3,7 +3,7 @@
*
* @file watchdog.c
* @brief watchdog module
- * @ic sy8835
+ * @ic sy8837/8
*
* @version 1.0
* @date 2024/11/01 15:00:40