diff --git a/Out/8835_EVB_241213_1140.bin b/Out/8835_EVB_241213_1140.bin deleted file mode 100644 index 2cadc0c..0000000 Binary files a/Out/8835_EVB_241213_1140.bin and /dev/null differ diff --git a/Out/8835_EVB_241213_1140.hex b/Out/8835_EVB_241213_1140.hex deleted file mode 100644 index 105d19f..0000000 --- a/Out/8835_EVB_241213_1140.hex +++ /dev/null @@ -1,949 +0,0 @@ -:03000000022C9D32 -:0F2C9D0075FE7275FF00758E007581B0022CE711 -:0F35A7001231F3D2AED2BE122E1C12310080F4BC -:10228F004100F20002AF000002AB000002A9000003 -:10229F004100F300029D000002A3000002AD000008 -:1022AF0002A7000002A50000029F000002A100008B -:10006E0075FE3175FF8175FE0E43FF107DAB7F303F -:0C007E0012361E75FE3243FF03D2BD2275 -:10342600900000EFF04408FD7F311232BA900000A0 -:0F343600E09000F3F075A38175FE3243FF012291 -:0A35FB0075A38275FE3243FF022221 -:03006B000228D98F -:1028D900C0E0C0F0C083C082C0D075D000C000C0C5 -:0D28E90001C002C003C004C005C006C00746 -:1028F600900048E4F0E5FEF0E5A420E0030229E9B3 -:102906007F3512362578AB760008A6077F36123655 -:1029160025EF540378AB46F608E6F618E6FE08E619 -:10292600FF7C097DC4121FA8780A121F4678ABA641 -:102936000608A6079000F3E0121F82295D002970A1 -:1029460001297902298C03299F0429B20529C50684 -:1029560029D407000029E978ABE6FE08E67802CE1E -:10296600C313CE13D8F9799E807578ACE625E07945 -:10297600B0805378ABE6FE08E67803C333CE33CE99 -:10298600D8F979A4805978ABE6FE08E67802C33315 -:10299600CE33CED8F979AE804678ABE6FE08E67837 -:1029A60002C333CE33CED8F979A8803378ABE6FEAE -:1029B60008E67802C333CE33CED8F979A6802078DC -:1029C600ACE625E079A0F718E63319F7801578AB61 -:1029D600E6FE08E67802CEC313CE13D8F979A2F73D -:1029E600EE19F7E5A430E1347F3712362578A9765B -:1029F6000008A6077F38123625EF540378A946F655 -:102A060008E6F618E6FE08E6FF7C097DC4121FA854 -:102A1600780A121F4678A9A60608A60775A40F907D -:052A26000048E0F5FE90 -:102A2B00D007D006D005D004D003D002D001D000FF -:0B2A3B00D0D0D082D083D0F0D0E032A9 -:0722BF00C11EC11F010D0348 -:10350500E4780FF67811F6780DE67810F6781276ED -:08351500047D207F400232BA60 -:10276600E4FE78A9E6FC08E6FDC39460EC94094013 -:10277600037F0022EF700302287ED3ED9477EC945A -:1027860007400302285CED94EFEC94015003022805 -:102796005CD3ED947FEC94064022D21C780DE6FFC4 -:1027A600137810F6301D11D3ED94B3EC9406400463 -:1027B600C21D80047810A607E4FE8070D3ED947FD6 -:1027C600EC94065043ED94F7EC9402403BD21D780E -:1027D6000DE6FF7810F6301C13D3ED9449EC940601 -:1027E6005004C21C8006EFC3137810F678127604E4 -:1027F600300F11D3ED9437EC94035004C20F8004CC -:1028060078127601E4FE8024D3ED94F7EC9402501E -:102816001BD20F78127601301D10ED94CEEC940287 -:102826005004C21D800478127604E4FE301A11C3E7 -:10283600ED9431EC94075006C21AE4FE80027E0144 -:10284600301B2FD3ED941CEC94024006C21BE4FE11 -:1028560080207E01801CD3ED9477EC94074006D24D -:102866001A7E01800DD3ED94EFEC94015004D21B37 -:102876007E01C218C2198058C21AC21BD3ED94D762 -:10288600EC94085031ED9413EC9401402930181063 -:10289600ED9493EC94085006C218E4FE80027E0183 -:1028A60030192DD3ED943EEC94014006C219E4FE96 -:1028B600801E7E01801AD3ED94D7EC94084004D292 -:1028C60018800BC3ED9413EC94015002D2197E01CB -:0228D600AF064B -:0128D80022DD -:102E85009000EBE05463600CE4FF1233C2E4780E6B -:102E9500F6C21E227F01122766EF6008E4FF123397 -:102EA500C2D21F22C21F9000ECE05407FFBF0607E5 -:102EB500D21E780E7602227810E6FD7F221232BAF3 -:102EC5007812E6FD7F211232BA780FE6C454F07805 -:102ED5001146FD7F231232BA7F011233C2780E7676 -:042EE50001C21E22E6 -:0422C600C139C13A1F -:10300C009000EBE0FF30E603C23922EF30E205C25C -:10301C0039D23A22304008E4FF1233E4C23922900C -:10302C0000EBE030E503C23922E4FF122766EF60C3 -:10303C000AC239E4FF1233E4D21F22C21FD2393044 -:10304C003A19780EE6B40113C378B0E6941018E67A -:0C305C00940E4005D239C23A22C239223B -:1034EC00426F78204F70656E2E0D0A00426F782067 -:0934FC00436C6F73652E0D0A008C -:0822CA00C13BC13C4100F5FFDE -:1030B700E4900000F09000ECE0FF5420FE90000048 -:1030C700F09000F5E06E6030EF30E50E9000F4749C -:1030D70001F07BFF7A3479EC800BE49000F4F07B0D -:1030E700FF7A3479F812198FD23BD23CD23590004F -:0830F70000E09000F5F0D23D6D -:0130FF0022AE -:10322A006C6F6E672032732070726573730D0A00BB -:10323A00737570706572206C6F6E672038732070BA -:10324A00726573730D0A0073686F72742070726509 -:05325A0073730D0A0072 -:1022D200C127C126C1250118004100EF004100EECF -:0622E200004200F00000C4 -:1025DB009000ECE030E4379000F0E475F001121E4F -:1025EB004E9000F0E0FEA3E0FFC39464EE94004035 -:1025FB0007202314D2238010C3EF9490EE94014054 -:10260B0007202404D224D225D220C221803A3020A4 -:10261B0030D23DC220D221C2249000F0E0FEA3E0D4 -:10262B00FFD39419EE94005008D227D222D23580D2 -:10263B0010C3EF94FAEE94005007302304C223D258 -:10264B0026E49000F0F0A3F030213FC22130261495 -:10265B00C22678187602E49000EFF07BFF7A32798D -:10266B002A12198F30250FC225781876037BFF7A33 -:10267B0032793A12198F302215C222781876017BE3 -:10268B00FF7A32795112198F8004E47818F6900092 -:10269B00F4E0640160030227657818E664026003C6 -:1026AB0002272C9000EFE0C3940150107D017F01B5 -:1026BB00122441E4900075F0A3F080529000EEE0FC -:1026CB00D394054004E4F08039900076E0B4010F18 -:1026DB00E4FD7F021224419000767402F0802F906B -:1026EB000076E064027027900075E0601A7D017F30 -:1026FB0002122441E4900075F0A3F09000EFF07803 -:10270B0018F67F03022D2CE4FD7F0112244190006B -:10271B00EFE0D3941440349000EEE004F0E4A3F027 -:10272B00227818E6640370329000EFE0FFC3941E2A -:10273B005020EF540125E060047D0180099000EFEB -:10274B00E030E007E4FD7F031224419000EFE0044A -:0A275B00F022E47818F69000EFF089 -:012765002251 -:1022E80041007E0041007D0041007F0041007C00EC -:0F35B60075FE0B75FF0FC290C291C293C2922295 -:1034B800EF14600D14600D14600D2403700BD2908E -:0A34C80022D29122D29222D2932246 -:05344500900000E0FF13 -:10344A00EF14600D14600D14600D2403700BC2900C -:0A345A0022C29122C29222C29322E4 -:102F4C00E4FF74802FF582E43400F583E4F074849C -:102F5C002FF582E43400F583E4F0EF25E02488F5C6 -:102F6C0082E43400F583E4F0A3F0EF25E02490F53F -:102F7C0082E43400F583E4F0A3F0EF25E02498F527 -:102F8C0082E43400F583E4F0A3F0EF25E024A0F50F -:0F2F9C0082E43400F583E4F0A3F00FEFB404A354 -:012FAB002203 -:102EE900AC0774802CF582E43400F583EDF0EAC375 -:102EF90013FEEB13FFEC25E02488F582E43400F59A -:102F090083EEF0A3EFF0AF03EC25E02490F582E423 -:102F19003400F583EAF0A3EFF0900005E0FEA3E0AA -:102F2900FFEC25E02498F582E43400F583EEF0A364 -:102F3900EFF0EC25E024A0F582E43400F583E4F019 -:032F4900A3F022D0 -:10317F0074802FF582E43400F583EDF074842FF51D -:10318F0082E43400F583EBF0EF25E02488F582E448 -:10319F003400F583E4F0A37469F0EF25E024A0F583 -:0B31AF0082E43400F583E4F0A3F0227A -:1015B700E4900000F0F0900000E0FFC394044003C3 -:1015C7000218F974802FF582E43400F583E0602275 -:1015D70024FE60241470030216C114700302173826 -:1015E70024036003021895900000E0FF1234B8024C -:1015F7001895123445021895900000E0FF25E02465 -:1016070088F582E43400F583E0FCA3E0FDEF25E0F4 -:1016170024A0F582E43400F583E0FEA3E0C39DEE49 -:101627009C50051234B88003123445900000E0FF47 -:1016370025E02490F582E43400F583E0FCA3E0FD87 -:10164700EF25E024A0F582E43400F583E0FEA3E073 -:10165700C39DEE9C5003021895900000E025E024FE -:10166700A0F582E43400F583E4F0A3F0EF25E0244D -:1016770098F582E43400F583E0FEA3E0D39400EE0E -:1016870094004016900000E025E02498F582E434A9 -:1016970000F58374FFF5F0121E4E900000E0FF2561 -:1016A700E02498F582E43400F583E0FCA3E04C6085 -:1016B7000302189574802F021754900000E0FF254D -:1016C700E02488F582E43400F583E0FCA3E0FDEF35 -:1016D70025E024A0F582E43400F583E0FEA3E0D3FF -:1016E7009DEE9C50051234B88003123445900000DB -:1016F700E0FF25E02490F582E43400F583E0FCA3C5 -:10170700E0FDEF25E024A0F582E43400F583E0FE58 -:10171700A3E0C39DEE9C5003021895900000E025BE -:10172700E024A0F582E43400F583E4F0A3F0021886 -:1017370095900000E0FF2484F582E43400F583E00F -:101747007017123406C241900000E02480F582E44D -:101757003400F583E4F0021895900000E0FF24843C -:10176700F582E43400F583E0FE6402704B204114F7 -:10177700D241EF25E02488F582E43400F583E4F0D4 -:10178700A37469F0900000E0FF25E02488F582E467 -:101797003400F583E475F001121E4EEF25E024882E -:1017A700F582E43400F583E0FCA3E0C394FEEC94F7 -:1017B70000500302187F804EEE6401705A204117D3 -:1017C700D241900000E025E02488F582E43400F55A -:1017D70083E4F0A374FEF0900000E0FF25E0248886 -:1017E700F582E43400F58374FFF5F0121E4EEF2501 -:1017F700E02488F582E43400F583E0FEA3E0D39487 -:1018070069EE94005072900000E02484F582E4347D -:1018170000F583E4F08061900000E0FF2484F58206 -:10182700E43400F583E06403704EEF25E02488F587 -:1018370082E43400F583E0FEA3E0FFC394FEEE9458 -:10184700004004D241800BD3EF946AEE940050021B -:10185700C241900000E025E0248830410DF582E484 -:101867003400F58374FFF5F0800BF582E43400F55E -:1018770083E475F001121E4E900000E0FF25E0247E -:1018870088F582E43400F583A3E0FD123068900008 -:1018970000E0FF701174802FF582E43400F583E0D7 -:1018A70090007EF08043900000E0B401102480F5A2 -:1018B70082E43400F583E090007DF0802C900000F6 -:1018C700E0B402102480F582E43400F583E0900050 -:1018D7007FF08015900000E0B4030E2480F582E4C9 -:1018E7003400F583E090007CF0900000E004F00203 -:1018F70015BDE4900000F0900000E0FFC394045091 -:101907001BEF25E024A0F582E43400F583E475F0AD -:0C19170001121E4E900000E004F080DB86 -:0119230022A1 -:1022F800C13E4100E0004200E100004100E30F411F -:0523080000DF00C13DF3 -:10354A00D2AC759A03D2BCD2BDD2A9D2AB75FE3029 -:04355A0043FF802289 -:10355E00C2ACE4F59AC2BCC2BDC2A9C2AB75FE3004 -:04356E0053FF7F2266 -:10325F00303E21302C27C22C9000DFE004F0E0C379 -:10326F0094054019E4A3F07DAA7F4F1232BAE4907F -:0E327F0000DFF02212355E43870212354A222C -:10357200780EE664016006200E03303D04C23DC3AE -:0335820022D3222F -:1031F3001233111235971235E2E4F58612006E7D13 -:10320300087F7612361ED2A8D2AF1235057D697FAC -:10321300031235341235B6122F4C12000E12328DB2 -:073223009000D47401F022B9 -:0300030002362C96 -:06362C00D23D75E20F32F1 -:10230D002040290000000000000000000000000037 -:10231D0000000000000000000000000000000000B0 -:10232D0000000000000000000000000000000000A0 -:10233D000000000000000000000000000000000090 -:07234D00000000C138C13798 -:1033110075FE0443FF0C75FE0343FF0C75FE0E534F -:10332100FFF043FF09D2DF43878075BA0375AADC3A -:06333100759852D2AC2297 -:0631BA00900043121F7992 -:1031C000E4900046F05398EFF0900046E0C39FE48F -:1031D0009E501C2036FDD236900043E475F001125B -:1031E0001F62121D7FF599900046E004F080DA43DB -:0231F000981035 -:0131F20022BA -:03002300022A4668 -:102A4600C0E0C0F0C083C082C0D075D000C000C056 -:072A560002C003C006C00727 -:102A5D00309904C299C236209803022B1BC298D21A -:102A6D003D9000E4E014602114604D2402600302E7 -:102A7D002B1BE5999000E4B4550D7401F0A3E4F01F -:102A8D00A3F09000E580138027AF997E00BE551D01 -:102A9D00BFAA1A9000E47402F0A3A3E02429F8A6BB -:102AAD00999000E5E475F001121E4E80619000E4EE -:102ABD00E4F0A3F0A3F080569000E5A3E02429F8FC -:102ACD00A6999000E5E475F001121E4E9000E5E028 -:102ADD00FAA3E0FB64074A700D782BE62404FEE4AC -:102AED0033A3F0A3CEF09000E7E06A7003A3E06B90 -:102AFD00600FD39000E6E094409000E5E094004034 -:0E2B0D000D9000E5E4F0A3F09000E4F0D23863 -:102B1B00D007D006D003D002D000D0D0D082D08343 -:052B2B00D0F0D0E03203 -:0E35D40090002BEFF012360E90002BE0FF223D -:1035970075F10A759F03759EFD759692759A0222BD -:08360E002037FDD2378F97220F -:03008B0002351D1E -:10351D00C0E0E59630E1055396FDC237E59630E003 -:07352D00035396FED0E032CB -:102354004300D40402024100D200C135C13441001B -:0E236400D3004100D7004100D0004100D1005D -:10333700E4FB7D04FF12317FE4FB7D047F01123142 -:103347007FE4FB7D047F0212317FE4FB7D047F0372 -:0333570002317FC1 -:10123B00201F06200B030212D9203007D230D235E3 -:10124B000212D690007EE06403601A900005E4F071 -:10125B00A3740AF07B147A007D02E4FF122EE9904E -:10126B00007E7403F090007DE06403601A9000052B -:10127B00E4F0A3740AF07B147A007D027F01122E36 -:10128B00E990007D7403F090007FE06403601A9096 -:10129B000005E4F0A3740AF07B147A007D027F0250 -:1012AB00122EE990007F7403F090007CE0640360E1 -:1012BB001A900005E4F0A3740AF07B147A007D0207 -:1012CB007F03122EE990007C7403F0D23D22303064 -:1012DB0008C230C232C231D234780EE664016003E8 -:1012EB000213E6301E5C203205D232123337E49003 -:1012FB000005F0A3F0FBFA7D01FF122EE9E490004C -:10130B0005F0A3F0FBFA7D017F01122EE9E49000BA -:10131B0005F0A3F0FBFA7D017F02122EE9E49000A9 -:10132B0005F0A3F0FBFA7D017F03122EE990007EFE -:10133B007401F090007DF090007FF090007CF00243 -:10134B0013DD20310CD231D235E49000D7F00213EB -:10135B00DD9000D2E0C394015057E004F09000D729 -:10136B00E014601A14602714603424037064900036 -:10137B007EE06404605C7B017D04E4FF802E9000C2 -:10138B007DE06404604C7B017D047F01801E900036 -:10139B007FE06404603C7B017D047F02800E900043 -:1013AB007CE06404602C7B017D047F0312317F8021 -:1013BB00219000D2E0C3940F5005E004F08013E4B9 -:1013CB009000D2F09000D7E004F0E0C39404400208 -:1013DB00E4F0C23CC20CC227D2332230310AC231F4 -:1013EB00123337D235D23422303549E49000D2F063 -:1013FB00C235900005F0A3F0FBFAFDFF122EE9E4D5 -:10140B00900005F0A3F0FBFAFD7F01122EE9E490AA -:10141B000005F0A3F0FBFAFD7F02122EE9E4900029 -:10142B0005F0A3F0FBFAFD7F03122EE990007E740A -:10143B000202159E203C0C203309200C06202703AA -:10144B000215B69000D2E0FFC394015004E004F003 -:10145B0022EFC3946440030215AC9000D2E004F079 -:10146B007814E6C39419503790007EE06403700340 -:10147B000215B6E4900005F0A3F07B64FA7D03FF40 -:10148B00122EE990007E7404F0E4900005F0A3F0B6 -:10149B00FBFAFD7F01122EE990007D7402803278F9 -:1014AB0014E6C394325041E4900005F0A3F0FBFA2C -:1014BB007D01FF122EE990007E7401F0E49000058F -:1014CB00F0A3F0FBFA7D017F01122EE990007D74F1 -:1014DB0001F0E4900005F0A3F0FBFAFD7F02122E61 -:1014EB00E990007F740280487814E6C3944B505700 -:1014FB00E4900005F0A3F0FBFA7D01FF122EE990BA -:10150B00007E7401F0E4900005F0A3F0FBFA7D017E -:10151B007F01122EE990007D7401F0E4900005F03C -:10152B00A3F0FBFA7D017F02122EE990007F74017C -:10153B00F0E4900005F0A3F0FBFAFD7F03122EE917 -:10154B0090007C7402F0227814E6C39464505CE43F -:10155B00900005F0A3F0FBFA7D01FF122EE9E49059 -:10156B000005F0A3F0FBFA7D017F01122EE9E49058 -:10157B000005F0A3F0FBFA7D017F02122EE9E49047 -:10158B000005F0A3F0FBFA7D017F03122EE990001A -:10159B007E7401F090007DF090007FF090007CF065 -:0B15AB0022C23CC233C20CC227D23562 -:0115B6002212 -:103482009000F2E0FF04F01234269000F2E0C394C0 -:0B349200084005E4F07F01227F0022CB -:10346400122E8512300C1230B71225DB1232E630E0 -:0E347400280BC228122BF212123B121FD52277 -:093605007B017A0079E9022FAC87 -:102B3000E4900000F09000D4E0FFA3E0FE6F60415D -:102B4000A3EEF09000D4E0A3F024FD602F240260F7 -:102B500003022BF1900005E4F0A37403F07B647A88 -:102B6000007D02E4FF122EE9900005E4F0A3740357 -:102B7000F07B647A007D027F01022EE99000E38001 -:102B8000529000D5E024FE602D146031146054246E -:102B900003705E9000D0E004F0E0C39408405290CF -:102BA00000D47402F0E49000D0F07815E670429002 -:102BB00000D47404F0229000D47403F022302C313D -:102BC000C22C9000E3E0D39400400CE014F0303DC0 -:102BD00020C23D740FF0229000D47404F0E4900001 -:102BE000DFF022123572500302325F9000D474027B -:012BF000F0F4 -:012BF10022C1 -:10310000302B36C22B9000D1E0FF04F0EF14601298 -:103110001460141460161460182404701C12348295 -:10312000801712360580121235FB800D1234648030 -:1031300008122B30E49000D1F0302D05C22D12156D -:02314000B722B4 -:100BAE00426F7820436C6F73652E0D0A00426F788A -:100BBE00204F70656E2E0D0A004F70656E20426FCD -:100BCE007820434D44205458204F7665722E0D0ADE -:100BDE00004F70656E20426F7820416E6420456133 -:100BEE007270686F6E6520476574496E2E0D0A002F -:100BFE00436C6F736520426F7820416E6420466FA0 -:100C0E0072636520566F6C746167652055702E0D8A -:100C1E000A00564F58204348472046756C6C2E0DDF -:100C2E000A00564F582047657420496E746F205342 -:100C3E006C6565702E0D0A00466F6C6C6F772043E5 -:100C4E00484720496E697453746120536574204D72 -:100C5E0061782056706D69642E28566F785F7374B4 -:100C6E00613A3078257829286C696E653A256429B1 -:100C7E000D0A00466F6C6C6F772043484720496E13 -:100C8E0069745374612E28566F785F7374613A30AD -:100C9E0078257829286C696E653A2564290D0A0035 -:100CAE00466F6C6C6F772043484720537461312C2C -:100CBE004E6F2045617250686F6E6520496E2042FE -:100CCE006F782E286C696E653A2564290D0A0046E8 -:100CDE006F6C6C6F772043484720537461312C56EC -:100CEE004F5220436867696E672849766F723A25BE -:100CFE00646D41292E286C696E653A2564290D0AAA -:100D0E0000466F6C6C6F77204348472053746131F7 -:100D1E002C564F4C20436867696E672849766F6C76 -:100D2E003A25646D41292E286C696E653A25642931 -:100D3E000D0A00466F6C6C6F772043484720537442 -:100D4E0061322C4765742049564F523A25646D41E5 -:100D5E002E286C696E653A2564290D0A00466F6C63 -:100D6E006C6F772043484720537461322C4765746B -:100D7E002049564F4C3A25646D412E286C696E659C -:100D8E003A2564290D0A00466F6C6C6F7720434834 -:100D9E004720537461332C564F58204368672052B6 -:100DAE0065496E69742E286C696E653A2564290D45 -:100DBE000A00466F6C6C6F7720434847205374616E -:100DCE0033284356292C564F522056706D69642095 -:100DDE004164645374612849766F723A25646D419B -:100DEE00292E286C696E653A2564290D0A00466F16 -:100DFE006C6C6F77204348472053746133284356F9 -:100E0E00292C564F522056706D69642053756253CB -:100E1E0074612849766F723A25646D41292E286CCB -:100E2E00696E653A2564290D0A00466F6C6C6F7702 -:100E3E00204348472053746133284343292C564F8F -:100E4E00522056706D69642053756253746128493F -:100E5E00766F723A25646D41292E286C696E653A5B -:100E6E002564290D0A00466F6C6C6F772043484746 -:100E7E002053746133284343292C564F5220567009 -:100E8E006D6964204164645374612849766F723AC7 -:100E9E0025646D41292E286C696E653A2564290DED -:100EAE000A00466F6C6C6F7720434847205374617D -:100EBE0033284356292C564F4C2056706D696420AA -:100ECE004164645374612849766F6C3A25646D41B0 -:100EDE00292E286C696E653A2564290D0A00466F25 -:100EEE006C6C6F7720434847205374613328435608 -:100EFE00292C564F4C2056706D69642053756253E1 -:100F0E0074612849766F6C3A25646D41292E286CE0 -:100F1E00696E653A2564290D0A00466F6C6C6F7711 -:100F2E00204348472053746133284343292C564F9E -:100F3E004C2056706D696420537562537461284954 -:100F4E00766F6C3A25646D41292E286C696E653A70 -:100F5E002564290D0A00466F6C6C6F772043484755 -:100F6E002053746133284343292C564F4C2056701E -:100F7E006D6964204164645374612849766F6C3ADC -:100F8E0025646D41292E286C696E653A2564290DFC -:100F9E000A00466F6C6C6F7720434847205374618C -:100FAE00342C564F782056706D696420416464531A -:100FBE00746128566F75743A307825782C49766F9F -:100FCE006C3A25646D412C49766F723A25646D41F9 -:100FDE0029286C696E653A2564292E0D0A00466F24 -:100FEE006C6C6F772043484720537461342C564FF6 -:100FFE0078204368696E6728566F75743A30782585 -:10100E00782C49766F6C3A25646D412C49766F7257 -:10101E003A25646D4129286C696E653A2564292E3E -:10102E000D0A00466F6C6C6F77204348472053744F -:10103E0061342C564F522056706D696420416464A1 -:10104E0053746128566F75743A307825782C49762A -:10105E006F723A25646D4129286C696E653A256474 -:10106E00292E0D0A00466F6C6C6F7720434847207F -:10107E00537461342C564F52204368696E6728565C -:10108E006F75743A307825782C49766F723A2564EC -:10109E006D4129286C696E653A2564292E0D0A006A -:1010AE00466F6C6C6F772043484720537461342C25 -:1010BE00564F4C2056706D696420416464537461C0 -:1010CE0028566F75743A307825782C49766F6C3ABD -:1010DE0025646D4129286C696E653A2564292E0DAB -:1010EE000A00466F6C6C6F7720434847205374613B -:1010FE00342C564F4C204368696E6728566F7574B2 -:10110E003A307825782C49766F6C3A25646D4129F2 -:10111E00286C696E653A2564292E0D0A00466F6C9F -:10112E006C6F7720434847205375625374612C5679 -:10113E004F4C2F564F52286C696E653A2564292EF6 -:10114E000D0A00466F6C6C6F77204348472053752D -:10115E00625374612C564F52286C696E653A256441 -:10116E00292E0D0A00466F6C6C6F7720434847207E -:10117E005375625374612C564F4C286C696E653AE8 -:10118E002564292E0D0A00466F6C6C6F772043483C -:10119E0047205375625374612C285354413A30786A -:1011AE0025782C56706D69643A3078257829286C2C -:1011BE00696E653A2564290D0A00466F6C6C6F776F -:1011CE0020434847204164645374612C2853544192 -:1011DE003A307825782C56706D69643A30782578D7 -:1011EE0029286C696E653A2564290D0A00000000F5 -:1011FE0000000000000000000000000000000000E1 -:10120E0000000000000000000000000000000000D0 -:10121E0000000000000000000000000000000000C0 -:0D122E0000000000000000000000000000B3 -:10237200C10EC10CC10D410077FFC10B42004F00DD -:102382000042004D00004200750000420072000051 -:10239200420078000041007B00106900000000004C -:1023A200000000000000000000000020247900006E -:1023B200000000000000000000000000000000001B -:1023C200000000000000000000000000000000000B -:0623D20000004100740050 -:052D2C00900043EFF0F0 -:102D3100E4A3F0A3F07F27123142900044EFF07F2B -:102D410037123142900045EFF0900043E024FD60DE -:102D51001B14602424FE602824057035900045E092 -:102D61004494F0900044E04498F08025900044E0C1 -:102D71004406F054E7F08019900045E054FD8009C5 -:102D8100900045E04402F054FEF0900044E054E12C -:102D9100F0900044E0FD7F271232BA900045E0FD3B -:052DA1007F370232BA89 -:101FD5009000EBE054186003D20B22C20B203903AA -:101FE50002224B303B65200D0D7F3C1234D27F0120 -:101FF5001233E4D20D227F03122D2CE490004CF015 -:1020050090004AF0A3F0C2009000F4E0702AC20CE0 -:10201500D201D202C203C207C208C209900075F0FC -:10202500A3F0D20EC234900070F0A3F090007AF0C5 -:102035007BFF7A0B79AE800EC201C202D203C205C4 -:102045007BFF7A0B79BB12198FC23B200303022158 -:102055000190004AE0C3940550030221EF90004B24 -:10206500E0C39405500A7F06122D2C90004B802A60 -:1020750020004990004CE0FFD3940B5022EF75F0FF -:102085000384E5F07003FD800990004CE020E00733 -:102095007D017F0612244190004CE004F0805D7FB5 -:1020A50004122D2CE490004CF0D200D204C20DC2D3 -:1020B5000E7BFF7A0B79C712198F8040300404C25A -:1020C50004802F9000EDE0540CFBE4FAF9F8900041 -:1020D50049E0FFE4FCFDFEC3121F35601F9000EDD3 -:1020E500E0540C600DD20CD2357BFF7A0B79DF12F0 -:1020F500198F9000EDE0540C900049F02001030287 -:102105002248303438200D237F011233E4D20DD21A -:102115000EE4900070F0A3F090007AF090004BF080 -:1021250090004AF090004CF0C207227F03122D2C3C -:102135007BFF7A0B79FE12198FC234803590004AE5 -:10214500E0D3940350030221EF90004BE0FFD394BA -:102155000B501FEF75F00384E5F07003FD800990C7 -:10216500004BE020E0077D017F8112244190004B68 -:10217500807890004CE0FFD39432501FEF75F00348 -:1021850084E5F07003FD800990004CE020E0077DB8 -:10219500017F0712244190004C804F3002077F03D6 -:1021A500122D2CC202900071E0700C7B017A00792F -:1021B5005112008E0222482007489000EDE054306D -:1021C500FFE4FCFDFE7B30FAF9F8C3121F35601100 -:1021D5009000EDE0540CFFE4FCFDFEEF6003303FA2 -:1021E5006290004AE0C394325004E004F0227BFF81 -:1021F5007A0C792012198FD207C20D7F04122D2C6B -:10220500804190004CE0FFD3940B5022EF75F00312 -:1022150084E5F07003FD800990004CE020E0077D27 -:10222500017F8012244190004CE004F080152008C5 -:1022350012D2087F04122D2CC20E7BFF7A0C793046 -:1022450012198FC20622200614D2067F04122D2CE5 -:10225500C20E9000EDE0540C900049F0229000ED84 -:10226500E0540CFBE4FAF9F8900049E0FFE4FCFDCA -:10227500FEC3121F3560129000EDE0540CFF6004A0 -:09228500D20CD235900049EFF0B3 -:01228E00222D -:06008E00900000121F7932 -:1000940090007AE01470030201AB1470030202DCD6 -:1000A40014700302038614700302065E24046003C2 -:1000B400020932900000121F59900020121D98600E -:1000C4000302093290007BE0D3940A5046E004F026 -:1000D40090001BE475F03C121F08300A0302093239 -:1000E400900000121F5990001B121E64FF1234D29C -:1000F4007BFF7A0C79469000EDE0FF900006E4F077 -:10010400A3EFF0A37403F0A3744BF012198FD20A77 -:10011400020932E490007BF0C20A900000121F59D9 -:10012400900016E4121DD7900015E4121DD790001C -:1001340013E4121DD7900012E4121DD7900011E4AD -:10014400121DD7900010E4121DD7900018E4121D60 -:10015400D7900017E4121DD790000EE4F5F0121F9B -:100164000890000CE4F5F0121F08900019E4F5F073 -:10017400121F0890001DE475F03C121F0890007ACD -:100184007401F0E490004FF0A3F07BFF7A0C7981C6 -:100194009000EDE0FF900006E4F0A3EFF0A37403F9 -:1001A400F0A374720203FF9000EDE0FB5420FFE41F -:1001B400FCFDFEEF602BEB5410FF60259000001255 -:1001C4001F599000207401121DD7E490007AF07B2F -:1001D400FF7A0C79AE9000067403F0A374810203D5 -:1001E400FF9000EDE05420FFE4FCEF706278A1E69C -:1001F400FE08E6FF900000121F59900002EE8FF0F7 -:10020400121F087D05121DF9EF7802C333CE33CED9 -:10021400D8F9FF900000121F59900006EE8FF012DB -:100224001F0878A1E6FC08E6FD25E0FFEC3390000A -:100234000A8FF0121F087BFF7A0C79DD900006EC20 -:10024400F0A3EDF0A37403F0A3748FF012198F9050 -:1002540000EDE05410FFE4FCFDEF7065789DE6FED0 -:1002640008E6FF900000121F59EE8FF0121EE918E5 -:10027400E6FE08E6FF7D05121DF9EF7802C333CED2 -:1002840033CED8F9FF900000121F59900004EE8F6E -:10029400F0121F08789DE6FC08E6FD25E0FFEC332C -:1002A4009000088FF0121F087BFF7A0D790F9000E1 -:1002B40006ECF0A3EDF0A37403F0A3749CF0121900 -:1002C4008F900000121F5990001F7401121DD790C7 -:1002D400007A7402F0020932D3900050E094059041 -:1002E400004FE094005003020395E490004FF0A304 -:1002F400F09000EDE05420FFE4FCFDEF703778A1AE -:10030400E6FE08E6FF900000121F5990000EEE8FE3 -:10031400F0121F089000187401121DD77BFF7A0D8C -:100324007941900006EEF0A3EFF0A37403F0A374F8 -:10033400B8F012198F9000EDE05410FFE4FCFDEFCB -:100344007037789DE6FE08E6FF900000121F599072 -:10035400000CEE8FF0121F089000177401121DD7C5 -:100364007BFF7A0D796B900006EEF0A3EFF0A37497 -:1003740003F0A374C2F012198F90007A7403F00290 -:100384000932D3900050E0940290004FE094005062 -:100394000AE475F001121E4E020932E490004FF097 -:1003A400A3F0900000121F5990000A121E64FFAEC1 -:1003B400F090000E121E64D39FE5F09E501C900036 -:1003C40000121F59900008121E64FFAEF090000C3A -:1003D400121E64D39FE5F09E4025E490007AF090CD -:1003E4000000121F5990001FE4121DD77BFF7A0DE5 -:1003F40079959000067403F0A374DCF002092F9041 -:100404000000121F59900018121D98640160030225 -:10041400052F90000E121E64D39414E5F09400404E -:10042400030204AE9000EDE030E54B900016740139 -:10043400121DD790001B121E64C3943CE5F0940077 -:10044400400D900000121F59900018E4121DD7901F -:100454000000121F5990000E121E64FF900006E562 -:10046400F0F0A3EFF0A37403F0A374EEF07BFF7A33 -:100474000D79C002052C900000121F5990001374CE -:1004840001121DD7900000121F5990000E121E6415 -:10049400FF900006E5F0F0A3EFF0A37403F0A3745B -:1004A400F5F07BFF7A0D79FC807E900000121F59D5 -:1004B400900006121E64FFAEF090000E121E64D36C -:1004C4009FE5F09E9000004030121F599000137475 -:1004D40001121DD7900000121F5990000E121E64C5 -:1004E400FF900006E5F0F0A3EFF0A37403F0A3740B -:1004F400FFF0FB7A0E7938802F121F599000167482 -:1005040001121DD7900000121F5990000E121E6494 -:10051400FF900006E5F0F0A3EFF0A37404F0A374D9 -:1005240006F07BFF7A0E797412198F900000121F67 -:1005340059900017121D986401600302093290005B -:100544000C121E64D39414E5F0940040030205DBFE -:100554009000EDE030E44B9000157401121DD7902B -:10056400001B121E64C3943CE5F09400400D9000FF -:1005740000121F59900017E4121DD7900000121F9B -:100584005990000C121E64FF900006E5F0F0A3EFF2 -:10059400F0A37404F0A37419F07BFF7A0E79B0020F -:1005A400092F900000121F599000127401121DD7D8 -:1005B400900000121F5990000C121E64FF90000658 -:1005C400E5F0F0A3EFF0A37404F0A37420F07BFF34 -:1005D4007A0E79EC02092F900000121F5990000442 -:1005E400121E64FFAEF090000C121E64D39FE5F05F -:1005F4009E9000004032121F599000127401121D87 -:10060400D7900000121F5990000C121E64FF900036 -:1006140006E5F0F0A3EFF0A37404F0A3742AF07BD2 -:10062400FF7A0F792802092F121F599000157401BF -:10063400121DD7900000121F5990000C121E64FF67 -:10064400900006E5F0F0A3EFF0A37404F0A3743176 -:10065400F07BFF7A0F796402092FD3900050E09465 -:100664001490004FE09400502FE475F001121E4ED8 -:1006740078A1E6FE08E6FF900000121F5990000ED4 -:10068400EE8FF0121F08789DE6FF08E690000CCF6D -:100694008FF0121F08020932E490004FF0A3F0908B -:1006A4000000121F59900018121D98640160030283 -:1006B40007C0900017121D98640160030207C090E0 -:1006C4000006121E64FFAEF090000E121E64FDAC14 -:1006D400F0C39FEC9E4018900000121F5990000A2E -:1006E400121E64FFD3ED9FEC95F050030207819036 -:1006F4000000121F59900004121E64FFAEF0900017 -:100704000C121E64FDACF0C39FEC9E4015900000DB -:10071400121F59900008121E64FFD3ED9FEC95F050 -:10072400405B900000121F599000167401121DD7EF -:100734009000157401121DD790007A7402F0900095 -:1007440000121F5990001B121E64FF900006E5F072 -:10075400F0A3EFF0789DE6FF08E6A3CFF0A3EFF057 -:1007640078A1E6FF08E6A3CFF0A3EFF0A37404F0AA -:10077400A37458F07BFF7A0F79A002092F90000030 -:10078400121F5990001B121E64FF900006E5F0F042 -:10079400A3EFF0789DE6FF08E6A3CFF0A3EFF0788F -:1007A400A1E6FF08E6A3CFF0A3EFF0A37404F0A33F -:1007B400745FF07BFF7A0F79EC02092F900000122E -:1007C4001F59900018121D98640160030208799063 -:1007D4000006121E64FFAEF090000E121E64FDAC03 -:1007E400F0C39FEC9E4015900000121F5990000A20 -:1007F400121E64FFD3ED9FEC95F04046900000126A -:100804001F599000167401121DD790007A7402F0DB -:10081400900000121F5990001B121E64FF900006E6 -:10082400E5F0F0A3EFF078A1E6FF08E6A3CFF0A38C -:10083400EFF0A37404F0A37472F07BFF7A107931A3 -:100844008030900000121F5990001B121E64FF900C -:100854000006E5F0F0A3EFF078A1E6FF08E6A3CFE9 -:10086400F0A3EFF0A37404F0A37478F07BFF7A1084 -:10087400797312198F900000121F59900017121DDE -:100884009864016003020932900008121E64FFAEEE -:10089400F090000C121E64FDACF0D39FEC9E50153A -:1008A400900000121F59900004121E64FFC3ED9FB4 -:1008B400EC95F05046900000121F599000157401F9 -:1008C400121DD790007A7402F0900000121F599004 -:1008D400001B121E64FF900006E5F0F0A3EFF07811 -:1008E4009DE6FF08E6A3CFF0A3EFF0A37404F0A302 -:1008F4007486F07BFF7A1079AE8030900000121F6E -:100904005990001B121E64FF900006E5F0F0A3EF5F -:10091400F0789DE6FF08E6A3CFF0A3EFF0A37404FC -:10092400F0A3748CF07BFF7A1079F012198F900089 -:1009340000121F59900018121D98FF6401600D9059 -:100944000017121D9864016003020B9490001312A7 -:100954001D98FE6401600D900012121D98640160E0 -:1009640003020ACFEF64017031900017121D98B48E -:100974000128EEB40124900013121D98B4011B90B9 -:1009840000147401121DD77BFF7A11792B90000695 -:100994007404F0A374A4F012198F900000121F596C -:1009A400900018121D986401702A900017121D9867 -:1009B4007022900013121D98640170539000140467 -:1009C400121DD77BFF7A1179519000067404F0A3AD -:1009D40074AE8037900000121F59900018121D98B1 -:1009E400702D900017121D98B40124900012121D4E -:1009F40098B4011B9000147401121DD77BFF7A1167 -:100A040079739000067404F0A374B9F012198F90EE -:100A14000000121F59900013E4121DD7900012E435 -:100A2400121DD7900014121D9864016003020BADCF -:100A3400900000121F5990001B121E64D39400E50D -:100A4400F09400400B90001B74FF75F0FE121E9C86 -:100A5400900019121E64FFAEF090001B121E64D3A6 -:100A64009FE5F09E5017900000121F5990001BEE56 -:100A74008FF0121F0890007A7404F0800690007AB8 -:100A84007402F0E490004FF0A3F0900000121F599C -:100A9400900014E4121DD790007AE0FF900006E461 -:100AA400F0A3EFF0900000121F5990001B121E6477 -:100AB400FF900008E5F0F0A3EFF0A37404F0A37432 -:100AC400D8F07BFF7A117995020B81900000121FF8 -:100AD40059900016121D986401600D900015121DA6 -:100AE4009864016003020BAD900016E4121DD790C8 -:100AF4000015E4121DD790001B121E64C3943CE53C -:100B0400F094005010900000121F5990001BE475DF -:100B1400F002121E9C90007A7404F0900000121FE0 -:100B24005990001D121E64FFAEF090001B121E644B -:100B3400C39FE5F09E4015900000121F5990001BC2 -:100B4400EE8FF0121F0890007A7401F090007AE0A2 -:100B5400FF900006E4F0A3EFF0900000121F5990FC -:100B6400001B121E64FF900008E5F0F0A3EFF0A351 -:100B74007404F0A374F5F07BFF7A1179C812198F0D -:100B8400900000121F5990001B121E64FF0234D201 -:100B940090007AE0D394024010E4F0900000121F19 -:090BA400599000207401121DD7C4 -:010BAD002225 -:0B002600900043121F79900046EDF09F -:10003100E4FE900046E0FD14F0ED6029900043E4F9 -:1000410075F001121F62121D7F6EFEE4FFEFC39473 -:100051000850DFEE30E007C313648CFE8004EEC36A -:0700610013FE0F80E8AF065B -:010068002275 -:08244100900000EFF0A3EDF0A4 -:10244900E4A3F078037C007D017BFF7A1179FBFE20 -:102459007F40121D59E4900003F0A37455F0A37452 -:10246900AAF0900000E0FE900007F0900001E0FD66 -:10247900900077F0EE121F82249A0124C9022518D0 -:1024890003252506252507256A8025728100002553 -:10249900809000067402F0ED700E9000087402F04E -:1024A900E4900075F0022580900001E0640160036A -:1024B90002258090000804F0E4900076F00225805F -:1024C900900006741BF07F05900001E075F012A4DE -:1024D90024792FF8E6FE74032FF582E43400F5839E -:1024E900EEF00FEFB412E17F17EFC3940840030237 -:1024F9002580900001E075F008A424692FF8E6FE14 -:1025090074032FF582E43400F583EEF00F80DA903E -:1025190000067402F090000804F0805B90000674D5 -:1025290005F09000087401F07814E6A3F0A3742074 -:10253900F0900001E0FF700D900072E07002800FD2 -:102549009000738015EFB4012E900073E07008902D -:10255900000B74FFF08020900072E090000BF08077 -:10256900169000067401F0800E9000067402F09037 -:102579000074E0900008F0900006E02404FF900049 -:1025890002F0FD7B017A007903120026900002E037 -:102599002403F582E43400F583EFF07F01122D2C3A -:1025A900900001E0FF700B75FE0E53FFF043FF082A -:1025B900800DEFB4010975FE0E53FFF043FF019042 -:1025C9000002E02401FFE433FE7B017A0079030273 -:0225D90031BA15 -:102DA600EF24FA605014604D24067069E4FE742D19 -:102DB6002EF8E6FF900077E075F012A424792EF83D -:102DC600A6070EEEB412E7E4FE743F2EF8E6FF9077 -:102DD6000077E075F008A424692EF8A6070EEEB475 -:102DE60008E7900077E0700690007504F0229000E6 -:102DF600767401F022782DE6B4E30D90004D74014F -:102E0600F008E6900072F02290004E7401F0782EE1 -:052E1600E6900073F0DE -:012E1B002294 -:1032E600E4FF900000F0303821C238FB7A007929DB -:1032F600782BE62403FD120026782BE6242CF8E62C -:0A330600B50707782CE6FF122DA68C -:01331000229A -:1023D800011500011400C13FC140011350602800DD -:1023E800A80BB80BEA0C1C0C800CB20CE40D160DF3 -:1023F800480D7A0DAC0DF70E420E880ED80F0A0F55 -:092408003C0F870FD2101D106873 -:102BF200E4FF780EE6B40122EF25E024A8F582E492 -:102C02003400F583E0FCA3E02432FDE43CFCC3780D -:102C1200B0E69D18E69C501B801EEF25E024A8F527 -:102C220082E43400F583E0FCA3E0D378B096EC189C -:102C32009650050FEFB414BA7815E6FEEFD39E78DE -:102C4200134003068001169000ECE030E30A781589 -:102C5200EFF675F005A418F67813E6FED3949650B5 -:102C620006EEC3940A500D7815EFF675F005A41818 -:102C7200F61876507815E6FFD394005004D24080BF -:102C820008EFD394014002C240EFD394015003D223 -:0A2C92003F22EFD394024002C23F3C -:012C9C002215 -:102411004100DB004100DE004100DA004200D8004B -:10242100004100DC00C12AC12BC12DC129C128C135 -:092431002C4100DD00C12EC12F79 -:102E1C009000DDE06062E4F0D22A9000DBE004F088 -:102E2C00E0C394054004E4F0D22B9000DEE004F003 -:102E3C00E0C3940A4004E4F0D22D9000D8E475F07D -:102E4C0001121E4EC39000D9E094649000D8E09417 -:102E5C00004006E4F0A3F0D2289000DAE004F0E0A1 -:102E6C00C394FA4013E4F0D2299000DCE004F0E0C3 -:092E7C0094044004E4F0D22C227D -:03000B0002335A63 -:10335A00C0E0C083C082C0D074FC258CF58C746632 -:10336A00258AF58A9000DD7401F0D0D0D082D0830E -:03337A00D0E0326E -:0E35E200758901758CFC758A66D2A9D28C227F -:1034060075FE0FEF25E0FE7403A806088002C3339D -:10341600D8FCF452FFEFB4040675FE0FE4F5FF2264 -:1035340075FE11EF5407F5FF75FE12AF058FFF7589 -:06354400FE1075FF0122DC -:1030680075FE0FEF25E0FE7403A806088002C3333F -:10307800D8FCF452FF7401A806088002C333D8FCB8 -:1030880042FF75FE0B7401A807088002C333D8FC01 -:1030980042FFEF70038DCE22EFB401038DCF22EFF4 -:0F30A800B402038DDE22EFB40304AF058FDF22E5 -:033FFD00010102BD -:06243A000116000117006D -:10328D00D28075FE0443FF0175FE0343FF0175FEF9 -:10329D000243FF01D28175FE0443FF0275FE034315 -:0D32AD00FF0275FE0243FF02781676012233 -:0C358500C280123591D281123591D280A3 -:05359100E4FF0FDFFE66 -:013596002212 -:10349D00D281D2801235912081037F0022C2811208 -:0B34AD0035913081037F00227F012257 -:0F35C500C280C28112358CD281123591023591AC -:08361600123585C280023591D6 -:0B35F000123585123591C28002359122 -:0233A000AE0776 -:1033A2007D08AF051DEF6015C280EE30E704D281C3 -:0F33B2008002C281EE25E0FE12358C80E5C280DC -:0133C10022E9 -:10337D007E08E4FDD281AF061EEF6012ED25E0FD63 -:10338D00C28012358C3081EEED4401FD80E8C280A3 -:02339D00AF057A -:01339F00220B -:10000E007D087F351232BA7D0A7F7612361E7D0448 -:05001E007F200232BA50 -:102FAC00900000121F797F10123142900000121F06 -:102FBC0059EF121DC57F11123142900000121F599A -:102FCC00900001EF121DD77F1212314290000012B7 -:102FDC001F59900002EF121DD77F1312314290003F -:102FEC0000121F59900003EF121DD77F14123142AB -:102FFC00900000121F59900004EF121DD77F002281 -:0533C200900000EFF097 -:1033C700E47F20123142900000E06006EF4401FFE5 -:0D33D7008004EF54FEFFAD077F200232BAE4 -:0533E400900000EFF075 -:1033E900E47F27123142900000E06006EF4401FFBC -:0D33F9008004EF54FEFFAD077F270232BABB -:0534D200900003EFF083 -:1034D700E47F25123142EF54C0FF900003E04FFD17 -:0534E7007F250232BA4E -:07361E008FFEAF058FFF22B4 -:063625008FFEAEFFAF06B0 -:01362B00227C -:1032BA00900046EFF0A3EDF012349D7F0C1233A07C -:1032CA001235F0900046E0FF1233A01235F090005C -:0C32DA0047E0FF1233A01235F00235C5AA -:05314200900046EFF0D3 -:10314700E4A3F012349D7F0C1233A01235F09000E7 -:1031570046E0FF1233A01235F012349D7F0D123373 -:10316700A01235F012337D900047EFF01236161299 -:0731770035C5900047E0FFA1 -:01317E00222E -:102CAC000235A7E493A3F8E493A34003F68001F262 -:102CBC0008DFF48029E493A3F85407240CC8C33329 -:102CCC00C4540F4420C8834004F456800146F6DFF8 -:102CDC00E4800B010204081020408090228FE47ED7 -:102CEC00019360BCA3FF543F30E509541FFEE493ED -:102CFC00A360010ECF54C025E060A840B8E493A3B4 -:102D0C00FAE493A3F8E493A3C8C582C8CAC583CADE -:102D1C00F0A3C8C582C8CAC583CADFE9DEE780BE96 -:01244000009B -:101C8900E709F608DFFA8046E709F208DFFA803E3D -:101C990088828C83E709F0A3DFFA8032E309F6082A -:101CA900DFFA8078E309F208DFFA807088828C8392 -:101CB900E309F0A3DFFA806489828A83E0A3F60846 -:101CC900DFFA805889828A83E0A3F208DFFA804C20 -:101CD90080D280FA80C680D4806980F280338010F7 -:101CE90080A680EA809A80A880DA80E280CA803360 -:101CF90089828A83ECFAE493A3C8C582C8CCC583D8 -:101D0900CCF0A3C8C582C8CCC583CCDFE9DEE780A7 -:101D19000D89828A83E493A3F608DFF9ECFAA9F026 -:101D2900EDFB2289828A83ECFAE0A3C8C582C8CC7C -:101D3900C583CCF0A3C8C582C8CCC583CCDFEADE95 -:101D4900E880DB89828A83E493A3F208DFF980CCF7 -:101D590088F0EF60010E4E60C388F0ED2402B404F0 -:101D69000050B9F582EB2402B4040050AF23234597 -:061D79008223901CD973C7 -:101D7F00BB010689828A83E0225002E722BBFE0262 -:091D8F00E32289828A83E4932295 -:101D9800BB010CE58229F582E5833AF583E0225000 -:101DA80006E92582F8E622BBFE06E92582F8E2224A -:0D1DB800E58229F582E5833AF583E4932264 -:101DC500BB010689828A83F0225002F722BBFE01FD -:021DD500F322F7 -:101DD700F8BB010DE58229F582E5833AF583E8F042 -:101DE700225006E92582C8F622BBFE05E92582C8EE -:021DF700F222D6 -:101DF900BC000BBE0029EF8DF084FFADF022E4CCCE -:101E0900F875F008EF2FFFEE33FEEC33FCEE9DEC96 -:101E1900984005FCEE9DFE0FD5F0E9E4CEFD22EDDC -:101E2900F8F5F0EE8420D21CFEADF075F008EF2F26 -:101E3900FFED33FD4007985006D5F0F222C398FD17 -:051E49000FD5F0EA22B4 -:101E4E00C5F0F8A3E028F0C5F0F8E582158270021F -:061E5E001583E038F022BC -:101E6400BB0110E58229F582E5833AF583E0F5F0BC -:101E7400A3E0225009E92582F886F008E622BBFE99 -:101E84000AE92582F8E2F5F008E222E5832AF583DF -:081E9400E993F5F0A3E99322A4 -:101E9C00BB010DC58229C582C5833AC583021E4E7E -:101EAC005011C58229F808E5F026F618F5F0E58200 -:101EBC0036F622BBFE11C58229F808E225F0F5F0B2 -:101ECC00F218E23582F222F8E58229F582E5832ABE -:0D1EDC00F58374019325F0F5F0E4933822AE -:101EE900BB010A89828A83F0E5F0A3F0225006F744 -:0F1EF90009A7F01922BBFE06F3E5F009F3192241 -:101F0800F8BB0111E58229F582E5833AF583E8F00B -:101F1800E5F0A3F0225009E92582C8F608A6F022C8 -:0D1F2800BBFE09E92582C8F2E5F008F222AF -:101F3500EB9FF5F0EA9E42F0E99D42F0E89C45F002 -:011F45002279 -:101F4600E8600FECC313FCED13FDEE13FEEF13FF79 -:031F5600D8F1229D -:091F5900E0FBA3E0FAA3E0F92289 -:101F6200F8E0FBA3A3E0F925F0F0E5821582700208 -:071F72001583E0FA38F022AC -:091F7900EBF0A3EAF0A3E9F02269 -:101F8200D083D082F8E4937012740193700DA3A3EE -:101F920093F8740193F5828883E473740293686002 -:061FA200EFA3A3A380DF02 -:101FA800EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DC6 -:101FB800FDE43CFCE8A42EC8C5F03DFDE43CFCEF84 -:0D1FC800A4FFE5F028FEE43DFDE43CFC2212 -:10192400E5082406F582E43400F583E005082290F6 -:101934000003301603900006E475F001121F6202E2 -:101944001D7F200FE97F2ED20F8018EF540F2490B3 -:10195400D43440D4FF30130BEF24BFB41A00500327 -:101964002461FFE50960021509050CE50C70020508 -:101974000B30160E900003E475F001121F62EF02A3 -:101984001DC50235D47403D2168003E4C216F508CB -:10199400900003121F79E4F509F50BF50CE50960D5 -:1019A400077F2012196780F5750AFFC210C20FC2A3 -:1019B40011C212C214C215C217121933FF700D30AE -:1019C40016057F00121978AF0CAE0B22B4255FC246 -:1019D400D5C213121933FF24D0B40A00501A75F07B -:1019E4000A780930D50508B6FF0106C6A426F620F4 -:1019F400D5047002D21280D924CFB41A00EF500457 -:101A0400C2E5D213021B79D21080C6D20F80C0D295 -:101A14001180BCD2D580BAD21480B47F2012196749 -:101A24002011077401B5090040F1121924FF12199D -:101A3400670219A1D217D2158095121924FB121925 -:101A440024FA121924F94A4B7006794A7A1C7BFF4E -:101A540020112EE509602A7E008E82758300121DF6 -:101A64009860060EEE650A70F0C2D5EBC0E0EAC0DD -:101A7400E0E9C0E0EE121BC0D0E0F9D0E0FAD0E01B -:101A8400FB121D7FFF60AAEBC0E0EAC0E0E9C0E002 -:101A9400121967D0E02401F9D0E03400FAD0E0FB59 -:101AA400E50A0460DCD50AD980877BFF7A1B79BC00 -:101AB400D211809C791080027908C215C21780085F -:101AC400D2D5790A8004790AC2D5E50A047002F5F0 -:101AD4000AE4FAFDFEFF121924FC7B0820101312FD -:101AE4001924FD7B10300F0A121924FE121924FF49 -:101AF4007B20EC3382D592D55013C3E4300F069F7C -:101B0400FFE49EFEE42010039DFDE49CFCE4CBF87E -:101B1400C210EC700CCFCECDCCE824F8F870F38072 -:101B240017C3EF33FFEE33FEED33FDEC33FCEB3341 -:101B3400FB994002FB0FD8E9EB301005F8D0E0C464 -:101B440048B210C0E00AEC4D4E4F78207B0070C2C2 -:101B5400EAB50A0040BCC0E0121BC2D0F0D0E020BD -:101B64001004C4C0E0C4B210C0F0121950D0F0D5B3 -:101B7400F0EB0219A1121F821A3E531AB8581A0F19 -:101B84004C1A0B421ABC4F1AC4441AC4491A2443AF -:081B94001ACA551AAE461AAE3A -:101B9C00451AAE471C6A501A132D1A172E1A3A2BD7 -:101BAC001A1B231A38201C532A19D34800001A3246 -:101BBC003F3F3F00790AA2D5201214301409B91006 -:101BCC00020404B9080104A2D52015025001042016 -:101BDC0011689211B509005034C0E07F2030121901 -:101BEC007F30A21172157214500F121C19C211C23F -:101BFC0015C214C2177F30800F301403E9C0E012F5 -:101C0C001967301403D0E0F9D0E0B509CC301417C3 -:101C1C007F30B9100C1219677F583013077F78800A -:101C2C0003B908031219673011057F2D0219677F5C -:101C3C00202017F87F2B2015F322921180CF286ECD -:101C4C00756C6C2900D2101219243010F8C210785F -:101C5C000930D50108F60219D32D504349581219F1 -:101C6C00242403B405004001E4901C659312195818 -:0D1C7C00743A121958D212750904021AB8F0 -:00000001FF diff --git a/Out/8835_EVB_241213_1140_7D68_010102.bin b/Out/8835_EVB_241213_1140_7D68_010102.bin deleted file mode 100644 index 3552a84..0000000 Binary files a/Out/8835_EVB_241213_1140_7D68_010102.bin and /dev/null differ diff --git a/Out/8835_EVB_241227_1101.bin b/Out/8835_EVB_241227_1101.bin new file mode 100644 index 0000000..df1eadf Binary files /dev/null and b/Out/8835_EVB_241227_1101.bin differ diff --git a/Out/8835_EVB_241227_1101.hex b/Out/8835_EVB_241227_1101.hex new file mode 100644 index 0000000..44c32b8 --- /dev/null +++ b/Out/8835_EVB_241227_1101.hex @@ -0,0 +1,968 @@ +:03000000022AEDE4 +:102AED0075FE7275FF00758E009000007F007E03ED +:0D2AFD00E4F0A3DFFCDEFA7581BA022B4580 +:0F36560053797374656D20496E69742E0D0A00E7 +:103576001232357BFF7A367956120F49D2AED2BE59 +:08358600122DF912317780F4D7 +:10215F004100EB004100EC0002B9000002B50000A5 +:10216F0002B300004100ED0002A7000002AD000025 +:10217F0002B7000002B1000002AF000002A9000088 +:04218F0002AB00009F +:10334A00EF540346FE08E6FF18EEF608EFF6FF9084 +:10335A0000EBE0FD3395E0FCC3EF9D2278B5E6FE75 +:05336A0008E6780222D4 +:1034BA0075FE3175FF8175FE0E43FF107DAB7F30BF +:0D34CA001236E575FE599000EBE5FFF0228B +:102A0200900000EFF0E5A420E003022AD575A401AE +:102A12007F351236EC78B5760008A6077F36123677 +:102A2200EC78B512334AFFEE9CFE7C097DC4121588 +:102A320048780A1214E678B5A60608A6079000EDB3 +:102A4200E01215222A62002A70012A79022A8C03D6 +:102A52002A9A042AA8052AB6062AC50700002AD5FA +:102A6200123366CEC313CE13D8F979A8806178B633 +:102A7200E625E079BA804478B5E6FE08E67803C335 +:102A820033CE33CED8F979AE8045123366C333CE16 +:102A920033CED8F979B88037123366C333CE33CE0A +:102AA200D8F979B28029123366C333CE33CED8F93E +:102AB20079B0801B78B6E625E079AAF718E63319D3 +:102AC200F78010123366CEC313CE13D8F979ACF760 +:102AD200EE19F7900000E04408FD7F311232F790C2 +:0B2AE2000000E09000EDF075A38122E1 +:10332300E5A430E11E75A4027F371236EC78B3763C +:103333000008A6077F381236EC78B312334AF6EE4C +:073343009C18F675A382221D +:05219300C12F010D0346 +:10361000E4780FF67811F6780DE67810F6781276E1 +:02362000042282 +:10266400E4FE78B3E6FC08E6FDC394D8EC9403409A +:10267400037F0022EF700302277CD3ED940FEC94C8 +:1026840003400302275AED94CBEC94005003022735 +:102694005AD3ED94AAEC94024022D22D780DE6FF91 +:1026A400137810F6302E11D3ED94BFEC940240044D +:1026B400C22E80047810A607E4FE8070D3ED94AA9D +:1026C400EC94025043ED9437EC9401403BD22E78C5 +:1026D4000DE6FF7810F6302D13D3ED9493EC9402AD +:1026E4005004C22D8006EFC3137810F678127604D6 +:1026F400301011D3ED9451EC94015004C2108004B5 +:1027040078127601E4FE8024D3ED9437EC940150E2 +:102714001BD21078127601302E10ED9426EC940121 +:102724005004C22E800478127604E4FE302B11C3C8 +:10273400ED94F3EC94025006C22BE4FE80027E0179 +:10274400302C2FD3ED94DDEC94004006C22CE4FE33 +:1027540080207E01801CD3ED940FEC94034006D2BC +:102764002B7E01800DD3ED94CBEC94005004D22C3D +:102774007E01C229C22A8058C22BC22CD3ED949F59 +:10278400EC94035031ED9471EC94004029302910FD +:10279400ED9484EC94035006C229E4FE80027E0189 +:1027A400302A2DD3ED9482EC94004006C22AE4FE34 +:1027B400801E7E01801AD3ED949FEC94034004D2D2 +:1027C40029800BC3ED9471EC94005002D22A7E014F +:0227D400AF064E +:0127D60022E0 +:102E62009000E8E05463600AE4FF1233D7E4780E7E +:102E7200F622780E76017F01122664EF6008E4FFE5 +:102E82001233D7D22F22C22F9000E9E05407FFBF9E +:102E92000605780E7603227810E6FD7F221232F7BD +:102EA2007812E6FD7F211232F7780FE6C454F078EB +:102EB2001146FD7F231232F77F011233D7780E7647 +:022EC2000222EA +:04219800C139C13A4E +:102F2000C2399000E8E020E65130E203D23A223084 +:102F30004004E4FF80119000E8E030E50D30223AD3 +:102F40007F3C1235437F010233F9E4FF122664EF20 +:102F50006008E4FF1233F9D22F22C22FD239303A5F +:102F600019780EE6B40213C378BAE6941018E69402 +:0B2F70000E4005D239C23A22C23922BD +:10355D00426F78204F70656E2E0D0A00426F7820F5 +:09356D00436C6F73652E0D0A001A +:08219C00C13BC13C4100EFFF13 +:102FD600E4900000F09000E9E0FF5420FE9000002D +:102FE600F09000EFE06E6032EF30E50E9000EE7488 +:102FF60001F07BFF7A35795D800BE49000EEF07B83 +:10300600FF7A357969120F49D23BC20DD23CD235CF +:0A301600900000E09000EFF0D23DC2 +:01302000228D +:10290700426F6F7374204F70656E204B65792E2868 +:102917006C696E653A2564290D0A006C6F6E672035 +:1029270032732070726573730D0A0073757070656A +:1029370072206C6F6E672038732070726573730D29 +:102947000A0073686F72742070726573730D0A00E2 +:102957004B6579205061697220545820564F522890 +:102967006C696E653A2564292E0D0A004B6579203E +:10297700506169722054696D654F7574286C696E72 +:10298700653A2564292E0D0A004B65792050616947 +:10299700722047657420564F52286C696E653A2538 +:1029A70064292E0D0A004B65792050616972204712 +:1029B700657420564F4C286C696E653A2564292E3C +:1029C7000D0A004B657920506169722054582056D2 +:1029D7004F4C286C696E653A2564292E0D0A004B09 +:1029E7006579205061697220436E743A25642E28F8 +:0B29F7006C696E653A2564290D0A002A +:1021A400C120C11FC11E0118004100DC004100E034 +:0E21B400004100DB004200DD00004100DF00C2 +:103622007BFF9000067401F0A3227BFF900006F05E +:02363200A322D1 +:101B2D009000E9E030E4379000DDE475F001121427 +:101B3D003B9000DDE0FEA3E0FFC39464EE94004013 +:101B4D0007201C14D21C8010C3EF9490EE9401401A +:101B5D0007201D04D21DD21ED219C21A804230197F +:101B6D0038D23DE47818F6C219D21A9000DFF0C2CF +:101B7D001D9000DDE0FEA3E0FFD39419EE9400501C +:101B8D0008D220D21BD2358010C3EF94FAEE940008 +:101B9D005007301C04C21CD21FE49000DDF0A3F0EE +:101BAD00301A75303972200D147F011233F9D20DB0 +:101BBD007A297907E412362C74B4021CFA7F0312C9 +:101BCD002CA29000DFE0D3940A5003021D2E301F8B +:101BDD001AC21F78187602E49000DCF0900071F0C4 +:101BED00A3F07BFF7A297922120F49301E14C21EF1 +:101BFD00E49000E0F0781876037BFF7A29793212B1 +:101C0D000F49301B0FC21B781876017BFF7A29799B +:101C1D0049120F49C21AC20D9000EEE06401600333 +:101C2D00021D417818E664026003021D039000DC7A +:101C3D00E0C3940150147F01121D427BFF7A297974 +:101C4D005704900006F0A3021CCA9000DBE0D39469 +:101C5D00054010E4121D4F7A297973123622741142 +:101C6D00021CFA900072E0B40119E4FD7F02122407 +:101C7D00D19000727402F07A2979901412362C7476 +:101C8D001F803A900072E064027036900071E0603F +:101C9D001A7F02121D429000DCF09000DB121D4FE6 +:101CAD007A2979AD12362274388042E4FD7F011213 +:101CBD0024D17BFF7A2979CA1236247442F0120F8F +:101CCD00499000DCE0D3941440279000DBE004F051 +:101CDD00E4A3F07BFF7A2979E69000DBE0FF90002A +:101CED0006E4F0A3EFF0A37401F0A37450F0020F1B +:101CFD00499000DC802B7818E6640370379000E083 +:101D0D00E0FFC3941E501EEF540360047D01800953 +:101D1D009000E0E030E007E4FD7F031224D1900055 +:101D2D00E0E004F022E47818F6D20E9000E0F07FA7 +:041D3D0004122CA2BE +:101D4100227D011224D1E4900071F0A3F022F078F9 +:0A1D510018F6D20E7F04122CA22215 +:1021C20041007A004100790041007B004100780023 +:102D1C00900000E0FF25E02484F582E43400F58384 +:102D2C0022900000E0FF25E0248CF582E43400F5CD +:102D3C0083E0FCA3E0FDEF25E0249CF582E4340065 +:102D4C00F58322747C2FF582E43400F58322E4F0C1 +:102D5C00A3F0EF25E02494F582E43400F58322906F +:102D6C000000E0FF2480F582E43400F58322E0FECD +:102D7C00A3E0C39DEE9C2225E0248CF582E4340074 +:032D8C00F58322AA +:0F36650075FE0B75FF0FC290C291C293C29222E5 +:10352900EF14600D14600D14600D2403700BD2901C +:0A35390022D29122D29222D29322D4 +:05345E00900000E0FFFA +:10346300EF14600D14600D14600D2403700BC290F3 +:0A34730022C29122C29222C29322CB +:10326C00E4FF122D4FE4F074802F122D72E4F0EF76 +:10327C00122D21E4F0A3F0EF122D83122D5AE4F05D +:0E328C00A3F0122D42E4F0A3F00FEFB404D42F +:01329A002211 +:1031B900AC07747C2C122D52EDF0EAC313FEEB130D +:1031C900FFEC122D21EEF0A3EFF0AF03EC122D83EB +:1031D900EAF0A3EFF0900005E0FEA3E0FFEC122D6A +:0F31E9005FEEF0A3EFF0EC122D43E4F0A3F02221 +:10347D00122D4FEDF074802F122D72EBF0EF122DF7 +:0F348D0021E4F0A37469F0122D42E4F0A3F022C1 +:101D5B00E4900000F0F0900000E0FFC39404400317 +:101D6B00021F50122D4FE0601F24FE60211460787B +:101D7B00147003021E2424036003021EFF90000054 +:101D8B00E0FF123529021EFF12345E021EFF122DD8 +:101D9B001C122D3D122D7A50051235298003123459 +:101DAB005E122D2D122D7A5003021EFF900000E0C3 +:101DBB00122D43122D5AE0FEA3E0D39400EE9400B3 +:101DCB00400E900000E0122D5F74FFF5F012143BF3 +:101DDB00900000E0FF122D5FE0FCA3E04C600302DB +:101DEB001EFF747C2F021E35122D1C122D3DE0FEA2 +:101DFB00A3E0D39DEE9C5005123529800312345E6F +:101E0B00122D2D122D7A5003021EFF900000E012AE +:101E1B002D43E4F0A3F0021EFF122D6BE0701312A2 +:101E2B0035A5C241900000E0247C122D52E4F00253 +:101E3B001EFF122D6BE0FE6402702E20410CD2416E +:101E4B00EF122D21E4F0A37469F0122D1CE475F050 +:101E5B000112143BEF122D21E0FCA3E0C394FEEC26 +:101E6B0094005003021EF68031EE6401703720415E +:101E7B000FD241900000E0122D21E4F0A374FEF08C +:101E8B00122D1C74FFF5F012143BEF122D21E0FE06 +:101E9B00A3E0D39469EE94005051900000E0122D12 +:101EAB0070E4F08046122D6BE06403703EEF122D50 +:101EBB0021E0FEA3E0FFC394FEEE94004004D24168 +:101ECB00800BD3EF946AEE94005002C24190000055 +:101EDB00E025E02484304109122D2574FFF5F080B4 +:101EEB0007122D25E475F00112143B122D1CA3E0F3 +:101EFB00FD123021900000E0FF700A122D4FE09090 +:101F0B00007AF08037900000E0B4010C247C122D95 +:101F1B0052E0900079F08024900000E0B4020C2491 +:101F2B007C122D52E090007BF08011900000E0B409 +:101F3B00030A247C122D52E0900078F0900000E010 +:101F4B0004F0021D61E4900000F0900000E0FFC37C +:101F5B0094045012122D42E475F00112143B9000C0 +:061F6B0000E004F080E438 +:011F7100224D +:102F7B00456E74657220536869704D6F64652128C6 +:102F8B006C696E653A2564290D0A004E6F742047F3 +:102F9B00657420496E746F20536C656570284368A7 +:102FAB00675374617475733A25642C566F785F564A +:102FBB006F75743A25642C526573746172745F4635 +:0B2FCB006C61673A2564292E0D0A0096 +:1021D200C13E4100E2004200E300004100E50F4140 +:0521E20000E100C13D19 +:0A36C200E4FF33A3CFF0A3EFF022E2 +:1035E800D2AC759A03D2BCD2BDD2A9D2AB75FE308B +:0435F80043FF8022EB +:1035FC00C2ACE4F59AC2BCC2BDC2A9C2AB75FE3066 +:04360C0053FF7F22C7 +:1030AC00303E3730253DC2259000E1E004F0E0C30E +:1030BC0094054010E4A3F07DAA7F4F1232F7E49000 +:1030CC0000E1F0229000E1E0B404187BFF7A2F7944 +:1030DC007B90000674DCF0020F491235FC4387022A +:0430EC001235E8228F +:10329B00780EE6FF64026006200F03303D1F7BFFB4 +:1032AB007A2F7996900006E4F0A3EFF0A20F123676 +:0F32BB00C2A23D1236C2120F49C23DC322D32216 +:103235001234F3123646123691E4F5861232CA126A +:1032450034BA7D087F761236E5D2A8D2AF12361091 +:103255007D697F031235D212366512326C12000E6B +:073265009000D07401F0227B +:030003000236F3CF +:0636F300D23D75E20F322A +:1021E700204029000000000000000000000000005F +:1021F70000000000000000000000000000000000D8 +:1022070000000000000000000000000000000000C7 +:1022170000000000000000000000000000000000B7 +:0F222700000000C1384100F0004100F100C13754 +:0B36AC00E0FF04F074292FF8A699221B +:1034F30075FE0443FF0CD2DF43878075BA0375AAB8 +:0B350300DC759852D299D298D2AC220D +:0630670090004312151950 +:10306D00E4900046F075FE0443FF0C75FE0353FF1C +:10307D00F3F0900046E0C39FE49E501C2036FDD235 +:10308D0036900043E475F001121502121339F599CB +:0E309D00900046E004F080DA75FE0453FFF365 +:0130AB002202 +:03002300022B8A23 +:102B8A00C0E0C083C082C0D075D000C000C005C0FC +:102B9A0006C007309904C299C236309867C298D2E3 +:102BAA003D9000F0E014601914602D24027055E580 +:102BBA00999000F0B455087401F0A3E4F0800E80F7 +:102BCA0011E5999000F0B4AA097402F0A31236AC88 +:102BDA008032E4F0A3F0802C9000F11236AC782B0E +:102BEA00E62404FFE433FEE0FDC39FEE6480F8743C +:102BFA0080985005ED9440400B9000F1E4F090006D +:102C0A00F0F0D238D007D006D005D000D0D0D0828C +:052C1A00D083D0E03280 +:0E36830090002BEFF01236D590002BE0FF22C6 +:1036460075F10A759F03759EFD759692759A02220D +:0836D5002037FDD2378F972248 +:03008B0002358EAD +:10358E00C0E0E59630E1055396FDC237E59630E092 +:07359E00035396FED0E0325A +:1027D700506F776572204F6E20537461746521487E +:1027E700616C6C28307825782920286C696E653AE9 +:1027F7002564290D0A004177616B65205374617464 +:102807006520286C696E653A2564290D0A004E6FAC +:10281700726D616C20537461746520286C696E65F4 +:102827003A2564290D0A00536C656570205374615D +:10283700746520286C696E653A2564290D0A005372 +:102847005441303A307825782C535441313A307816 +:1028570025782C535441323A307825782C436869CF +:10286700705F5354413A307825782C564F585F5350 +:1028770054413A307825782E4465635F536C65651B +:10288700703A25640D0A00566E74633A25642C4924 +:10289700766F6C3A25642C566261743A25642C561F +:1028A700696E3A25642C56706D69643A25642C5616 +:1028B7006F723A25642C566F6C3A25642C56646403 +:1028C7003A25642C49766F723A25642E0D0A004426 +:1028D70065636E745F536C65657044656C617920E0 +:1028E70052656C6F61642E0D0A00456E7465722027 +:1028F7005374616E646279204D6F6465210D0A001F +:102236004300D00402024100CD004100CE00C1356A +:0E224600C1344100CF004100D3004100CC0064 +:10002600E6FF08A3E6CFF0A3EFF022900005E4F088 +:10003600A3740AF07B147A007D02227BFFE0900015 +:1000460006FFE4F0A3EFF02290007AF0900079F03A +:1000560090007BF0900078F022F0E4900005F0A389 +:10006600F0FBFA22900005E4F0A37403F07B647AB7 +:10007600007D02227BFF9000067402F0A322FFE4BB +:05008600F0A3EFF022E1 +:10343D00E4FBFF1234547F0112347DE4FB7F021252 +:10344D0034547F0302347D7D0412347DE4FB7D040E +:01345D00224C +:10157500303518C235E49000CEF01217E4FD7F0334 +:101585001231B9740212004ED23D22202F03300BC6 +:101595005F203005D230D2352290007AE0640260B7 +:1015A5000E120031E4FF1231B990007A7403F09005 +:1015B5000079E06402600E1200317F011231B990AA +:1015C50000797403F090007BE06402600912003139 +:1015D50012184C7403F0900078E06402700302174F +:1015E500AA1200317F031231B99000787403F022FA +:1015F50030300CC230C232C231C23CC20CD2347857 +:101605000EE6FF70030216C66403701A203205D277 +:101615003202343D1217AB7D017F031231B97401DB +:1016250012004E0216BD20310ED231C232D235E43F +:101635009000D3F00216BD9000CEE0C39401505740 +:10164500E004F09000D3E014601A146027146034AD +:101655002403706490007AE06404605C7B017D047F +:10166500E4FF802E900079E06404604C7B017D04EA +:101675007F01801E90007BE06404603C7B017D045B +:101685007F02800E900078E06404602C7B017D046D +:101695007F0312347D80219000CEE0C3940F500566 +:1016A500E004F08013E49000CEF09000D3E004F065 +:1016B500E0C394044002E4F0C23CC20CC220D23321 +:1016C5002230310AC23112343DD235D23422203C87 +:1016D5000C203309200C062020030217AA9000CE07 +:1016E500E0FFC394015004E004F022EFC39464408A +:1016F500030217959000CEE004F07814E6C3941920 +:10170500503090007AE0640370030217AAE4900059 +:1017150005F0A3F07B64FA7D03FF1231B990007ADE +:10172500740412005FFD7F011231B99000797402D3 +:1017350080107814E6C39432501312181912183811 +:10174500740112005FFD12184C7402801F7814E6B4 +:10175500C3944B5027121819121838740112005FE0 +:101765007D017F021231B990007B740112005FFD8B +:101775007F031231B99000787402F0227814E6C321 +:10178500946450211217AB7D011218437401801225 +:10179500C23CC233C20CC220E41217E4FD12184346 +:0517A500740212005166 +:1017AA0022E4900005F0A3F0FBFA7D01FF1231B9A3 +:1017BA00E4900005F0A3F0FBFA7D017F011231B934 +:1017CA00E4900005F0A3F0FBFA7D017F021231B923 +:1017DA00E4900005F0A3F0FBFA22900005F0A3F0D4 +:1017EA00FBFAFDFF1231B9E4900005F0A3F0FBFA11 +:1017FA00FD7F011231B9E4900005F0A3F0FBFAFD78 +:10180A007F021231B9E4900005F0A3F0FBFA22E45A +:10181A00900005F0A3F0FBFA7D01FF1231B99000A8 +:10182A007A7401F0E4900005F0A3F0FBFA227D013E +:10183A007F011231B9900079227F031231B99000E9 +:0B184A007A227F021231B990007B224D +:1035BC009000ECE0FF04F0122A029000ECE0C394BF +:0635CC00084002E4F022B9 +:10349C00122FD6121B2D1230F0302111C221122EF8 +:0E34AC0062122F20122C1F12157512185522B5 +:0936CC007B017A0079E6022EC4AC +:10232F00E4900000F09000D0E0FFA3E0FE6F60713A +:10233F00A3EEF09000D0E0A3F024FE6030146043D1 +:10234F00146051240360030224D012006AE4FF12C8 +:10235F0031B912006A7F011231B97A2779D790000B +:10236F00EE120041A37401F0A374F080307F0112CC +:10237F00341B7BFF7A2779FD9000067401F0A3745C +:10238F00FC801A9000E5740FF07A28791512007A04 +:10239F00740880097A28792E12007A7413F00224B7 +:1023AF009B9000D1E024FE603914603D147003024D +:1023BF0024B3240360030224D09000CCE004F0E0A7 +:1023CF00C3940850030224D09000D07402F0E4901C +:1023DF0000CCF07815E660030224D09000D074048E +:1023EF00F0229000D07403F0222025030224D0C2E3 +:1023FF00257A2879469000E61200419000E7E09098 +:10240F0000081200479000E8E090000A1200849044 +:10241F0000E9E090000C1200849000EAE0FF9000C9 +:10242F000EE4F0A3EFF09000E5E0FF900010E4F071 +:10243F00A3EFF0120F497BFF7A28798E78B3E6FF6E +:10244F000890000612002A78A712002678B9120009 +:10245F002678AD12002678B712002678B112002622 +:10246F0078AF12002678A912002678AB1200261238 +:10247F000F499000E5E0D394004014E014F0303D94 +:10248F0040C23D740FF07BFF7A2879D6020F497B4B +:10249F00FF7A2879F1120F499000D07404F0E4907C +:1024AF0000E1F02212329B50127F04122CA2E4FFA3 +:1024BF001233F9E4FF12341B0230AC9000D07402D7 +:0124CF00F01C +:0124D00022E9 +:10317700302436C2249000CDE0FF04F0EF14601233 +:103187001460141460161460182404701C1235BCE3 +:1031970080171236CC8012123323800D12349C8094 +:1031A7000812232FE49000CDF0302605C226121D09 +:0231B7005B2299 +:10008E00426F6F7374204F70656E2E286C696E65AB +:10009E003A2564290D0A00426F7820436C6F736510 +:1000AE002E286C696E653A2564290D0A00426F7818 +:1000BE00204F70656E2E286C696E653A2564290D89 +:1000CE000A004F70656E20426F7820434D442054D5 +:1000DE0058204F7665722E0D0A004F70656E2042C5 +:1000EE006F7820416E642045617270686F6E652076 +:1000FE00476574496E284E756D3A25642928566FEA +:10010E00785374613A30782578292E0D0A00436CA5 +:10011E006F736520426F7820416E6420466F726364 +:10012E006520566F6C746167652055702E0D0A2020 +:10013E0000564F5820566F757420355628564F5816 +:10014E005F5354413A307825782C6C696E653A25A8 +:10015E0064292E0D0A00564F5820434847204675F5 +:10016E006C6C2E0D0A00564F582047657420496E50 +:10017E00746F20536C6565702E0D0A00466F6C6CA3 +:10018E006F772043484720496E697453746120533A +:10019E006574204D61782056706D69642E28566FF7 +:1001AE00785F7374613A3078257829286C696E65AA +:1001BE003A2564290D0A00466F6C6C6F7720434810 +:1001CE004720496E69745374612E28566F785F7399 +:1001DE0074613A3078257829286C696E653A256401 +:1001EE00290D0A00466F6C6C6F77204348472053E9 +:1001FE007461312C4E6F2045617250686F6E6520B0 +:10020E00496E20426F782E286C696E653A256429F6 +:10021E000D0A00466F6C6C6F77204348472053746D +:10022E0061312C564F5220436867696E67284976B4 +:10023E006F723A25646D41292E286C696E653A25D8 +:10024E0064290D0A00466F6C6C6F77204348472077 +:10025E00537461312C564F4C20436867696E672882 +:10026E0049766F6C3A25646D41292E286C696E654E +:10027E003A2564290D0A00466F6C6C6F772043484F +:10028E004720537461322C4765742049564F523AB9 +:10029E0025646D412E286C696E653A2564290D0A18 +:1002AE0000466F6C6C6F7720434847205374613261 +:1002BE002C4765742049564F4C3A25646D412E28C3 +:1002CE006C696E653A2564290D0A00466F6C6C6F79 +:1002DE00772043484720537461332C564F582043A0 +:1002EE006867205265496E69742E286C696E653A8E +:1002FE002564290D0A00466F6C6C6F7720434847C2 +:10030E002053746133284356292C564F5220567071 +:10031E006D6964204164645374612849766F723A42 +:10032E0025646D41292E286C696E653A2564290D68 +:10033E000A00466F6C6C6F772043484720537461F8 +:10034E0033284356292C564F522056706D6964201F +:10035E005375625374612849766F723A25646D4104 +:10036E00292E286C696E653A2564290D0A00466FA0 +:10037E006C6C6F7720434847205374613328434396 +:10038E00292C564F522056706D6964205375625356 +:10039E0074612849766F723A25646D41292E286C56 +:1003AE00696E653A2564290D0A00466F6C6C6F778D +:1003BE00204348472053746133284343292C564F1A +:1003CE00522056706D6964204164645374612849EB +:1003DE00766F723A25646D41292E286C696E653AE6 +:1003EE002564290D0A00466F6C6C6F7720434847D1 +:1003FE002053746133284356292C564F4C20567087 +:10040E006D6964204164645374612849766F6C3A57 +:10041E0025646D41292E286C696E653A2564290D77 +:10042E000A00466F6C6C6F77204348472053746107 +:10043E0033284356292C564F4C2056706D69642034 +:10044E005375625374612849766F6C3A25646D4119 +:10045E00292E286C696E653A2564290D0A00466FAF +:10046E006C6C6F77204348472053746133284343A5 +:10047E00292C564F4C2056706D696420537562536B +:10048E0074612849766F6C3A25646D41292E286C6B +:10049E00696E653A2564290D0A00466F6C6C6F779C +:1004AE00204348472053746133284343292C564F29 +:1004BE004C2056706D696420416464537461284900 +:1004CE00766F6C3A25646D41292E286C696E653AFB +:1004DE002564290D0A00466F6C6C6F7720434847E0 +:1004EE0020537461342C564F782056706D696420F9 +:1004FE0041646453746128566F75743A3078257868 +:10050E002C49766F6C3A25646D412C49766F723AA0 +:10051E0025646D4129286C696E653A2564292E0D76 +:10052E000A00466F6C6C6F77204348472053746106 +:10053E00342C564F78204368696E6728566F757451 +:10054E003A307825782C49766F6C3A25646D412CBB +:10055E0049766F723A25646D4129286C696E653A49 +:10056E002564292E0D0A00466F6C6C6F7720434868 +:10057E004720537461342C564F522056706D696467 +:10058E002041646453746128566F75743A3078252F +:10059E00782C49766F723A25646D4129286C696E04 +:1005AE00653A2564292E0D0A00466F6C6C6F772014 +:1005BE0043484720537461342C564F522043686988 +:1005CE006E6728566F75743A307825782C49766F99 +:1005DE00723A25646D4129286C696E653A25642945 +:1005EE002E0D0A00466F6C6C6F77204348472053E0 +:1005FE007461342C564F4C2056706D6964204164E2 +:10060E006453746128566F75743A307825782C4986 +:10061E00766F6C3A25646D4129286C696E653A25B2 +:10062E0064292E0D0A00466F6C6C6F772043484785 +:10063E0020537461342C564F4C204368696E6728E2 +:10064E00566F75743A307825782C49766F6C3A254A +:10065E00646D4129286C696E653A2564292E0D0A50 +:10066E0000466F6C6C6F772043484720537562537A +:10067E0074612C564F4C2F564F52286C696E653A4A +:10068E002564292E0D0A00466F6C6C6F7720434847 +:10069E0047205375625374612C564F52286C696E05 +:1006AE00653A2564292E0D0A00466F6C6C6F772013 +:1006BE00434847205375625374612C564F4C286C37 +:1006CE00696E653A2564292E0D0A00466F6C6C6FB3 +:1006DE007720434847205375625374612C28535436 +:1006EE00413A307825782C56706D69643A30782509 +:1006FE007829286C696E653A2564290D0A00466FC3 +:10070E006C6C6F7720434847204164645374612CAE +:10071E00285354413A307825782C56706D69643AD6 +:10072E003078257829286C696E653A2564290D0A7A +:10073E00005258305F4275666665725B305D3A30C6 +:10074E007825782C5258305F4275666665725B313B +:10075E005D3A307825782C5258305F427566666562 +:10076E00725B325D3A307825782C5258305F427584 +:10077E00666665725B335D3A307825782C52583058 +:10078E005F4275666665725B345D3A307825782C0B +:10079E005258305F4275666665725B355D3A3078E9 +:1007AE0025782C5258305F4275666665725B365DF1 +:1007BE003A307825782C5258305F427566666572ED +:1007CE005B375D3A307825782C6C696E653A256416 +:1007DE000D0A0000000000000000000000000000F4 +:1007EE0000000000000000000000000000000000FB +:1007FE0000000000000000000000000000000000EB +:10080E0000000000000000000000000000000000DA +:03081E00000000D7 +:10225400C10FC10CC10D410073FFC10B42004E0000 +:102264000042004C000042007100001A69000000A6 +:10227400000000000000000000000000000000005A +:102284000000000000000020248300000000000083 +:10229400000000000000000000000000000000003A +:1022A40000000000000000000000000000004100E9 +:1022B400700042006E00004200740000C10E410034 +:0222C4007700A1 +:101F720090001574011213C47402900076F0900060 +:101F8200000214F990000E121451FF900006E5F0C1 +:101F9200F0A3EFF0A37404F0A322E6FFE4F0A3EFB2 +:101FA200F008E6FFA3E4F0A3EFF008E6FFA3E4F0F5 +:101FB200A3EFF008E6A3FFE4F0A3EFF02290001AEB +:101FC200121352900006F078A7E6FF08E6A3CF228C +:101FD2007BFF9000067404F0A322900006121451B5 +:101FE20090000EFFAEF00214517BFF9000EAE0FF7A +:101FF200E4900006F0A3EFF0A3229000151213C4A0 +:1020020090001A0213527BFF900006ECF0A322907C +:102012000004121451FFAEF090000C021451900013 +:102022000C8FF00214A89000EAE0540CFBE4FAF9D9 +:10203200F8900048E0FFE4FCFDFEC30214D59000D6 +:102042000A121451D3FFED9FEC95F022EE8FF0901F +:10205200000E0214A8900017021352900013E4120B +:1020620013C4E49000120213C47BFF900006F0A395 +:102072002290001AEF1213C49000762290001802E8 +:1020820013522FF8E6FE74032FF582E43400F58331 +:10209200229000141213C47BFF229000EAE0540C39 +:1020A20022FF900008E4F0A3EFF022E490004EF04B +:1020B200A322E6FC08E6FD25E0FFEC338FF00214D4 +:1020C200A874019000160213C4C3FDACF09FEC9EED +:1020D2002290004BE0FFD3941522FFE4FCFDFEFAB0 +:1020E200F9F8C30214D5E0FFE4900006F0A3EF2252 +:1020F20078ABE6FE08E6FF229000EAE05410FFE427 +:10210200FCFDEF2290006CF0A3F0900076F022E448 +:102112009000180213C4E49000170213C4EDF0A358 +:102122007403F0A322E490004BF0900049F0229057 +:1021320000EAE05420FFE4FC22EE8FF00214A890A3 +:10214200004EE09400229000130213529000067495 +:0D21520002F0222EF8E6FF900073E0A422B8 +:052CA200900043EFF07B +:102CA700E4A3F0A3F07F271231F8900044EFF07F00 +:102CB700371231F8900045EFF0900043E024FD60B3 +:102CC7001B14602424FE602824057035900045E01D +:102CD7004494F0900044E04498F08025900044E04C +:102CE7004406F054E7F08019900045E054FD800950 +:102CF700900045E04402F054FEF0900044E054E1B7 +:102D0700F0900044E0FD7F271232F7900045E0FD88 +:052D17007F370232F7D6 +:101855009000E8E054186003D20B22C20B20390334 +:10186500021B04303B72200D207F3C1235437F0163 +:101875001233F9D20D7A00798E740112206B74CF70 +:10188500F0120F497F03022CA2122127A3F0C200F8 +:101895009000EEE07023C20CD201D202C204C2074E +:1018A500C203C208C209D20FC2341221067A0079D6 +:1018B500A50412206B74FC8017C201C202D204C2B7 +:1018C500057BFF7A0079BB9000067402F0A37409CA +:1018D500F0120F49C20DC23B2004030219CD90003E +:1018E50049E0C394055003021A9D90004AE0C39451 +:1018F50005500A7F06122CA290004A802120004044 +:101905001220D3501FEF54037003FD800990004B44 +:10191500E020E0077D017F061224D190004BE00412 +:10192500F00219CD7F04122CA2E490004BF0D200F6 +:10193500D20EC20F7BFF7A0079D0120F490219CD62 +:101945007818E660030219CD300E2EC20E9000EA1B +:10195500E0FF540C900048F06018EF540C7B0C121B +:1019650020DC90007070067402F00219CD7401F04D +:101975008056E4900070F0804F122028604A1220B3 +:101985009CFF601ED20CD235E4FCFDFE7B0CF8C337 +:101995001214D590007070057402F0800A7401F07D +:1019A5008005E4900070F07BFF7A0079E890007084 +:1019B500E0900006121FB89000EAE01220A3120F73 +:1019C5004912209C900048F0200103021B0130348D +:1019D5002D200D167F011233F9D20DD20FE41221FD +:1019E50006900049F0C207D203227F03122CA27B86 +:1019F500FF7A01791C120F49C20DC23480552003AC +:101A050052900049E0D394035003021A9D90004A76 +:101A1500E0FFD39415501CEF54037003FD8009902B +:101A2500004AE020E0077D017F811224D190004A21 +:101A3500021A9D1220D3501BEF54037003FD800939 +:101A450090004BE020E0077D017F071224D1900034 +:101A55004B804530021B7F03122CA27A01793F127D +:101A65001FEB7402F0A374E7F0120F49C202021BC8 +:101A7500012007509000EAE054307B301220DC60F2 +:101A85000E12209CFFE4FCFDFEEF6003303F249026 +:101A95000049E0D394325004E004F0227BFF7A0140 +:101AA5007964120F49D207122127C2087F04122C2C +:101AB500A2804990006DE070437B017A0079501255 +:101AC500082180381220D3501EEF54037003FD8087 +:101AD5000990004BE020E0077D017F801224D19022 +:101AE500004BE004F08015200812D2087F04122C68 +:101AF500A2C20F7BFF7A017974120F49C206222018 +:101B05000611D2067F04122CA2C20F12209C90004F +:101B150048F022122028600F12209CFF6004D20C8E +:071B2500D235900048EFF0FB +:011B2C002296 +:0608210090000012151901 +:10082700900076E01470030208F51470030209CCF7 +:10083700147003020A3C147003020BEE24046003D5 +:10084700020D3F121F8090001D1213526003020D0C +:100857003F900077E0D3940A5031E004F090001AFB +:10086700743C1213C4300A03020D3F121F8012207A +:1008770002FF1235437A01798A121FEB7403F0A342 +:10088700747FF0120F49D20A020D3FE4900077F00F +:10089700C20A121F80E41220C5900015E41213C487 +:1008A70012205D900011E41213C4900010E412139B +:1008B700C4122111122118E4F5F012205190000CF6 +:1008C700E4F5F01214A8900019E41213C490001B69 +:1008D700743C1220777401F01220ADF07BFF7A018F +:1008E70079C5121FED7403F0A374A6020A8F900056 +:1008F700EAE0FB5420FFE4FCFDFEEF6028EB541018 +:10090700FF6022121F8090001D74011213C4E4902F +:100917000076F07BFF7A0179F29000067403F0A36A +:1009270074B5020A8F122131EF703D1220F2121FA7 +:100937008090000212213B7D051213E6EF7802C377 +:1009470033CE33CED8F9FF121F8090000612213B19 +:1009570078AB90000A1220B47A027921122008128B +:10096700211F74C3F0120F491220FA704778A7E6C7 +:10097700FE08E6FF121F80EE8FF012148918E6FEBC +:1009870008E6FF7D051213E6EF7802C333CE33CEB8 +:10099700D8F9FF121F8090000412213B78A790001E +:1009A700081220B47A02795312200812211F74D03A +:1009B700F0120F49121F8090001C740112207774E7 +:1009C70002F0020D3FD390004FE0940512214150F1 +:1009D70003020A481220ADF0122131FDEF702212F6 +:1009E70020F2121F8012204E74011221127BFF7A0F +:1009F700027985EE121FF37403F0A374ECF0120F63 +:100A0700491220FA702678A7E6FE08E6FF121F8033 +:100A1700EE12202074011221197BFF7A0279AFEEC2 +:100A27001220EB12212074F6F0120F499000767411 +:100A370003F0020D3FD390004FE094021221415082 +:100A47000AE475F00112143B020D3F1220AD121F8C +:100A57007F90000A121FDFD39FE5F09E5016121FEA +:100A67008090000812145190000C121FE5D39FE5E7 +:100A7700F09E4018E4121F7C90001CE41213C47A05 +:100A87000279D9121FD27410F0020D3C121F801286 +:100A9700207E64016003020B3C90000E121451D3B8 +:100AA7009414E5F0940050499000EAE030E5259071 +:100AB70000167401121FFFC3943C4006121F8012D8 +:100AC7002111121F80121F867422F07BFF7A03798F +:100AD70004020B39121F8090001374011213C41201 +:100AE7001F80121F867429F07BFF7A037940020B5F +:100AF70039121F80121FDCD39FE5F09E9000004043 +:100B07001C1214F990001374011213C4121F8012DF +:100B17001F867433F07BFF7A03797C80151214F9F2 +:100B27001220C3121F80121F86743AF07BFF7A03CC +:100B370079B8120F49121F8012205764016003020F +:100B47000D3F12201AD39414E5F0940050499000F9 +:100B5700EAE030E4257401121FFCC3943C400612FE +:100B67001F80122118121F8090000C121F89744DCC +:100B7700F07BFF7A0379F4020D3C121F8074011297 +:100B87002065121F8090000C121F897454F07BFFA0 +:100B97007A047930020D3C121F80122011D39FE591 +:100BA700F09E90000040201214F990001274011278 +:100BB70013C4121F8090000C121F89745EF07BFF14 +:100BC7007A04796C020D3C1214F990001574011225 +:100BD70013C4121F8090000C121F897465F07BFFED +:100BE7007A0479A8020D3CD390004FE094141221A7 +:100BF70041501DE475F00112143B1220F2121F80C0 +:100C070012204E78A7E6FF08E6CF122020020D3FFC +:100C17001220AD121F7F12207E6401706F122057C1 +:100C270064017068121FDC1220CB4008121F80126B +:100C37002040403A121F801220111220CB400B1285 +:100C47001F809000081220434024121F801220C3E7 +:100C5700121F72121FBFF0A3EFF078AB121FCB1257 +:100C67001F92748CF07BFF7A0479E4020D3C121F0B +:100C770080121FBFF0A3EFF078AB121FCB121F92A9 +:100C87007493F07BFF7A057930020D3C121F8012B6 +:100C9700207E64017051121FDC1220CB4008121F06 +:100CA700801220404023121F80900016121F7512D9 +:100CB7002002900006F078AB121FCB121F9274A689 +:100CC700F07BFF7A057975801B121F801220029036 +:100CD7000006F078AB121FCB121F9274ACF07BFFAB +:100CE7007A0579B7120F49121F80122057640170D5 +:100CF70047900008122014D31220CC500F121F80E7 +:100D0700900004121451C31220475017121F80126B +:100D17001F72121FBF121F9274BAF07BFF7A0579F8 +:100D2700F28012121F80121FBF121F9274C0F07B35 +:100D3700FF7A067934120F49121F8012207EFF6452 +:100D470001600A12205764016003020EC81221488D +:100D5700FE6401600D9000121213526401600302D9 +:100D67000E50EF64017025122057B4011FEEB40135 +:100D77001B122148B4011590001474011213C47A90 +:100D870006796F121FD274D8F0120F49121F801202 +:100D9700207E6401701B12205770161221486401CF +:100DA7007038041220937A067995121FD474E28062 +:100DB70025121F8012207E7021122057B4011B902C +:100DC7000012121352B4011274011220937A067999 +:100DD700B7121FD474EDF0120F49121F8012205D55 +:100DE70090001412135264016003020EDD121F807B +:100DF700122002D39400400890001A74FE12137F49 +:100E0700900019121352FF122002D39F500B121F8A +:100E1700801220737404F080069000767402F0123A +:100E270020AD121F7F900014E41220771220E812E1 +:100E37001F7F1220021220A3A37405F0A3740CF0E5 +:100E47007BFF7A0679D9020EBB121F80900016121B +:100E570013526401600A90001512135264017076F0 +:100E6700900016E41213C4E4121FFCC3943C500B09 +:100E7700121F8090001A740212137F7404121F7CD1 +:100E870090001B121352FF122002C39F4009121F2A +:100E9700801220737401F09000761220E8121F7FF1 +:100EA7001220021220A3A37405F0A37429F07BFF7C +:100EB7007A07790C120F49121F80122002FF0235A0 +:100EC70043900076E0D39402400CE4121F7F900019 +:060ED7001D74011213C49A +:010EDD0022F2 +:0B313400900043121519900046EDF0CA +:10313F00E4FE900046E0FD14F0ED6029900043E4BA +:10314F0075F0011215021213396EFEE4FFEFC394EE +:10315F000850DFEE30E007C313648CFE8004EEC32B +:07316F0013FE0F80E8AF061C +:013176002236 +:0824D100900000EFF0A3EDF014 +:1024D900E4A3F078037C007D017BFF7A0779E1FEB4 +:1024E9007F40121313E4900003F0A37455F0A37412 +:1024F900AAF0900000E0FE900007F0900001E0FDD6 +:10250900900073F0EE121522252A01255602258C1A +:102519000325960625960725DB8025E381000025FE +:10252900EE12214EED700E9000087402F0E4900056 +:1025390071F00225EE900001E0640160030225EECE +:1025490090000804F0E4900072F00225EE90000675 +:102559007420F07F05900001E075F012A424831225 +:102569002084EEF00FEFB412EC7F17EFC3940D50F7 +:1025790074900001E075F00DA42469122084EEF036 +:102589000F80E812214E90000804F0805890000650 +:102599007405F09000087401F07814E6A3F0A374B0 +:1025A90020F0900001E0FF700D90006EE070028055 +:1025B9000F90006F8015EFB4012B90006FE0700849 +:1025C90090000B74FFF0801D90006EE090000BF0FE +:1025D90080139000067401F0800B12214E90007058 +:1025E900E0900008F0900006E02404FF900002F05B +:1025F900FD7B017A007903123134900002E0240353 +:1026090012208BEFF07F01122CA2900001E0FFB4A1 +:10261900010B75FE0E53FFF043FF08800CEF7009A4 +:1026290075FE0E53FFF043FF01900002E02402FF04 +:10263900E433FE7B017A007903123067900001E0F0 +:10264900FFB4010A75FE0353FFF343FF0822EF703D +:0A2659000975FE0353FFF343FF046D +:012663002254 +:102D8F00EF24FA60441460412406705DE4FE742D54 +:102D9F0075F01212215524832EF8A6070EEEB412E9 +:102DAF00EDE4FE743F75F00D12215524692EF8A63F +:102DBF00070EEEB408ED900073E0700690007104FA +:102DCF00F0229000727401F022782DE6B4E30D909A +:102DDF00004C7401F008E690006EF02290004D74E4 +:092DEF0001F0782EE690006FF06F +:012DF80022B8 +:1030F000303840C2387BFF7A07793F782990000644 +:10310000121F9C08A3121F9CA37406F0A37499F0CD +:10311000120F497B007A007929782BE62403FD12EF +:103120003134782BE6242CF8E6B50707782CE6FF37 +:03313000122D8FCE +:013133002279 +:1022C600011500011400C13FC140011350602800F0 +:1022D600A40BB80BEA0C1C0C800CB20CE40D160D0A +:1022E600480D7A0DAC0DF70E420E880ED80F0A0F68 +:0922F6003C0F870FD2101D106887 +:1034D700EF25E024A4F582E43400F583E0FCA3E0C3 +:0C34E700227815EFF675F005A418F62207 +:102C1F00E4FF780EE6B402151234D72432FDE43CFB +:102C2F00FCC378BAE69D18E69C500E80111234D77B +:102C3F00D378BA96EC189650050FEFB414D47815D4 +:102C4F00E6FEEFD39E78134003068001169000E94D +:102C5F00E030E3031234E87813E6FED3949650067F +:102C6F00EEC3940A50061234E81876507815E6FF32 +:102C7F00D394005004D2408008EFD394014002C295 +:102C8F0040EFD394015003D23F22EFD3940240027E +:022C9F00C23F32 +:012CA1002210 +:1022FF004100D7004100DA004100D6004200D4006F +:10230F00004100D800C123C124C126C122C121C16F +:09231F00254100D900C127C128A5 +:102DF9009000D9E06062E4F0D2239000D7E004F0BB +:102E0900E0C394054004E4F0D2249000DAE004F031 +:102E1900E0C3940A4004E4F0D2269000D4E475F0AB +:102E29000112143BC39000D5E094649000D4E0945F +:102E3900004006E4F0A3F0D2219000D6E004F0E0CF +:102E4900C394FA4013E4F0D2229000D8E004F0E0F1 +:092E590094044004E4F0D22522A7 +:03000B0002336F4E +:10336F00C0E0C083C082C0D074FC258CF58C74661D +:10337F00258AF58A9000D97401F0D0D0D082D083FD +:03338F00D0E03259 +:0E369100758901758CFC758A66D2A9D28C22CF +:0D369F0075FE0FEF25E0FE7403A80608225B +:1035A50012369F8002C333D8FCF452FFEFB40406F1 +:0735B50075FE0FE4F5FF2293 +:1035D20075FE11EF5407F5FF75FE12AF058FFF75EB +:0635E200FE1075FF01223E +:1030210012369F8002C333D8FCF452FF7401A80604 +:10303100088002C333D8FC42FF75FE0B7401A80758 +:10304100088002C333D8FC42FFEF70038DCE22EF1C +:10305100B401038DCF22EFB402038DDE22EFB4035E +:0630610004AF058FDF2221 +:033FFD00010102BD +:0623280001160001170080 +:1032CA00D28075FE0443FF0175FE0343FF0175FEBC +:1032DA000243FF01D28175FE0443FF0275FE0343D8 +:0D32EA00FF0275FE0243FF027816760122F6 +:0C363400C280123640D281123640D28093 +:05364000E4FF0FDFFEB6 +:013645002262 +:10350E00D281D2801236402081037F0022C28112E6 +:0B351E0036403081037F00227F012235 +:0F367400C280C28112363BD281123640023640EC +:0836DD00123634C280023640AF +:0B36B700123634123640C2800236404A +:0233B500AE0761 +:1033B7007D08AF051DEF6015C280EE30E704D281AE +:0F33C7008002C281EE25E0FE12363B80E5C28017 +:0133D60022D4 +:103392007E08E4FDD281AF061EEF6012ED25E0FD4E +:1033A200C28012363B3081EEED4401FD80E8C280DE +:0233B200AF0565 +:0133B40022F6 +:10000E007D087F351232F77D0A7F761236E57D0444 +:05001E007F200232F713 +:102EC4009000001215197F10122F0CEF1213B27F0D +:102ED40011122F0C900001EF1213C47F12122F163F +:102EE400900002EF1213C47F13122F16900003EF09 +:102EF4001213C47F141231F89000001214F99000D8 +:102F040004EF1213C47F00221231F890000012144F +:0C2F1400F9221231F89000001214F9228A +:0533D700900000EFF082 +:1033DC00E47F201231F8900000E06006EF4401FF1A +:0D33EC008004EF54FEFFAD077F200232F792 +:0533F900900001EFF05F +:1033FE00E47F271231F8900001E06006EF4401FFF0 +:0D340E008004EF54FEFFAD077F270232F768 +:05354300900003EFF011 +:10354800E47F251231F8EF54C0FF900003E04FFDEF +:053558007F250232F79F +:05341B00900001EFF03C +:10342000E47F201231F8900001E06006EF54FBFFCA +:0D3430008004EF4404FFAD077F200232F757 +:0736E5008FFEAF058FFF22ED +:0636EC008FFEAEFFAF06E9 +:0136F20022B5 +:1032F700900046EFF0A3EDF012350E7F0C1233B5B8 +:103307001236B7900046E0FF1233B51236B7900079 +:0C33170047E0FF1233B51236B7023674DF +:0531F800900046EFF01D +:1031FD00E4A3F012350E7F0C1233B51236B79000E2 +:10320D0046E0FF1233B51236B712350E7F0D12336D +:10321D00B51236B7123392900047EFF01236DD1229 +:07322D003674900047E0FF3A +:013234002277 +:102B0A00023576E493A3F8E493A34003F68001F236 +:102B1A0008DFF48029E493A3F85407240CC8C333CC +:102B2A00C4540F4420C8834004F456800146F6DF9B +:102B3A00E4800B010204081020408090215FE47EAB +:102B4A00019360BCA3FF543F30E509541FFEE49390 +:102B5A00A360010ECF54C025E060A840B8E493A357 +:102B6A00FAE493A3F8E493A3C8C582C8CAC583CA82 +:102B7A00F0A3C8C582C8CAC583CADFE9DEE780BE3A +:01232E0000AE +:10124300E709F608DFFA8046E709F208DFFA803E8D +:1012530088828C83E709F0A3DFFA8032E309F6087A +:10126300DFFA8078E309F208DFFA807088828C83E2 +:10127300E309F0A3DFFA806489828A83E0A3F60896 +:10128300DFFA805889828A83E0A3F208DFFA804C70 +:1012930080D280FA80C680D4806980F28033801047 +:1012A30080A680EA809A80A880DA80E280CA8033B0 +:1012B30089828A83ECFAE493A3C8C582C8CCC58328 +:1012C300CCF0A3C8C582C8CCC583CCDFE9DEE780F8 +:1012D3000D89828A83E493A3F608DFF9ECFAA9F077 +:1012E300EDFB2289828A83ECFAE0A3C8C582C8CCCD +:1012F300C583CCF0A3C8C582C8CCC583CCDFEADEE6 +:10130300E880DB89828A83E493A3F208DFF980CC47 +:1013130088F0EF60010E4E60C388F0ED2402B40440 +:101323000050B9F582EB2402B4040050AF232345E7 +:0613330082239012937367 +:10133900BB010689828A83E0225002E722BBFE02B2 +:09134900E32289828A83E49322E5 +:10135200BB010CE58229F582E5833AF583E0225050 +:1013620006E92582F8E622BBFE06E92582F8E2229A +:0D137200E58229F582E5833AF583E49322B4 +:10137F00BB010FF8E58229F582E5833AF583E02872 +:10138F00F0225009C58229F8E58226F622BBFE0914 +:10139F00C58229F8E22582F222F8EA2583F583E94E +:0313AF009328225E +:1013B200BB010689828A83F0225002F722BBFE011A +:0213C200F32214 +:1013C400F8BB010DE58229F582E5833AF583E8F05F +:1013D400225006E92582C8F622BBFE05E92582C80B +:0213E400F222F3 +:1013E600BC000BBE0029EF8DF084FFADF022E4CCEB +:1013F600F875F008EF2FFFEE33FEEC33FCEE9DECB4 +:10140600984005FCEE9DFE0FD5F0E9E4CEFD22EDF9 +:10141600F8F5F0EE8420D21CFEADF075F008EF2F43 +:10142600FFED33FD4007985006D5F0F222C398FD34 +:051436000FD5F0EA22D1 +:10143B00C5F0F8A3E028F0C5F0F8E582158270023C +:06144B001583E038F022D9 +:10145100BB0110E58229F582E5833AF583E0F5F0D9 +:10146100A3E0225009E92582F886F008E622BBFEB6 +:101471000AE92582F8E2F5F008E222E5832AF583FC +:08148100E993F5F0A3E99322C1 +:10148900BB010A89828A83F0E5F0A3F0225006F7AE +:0F14990009A7F01922BBFE06F3E5F009F31922AB +:1014A800F8BB0111E58229F582E5833AF583E8F076 +:1014B800E5F0A3F0225009E92582C8F608A6F02233 +:0D14C800BBFE09E92582C8F2E5F008F2221A +:1014D500EB9FF5F0EA9E42F0E99D42F0E89C45F06D +:0114E50022E4 +:1014E600E8600FECC313FCED13FDEE13FEEF13FFE4 +:0314F600D8F12208 +:0914F900E0FBA3E0FAA3E0F922F4 +:10150200F8E0FBA3A3E0F925F0F0E5821582700272 +:071512001583E0FA38F02216 +:09151900EBF0A3EAF0A3E9F022D3 +:10152200D083D082F8E4937012740193700DA3A358 +:1015320093F8740193F5828883E47374029368606C +:06154200EFA3A3A380DF6C +:10154800EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02D30 +:10155800FDE43CFCE8A42EC8C5F03DFDE43CFCEFEE +:0D156800A4FFE5F028FEE43DFDE43CFC227C +:100EDE00E5082406F582E43400F583E00508229047 +:100EEE000003301703900006E475F001121502029C +:100EFE0013392010E97F2ED2108018EF540F249052 +:100F0E00D43440D4FF30140BEF24BFB41A00500376 +:100F1E002461FFE50960021509050CE50C70020558 +:100F2E000B30170E900003E475F001121502EF025C +:100F3E0013B20236837403D2178003E4C217F50886 +:100F4E00900003121519E4F509F50BF50CE509608F +:100F5E00077F20120F2180F5750AFFC211C210C241 +:100F6E0012C213C215C216C218120EEDFF700D304A +:100F7E0017057F00120F32AF0CAE0B22B4255FC2E5 +:100F8E00D5C214120EEDFF24D0B40A00501A75F01B +:100F9E000A780930D50508B6FF0106C6A426F62044 +:100FAE00D5047002D21380D924CFB41A00EF5004A6 +:100FBE00C2E5D214021133D21180C6D21080C0D233 +:100FCE001280BCD2D580BAD21580B47F20120F21E8 +:100FDE002012077401B5090040F1120EDEFF120F48 +:100FEE0021020F5BD218D2168095120EDEFB120E66 +:100FFE00DEFA120EDEF94A4B700679047A127BFF86 +:10100E0020122EE509602A7E008E8275830012134F +:10101E005260060EEE650A70F0C2D5EBC0E0EAC073 +:10102E00E0E9C0E0EE12117AD0E0F9D0E0FAD0E0BB +:10103E00FB121339FF60AAEBC0E0EAC0E0E9C0E0A2 +:10104E00120F21D0E02401F9D0E03400FAD0E0FBF9 +:10105E00E50A0460DCD50AD980877BFF7A117976A0 +:10106E00D212809C791080027908C216C2188008AC +:10107E00D2D5790A8004790AC2D5E50A047002F540 +:10108E000AE4FAFDFEFF120EDEFC7B08201113129D +:10109E000EDEFD7B1030100A120EDEFE120EDEFF8B +:1010AE007B20EC3382D592D55013C3E43010069FCB +:1010BE00FFE49EFEE42011039DFDE49CFCE4CBF8CE +:1010CE00C211EC700CCFCECDCCE824F8F870F380C2 +:1010DE0017C3EF33FFEE33FEED33FDEC33FCEB3392 +:1010EE00FB994002FB0FD8E9EB301105F8D0E0C4B4 +:1010FE0048B211C0E00AEC4D4E4F78207B0070C212 +:10110E00EAB50A0040BCC0E012117CD0F0D0E0205D +:10111E001104C4C0E0C4B211C0F0120F0AD0F0D551 +:10112E00F0EB020F5B1215220FF8531072580FC915 +:10113E004C0FC54210764F107E44107E490FDE4391 +:08114E0010845510684610687A +:10115600451068471224500FCD2D0FD12E0FF42BBA +:101166000FD5230FF220120D2A0F8D4800000FEC29 +:101176003F3F3F00790AA2D5201314301509B91054 +:10118600020404B9080104A2D52016025001042065 +:1011960012689212B509005034C0E07F203013194E +:1011A6007F30A21272167215500F1211D3C212C2DC +:1011B60016C215C2187F30800F301503E9C0E01241 +:1011C6000F21301503D0E0F9D0E0B509CC30151762 +:1011D6007F30B9100C120F217F583014077F7880AA +:1011E60003B90803120F213012057F2D020F217F4C +:1011F600202018F87F2B2016F322921280CF286E1B +:10120600756C6C2900D211120EDE3011F8C21178FD +:101216000930D50108F6020F8D2D50434958120E9C +:10122600DE2403B405004001E490121F93120F124E +:0D123600743A120F12D213750904021072DF +:00000001FF diff --git a/Out/8835_EVB_241227_1101_1C4E_010102.bin b/Out/8835_EVB_241227_1101_1C4E_010102.bin new file mode 100644 index 0000000..d85b13f Binary files /dev/null and b/Out/8835_EVB_241227_1101_1C4E_010102.bin differ diff --git a/Project/SY8835_Demo.uvgui.GH b/Project/SY8835_Demo.uvgui.GH index 69d6269..7ac678b 100644 --- a/Project/SY8835_Demo.uvgui.GH +++ b/Project/SY8835_Demo.uvgui.GH @@ -101,17 +101,17 @@ -1 - 160 - 1853 - 3773 - 1122 + 184 + 2006 + 3926 + 1146 0 - 436 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000003000000020000000100000036453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF41453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000FFDC7800FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F000059020000 + 978 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000020000000100000036453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF41453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C757365726170705C757365726170702E630000000009757365726170702E6300000000FFDC7800FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C766F785C766F785F6D6F64756C652E63000000000C766F785F6D6F64756C652E6300000000BECEA100FFFFFFFF4C453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6469736368617267655C6469736368617267655F6D6F64756C652E6300000000126469736368617267655F6D6F64756C652E6300000000F0A0A100FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6164635C6164632E6300000000056164632E6300000000BCA8E100FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5372635C737461727475705C535441525455502E413531000000000B535441525455502E413531000000009CC1B600FFFFFFFF40453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C557372496E635C766F785C766F785F6D6F64756C652E68000000000C766F785F6D6F64756C652E6800000000F7B88600FFFFFFFF3B453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C756172745C756172742E630000000006756172742E6300000000D9ADC200FFFFFFFF39453A5C746F646179776F726B5C32303234313033305F7379383833355C5359383833355F44656D6F5C5573725372635C6B65795C6B65792E6300000000056B65792E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007408000066000000000F0000CF020000 @@ -150,7 +150,7 @@ 0 16 - 0300000066000000ED00000029020000 + 0300000066000000ED0000009F020000 16 @@ -170,7 +170,7 @@ 0 16 - 0300000066000000ED00000029020000 + 0300000066000000ED0000009F020000 16 @@ -450,7 +450,7 @@ 0 16 - 0300000066000000ED00000029020000 + 0300000066000000ED0000009F020000 16 @@ -470,7 +470,7 @@ 0 16 - 0300000066000000ED00000029020000 + 0300000066000000ED0000009F020000 16 @@ -490,7 +490,7 @@ 0 16 - 000000005A02000080070000E6030000 + 00000000D002000080070000E6030000 16 @@ -530,7 +530,7 @@ 0 16 - 030000005D0200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 0300000066000000ED00000029020000 + 0300000066000000ED0000009F020000 16 @@ -1170,7 +1170,7 @@ 0 16 - 030000005D0200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 030000005D0200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 030000005D0200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 030000005D0200007D070000CD030000 + 03000000D30200007D070000CD030000 16 @@ -1799,7 +1799,7 @@ 3390 - 000000000A000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000042020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080070000660000007008000059020000000000004F000000F0000000420200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001502000090050000190200000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000000000000810700003102000000000000E9FFFFFF010000001A02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF000000004202000080070000460200000100000001000010040000000100000002FDFFFF8E000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000800700005D020000000F0000FD030000000000004602000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC500000001000000FFFF02001400434D756C746950616E654672616D65576E64457800010084A4000000BB0000006C0300004B01000000000000000000000200000000000000C60000000000000000000000000000000000000001000000C60000000000000000000000 + 000000000A000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000000000007408000066000000100D0000F6000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000200C000066000000100D000040020000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000B8020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000800700006600000070080000CF020000000000004F000000F0000000B80200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000001502000090050000190200000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000008007000000000000810700003102000000000000E9FFFFFF010000001A02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF00000000B802000080070000BC0200000100000001000010040000000100000012FEFFFF9E010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000080070000D3020000000F0000FD03000000000000BC02000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC500000001000000FFFF02001400434D756C746950616E654672616D65576E64457800010084A4000000BB0000006C0300004B01000000000000000000000200000000000000C60000000000000000000000000000000000000001000000C60000000000000000000000 59392 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3615,18 +3615,72 @@ ..\UsrSrc\userapp\userapp.c - 4 + 0 644 - 668 + 670 1 0 ..\UsrSrc\vox\vox_module.c - 17 - 1016 - 1027 + 6 + 590 + 612 + 1 + + 0 + + + ..\UsrSrc\discharge\discharge_module.c + 0 + 153 + 167 + 1 + + 0 + + + ..\UsrSrc\adc\adc.c + 41 + 178 + 183 + 1 + + 0 + + + ..\Src\startup\STARTUP.A51 + 1 + 16 + 31 + 1 + + 0 + + + ..\UsrInc\vox\vox_module.h + 2 + 242 + 266 + 1 + + 0 + + + ..\UsrSrc\uart\uart.c + 16 + 197 + 223 + 1 + + 0 + + + ..\UsrSrc\key\key.c + 0 + 245 + 263 1 0 diff --git a/Project/SY8835_Demo.uvproj b/Project/SY8835_Demo.uvproj index 77d2c52..ee0d404 100644 --- a/Project/SY8835_Demo.uvproj +++ b/Project/SY8835_Demo.uvproj @@ -314,7 +314,7 @@ 0 1 3 - 8 + 9 2 0 1 diff --git a/Src/startup/STARTUP.A51 b/Src/startup/STARTUP.A51 index 9926e42..b96915f 100644 --- a/Src/startup/STARTUP.A51 +++ b/Src/startup/STARTUP.A51 @@ -35,7 +35,7 @@ XDATASTART EQU 0 ; ; XDATALEN: XDATA memory size <0x0-0xFFFF> ; The length of XDATA memory in bytes. -XDATALEN EQU 0;300H;TP3315 +XDATALEN EQU 300H;TP3315 ; ; PDATASTART: PDATA memory start address <0x0-0xFFFF> ; The absolute start address of PDATA memory diff --git a/UsrInc/adc/adc.h b/UsrInc/adc/adc.h index 4fb655c..d995dd1 100644 --- a/UsrInc/adc/adc.h +++ b/UsrInc/adc/adc.h @@ -66,7 +66,7 @@ extern idata uint16_t g_pmu_Adc_Ivor; typedef enum { - ADC_PMU_CH0 = 0x00, + ADC_PMU_CH0 = 0x01, ADC_NTC_CH1, diff --git a/UsrInc/charger/charger_module.h b/UsrInc/charger/charger_module.h index f95dfa0..3fd01ad 100644 --- a/UsrInc/charger/charger_module.h +++ b/UsrInc/charger/charger_module.h @@ -23,7 +23,6 @@ #include "define.h" -extern bit Charger_Done; #ifdef NTC_ENABLE extern bit NTC_Pro_Flag; @@ -31,19 +30,20 @@ extern bit NTC_Pro_Flag; // 充电状态定义 typedef enum { - CHG_NONE=0x00, - CHG_STA_ING, // 充电中 - CHG_STA_COMPLETED, // 充电完成 - CHG_STA_PULLOUT, // 充电器拔出 + CHG_NONE = 0x00, + + CHG_PROTECT, + CHG_STA_ING, // 充电中 + + CHG_STA_COMPLETED, // 充电完成 + } TE_CHG_STA; extern idata TE_CHG_STA ChgStatus; // 系统状态定义 #if CHARGER_ENABLE - - /* Charger Current Setting */ typedef struct { uint8_t nTrickle_Cur; //Set Trickle Current Trickle charge 电流配置,step 10mA; diff --git a/UsrInc/inc/config.h b/UsrInc/inc/config.h index 305c15a..faf4ddf 100644 --- a/UsrInc/inc/config.h +++ b/UsrInc/inc/config.h @@ -114,46 +114,55 @@ #endif #else -/*2.5V上拉LDO下接 104K NTC(3950K) 电阻串联一个100K电阻后得到的电压值,Value=2500 * Rntc/(Rntc + 100k)*/ -#define T_N20C 2263 //-20℃ NTC:953K +/*2.5V上拉LDO下接 104K NTC(3950K) 电阻串联一个100K电阻后得到的电压值,Value=1024 * Rntc/(Rntc + 100k) */ +/* 具体公式:( LSB = 2500/1024 ) + NTC Pin实际电压:Vntc = Rntc/R总 * 2500; + 码值:NTC = Vntc / LSB = (Rntc / R总 * 2500) / (2500 / 1024) + = Rntc / R总 * 1024 + 使用码值的原因:2.5V的上拉LDO有温漂误差,使用码值可以规避。 -#define T_N17C 2223 //-17℃ NTC:804K +*/ +#define NONE_NTC 984 //NTC引脚悬空码值 -#define T_N15C 2195 //-15℃ NTC:719K +#define T_N20C 927 //-20℃ NTC:953K -#define T_N13C 2164 //-13℃ NTC:644K +#define T_N17C 911 //-17℃ NTC:804K -#define T_N10C 2114 //-10℃ NTC:547K +#define T_N15C 900 //-15℃ NTC:719K -#define T_0C 1911 //-0℃ NTC:325K +#define T_N13C 887 //-13℃ NTC:644K -#define T_3C 1841 //3℃ NTC:293K +#define T_N10C 866 //-10℃ NTC:547K -#define T_5C 1792 //5℃ NTC:253K +#define T_0C 783 //-0℃ NTC:325K -#define T_8C 1715 //8℃ NTC:218K +#define T_3C 755 //3℃ NTC:293K -#define T_10C 1663 //10℃ NTC:198K +#define T_5C 734 //5℃ NTC:253K -#define T_12C 1609 //12℃ NTC:180K +#define T_8C 703 //8℃ NTC:218K -#define T_15C 1527 //15℃ NTC:157K +#define T_10C 682 //10℃ NTC:198K -#define T_18C 1444 //18℃ NTC:137K +#define T_12C 659 //12℃ NTC:180K -#define T_42C 823 //42℃ NTC:49K +#define T_15C 626 //15℃ NTC:157K -#define T_45C 759 //45℃ NTC:43.6K +#define T_18C 592 //18℃ NTC:137K -#define T_47C 718 //47℃ NTC:40K +#define T_42C 337 //42℃ NTC:49K -#define T_57C 540 //57℃ NTC:27.6K +#define T_45C 311 //45℃ NTC:43.6K -#define T_60C 495 //60℃ NTC:24.7K +#define T_47C 294 //47℃ NTC:40K -#define T_75C 318 //75℃ NTC:14.6K +#define T_57C 221 //57℃ NTC:27.6K -#define T_80C 275 //80℃ NTC:12.4K +#define T_60C 203 //60℃ NTC:24.7K + +#define T_75C 130 //75℃ NTC:14.6K + +#define T_80C 113 //80℃ NTC:12.4K #endif diff --git a/UsrInc/inc/define.h b/UsrInc/inc/define.h index 6fea679..444ff06 100644 --- a/UsrInc/inc/define.h +++ b/UsrInc/inc/define.h @@ -50,7 +50,7 @@ #define VOX_ENABLE 1 //1080Bytes -#define VOX_FOLLOW_CHG 1 +#define VOX_FOLLOW_CHG 1 //1701Bytes #if VOX_FOLLOW_CHG @@ -62,8 +62,6 @@ #define VOX_TX //959Bytes -#define VOX_TX_RST_PATTERN //BES Reset Pattern (118Bytes) - #define VOX_RX //739Bytes #endif @@ -94,16 +92,17 @@ #ifdef _DEBUG_ALL -// #define _DEBUG_MAIN + #define _DEBUG_MAIN #define _DEBUG_PMU #define _DEBUG_KEY #define _DEBUG_VOX + #define _DEBUG_FOLLOW #define _DEBUG_HALL // #define _DEBUG_ADC // #define _DEBUG_DISCHARGE // #define _DEBUG_CHARGER -// #define _DEBUG_SLEEP - #define _DEBUG_BAT + #define _DEBUG_SLEEP +// #define _DEBUG_BAT //#define TEST_MODE diff --git a/UsrInc/inc/reg3315.h b/UsrInc/inc/reg3315.h index ea69c76..23266eb 100644 --- a/UsrInc/inc/reg3315.h +++ b/UsrInc/inc/reg3315.h @@ -108,6 +108,9 @@ sfr ADC_IntFlag =0xA4; #define ADC_CH4_L 0x3D #define ADC_CH4_H 0x3E +#define ADC_OFFSET 0x59 +#define ADC_GAIN 0x5A + /*-------- SYS Registers --------*/ #define LDO08_CTL 0x50 #define LDO15_CTL0 0x51 diff --git a/UsrInc/led/led.h b/UsrInc/led/led.h index 134cfbb..b63476e 100644 --- a/UsrInc/led/led.h +++ b/UsrInc/led/led.h @@ -25,7 +25,7 @@ #include "define.h" -#ifdef LED_DISPLAY + #ifdef _DEBUG_LED #define _DEBUG_LED_1 @@ -61,6 +61,8 @@ sbit pin_LED_4 = P1^3; #define LEDB_OFF() pin_LED_4 = 0 //LED_4_OFF() #define LEDB_TOG() pin_LED_4 = !pin_LED_4 //LED_4_RUN() +#ifdef LED_DISPLAY + /******************************************************************************\ Typedef definitions \******************************************************************************/ diff --git a/UsrInc/pmu/pmu.h b/UsrInc/pmu/pmu.h index 47e5094..0d275b7 100644 --- a/UsrInc/pmu/pmu.h +++ b/UsrInc/pmu/pmu.h @@ -475,6 +475,8 @@ extern void Set_PMU_Boost(uint8_t Boost_En); extern void Set_PMU_Boost_Vout(uint8_t Boost_Vout); +extern void Set_PMU_StandbyMode_Set(uint8_t LDO_En); + extern HAL_StatusTypeDef Set_PMU_VOX_Config( g_PMU_Vox_Cfg *n_PMU_Vox_Cfg ); #endif diff --git a/UsrInc/vox/vox_module.h b/UsrInc/vox/vox_module.h index 0bca9b0..1ecba38 100644 --- a/UsrInc/vox/vox_module.h +++ b/UsrInc/vox/vox_module.h @@ -114,9 +114,14 @@ SFRDATA |= (VOX_LIGHT_TO_HAVEY_128 << 2) | VOX_HAVEY_TO_LIGHT_8; #define BOXHEADER 0x55AA //VOX通讯数据包头 +#define EARPHONE_HEADER_HIGH 0x55 +#define EARPHONE_HEADER_LOW 0xAA + #define BOXIDCODE 0xFF //VOX通讯耳机->仓数据包头 -#define Vox_TX_Interval 2 //Vox定时发送指令时间间隔 +#define Vox_TX_Interval 2 //Vox定时发送指令时间间隔 + +#define Vox_TX_Interval_2 4 #define TIM_SHUTDOWN_DEBOUNCE 600 //关机前debounce时间 @@ -194,7 +199,6 @@ typedef enum { Vox_Follow_Chg_Sta4, }e_Vox_Follow_Chg_Sta; - /* VOX Enable Type */ typedef enum { @@ -213,11 +217,14 @@ typedef enum { VOX_PD1K_Mode, // VOX 1K 电阻下拉使能 1: VOR 通过 1K 电阻下拉至 gnd - } VOX_Enable_Mode_e; - + } VOX_Enable_Mode_e; extern bit Cover_Open_Flag; +extern bit Boost_Open_Flag; + +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不处理,保持当前状态。 @@ -226,6 +233,8 @@ extern xdata uint8_t Vox_Get_BES_Addr_Flag[2] ; #endif +#if VOX_FOLLOW_CHG + typedef struct { uint16_t IVox_Init[VOX_MAX_CHAN]; //跟随充Vox初始化电流值。 @@ -246,11 +255,11 @@ typedef struct { uint8_t Vox_InBox_Sta[VOX_MAX_CHAN]; //耳机在盒标志 - uint16_t Vpmid_Threshold_Neg; //Vpmid电压下降阈值 + uint8_t Vpmid_Threshold_Neg; //Vpmid电压下降阈值 - uint16_t Vpmid_Threshold_At_Present; //Vpmid电压当前值 + uint8_t Vpmid_Threshold_At_Present; //Vpmid电压当前值 - uint16_t Vpmid_Threshold_Pos; //Vpmid电压上升阈值 + uint8_t Vpmid_Threshold_Pos; //Vpmid电压上升阈值 uint8_t Vox_Follow_Start; //跟随充启动标志 @@ -260,8 +269,10 @@ typedef struct { extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg; -//extern uint8_t Box_To_Bes_Comm_Debounce; +#endif +//extern uint8_t Box_To_Bes_Comm_Debounce; + /******************************************************************************\ UserCfg.Functions definitions \******************************************************************************/ @@ -269,9 +280,9 @@ extern g_Vox_Fllow_Chg_Cfg xdata Vox_Fllow_Chg; extern void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select); extern void Vox_Det_Machine(void); - +#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_RX diff --git a/UsrSrc/adc/adc.c b/UsrSrc/adc/adc.c index e5a0264..83203a8 100644 --- a/UsrSrc/adc/adc.c +++ b/UsrSrc/adc/adc.c @@ -31,6 +31,10 @@ /******************************************************************************\ Variables definitions \******************************************************************************/ +int8_t ADC_Offset_Error = 0; //ADC Offset Error 校准值寄存器 + +//int8_t ADC_Gain_Error = 0; //ADC Gain Error 校准值寄存器 + uint8_t ADC_Chn_Num = 0; idata uint16_t Vbat_Adc = 0; @@ -85,13 +89,19 @@ void Adc_Init(void) SFRADDR = MFP_CTL0; //Set P14 As ADC1 For NTC SFRDATA |= 0x10; - + ExtSfr_Write(ADC_CTL0,0xAB); //0B10101001,0xA9--ADC EN;Average time:16; Single mode; ADC CLK divided by 24=460k - SFRADDR = ADC_IntEn; //Enable ADC Interrupt.b[4:0]:ADC4-ADC0 - SFRDATA |= 0x03; +// SFRADDR = ADC_IntEn; //Enable ADC Interrupt.b[4:0]:ADC4-ADC0 +// SFRDATA |= 0x03; - EX6 = 1; //ADC IRQ Enable + SFRADDR = ADC_OFFSET; + ADC_Offset_Error = SFRDATA; +#if 0 + SFRADDR = ADC_GAIN; + ADC_Gain_Error = SFRDATA; +#endif +// EX6 = 1; //ADC IRQ Enable } /* @@ -110,14 +120,64 @@ void Adc_Init(void) */ void PMU_ADC_Chn_Data(PMU_ADC_CHANNELS_E pmu_Adc_Chn) { + if( ADC_IntFlag & 0x01 ) + { + ADC_IntFlag = 0x01; + + g_Vpmu_Adc = ExtSfr_Read(ADC_CH0_L); + g_Vpmu_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH0_H) & 0x03 ) << 8 ); + + g_Vpmu_Adc = ((uint32_t)( g_Vpmu_Adc - ADC_Offset_Error ) * 2500) >> 10 ; //ADC的LSB = 2500mV / 1024 = 2.44mV + + /*获取xSen对应的ADC值*/ + switch (g_PMU_ADC_Chn) + { + case pmu_ADC_IVOL: + g_pmu_Adc_Ivol = g_Vpmu_Adc >> 2; //采样比例4mV/mA + break; + + case pmu_ADC_VBAT: + Vbat_Adc = g_Vpmu_Adc << 1; //vbat的2分压 + break; + + case pmu_ADC_VIN: + g_pmu_Adc_Vin = g_Vpmu_Adc << 3; //vin的8分压 + break; + + case pmu_ADC_VPMID: + g_pmu_Adc_Vpmid = g_Vpmu_Adc << 2; //PMID的4分压 + break; + + case pmu_ADC_VOR: + g_pmu_Adc_Vor = g_Vpmu_Adc << 2; //vor的4分压 + break; + + case pmu_ADC_VOL: + g_pmu_Adc_Vol = g_Vpmu_Adc << 2; //vol的4分压 + break; + + case pmu_ADC_VDD: + g_pmu_Adc_Vdd = g_Vpmu_Adc << 1; //vdd的2分压 + break; + + case pmu_ADC_IVOR: + g_pmu_Adc_Ivor = g_Vpmu_Adc >> 2; //采样比例4mV/mA + break; + default: + break; + } + } + I2cSfr_Write( XSEN_CTRL , (0x08 | pmu_Adc_Chn) ); g_PMU_ADC_Chn = pmu_Adc_Chn; - ADC_CTL1 = 0x81; //ADC Start Enable,Set Channel N Enabel. + ADC_CTL1 = 0x80 | ( ADC_PMU_CH0 ); //ADC Start Enable,Set Channel N Enabel. +#if 0 SFRADDR = ADC_IntEn; //Enable ADC Interrupt.b[4:0]:ADC4-ADC0 SFRDATA |= 0x01; +#endif } /* ******************************************************************************* @@ -135,10 +195,23 @@ void PMU_ADC_Chn_Data(PMU_ADC_CHANNELS_E pmu_Adc_Chn) */ void ADC_NTC_Data(void) { - ADC_CTL1 = 0x80 | ( ADC_NTC_CH1 + 1 ); //ADC Start Enable,Set Channel N Enabel. + if( ADC_IntFlag & 0x02 ) //获取NTC ADC 码值 + { + ADC_IntFlag = 0x02; + + g_Vntc_Adc = ExtSfr_Read(ADC_CH1_L); + + g_Vntc_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH1_H) & 0x03 ) << 8 ); + g_Vntc_Adc = g_Vntc_Adc - ADC_Offset_Error ; + } + + ADC_CTL1 = 0x80 | ( ADC_NTC_CH1 ); //ADC Start Enable,Set Channel N Enabel. + +#if 0 SFRADDR = ADC_IntEn; //Enable ADC Interrupt.b[4:0]:ADC4-ADC0 SFRDATA |= ( ADC_NTC_CH1 + 1 ); +#endif } /* @@ -155,6 +228,7 @@ void ADC_NTC_Data(void) * ******************************************************************************* */ +#if 0 void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6 { uint8_t reg_addr_bk = 0; @@ -166,8 +240,8 @@ void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6 g_Vpmu_Adc = ExtSfr_Read(ADC_CH0_L); g_Vpmu_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH0_H) & 0x03 ) << 8 ); - g_Vpmu_Adc = ((uint32_t)g_Vpmu_Adc * 2500) >> 10 ; //ADC的LSB = 2500mV / 1024 = 2.44mV - + g_Vpmu_Adc = ((uint32_t)( g_Vpmu_Adc - ADC_Offset_Error ) * 2500) >> 10 ; //ADC的LSB = 2500mV / 1024 = 2.44mV + /*获取xSen对应的ADC值*/ switch (g_PMU_ADC_Chn) { @@ -207,12 +281,13 @@ void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6 } } - if(ADC_IntFlag & 0x02) + if(ADC_IntFlag & 0x02) //获取NTC ADC 码值 { g_Vntc_Adc = ExtSfr_Read(ADC_CH1_L); + g_Vntc_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH1_H) & 0x03 ) << 8 ); - g_Vntc_Adc = ((uint32_t)g_Vntc_Adc * 2500) >> 10 ; //ADC的LSB = 2500mV / 1024 = 2.44mV + g_Vntc_Adc = g_Vntc_Adc - ADC_Offset_Error ; } #if 0 @@ -220,18 +295,24 @@ void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6 { g_Vbjt_Adc = ExtSfr_Read(ADC_CH2_L); g_Vbjt_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH2_H) & 0x03 ) << 8 ); + + g_Vbjt_Adc = g_Vbjt_Adc - ADC_Offset_Error ; } if(ADC_IntFlag & 0x08) { g_Vp13_Adc = ExtSfr_Read(ADC_CH3_L); g_Vp13_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH3_H) & 0x03 ) << 8 ); + + g_Vp13_Adc = g_Vp13_Adc - ADC_Offset_Error ; } if(ADC_IntFlag & 0x10) { g_Vref_Adc = ExtSfr_Read(ADC_CH4_L); g_Vref_Adc |= (uint16_t)( ( ExtSfr_Read(ADC_CH4_H) & 0x03 ) << 8 ); + + g_Vref_Adc = g_Vref_Adc - ADC_Offset_Error ; } #endif @@ -240,6 +321,7 @@ void EX6_ADC_isr(void) interrupt Interrupt_Vector_IE6 SFRADDR = reg_addr_bk; } +#endif #endif diff --git a/UsrSrc/charger/charger_module.c b/UsrSrc/charger/charger_module.c index b6a88b8..e23811c 100644 --- a/UsrSrc/charger/charger_module.c +++ b/UsrSrc/charger/charger_module.c @@ -26,8 +26,7 @@ #include "vox_module.h" #include "led.h" #include "userapp.h" - -bit Charger_Done = 0; +#include "bat.h" #ifdef NTC_ENABLE bit NTC_Pro_Flag = 0; @@ -82,7 +81,7 @@ void Charger_Init(void) gCharge_Cfg.nVFloat = CHG_VFLOAT_4_200V; - I2cSfr_Write( IRQ_EN0, VDPM_IRQ ); + //I2cSfr_Write( IRQ_EN0, VDPM_IRQ ); } #ifdef NTC_ENABLE @@ -128,7 +127,7 @@ uint8_t PMU_NTC_Handle(uint8_t Charge_sta) NTC_Adc = g_Vntc_Adc; #endif - if( NTC_Adc >= 2400 ) ////屏蔽NTC功能,NTC浮空,屏蔽 NTC 功能,并锁定。 + if( NTC_Adc >= NONE_NTC ) ////屏蔽NTC功能,NTC浮空,屏蔽 NTC 功能,并锁定。 { return FALSE; } @@ -464,8 +463,7 @@ void Charger_Handler(void) Set_PMU_CHG(OFF); //Disable Charger ChgStatus = CHG_NONE; - - Charger_Done = 0; + #ifdef _DEBUG_CHARGER printf("No Chg\r\n"); #endif @@ -473,6 +471,7 @@ void Charger_Handler(void) } /*各项保护都无需软件处理,只处理充电超时,超时后需要等VBUS重新插拔后才重新开始Charger流程。*/ + ChgStatus = CHG_PROTECT; #ifdef NTC_ENABLE @@ -495,8 +494,6 @@ void Charger_Handler(void) #ifdef _DEBUG_CHARGER printf("Chg Done\r\n"); #endif - Charger_Done = 1; - ChgStatus = CHG_STA_COMPLETED; } @@ -511,10 +508,10 @@ void Charger_Handler(void) Set_PMU_CHG(ON); //Enable Charger ChgStatus = CHG_STA_ING; + #ifdef _DEBUG_CHARGER printf("Chg ing\r\n"); #endif - Charger_Done = 0; } } diff --git a/UsrSrc/discharge/discharge_module.c b/UsrSrc/discharge/discharge_module.c index e4c8b4b..cec8aeb 100644 --- a/UsrSrc/discharge/discharge_module.c +++ b/UsrSrc/discharge/discharge_module.c @@ -125,19 +125,17 @@ void DisCharge_Handler(void) #else + gBoost_Prepared_Flag = 0; + /*过温保护 --- 硬件实现*/ if( pmu_Info.pmu_Fault_STA2 & Fault_Sta2_CHIP_OTP ) - { - gBoost_Prepared_Flag = 0; - + { return; } /*Boost Input UVLO 硬件实现*/ if( pmu_Info.pmu_Fault_STA2 & Fault_Sta2_BoostUV ) - { - gBoost_Prepared_Flag = 0; - + { gBoost_UVLO_Flag = 1; return; @@ -148,9 +146,7 @@ void DisCharge_Handler(void) if( F_batlevel_protect ) { Set_PMU_Boost(OFF); - - gBoost_Prepared_Flag = 0; - + return; } @@ -161,24 +157,22 @@ void DisCharge_Handler(void) { #ifdef _DEBUG_DISCHARGE printf("Boost Pro Output Short!\r\n"); -#endif - gBoost_Prepared_Flag = 0; - +#endif if( F_sys_tim_250ms ) { - IRQ_FLAG0 = 0x01; - - DisCharge_Boost_Open(OFF, Boost_Vout_5_05V); //250ms定时开一次Boost + Set_PMU_Boost_Vout(BOOST_VPMID_5_2V); //开关盖Boost输出5.2V,保证耳机一定能被唤醒。 + + Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。 //250ms定时开一次Boost } return; } #ifdef NTC_ENABLE + /*NTC Handle*/ //使能Boost前先检测NTC温度,异常就不开放电。 if( PMU_NTC_Handle( DISCHG_ON ) ) //NTC保护,不放电。 { - gBoost_Prepared_Flag = 0; Set_PMU_Boost(OFF); diff --git a/UsrSrc/hall/hall.c b/UsrSrc/hall/hall.c index 374a1f9..af7ca7e 100644 --- a/UsrSrc/hall/hall.c +++ b/UsrSrc/hall/hall.c @@ -106,6 +106,8 @@ uint8_t Hall_Sta_bk = 0xff; } CoverEvent_Flg = 1; + + Boost_Open_Flag = 0; CoverEvent_Flg_led = 1; diff --git a/UsrSrc/key/key.c b/UsrSrc/key/key.c index 2a1d253..73486d3 100644 --- a/UsrSrc/key/key.c +++ b/UsrSrc/key/key.c @@ -26,6 +26,7 @@ #include "vox_module.h" #include "userapp.h" #include "hall.h" +#include "discharge_module.h" #if KEY_ENABLE /******************************************************************************\ @@ -39,6 +40,14 @@ #define KEY_PRESS_8S_CNT 400 //按键按下计数8s(调用周期20ms) +#define KEY_TWS_PAIR_TIMER 20 + +#define KEY_TWS_PAIR_CNT 5 + +#define KEY_TWS_PAIR_CLEAR_CNT 30 + +#define KEY_LIFT_CNT 10 + /******************************************************************************\ Variables definitions \******************************************************************************/ @@ -50,14 +59,14 @@ bit Key_Press_ll_irq = 0; idata KEY_EVENT_E Event_key = 0; uint8_t Key_TWS_Pair_Tim = 0; + +uint8_t Key_TWS_Clear_Pair_Tim = 0; + uint8_t Key_TWS_Pair_Cnt = 0; uint16_t Key_Press_Debounce = 0; -#define KEY_TWS_PAIR_TIMER 20 -#define KEY_TWS_PAIR_CNT 5 - -#define KEY_TWS_PAIR_CLEAR_CNT 30 +uint8_t Key_Lift_Debounce = 0; /******************************************************************************\ Functions definitions @@ -126,9 +135,13 @@ uint16_t Key_Press_Debounce = 0; Enter_Sleep_Cnt_Restart_Flag = 1; #endif + Event_key = KEY_EVENT_Empty; + Key_Press_Flag = 0; Key_Lift_Flag = 1; + + Key_Lift_Debounce = 0; nKey_Press_8s_Flag = 0; @@ -156,12 +169,31 @@ uint16_t Key_Press_Debounce = 0; Key_Press_Debounce = 0; } - if( Key_Lift_Flag ) + if( Key_Lift_Flag && gBoost_Prepared_Flag ) { - Key_Lift_Flag = 0; + if( !Boost_Open_Flag ) + { + Set_PMU_Boost(ON); + + 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; + } if( Key_Press_l_irq ) - { + { Key_Press_l_irq = 0; /*todo*/ Event_key = KEY_EVENT_L_2S; @@ -169,6 +201,9 @@ uint16_t Key_Press_Debounce = 0; Key_TWS_Pair_Tim = 0; /*耳机配对*/ + Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00; + + Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00; #ifdef _DEBUG_KEY printf("long 2s press\r\n"); @@ -178,6 +213,8 @@ uint16_t Key_Press_Debounce = 0; if( Key_Press_ll_irq ) { Key_Press_ll_irq = 0; + + Key_TWS_Clear_Pair_Tim = 0; /*todo*/ Event_key = KEY_EVENT_LL_8S; @@ -197,10 +234,10 @@ uint16_t Key_Press_Debounce = 0; printf("short press\r\n"); #endif } - } - else - { - Event_key = KEY_EVENT_Empty; + + Key_Lift_Flag = 0; + + Boost_Open_Flag = 0; } #if 1 @@ -214,16 +251,28 @@ uint16_t Key_Press_Debounce = 0; HandleTxCommand(VHOUSE_CMD_PAIR,VOR_CHAN); //右耳发配对指令,区分耳机通道。 #endif Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00; + Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00; +#ifdef _DEBUG_KEY + printf("Key Pair TX VOR(line:%d).\r\n",(uint16_t)__LINE__); +#endif } else { if(Key_TWS_Pair_Cnt > KEY_TWS_PAIR_CNT) //耳机蓝牙地址置换超时10s,关闭蓝牙地址置换,开启VOX 5V。 { Key_TWS_Pair_Cnt = 0; + + Event_key = KEY_EVENT_Empty; + + OpenCover_TX_Cmd_Flag = 1; #if VOX_ENABLE - VOX_EN_Type(VOX_VOUT_Mode); + VOX_EN_Type(VOX_ADT_Mode); #endif +#ifdef _DEBUG_KEY + printf("Key Pair TimeOut(line:%d).\r\n",(uint16_t)__LINE__); +#endif + return; } else @@ -233,7 +282,11 @@ uint16_t Key_Press_Debounce = 0; #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_EXCH_TWS_BTADDR,VOL_CHAN); /*获取到右耳回复的CMD3指令,转发给左耳。*/ #endif - Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x02; + Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x02; +#ifdef _DEBUG_KEY + printf("Key Pair Get VOR(line:%d).\r\n",(uint16_t)__LINE__); +#endif + } else if( Vox_Get_BES_Addr_Flag[VOR_TYPE] == 0x02 ) @@ -247,10 +300,17 @@ uint16_t Key_Press_Debounce = 0; Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00; Key_TWS_Pair_Tim = 0; + + Key_TWS_Pair_Cnt = 0; + Event_key = KEY_EVENT_Empty; + + OpenCover_TX_Cmd_Flag = 1; - VOX_EN_Type(VOX_VOUT_Mode); - + VOX_EN_Type(VOX_ADT_Mode); +#ifdef _DEBUG_KEY + printf("Key Pair Get VOL(line:%d).\r\n",(uint16_t)__LINE__); +#endif return; } else @@ -258,6 +318,10 @@ uint16_t Key_Press_Debounce = 0; #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_PAIR,VOL_CHAN); #endif +#ifdef _DEBUG_KEY + printf("Key Pair TX VOL(line:%d).\r\n",(uint16_t)__LINE__); +#endif + } } } @@ -266,7 +330,11 @@ uint16_t Key_Press_Debounce = 0; if(Key_TWS_Pair_Tim > KEY_TWS_PAIR_TIMER) //3s重发一次。重发5次后超时 { Key_TWS_Pair_Cnt++; - Key_TWS_Pair_Tim = 0; + + Key_TWS_Pair_Tim = 0; +#ifdef _DEBUG_KEY + printf("Key Pair Cnt:%d.(line:%d)\r\n",(uint16_t)Key_TWS_Pair_Cnt,(uint16_t)__LINE__); +#endif } else { @@ -276,28 +344,33 @@ uint16_t Key_Press_Debounce = 0; else if( Event_key == KEY_EVENT_LL_8S ) { - if( Key_TWS_Pair_Tim < KEY_TWS_PAIR_CLEAR_CNT ) //每隔200ms发送一次,持续时间3s。 + if( Key_TWS_Clear_Pair_Tim < KEY_TWS_PAIR_CLEAR_CNT ) //每隔200ms发送一次,持续时间3s。 { - if( Key_TWS_Pair_Tim % 2*Vox_TX_Interval ) + if( Key_TWS_Clear_Pair_Tim % Vox_TX_Interval_2 ) { #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_CLEAR_PAIR,VOR_CHAN); #endif } else - if( Key_TWS_Pair_Tim % Vox_TX_Interval ) + if( Key_TWS_Clear_Pair_Tim % Vox_TX_Interval ) { #ifdef VOX_TX HandleTxCommand(VHOUSE_CMD_CLEAR_PAIR,VOL_CHAN); #endif } - Key_TWS_Pair_Tim++; + Key_TWS_Clear_Pair_Tim++; } else { Event_key = KEY_EVENT_Empty; - Key_TWS_Pair_Tim = 0; + + OpenCover_TX_Cmd_Flag = 1; + + Key_TWS_Clear_Pair_Tim = 0; + + VOX_EN_Type(VOX_ADT_Mode); } } } diff --git a/UsrSrc/pmu/pmu.c b/UsrSrc/pmu/pmu.c index 0ab74f0..66cfff7 100644 --- a/UsrSrc/pmu/pmu.c +++ b/UsrSrc/pmu/pmu.c @@ -63,6 +63,10 @@ void pmu_Init(void) //I2cSfr_Write(IRQ_EN1, 0x00); +// I2cSfr_Write( IRQ_EN0, 0xFF ); + +// I2cSfr_Write( IRQ_EN1, 0xFF ); + /*1、配置HALL、KEY。*/ I2cSfr_Write(I2CR_RST_CFG, 0x08); //HALL开盒退出ShipMode功能;KEY长按复位VDD,若处于ShipMode模式,则退出ShipMode模式; @@ -272,6 +276,41 @@ void Set_PMU_Boost_Vout(uint8_t Boost_Vout) I2cSfr_Write( CHG_VPMID_SET, I2cSfr_Temp | Boost_Vout ); } +/* + ******************************************************************************* + * void Set_PMU_StandbyMode_Set(uint8_t LDO_En) + * + * Description : Set PMU Enter ShipMode + * + * Arguments : uint8_t LDO_En:0:LDO Open;1:Bypass Vbat + + * Returns : NONE + + * Notes : NONE + * + ******************************************************************************* + */ +void Set_PMU_StandbyMode_Set(uint8_t LDO_En) +{ + uint8_t I2cSfr_Temp = 0; + + I2cSfr_Temp = I2cSfr_Read( VDPM_VDD_CHG_EN ); + + if( LDO_En ) + { + I2cSfr_Temp &= ~VDD_BYPASS; + } + else + { + I2cSfr_Temp |= VDD_BYPASS; + } + + I2cSfr_Write( VDPM_VDD_CHG_EN, I2cSfr_Temp ); +} + + +#if 0 + /* ******************************************************************************* * HAL_StatusTypeDef Set_PMU_VOX_Config( g_PMU_Vox_Cfg *n_PMU_Vox_Cfg ) @@ -286,7 +325,7 @@ void Set_PMU_Boost_Vout(uint8_t Boost_Vout) * ******************************************************************************* */ - #if 0 + HAL_StatusTypeDef Set_PMU_VOX_Config( g_PMU_Vox_Cfg *n_PMU_Vox_Cfg ) { #if 0 diff --git a/UsrSrc/system/system.c b/UsrSrc/system/system.c index ed9ccaf..89d7bf1 100644 --- a/UsrSrc/system/system.c +++ b/UsrSrc/system/system.c @@ -53,7 +53,6 @@ Functions definitions \******************************************************************************/ - /* ******************************************************************************* * void System_Init(void) @@ -96,6 +95,8 @@ void System_Init(void) // WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32; #endif + I2C_GPIOInit(); + #if ADC_ENABLE Adc_Init(); #endif @@ -127,10 +128,7 @@ void System_Init(void) pmu_Init(); - I2C_GPIOInit(); - Systerm_State.Next_State = POWER_ON_STATE; - } /* diff --git a/UsrSrc/timer/sys_tim.c b/UsrSrc/timer/sys_tim.c index 99e6cbc..f0a3cf8 100644 --- a/UsrSrc/timer/sys_tim.c +++ b/UsrSrc/timer/sys_tim.c @@ -47,13 +47,11 @@ bit F_sys_tim_250ms = 0; bit F_sys_tim_100ms = 0; bit F_sys_tim_1s = 0; - uint8_t F_sys_tim_tick = 0; bit F_sys_tim1_tick = 0; bit F_sys_tim2_tick = 0; - /******************************************************************************\ Functions definitions \******************************************************************************/ diff --git a/UsrSrc/uart/uart.c b/UsrSrc/uart/uart.c index ff09b5a..6e6e744 100644 --- a/UsrSrc/uart/uart.c +++ b/UsrSrc/uart/uart.c @@ -21,6 +21,7 @@ #include "system.h" #include "vox_module.h" #include "sleep.h" +#include "led.h" /******************************************************************************\ Macro definitions @@ -73,22 +74,23 @@ bit Uart1_RX_Finish_Flag = 0; void UART0_Init(void) { #if 1 + /* vor、vol都使用uart0进行分时通讯。 */ SFRADDR = P0_OE; //Set P02 And P03 As Output. SFRDATA |= 0x0C; - SFRADDR = P0_IE; //Set P02 And P03 As Input. - SFRDATA |= 0x0C; +// SFRADDR = P0_IE; //Set P02 And P03 As Input. +// SFRDATA |= 0x0C; // SFRADDR = P0_PU; //Set P02 And P03 30K Pullup. // SFRDATA |= 0x0C; - SFRADDR = MFP_CTL0; //VOR、VOL都使用UART0进行分时通讯。 - SFRDATA &=~ 0x0F; - SFRDATA |= 0x09; +// SFRADDR = MFP_CTL0; //VOR、VOL都使用UART0进行分时通讯。 +// SFRDATA &=~ 0x0F; +// SFRDATA |= 0x09; - #else + /* vor、vol使用不同uart进行通讯 */ SFRADDR = P0_OE; //Set P02 As Output. SFRDATA |= 0x04; @@ -110,7 +112,10 @@ void UART0_Init(void) S0RELL = LOBYTE(S0REL_VALUE);//s0rel=1023, baudrate = fclk/32 = 187.5k S0CON = 0x52; //SCON: MODE 1, 8-bit UART, RI enable - + + TI0 = 1; + RI0 = 1; + ES0 = 1; //Enable UART0 IRQ } @@ -133,31 +138,34 @@ void UART0_Init(void) void Uart0SendPacket(uint16_t Length,uint8_t *TransBuf) { uint8_t i = 0; + + SFRADDR = P0_OE; //Set P02 And P03 As Output. + SFRDATA |= 0x0C; - S0CON &=~ UART_REC_ENABLE; //Disable UART0's RX + SFRADDR = P0_IE; //Set P02 And P03 As Input. + SFRDATA &= ~0x0C; - for(i=0;i> 8) ) + if( S0BUF == EARPHONE_HEADER_HIGH ) { Rx0Status = 1; RX0_Cnt = 0; - RX0_Buffer[RX0_Cnt] = S0BUF; - - RX0_Cnt++; + RX0_Buffer[RX0_Cnt++] = S0BUF; } else { @@ -197,38 +204,37 @@ void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI break; case 1: - if(S0BUF == BOXHEADER) + if( S0BUF == EARPHONE_HEADER_LOW ) { Rx0Status = 2; - RX0_Buffer[RX0_Cnt] = S0BUF; - - RX0_Cnt++; + RX0_Buffer[RX0_Cnt++] = S0BUF; } else { Rx0Status = 0; - RX0_Cnt = 0; + RX0_Cnt = 0; } break; + case 2: - RX0_Buffer[RX0_Cnt] = S0BUF; + { + RX0_Buffer[RX0_Cnt++] = S0BUF; - RX0_Cnt++; - - if( RX0_Cnt == Vox_Comm_Data_Len ) + if( ( RX0_Cnt >= ( RX0_Buffer[2] + 4 ) ) || ( RX0_Cnt > COM0_Data_Lenth ) ) { - RX0DataLen = RX0_Buffer[2] + 4; //获取数据长度 - } - - if( (RX0DataLen == RX0_Cnt) || (RX0_Cnt > COM0_Data_Lenth) ) //当接收到的data个数等于RX0DataLen,这结束本次传输。 - { RX0_Cnt = 0; + Rx0Status = 0; - Uart0_RX_Finish_Flag = 1; - } - + + Uart0_RX_Finish_Flag = 1; + } + } + break; + + default: + break; } #endif } @@ -383,17 +389,7 @@ void uart1_Interrupt(void) interrupt Interrupt_Vector_RI1_TI1 RX1_Cnt++; - if( RX1_Cnt == Vox_Comm_Data_Len ) - { - RX1DataLen = RX1_Buffer[5] | (RX1_Buffer[6] << 8) + 9; //获取数据长度,Headr(1Byte) + Trandsmit Dir(1Byte) + CMD(2Bytes) + datalen(2Bytes) + CRC16(2Bytes) - } - - if( (RX1DataLen == RX1_Cnt) || (RX1_Cnt > COM0_Data_Lenth) ) //当接收到的data个数等于RX0DataLen,这结束本次传输。 - { - RX1_Cnt = 0; - Rx1Status = 0; - Uart1_RX_Finish_Flag = 1; - } + break; } #endif diff --git a/UsrSrc/userapp/userapp.c b/UsrSrc/userapp/userapp.c index bf45998..972dfe2 100644 --- a/UsrSrc/userapp/userapp.c +++ b/UsrSrc/userapp/userapp.c @@ -47,6 +47,7 @@ \******************************************************************************/ xdata s_sys_state Systerm_State = {SLEEP_STATE,AWAKE_STATE,AWAKE_STATE}; +uint8_t Step_Cnt = 0; uint8_t LED_On_Timer = 0; //led亮时间计时 @@ -114,6 +115,20 @@ void LED_Display_App(void) static bit Disp_Bat_Lev; + if( LED_On_Flag ) + { + LED_On_Flag = 0; + + LED_On_Timer = 0; + + Display_AllOff(); + +#if SLEEP_ENABLE + Enter_Sleep_Cnt_Restart_Flag = 1; +#endif + return; + } + #ifdef NTC_ENABLE /*NTC保护,4灯一直快闪(2Hz)*/ if( NTC_Pro_Flag || Vox_Output_Short_Flag ) @@ -126,30 +141,27 @@ void LED_Display_App(void) } else { - if( Display_RSta != LED_KEEP_FLASHING ) + if( Display_RSta != LED_FLASH ) { Display_Red_Flash(20,10); } - if( Display_GSta != LED_KEEP_FLASHING ) + if( Display_GSta != LED_FLASH ) { Display_Green_Flash(20,10); } - if( Display_YSta != LED_KEEP_FLASHING ) + if( Display_YSta != LED_FLASH ) { Display_Yellow_Flash(20,10); } - if( Display_BSta != LED_KEEP_FLASHING ) + if( Display_BSta != LED_FLASH ) { Display_Blue_Flash(20,10); } } -#if SLEEP_ENABLE - Enter_Sleep_Cnt_Restart_Flag = 1; -#endif return; } @@ -161,21 +173,27 @@ void LED_Display_App(void) LED_On_ChgDone_Flag = 0; LED_On_Chg_Flag = 0; + + CoverEvent_Flg_led = 0; + + Earphone_Chg_Flag = 0; Wkup_Earphone_Flag = 1; } #endif - if (ChgStatus == CHG_STA_ING) //ChgStatus = CHG_STA_ING + if (ChgStatus != CHG_NONE) { - if ( Charger_Done ) // 充电完成,4个LED常亮 + if ( ChgStatus == CHG_STA_COMPLETED ) // 充电完成,4个LED常亮 { if( !LED_On_ChgDone_Flag ) { LED_On_ChgDone_Flag = 1; LED_Breating_Light_Off(); + + return; } Display_AllOn(); @@ -186,6 +204,8 @@ void LED_Display_App(void) { LED_On_Chg_Flag = 1; + LED_On_ChgDone_Flag = 0; + LED_On_Flag = 1; Breathing_Light_Cnt = LED_R; @@ -279,17 +299,6 @@ void LED_Display_App(void) return; } - - if( LED_On_Flag ) - { - LED_On_Timer = 0; - - LED_On_Flag = 0; - - Display_AllOff(); - - return; - } if( CoverEvent_Flg_led || Disp_Bat_Lev || Earphone_Chg_Flag || Key_Press_short_irq ) { @@ -298,7 +307,7 @@ void LED_Display_App(void) LED_On_Timer++; } else - if( LED_On_Timer < LED_ON_CNT ) //LED显示5s后灭。 + if( LED_On_Timer < LED_ON_CNT ) //LED显示10s后灭。 { LED_On_Timer++; @@ -345,7 +354,7 @@ void LED_Display_App(void) Key_Press_short_irq = 0; - LED_On_Flag = 1; //清LED显示 + Display_AllOff(); //清LED显示 } } } @@ -355,19 +364,19 @@ void LED_Display_App(void) /* ******************************************************************************* -* uint8_t PMU_ADC_GetValue_Machine(void) +* void PMU_ADC_GetValue_Machine(void) * * Description : PMU(xSen) ADC值获取函数,使能一个通道后,在中断中取值,每使能一个通道,需要运行一个UserAPP周期。 (5ms调用周期) * * Arguments : NONE -* Returns : 1:完成一次全通道采样; +* Returns : NONE * Notes : NONE * ******************************************************************************* */ -uint8_t PMU_ADC_GetValue_Machine(void) +void PMU_ADC_GetValue_Machine(void) { #ifdef _DEBUG_ADC printf("adc chn:%d,pmu:%d,Ivol:%d,Vbat:%d,Vin:%d,Vpmid:%d,Vor:%d,Vol:%d,Vdd:%d,Ivor:%d.\r\n",(u16)ADC_Chn_Num,(u16)g_Vpmu_Adc,(u16)g_pmu_Adc_Ivol,(u16)Vbat_Adc,(u16)g_pmu_Adc_Vin,(u16)g_pmu_Adc_Vpmid,(u16)g_pmu_Adc_Vor,(u16)g_pmu_Adc_Vol,(u16)g_pmu_Adc_Vdd,(u16)g_pmu_Adc_Ivor); @@ -377,12 +386,8 @@ uint8_t PMU_ADC_GetValue_Machine(void) if( ADC_Chn_Num >= pmu_ADC_MAX ) { - ADC_Chn_Num = 0; - - return 1; + ADC_Chn_Num = 0; } - - return 0; } /* @@ -401,13 +406,6 @@ uint8_t PMU_ADC_GetValue_Machine(void) */ void System_Drivers_Machine(void) { -#if CHARGER_ENABLE - Charger_Handler(); -#endif - -#if DISCHARGE_ENABLE - DisCharge_Handler(); -#endif #if HALL_ENABLE Hall_Handler(); @@ -424,6 +422,15 @@ void System_Drivers_Machine(void) if ( F_sys_tim_100ms ) { F_sys_tim_100ms = 0; + +#if CHARGER_ENABLE + Charger_Handler(); +#endif + +#if DISCHARGE_ENABLE + DisCharge_Handler(); +#endif + #if BAT_VALUE check_bat_level(); #endif @@ -495,6 +502,8 @@ void SysTem_State_Machine(void) 系统唤醒后需要处理的功能; 1、使能中断; */ + Set_PMU_StandbyMode_Set(ON); //开启LDO + #ifdef _DEBUG_MAIN printf("Awake State (line:%d)\r\n", (uint16_t)__LINE__); #endif @@ -517,7 +526,6 @@ void SysTem_State_Machine(void) 进入Sleep模式前的一些准备工作; 1、使能唤醒中断; */ - #ifdef _DEBUG_MAIN printf("Sleep State (line:%d)\r\n", (uint16_t)__LINE__); @@ -575,10 +583,11 @@ void SysTem_State_Machine(void) #ifdef _DEBUG_MAIN - // printf("STA0:0x%x,STA1:0x%x,STA2:0x%x,Chip_STA:0x%x,VOX_STA:0x%x.Dec_Sleep:%d\r\n",(u16)(pmu_Info.pmu_Fault_STA0),(u16)(pmu_Info.pmu_Fault_STA1),(u16)(pmu_Info.pmu_Fault_STA2),(u16)(pmu_Info.pmu_Chip_STA),(u16)(pmu_Info.pmu_VOX_STA),(u16)Decnt_SleepDelay); + printf("STA0:0x%x,STA1:0x%x,STA2:0x%x,Chip_STA:0x%x,VOX_STA:0x%x.Dec_Sleep:%d\r\n",(u16)(pmu_Info.pmu_Fault_STA0),(u16)(pmu_Info.pmu_Fault_STA1),(u16)(pmu_Info.pmu_Fault_STA2),(u16)(pmu_Info.pmu_Chip_STA),(u16)(pmu_Info.pmu_VOX_STA),(u16)Decnt_SleepDelay); // printf("Chg Sta:0x%x.,batPec:%d.\r\n",(u16)ChgStatus,(u16)bat_level_Pec); printf("Vntc:%d,Ivol:%d,Vbat:%d,Vin:%d,Vpmid:%d,Vor:%d,Vol:%d,Vdd:%d,Ivor:%d.\r\n",(u16)g_Vntc_Adc,(u16)g_pmu_Adc_Ivol,(u16)Vbat_Adc,(u16)g_pmu_Adc_Vin,(u16)g_pmu_Adc_Vpmid,(u16)g_pmu_Adc_Vor,(u16)g_pmu_Adc_Vol,(u16)g_pmu_Adc_Vdd,(u16)g_pmu_Adc_Ivor); + #endif if(Decnt_SleepDelay > 0) @@ -619,17 +628,25 @@ void SysTem_State_Machine(void) 1、检测唤醒源,是否需要唤醒系统; 2、定时唤醒,更新电池电量; */ - #if SLEEP_ENABLE + #if 1 if(Check_Require_Sleep()) { + VOX_EN_Type(VOX_ADT_Mode); + + Set_PMU_Boost(OFF); + + Set_PMU_StandbyMode_Set(OFF); //关闭LDO + Enter_Sleep(); } else { Systerm_State.Next_State = AWAKE_STATE; } - + #else + + Systerm_State.Next_State = AWAKE_STATE; #endif break; @@ -648,8 +665,6 @@ void SysTem_State_Machine(void) * Return : None * Note : None *****************************************************************************/ -uint8_t Step_Cnt = 0; - void UserAPP(void) { if(F_sys_tim_5ms) @@ -687,8 +702,9 @@ void UserAPP(void) if ( F_sys_tim_10ms ) { F_sys_tim_10ms = 0; - +#ifdef LED_DISPLAY LED_Drv(); +#endif } } diff --git a/UsrSrc/vox/vox_module.c b/UsrSrc/vox/vox_module.c index 7edb2b2..8ddda84 100644 --- a/UsrSrc/vox/vox_module.c +++ b/UsrSrc/vox/vox_module.c @@ -56,10 +56,7 @@ bit Vox_Output_Short_Flag = 0; #define BOOST_VOUT_MAX 2 //跟随充Boost输出电压上限值:0:4.6V,1:4.7V,2:4.8V,3:5.05V. -#define Vox_TX_Pattern_Tim 11 - -#define Vox_TX_Interval 2 //Vox定时发送指令时间间隔 -#define Vox_TX_Interval_2 3 +#define Vox_TX_Pattern_Tim 21 #define VOX_IOFF_HOLD_CNT 50 @@ -67,6 +64,8 @@ bit Vox_Output_Short_Flag = 0; #define VOX_CLOSE_HOLD_CNT 50 //关盖发码前保持时间 +#define MAX_PACKET_SIZE 0x20 + #if VOX_FOLLOW_CHG #define VOX_FOLLOW_CHG_INIT_CNT 10 @@ -109,9 +108,21 @@ xdata uint8_t Vox_Get_BES_Addr_Flag[2] = {0}; #endif +#ifdef VOX_TX + +idata uint8_t Net_Info[2][13] = {0}; + +idata uint8_t MAC_Addr[2][18] = {0}; + +uint8_t EarPhone_Num = 0; + +#endif + xdata uint8_t Earphone_Vbat[2] = 0; //对耳电量 xdata uint8_t Vox_Online_State[2] = {0}; //耳机在线标志位 +bit OpenCover_TX_Cmd_Flag = 0; + #define KEY_TWS_PAIR_TIMER 2 #define KEY_TWS_PAIR_CNT 6 @@ -328,8 +339,8 @@ xdata uint8_t Vox_Online_State[2] = {0}; // case VOX_COMM_Mode_Uart: - VOX_Confg |= VOX_CFG_Comx_Rup_2K |VOX_CFG_Vox_Rup_2K | VOX_CFG_Vox_Vup_VOXS; - + VOX_Confg |= VOX_CFG_Comx_Rup_2K | 0<<5 |VOX_CFG_Vox_Rup_2K | VOX_CFG_Vox_Vup_VOXS; + // VOX_Confg |= VOX_CFG_Vox_Vup_VOXS; Bst_VOX_Comm_EN |= BST_COMM_EN_Gate_Ctrl | ( BST_COMM_EN_Vor_Comm_En | BST_COMM_EN_Vol_Comm_En ); break; @@ -405,10 +416,10 @@ void Vox_Det_Machine(void) static bit Cover_Close_Flag; static bit Cover_Close_Flag1; + + static bit Cover_Close_Force_Vout_Flag; static bit Cover_Open_Flag; - - static bit TX_Cmd_Flag; static bit Cover_Open_5V_Flag; @@ -442,18 +453,20 @@ void Vox_Det_Machine(void) if( CoverEvent_Flg ) //Hall事件触发。 { if( !Boost_Open_Flag ) - { + { Set_PMU_Boost_Vout(BOOST_VPMID_5_2V); //开关盖Boost输出5.2V,保证耳机一定能被唤醒。 Set_PMU_Boost(ON); //Boost Enable;异常时由硬件主动关闭。开启Boost,开启Vox 5v会在开启Boost之后(100ms延时)。 Boost_Open_Flag = 1; +#ifdef _DEBUG_VOX + printf("Boost Open.(line:%d)\r\n",(u16)__LINE__); +#endif + VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V return; } - - VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V - + Vox_Output_Debounce = 0; Vox_Voltage_Hold_Timer = 0; //关盖清0,开盖使用 @@ -474,14 +487,12 @@ void Vox_Det_Machine(void) Vox_Chg_Full_Flag = 0; + Cover_Close_Force_Vout_Flag = 0; + Vox_Getinto_Sleep_Flag = 0; Vox_Chn_Select = 0; - Vox_Get_BES_Addr_Flag[VOL_TYPE] = 0x00; - - Vox_Get_BES_Addr_Flag[VOR_TYPE] = 0x00; - Vox_Vout_Enable = ON; Wkup_Earphone_Flag = 0; @@ -494,7 +505,7 @@ void Vox_Det_Machine(void) Follow_Chg_Sta = Vox_Follow_Chg_InitSta; #endif #ifdef _DEBUG_VOX - printf("Box Close.\r\n"); + printf("Box Close.(line:%d)\r\n",(u16)__LINE__); #endif } else //2、开盖处理:5v 500ms 转0V 500ms,后转ADT模式。 @@ -507,14 +518,15 @@ void Vox_Det_Machine(void) Cover_Open_5V_Flag = 0; #ifdef _DEBUG_VOX - printf("Box Open.\r\n"); + printf("Box Open.(line:%d)\r\n",(u16)__LINE__); #endif } + Boost_Open_Flag = 0; + CoverEvent_Flg = 0; } - /* 发送开盖指令*/ if( Cover_Open_Flag ) /*开盖后,5V持续N00ms后0V持续N00ms,保证耳机能被唤醒;之后发开盖码。*/ { @@ -561,9 +573,7 @@ void Vox_Det_Machine(void) Get_CHIP_STA1_Flag1 = 1; - TX_Cmd_Flag = 1; - - Boost_Open_Flag = 0; + OpenCover_TX_Cmd_Flag = 1; Vox_Vout_Enable = OFF; #ifdef _DEBUG_VOX @@ -573,30 +583,60 @@ void Vox_Det_Machine(void) } else { - if( TX_Cmd_Flag ) + if( Event_key == KEY_EVENT_Empty ) { - TX_Cmd_Flag = 0; - - CHIP_STA1_BK = pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ); - } - else - { - /*耳机出入盒判断*/ - if( CHIP_STA1_BK != ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。 + if( OpenCover_TX_Cmd_Flag ) { - if( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) - { - Earphone_Chg_Flag = 1; -#ifdef LED_DISPLAY - LED_On_Flag = 1; -#endif -#ifdef _DEBUG_VOX - printf("Open Box And Earphone GetIn.\r\n"); -#endif - - } + OpenCover_TX_Cmd_Flag = 0; - CHIP_STA1_BK = ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ); + CHIP_STA1_BK = pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ); + + if ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) + { + if ( ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) == ( VOR_LoadOn | VOL_LoadOn ) ) + { + EarPhone_Num = 2; + } + else + { + EarPhone_Num = 1; + } + } + else + { + EarPhone_Num = 0; + } + } + else + { + /*耳机出入盒判断*/ + if( CHIP_STA1_BK != ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) ) //查询耳机loadon状态,loadon状态改变,则说明有耳机出入盒。 + { + if ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) + { + Earphone_Chg_Flag = 1; +#ifdef LED_DISPLAY + LED_On_Flag = 1; +#endif + if ( ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ) == ( VOR_LoadOn | VOL_LoadOn ) ) + { + EarPhone_Num = 2; + } + else + { + EarPhone_Num = 1; + } + } + else + { + EarPhone_Num = 0; + } + +#ifdef _DEBUG_VOX + printf( "Open Box And Earphone GetIn(Num:%d)(VoxSta:0x%x).\r\n",(u16)EarPhone_Num, (u16)(pmu_Info.pmu_VOX_STA) ); +#endif + CHIP_STA1_BK = ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ); + } } } } @@ -621,98 +661,96 @@ void Vox_Det_Machine(void) Follow_Chg_Sta = Vox_Follow_Chg_InitSta; #endif - Vox_TX_Timer = 0; - Vox_Voltage_Hold_Timer = 0; - Vox_Output_Debounce = 0; - Vox_Chg_Full_Flag = 0; + Cover_Close_Force_Vout_Flag = 1; + return; } - VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V + 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; + Wkup_Earphone_Flag = 0; } else { - if( Vox_Voltage_Hold_Timer <= VOX_VOLTAGE_HOLD_CNT ) //关盖Boost VPMID保持时间。 + if( !Cover_Close_Force_Vout_Flag ) { - Vox_Voltage_Hold_Timer++; + if( Vox_Voltage_Hold_Timer <= VOX_VOLTAGE_HOLD_CNT ) //关盖Boost VPMID保持时间。 + { + Vox_Voltage_Hold_Timer++; + + return; + } + /*发码*/ + if( Vox_TX_Timer <= Vox_TX_Pattern_Tim ) //发送关盖指令。 + { + if( (Vox_TX_Timer % Vox_TX_Interval_2) == 0 ) //200ms发送一次 + { +#ifdef VOX_TX + HandleTxCommand(VHOUSE_CMD_CLOSE_BOX,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 +#endif + } + else + if( (Vox_TX_Timer % Vox_TX_Interval) == 0 ) //200ms发送一次 + { +#ifdef VOX_TX + HandleTxCommand(VHOUSE_CMD_CLOSE_BOX,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 +#endif + } - return; - } - /*发码*/ - if( Vox_TX_Timer <= Vox_TX_Pattern_Tim ) //发送关盖指令。 - { - if( (Vox_TX_Timer % Vox_TX_Interval_2) == 0 ) //200ms发送一次 - { -#ifdef VOX_TX - HandleTxCommand(VHOUSE_CMD_CLOSE_BOX,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 -#endif - } - else - if( (Vox_TX_Timer % Vox_TX_Interval) == 0 ) //200ms发送一次 - { -#ifdef VOX_TX - HandleTxCommand(VHOUSE_CMD_CLOSE_BOX,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 -#endif + Vox_TX_Timer++; + + return; } - Vox_TX_Timer++; + if( Vox_Output_Debounce <= Vox_TX_Pattern_Tim ) //关盖后5s发送获取电量命令。 + { + if( (Vox_Output_Debounce % Vox_TX_Interval_2) == 0 ) //200ms发送一次 + { +#ifdef VOX_TX + HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 +#endif + } + else + if( (Vox_Output_Debounce % Vox_TX_Interval) == 0 ) //200ms发送一次 + { +#ifdef VOX_TX + HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 +#endif + } - return; + Vox_Output_Debounce++; + + return; + } } } - - if( Vox_Output_Debounce <= VOX_CLOSE_HOLD_CNT ) //关盖后5s发送获取电量命令。 - { - if( (Vox_Output_Debounce % Vox_TX_Interval_2) == 0 ) //200ms发送一次 - { -#ifdef VOX_TX - HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOL_CHAN); //左耳发开盖指令,区分耳机通道。 -#endif - } - else - if( (Vox_Output_Debounce % Vox_TX_Interval) == 0 ) //200ms发送一次 - { -#ifdef VOX_TX - HandleTxCommand(VHOUSE_CMD_CLOSE_WIN_GET_VBAT,VOR_CHAN); //右耳发开盖指令,区分耳机通道。 -#endif - } - - Vox_Output_Debounce++; - - return; - } /* 发完关盖码后,开启VOX VOUT 5V输出。 */ if( Cover_Close_Flag1 ) { - VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V - + VOX_EN_Type(VOX_VOUT_Mode); //VOX Enable 5V +#ifdef _DEBUG_VOX + printf("VOX Vout 5V(VOX_STA:0x%x,line:%d).\r\n",(uint16_t)(pmu_Info.pmu_VOX_STA), (uint16_t)__LINE__); +#endif Cover_Close_Flag1 = 0; } - -#if VOX_FOLLOW_CHG - - if ( Vox_Fllow_Chg.Vox_Follow_Stop == OFF ) - { - Vox_Follow_Chg( &Vox_Fllow_Chg ); //跟随充处理。 - } else -#endif - { + { if( !Vox_Chg_Full_Flag ) { - if( ( (pmu_Info.pmu_VOX_STA & ( VOR_Ioff | VOL_Ioff ) ) == ( VOR_Ioff | VOL_Ioff ) )|| !(pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。 + if( ( (pmu_Info.pmu_VOX_STA & ( VOR_Ioff | VOL_Ioff ) ) == ( VOR_Ioff | VOL_Ioff ) )|| !( pmu_Info.pmu_VOX_STA & ( VOL_LoadOn | VOR_LoadOn ) ) || F_batlevel_low ) //耳机充满、VOX无负载、盒子低电,则关闭Vout输出通路,关闭Boost。 { - if( Vox_Voltage_Hold_Timer < VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。 + if( Vox_Voltage_Hold_Timer <= VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。 { Vox_Voltage_Hold_Timer++; @@ -724,10 +762,23 @@ void Vox_Det_Machine(void) Vox_Chg_Full_Flag = 1; - Boost_Open_Flag = 0; - + Vox_Output_Debounce = 0; + + Vox_Voltage_Hold_Timer = 0; + + Vox_Getinto_Sleep_Flag = 0; + VOX_EN_Type(VOX_ADT_Mode); //VOX Enable ADT } + else + { +#if VOX_FOLLOW_CHG + if ( Vox_Fllow_Chg.Vox_Follow_Stop == OFF ) + { + Vox_Follow_Chg( &Vox_Fllow_Chg ); //跟随充处理。 + } +#endif + } } else { @@ -767,7 +818,7 @@ void Vox_Det_Machine(void) } } } - + Bat_Low_Pro_Flag = 0; } else @@ -799,7 +850,8 @@ void Vox_Det_Machine(void) CHIP_STA1_BK = ( pmu_Info.pmu_VOX_STA & ( VOR_LoadOn | VOL_LoadOn ) ); } - } + } + } #if VOX_FOLLOW_CHG @@ -810,7 +862,7 @@ void Vox_Det_Machine(void) * * Description : Vox 跟随充处理函数。 (40ms调用周期) * -* Arguments : NONE +* Arguments : g_Vox_Fllow_Chg_Cfg *g_Vox_Fllow_Chg * Returns : NONE @@ -839,7 +891,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if( !nVpmid_Value_Setting ) { Set_PMU_Boost_Vout(n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present); -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG InitSta Set Max Vpmid.(Vox_sta:0x%x)(line:%d)\r\n",(u16)pmu_Info.pmu_VOX_STA, (u16)__LINE__); #endif nVpmid_Value_Setting = 1; @@ -848,7 +900,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) else { Vox_Follow_Init_Deb = 0; - + /* 参数初始化。 */ nVpmid_Value_Setting = 0; n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = OFF; @@ -878,7 +930,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) Follow_Chg_Sta = Vox_Follow_Chg_Sta1; Vox_Follow_Chg_Debounce = 0; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG InitSta.(Vox_sta:0x%x)(line:%d)\r\n",(u16)pmu_Info.pmu_VOX_STA, (u16)__LINE__); #endif } @@ -893,7 +945,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->Vox_Follow_Stop = ON; Follow_Chg_Sta = Vox_Follow_Chg_InitSta; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta1,No EarPhone In Box.(line:%d)\r\n",(u16)__LINE__); #endif } @@ -907,7 +959,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] = ( g_pmu_Adc_Ivor / 5 ) << 2; //Ivox_Threshold_Neg = IVox_Init * 80% n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOR_CHAN] = g_pmu_Adc_Ivor << 1; //Ivox_Threshold_Neg = IVox_Init * 2 -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta1,VOR Chging(Ivor:%dmA).(line:%d)\r\n",g_pmu_Adc_Ivor,(u16)__LINE__); #endif @@ -920,7 +972,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] = ( g_pmu_Adc_Ivol / 5 ) << 2; //Ivox_Threshold_Neg = IVox_Init * 80% n_Vox_Fllow_Chg->IVox_Threshold_Pos[VOL_CHAN] = g_pmu_Adc_Ivol << 1; //Ivox_Threshold_Neg = IVox_Init * 2 -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta1,VOL Chging(Ivol:%dmA).(line:%d)\r\n",g_pmu_Adc_Ivol,(u16)__LINE__); #endif @@ -948,7 +1000,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] = g_pmu_Adc_Ivor; n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] = ON; //判断VOR有耳机在盒正常抽电 -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta2,Get IVOR:%dmA.(line:%d)\r\n",(u16)g_pmu_Adc_Ivor,(u16)__LINE__); #endif } @@ -958,7 +1010,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] = g_pmu_Adc_Ivol; n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] = ON; //判断VOL有耳机在盒正常抽电 -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta2,Get IVOL:%dmA.(line:%d)\r\n",(u16)g_pmu_Adc_Ivol,(u16)__LINE__); #endif } @@ -984,7 +1036,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) Follow_Chg_Sta = Vox_Follow_Chg_InitSta; n_Vox_Fllow_Chg->Vox_Follow_Start = OFF; //重启动跟随充 -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta3,VOX Chg ReInit.(line:%d)\r\n",(u16)__LINE__); #endif } @@ -1002,14 +1054,14 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) { n_Vox_Fllow_Chg->Vox_InBox_Sta[VOR_CHAN] = OFF; } -#ifdef _DEBUG_VOX +#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__); #endif } else //未检测到Ivor Ioff,则Vpmid降档 { n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } @@ -1019,14 +1071,14 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if ( n_Vox_Fllow_Chg->IVox_At_Present[VOR_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOR_CHAN] ) { n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } else { n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } @@ -1045,14 +1097,14 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) { n_Vox_Fllow_Chg->Vox_InBox_Sta[VOL_CHAN] = OFF; } -#ifdef _DEBUG_VOX +#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__); #endif } else //未检测到Ivol Ioff,则Vpmid降档 { n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } @@ -1062,14 +1114,14 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if ( n_Vox_Fllow_Chg->IVox_At_Present[VOL_CHAN] > n_Vox_Fllow_Chg->IVox_Threshold_Neg[VOL_CHAN] ) { n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } else { n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON; -#ifdef _DEBUG_VOX +#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__); #endif } @@ -1108,12 +1160,12 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON; Follow_Chg_Sta = Vox_Follow_Chg_Sta2; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta4,VOx Vpmid AddSta(Vout:0x%x,Ivol:%dmA,Ivor:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivol,g_pmu_Adc_Ivor,(u16)__LINE__); #endif } -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW else { printf("Follow CHG Sta4,VOx Ching(Vout:0x%x,Ivol:%dmA,Ivor:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivol,g_pmu_Adc_Ivor,(u16)__LINE__); @@ -1134,11 +1186,11 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->Vpmid_AddSta[VOR_CHAN] = ON; Follow_Chg_Sta = Vox_Follow_Chg_Sta2; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta4,VOR Vpmid AddSta(Vout:0x%x,Ivor:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivor,(u16)__LINE__); #endif } -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW else { printf("Follow CHG Sta4,VOR Ching(Vout:0x%x,Ivor:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivor,(u16)__LINE__); @@ -1154,11 +1206,11 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) n_Vox_Fllow_Chg->Vpmid_AddSta[VOL_CHAN] = ON; Follow_Chg_Sta = Vox_Follow_Chg_Sta2; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG Sta4,VOL Vpmid AddSta(Vout:0x%x,Ivol:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivol,(u16)__LINE__); #endif } -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW else { printf("Follow CHG Sta4,VOL Ching(Vout:0x%x,Ivol:%dmA)(line:%d).\r\n",n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,g_pmu_Adc_Ivol,(u16)__LINE__); @@ -1184,7 +1236,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if( ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) && ( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) ) { n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG SubSta,VOL/VOR(line:%d).\r\n",(u16)__LINE__); #endif } @@ -1194,7 +1246,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOR_CHAN] == ON ) { n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG SubSta,VOR(line:%d).\r\n",(u16)__LINE__); #endif } @@ -1205,7 +1257,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) if( n_Vox_Fllow_Chg->Vpmid_SubSta[VOL_CHAN] == ON ) { n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = ON; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG SubSta,VOL(line:%d).\r\n",(u16)__LINE__); #endif } @@ -1236,7 +1288,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) Vox_Follow_Chg_Debounce = 0; n_Vox_Fllow_Chg->Vpmid_SubSta_Flag = OFF; -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG SubSta,(STA:0x%x,Vpmid:0x%x)(line:%d)\r\n",(u16)Follow_Chg_Sta,(u16)n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,(u16)__LINE__); #endif Set_PMU_Boost_Vout( n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present ); @@ -1265,7 +1317,7 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) Follow_Chg_Sta = Vox_Follow_Chg_Sta1; } -#ifdef _DEBUG_VOX +#ifdef _DEBUG_FOLLOW printf("Follow CHG AddSta,(STA:0x%x,Vpmid:0x%x)(line:%d)\r\n",(u16)Follow_Chg_Sta,(u16)n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present,(u16)__LINE__); #endif Set_PMU_Boost_Vout(n_Vox_Fllow_Chg->Vpmid_Threshold_At_Present); @@ -1343,14 +1395,6 @@ void Vox_Follow_Chg( g_Vox_Fllow_Chg_Cfg *n_Vox_Fllow_Chg ) * ******************************************************************************* */ -idata uint8_t Net_Info[2][8] = {0}; - -idata uint8_t MAC_Addr[2][18] = {0}; - -uint8_t EarPhone_Num = 0; - -#define MAX_PACKET_SIZE 0x20 - void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) { uint8_t dataLen = 0; @@ -1388,14 +1432,14 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) case VHOUSE_CMD_EXCH_TWS_BTADDR: /*Data Length*/ - tx_pData[3] = 0x1B; + tx_pData[3] = MAX_PACKET_SIZE; for(i=5;i<18;i++) { tx_pData[i] = MAC_Addr[nVox_Chn_Select][i]; } - for(i=23;i<8;i++) + for(i=23;i<13;i++) { tx_pData[i] = Net_Info[nVox_Chn_Select][i]; } @@ -1467,6 +1511,7 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) tx_pData[dataLen] = Crc8Maxim(tx_pData,dataLen); #if 0 + /* vor、vol使用不同uart进行通讯 */ if(nVox_Chn_Select == VOL_CHAN) { @@ -1490,17 +1535,18 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) } #else + /* vor、vol都使用uart0进行分时通讯。 */ VOX_EN_Type( VOX_COMM_Mode_Uart ); - if(nVox_Chn_Select == VOL_CHAN) + if(nVox_Chn_Select == VOR_CHAN) { SFRADDR = MFP_CTL0; //关闭VOR到UART0的开关,配置P02为GPIO,P03为UART0。 SFRDATA &=~ 0x0F; SFRDATA |= 0x08; } else - if(nVox_Chn_Select == VOR_CHAN) + if(nVox_Chn_Select == VOL_CHAN) { SFRADDR = MFP_CTL0; //关闭VOL到UART0的开关,配置P03为GPIO,P02为UART0。 SFRDATA &=~ 0x0F; @@ -1508,12 +1554,25 @@ void HandleTxCommand(VOX_BES_COMMAND_E TxCommand, e_Vox_Chan nVox_Chn_Select) } #if UART0_ENABLE - Uart0SendPacket(dataLen + 1, tx_pData); + Uart0SendPacket(dataLen + 2, tx_pData); #endif -// VOX_EN_Type( VOX_VOUT_Mode ); + if(nVox_Chn_Select == VOR_CHAN) + { + SFRADDR = P0_IE; //Set P03 As Input. + SFRDATA &=~ 0x0C; + SFRDATA |= 0x08; + } + else + if(nVox_Chn_Select == VOL_CHAN) + { + SFRADDR = P0_IE; //Set P02 As Input. + SFRDATA &=~ 0x0C; + SFRDATA |= 0x04; + } #endif + } #endif @@ -1621,18 +1680,19 @@ void HandleRxMsg(VOX_BES_COMMAND_E RxCommand) void HandleVoxCommMsg(void) { uint8_t CrcCheckSum = 0; - uint8_t i = 0; /*RX数据处理*/ if( Uart0_RX_Finish_Flag ) { Uart0_RX_Finish_Flag = 0; + + printf("RX0_Buffer[0]:0x%x,RX0_Buffer[1]:0x%x,RX0_Buffer[2]:0x%x,RX0_Buffer[3]:0x%x,RX0_Buffer[4]:0x%x,RX0_Buffer[5]:0x%x,RX0_Buffer[6]:0x%x,RX0_Buffer[7]:0x%x,line:%d\r\n",(u16)RX0_Buffer[0],(u16)RX0_Buffer[1],(u16)RX0_Buffer[2],(u16)RX0_Buffer[3],(u16)RX0_Buffer[4],(u16)RX0_Buffer[5],(u16)RX0_Buffer[6],(u16)RX0_Buffer[7],(u16)__LINE__); CrcCheckSum = Crc8Maxim(RX0_Buffer, RX0_Buffer[2] + 3); //求校验和 if( CrcCheckSum == RX0_Buffer[RX0_Buffer[2] + 3] ) { - HandleRxMsg((VOX_BES_COMMAND_E)RX0_Buffer[3]); + HandleRxMsg( (VOX_BES_COMMAND_E)RX0_Buffer[3] ); } else { diff --git a/sy8835_demo.si4project/sy8835_demo.SearchResults b/sy8835_demo.si4project/sy8835_demo.SearchResults index a58fcc6..69d2c07 100644 --- a/sy8835_demo.si4project/sy8835_demo.SearchResults +++ b/sy8835_demo.si4project/sy8835_demo.SearchResults @@ -1,3 +1,10 @@ ----- I2C_Ack Matches (2 in 2 files) ---- -i2c_simu.c (UsrSrc\i2c_simu) line 135 : void I2C_Ack(void) -i2c_simu.h (UsrInc\i2c_simu) line 85 : void I2C_Ack(void); +---- Boost_Open_Flag Matches (9 in 3 files) ---- +Hall_Handler in hall.c (UsrSrc\hall) : Boost_Open_Flag = 0; +vox_module.c (UsrSrc\vox) line 35 : bit Boost_Open_Flag = 0; +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : if( !Boost_Open_Flag ) +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Boost_Open_Flag = 1; +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Boost_Open_Flag = 0; +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : if( !Boost_Open_Flag ) +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Boost_Open_Flag = 1; +Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Boost_Open_Flag = 0; +vox_module.h (UsrInc\vox) line 224 : extern bit Boost_Open_Flag; diff --git a/sy8835_demo.si4project/sy8835_demo.sip_sym b/sy8835_demo.si4project/sy8835_demo.sip_sym index 7f35d99..e0be1ba 100644 Binary files a/sy8835_demo.si4project/sy8835_demo.sip_sym and b/sy8835_demo.si4project/sy8835_demo.sip_sym differ diff --git a/sy8835_demo.si4project/sy8835_demo.siwork b/sy8835_demo.si4project/sy8835_demo.siwork index 8057732..953984a 100644 Binary files a/sy8835_demo.si4project/sy8835_demo.siwork and b/sy8835_demo.si4project/sy8835_demo.siwork differ