更改内容:1、更改电量各个电压档位阈值;2、调整NTC保护温度值;

3、关盖码中增加一个bit用于耳机快慢充标志,盒子电池电压低于3.55V该bit为0,反之为1;
4、取消跟随充,固定VOUT电压为4.6V输出;
5、增加盒子电压触发和取消低电报警时发送一次关盖码;
6、解决开盖触发两次灯效问题,方法:轻重载切换时,增加debounce 300ms滤波。
This commit is contained in:
Alex xu 2025-02-17 17:46:41 +08:00
parent a29b5cb50b
commit 53efc45d5b
19 changed files with 630 additions and 509 deletions

Binary file not shown.

View File

@ -1,214 +0,0 @@
:03000000020655A0
:10065500758E3075D20078FFE4F6D8FD75815902A4
:0206650006A2EB
:0C000E00120771D2AED2BE1205A880F716
:0C0B7000AE18AF19AB07AA06E4F9F82292
:02091300AD072E
:10091500E4FCFBFAF54DF54E75FE2975FF8BBD061A
:100925001775FE0143FF8075A541E5A520E0FB7520
:10093500A56175FE0153FF7FE4FCEDC454F044014D
:10094500F5A5E5A520E0FBAFA1AB07AFA2EFFEEE55
:10095500FAEB254EF54EEA354DF54D0CBC08DBE5B9
:0D0965004EAE4D7803CEC313CE13D8F9FF6C
:010972002262
:100AF600E4FE7F051209137C077DD01203D4C006DD
:0C0B0600C007120B70D007D0060203429B
:100B1200E4FE7F041209137C037DE81203D4C006AD
:0C0B2200C007120B70D007D0060203427F
:1007E000E4FFFEF54C120B12C3EF94D0EE940740D9
:1007F000037F0022D3EF942EEE94065030EF941234
:10080000EE94024028302112EF9406EE9406500731
:10081000C221E4F54C8003754C0130222BD3EF94B8
:1008200033EE9402401FC222E4F54C801BD3EF94B8
:100830002EEE94064004D221800BC3EF9412EE9466
:0A084000025002D222754C01AF4CA9
:01084A00228B
:1008B000E5E620E70953B3FE75F210C22322E5F204
:1008C000540C601053B3FEE5F354C0604575F20C50
:1008D00075F3C02275F3C030240453B3FE22E5F251
:1008E00030E416C3E51B94D2E51A940F500575F257
:1008F00010800353B3FED2232243B311E535D394C2
:10090000014002C227E535D394044004C225C22623
:03091000C22322DD
:1009C900E5E530E103C22E22E5E230E705C22ED289
:1009D9002F22302702802FE5E830E009C22E75E882
:1009E9000175B50122302406C22EE4F5B522D22EB6
:1009F900302F18E5E630E713C3E51B9410E51A9488
:0C0A09000E4003C22F22E4F5B5C22E22DD
:100AD700E5E25408FF65506015E5E230E305754F20
:0E0AE700018003E4F54FD230D231D21B8F5084
:010AF50022DE
:1006E700E5E220E1500551E551C3941E4010301D4D
:1006F70040C21DD21C301439D21FD21B8033E551A2
:10070700C3940A402C201D29202726D220E5519486
:100717000C500D43B730E4F5B575FE0653FFF922CB
:10072700D28175FE0643FF0253B7CFD21AD213D236
:100737001DD21E800C301E06C21EC21DC220E4F54B
:1007470051301C25E552C394175019E55275F00531
:1007570084E5F0700C301409D22CF516751705D204
:090767002D055222C21CE4F552DA
:010770002266
:100973007855E6604D7857E6FFD318965004D28435
:100983008002C284EFC394AA4018E47857F67859DA
:10099300E660067856161680097858E6600478569D
:1009A30006067856E6FF74AAD39F50097859760154
:1009B300E418F6800DEFD39401500778587601E4DC
:0609C30008F67857062239
:100B5F00E5E220E006201503303204C232C322D36F
:010B6F002263
:1007710075FE8043FF3075FE0153FFFCD28175FE8B
:100781000643FF1AD21B75B7C375FE6A75FF047560
:10079100FE6C43FF0AC215758901758CFC758A666A
:1007A100D2A9D28C438910758DFF758BA4D2ABD29F
:1007B1008E7586807518017519377550FF75FE0F96
:1007C10043FF8075FE4F75FF1075FE1775FF3CD214
:0F07D100A8D2B9D2AF75B104E4F515751F0C228B
:03000300020006F2
:0100060032C7
:03004B000200446C
:0600440075EB3CD23232E4
:090B8700E55375F00584E5F02248
:0B0B7C00E47855F6C283C284D2322216
:10040100202406300E27201224201608D216E4F5E7
:1004110053020B7CE553C39467500D0553120B87B0
:1004210060030204DEB28322C283D212223016118B
:10043100C216120B7CC217C219C20FC231D21BD213
:100441001AE5E630E727201F2430230C201905D2B6
:1004510019120B7CD2848010201709D217C21912ED
:100461000B7C800478557601C231C21B22301708FB
:10047100C217C219D21BD21A301B08E4F553C21B92
:10048100120B7C302707201854D2188048200F0601
:10049100201F03303147C218301F0575542B8003CC
:1004A100755423E553C394055003055322E553C303
:1004B100955450210553301F0A120B87701FB284C7
:1004C100C2832230260A120B877012B283C28422A1
:0D04D100D284C28322C21FC231C20FD21BCF
:0104DE0022FB
:1005A800302905C2291204DF30282FC228120AD7A1
:1005B8001209C91208B01206E7120AF68E1A8F1B22
:1005C8001207E0EF24FF92247F061209138E188F7A
:1005D8001912004E12084B120401302A6FC22AE584
:1005E8001FD394004009151F303261C232805A125D
:1005F8000B5F5055E5E220E70330120875FE2453DF
:10060800FFC3800675FE2443FF3CC2ABC2B9C2A932
:100618007F01120B3275FE2953FF7F75FE8053FF51
:10062800CF43870275FE8043FF30D2B9D2A9D2AB3F
:10063800301214D28175FE0643FF0275B7C3D2305B
:0D06480075E80CC20EC2128000751F0C2256
:100A5A0075FE6A53FFDF75FE6C53FF3F22D22CC22C
:100A6A002DE53444C4751600F51722E4F50FF51088
:100A7A00F50DF50EC209C20A2275FE8F75FF69755A
:0F0A8A00FE7853FFFC22E50B75F00584E5F022A2
:040B2E00C2157F016C
:100B3200E4F5B5EF24FF928175FE0653FFFB43FFF8
:080B420002BF010353B7CF22EB
:100B4A0075FE0643FF0453FFFDC28275B501BF015E
:050B5A000343B7302247
:10004E00202E030202FB30130CC2137F01120B325F
:10005E00D200C2142230000CC200E5E354ACFFBF44
:10006E00A002D21430261D20251AE50CC394175079
:10007E000DE50C120A927003120A67050C22D225A6
:10008E00E4F50C2230304EE5B5700302023B43B767
:10009E0030E4F50BF509F50AC201C20EC212C20810
:1000AE00D215E54F7010C20FD202D205D206C2038E
:1000BE00C20BC211801DC202D203120A75C20CC23B
:1000CE000D120A8343FF0275FE8F75FF01120A5A45
:1000DE0043FF40C2302003030201F1E509C394023D
:1000EE005003050922301A1AE5B5700302023B12BD
:1000FE000A75C201750BFFF50AC20CC20D43B7306B
:10010E00C21A3001030201C3E50BC39417500D123E
:10011E000A907003120A67050B0201F120093EE5F1
:10012E00E35488FFBF8823C3E5109470E50F94173E
:10013E00500A0510E510700E050F800A53B7DFD276
:10014E0009E4F50FF510C20C8013E5E330E70E203D
:10015E000C0BE4F50FF510D20CD20FD21B200A3E79
:10016E00E5E35424FFBF2423C3E50E9470E50D94FC
:10017E0017500A050EE50E700E050D800A53B7EFE7
:10018E00D20AE4F50DF50EC20D8013E5E330E50E4F
:10019E00200D0BD20DE4F50DF50ED20FD21B30094A
:1001AE0042300A3FD201C209C20AC20CC20D120B62
:1001BE002ED204802E20202B300404C204801EE593
:1001CE00E354A06508601C050AE50AD39403501396
:1001DE00E5E354A06004D20FD21BE4F50AE5E35424
:1001EE00A0F5082002030202F8301A14E5B57002D9
:1001FE00803BC205E4F50AF509C20843B730C21ABE
:10020E00E50AC3940A5003050A22200119E50BC31F
:10021E009417500D120A907004D22CD22B050B801D
:10022E0005D201E4F50B20060DE5B57004FF020BB7
:10023E004A43B730D206E5E8540C602520121D055E
:10024E000BE50BC394055003020305E4F50B75E8AB
:10025E000C53B7CF43B730D20EC215227F01020B1B
:10026E0032C20EC212200B68201116751103C21075
:10027E0075FE6A43FF20120A6043FF80D21102020C
:10028E00F8E509C3940A5003050922E4F509E5E3EC
:10029E00540C601C0511D210C3E511648094824089
:1002AE0020751102C211D20B120A5A43FF4080115F
:1002BE0020100E1511D3E511648094805003E4F5DF
:1002CE0011120A83E51142FF75FE8F75FF01801A28
:1002DE00200817E5E354ACFFBFAC0FE509C3943C0F
:1002EE005003050922D208120B2EC207222007073F
:0702FE00D207120B2ED21AE9
:0103050022D5
:10001E0016360C800DAC0E100E740ED80F3C0F6EF3
:10002E000FA01004103610680B280A181A20222868
:05003E00292A303132D7
:10084B00E4FFEF25E02436F8E6FC08E6FDC3E51BE4
:10085B009DE51A9C40040FBF0BE8E5E16005E4F54C
:10086B00E18F35EFD395354004053380021533E521
:10087B0033D394BE5007E533C3940A50158F35E537
:10088B00276535600A74282FF8E6F534853527750A
:10089B003364E535D394005002D227E535D3940267
:0408AB005002D226FF
:0108AF002226
:03000B00020A994D
:100A9900C0E0C0D074FC258CF58C7466258AF58A73
:100AA900D229051CE51CC394644005751C00D22895
:100AB900051DE51DC394FA4010751D00051EE51EB0
:0E0AC90094044005751E00D22AD0D0D0E03231
:03001B00020A15C1
:100A1500C0E0C0F0C083C082C0D075D000C000C0A7
:100A250001C002C003C004C005C006C007C28F15BF
:100A35008D74A4258BF58B120973D007D006D005CC
:100A4500D004D003D002D001D000D0D0D082D08342
:050A5500D0F0D0E032FA
:030BFD00010104EF
:1004DF00202C030205A70514E5157048E514D394E5
:1004EF00375002802F302B17E514D3945F500280C2
:1004FF0015E514C394875002801A7515038025E5FE
:10050F0014D3944B50077F01120B4A8017E514C385
:10051F00945F5007E4FF120B328009751501302DDF
:10052F0003751204E515B4012B1512E512D39407C8
:10053F0040087512087515038003751502E517AE8F
:10054F0016A812088005CEC313CE13D8F95401F59F
:10055F0013E4F514E515B40211E514C39414500611
:10056F00E513601F801175150122E51564037028CE
:10057F00E514C3941450057F01020B4AE514C3948C
:10058F00285005E4FF020B327F01120B4AE4F514E9
:08059F00C22CC22DC22BF51580
:0105A7002231
:1006670002000EE493A3F8E493A34003F68001F29B
:1006770008DFF48029E493A3F85407240CC8C33394
:10068700C4540F4420C8834004F456800146F6DF63
:10069700E4800B010204081020408090001EE47ED5
:1006A700019360BCA3FF543F30E509541FFEE49358
:1006B700A360010ECF54C025E060A840B8E493A31F
:1006C700FAE493A3F8E493A3C8C582C8CAC583CA4A
:1006D700F0A3C8C582C8CAC583CADFE9DEE780BE02
:0100430000BC
:1003060075F008758200EF2FFFEE33FECD33CDCCAE
:1003160033CCC58233C5829BED9AEC99E582984031
:100326000CF582EE9BFEED9AFDEC99FC0FD5F0D60E
:10033600E4CEFBE4CDFAE4CCF9A88222B800C1B938
:100346000059BA002DEC8BF084CFCECDFCE5F0CB76
:10035600F97818EF2FFFEE33FEED33FDEC33FCEBAF
:1003660033FB10D703994004EB99FB0FD8E5E4F96A
:10037600FA227818EF2FFFEE33FEED33FDEC33FC57
:10038600C933C910D7059BE99A4007EC9BFCE99A4B
:10039600F90FD8E0E4C9FAE4CCFB2275F010EF2F90
:1003A600FFEE33FEED33FDCC33CCC833C810D70790
:1003B6009BEC9AE899400AED9BFDEC9AFCE899F8CB
:0E03C6000FD5F0DAE4CDFBE4CCFAE4C8F9225E
:1003D400EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DB6
:1003E400FDE43CFCE8A42EC8C5F03DFDE43CFCEF74
:0D03F400A4FFE5F028FEE43DFDE43CFC2202
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,210 @@
:03000000020635C0
:10063500758E3075D20078FFE4F6D8FD75815E02BF
:0206450006822B
:0C000E00120751D2AED2BE12058880F756
:0C0B3A00AE4CAF4DAB07AA06E4F9F82260
:02090E00AD0733
:10091000E4FCFBFAF551F55275FE2975FF8BBD0617
:100920001775FE0143FF8075A541E5A520E0FB7525
:10093000A56175FE0153FF7FE4FCEDC454F0440152
:10094000F5A5E5A520E0FBAFA1AB07AFA2EFFEEE5A
:10095000FAEB2552F552EA3551F5510CBC08DBE5AE
:0D09600052AE517803CEC313CE13D8F9FF69
:01096D002267
:100AB200E4FE7F0512090E7C077DD012039BC0065F
:0C0AC200C007120B3AD007D0060203094F
:100ACE00E4FE7F0412090E7C037DE812039BC00630
:0C0ADE00C007120B3AD007D00602030933
:1007D600E4FFFEF550120ACEC3EF94D0EE94074024
:1007E600037F0022D3EF941AEE94065030EF943331
:1007F600EE94024028301A12EF9406EE9406500743
:10080600C21AE4F5508003755001301B2BD3EF94C8
:1008160044EE9402401FC21BE4F550801BD3EF94B4
:100826001AEE94064004D21A800BC3EF9433EE946A
:0A083600025002D21B755001AF50B2
:010840002295
:10084100E5E620E70953B3FE75F210C21C22E5F27A
:10085100540C601053B3FEE5F354C0604A75F20CBA
:1008610075F3C02275F3C0301D0453B3FE22E5F2C7
:1008710030E416C3E54F94D2E54E940F500575F25E
:1008810010800353B3FED21C2243B311E535D39438
:10089100014002C226E535D394044009C224302523
:0808A10002D21EC225C21C2276
:1009C400E5E530E103C22D22E5E230E705C22DD290
:1009D4002E22302602802FE5E830E009C22D75E88A
:1009E4000175B50122301D06C22DE4F5B522D22DC4
:1009F400302E18E5E630E713C3E54F9410E54E9426
:0C0A04000E4003C22E22E4F5B5C22D22E4
:100A9300E5E25408FF65546015E5E230E30575535C
:0E0AA300018003E4F553D22FD230D2198F54C4
:010AB1002222
:1006C700E5E220E1500555E555C3941E4010302062
:1006D70040C220D21F301239D222D2198033E555B9
:1006E700C3940A402C202029202626D223E555949E
:1006F7000C500D43B730E4F5B575FE0653FFF922EC
:10070700D28175FE0643FF0253B7CFD218D211D25A
:1007170020D221800C302106C221C220C223E4F559
:1007270055301F25E556C394175019E55675F00542
:1007370084E5F0700C301209D22BF51B751C05D21D
:090747002C055622C21FE4F556F0
:010750002286
:10096E00785AE6604D785CE6FFD318965004D28430
:10097E008002C284EFC394AA4018E4785CF6785ED5
:10098E00E66006785B16168009785DE66004785B93
:10099E000606785BE6FF74AAD39F5009785E76014F
:1009AE00E418F6800DEFD394015007785D7601E4DC
:0609BE0008F6785C062239
:100B1B00E5E220E006201303303104C231C322D3B7
:010B2B0022A7
:1007510075FE8043FF3075FE0153FFFCD28175FEAB
:100761000643FF1AD21975B7C375FE6A75FF047582
:10077100FE6C43FF0AC213758901758CFC758A668C
:10078100D2A9D28C438910758DFF758BA4D2ABD2BF
:100791008E758680754C01754D377554FF75FE0F4A
:1007A10043FF8075FE4F75FF1075FE1775FF3CD234
:1007B100A8D2B9D2AF75B104C224C21E75FE8F751D
:1007C100FF6975FE7853FFFC75FE8F75FF01E4F537
:0507D1001A75590C220D
:03000300020006F2
:0100060032C7
:03004B000200446C
:0600440075EB3CD23132E5
:090B5100E55775F00584E5F0227A
:0B0B4600E4785AF6C283C284D2312248
:1003C800201D06300E2920102620140AD214E4F528
:1003D80057120B468016E557C39467500B05571202
:1003E8000B517008B2838004C283D210D2312230FC
:1003F8001411C214120B46C215C217C20FC230D252
:1004080019D218E5E630E727202224301C0C2017E3
:1004180005D217120B46D2848010201509D215C2B6
:1004280017120B468004785A7601C230C21922305E
:100438001508C215C217D219D218301908E4F55791
:10044800C219120B46302607201654D216804820AF
:100458000F06202203303047C21630220575582B6C
:100468008003755823E557C394055003055722E5C3
:1004780057C395585021055730220A120B51701F47
:10048800B284C2832230250A120B517012B283C281
:0F0498008422D284C28322C222C230C20FD21960
:0104A7002232
:10058800302805C2281204A830272FC227120A9340
:100598001209C41208411206C7120AB28E4E8F4FB2
:1005A8001207D6EF24FF921D7F0612090E8E4C8F7C
:1005B8004D12004E1208A91203C830296FC229E54E
:1005C80059D3940040091559303161C231805A120B
:1005D8000B1B5055E5E220E70330100875FE245345
:1005E800FFC3800675FE2443FF3CC2ABC2B9C2A953
:1005F8007F01120AEE75FE2953FF7F75FE8053FFB7
:10060800CF43870275FE8043FF30D2B9D2A9D2AB5F
:10061800301014D28175FE0643FF0275B7C3D22F7E
:0D06280075E80CC20EC210800075590C223E
:0E0B2C00E4F513F514F511F512C209C20A2200
:040AEA00C2137F01B3
:100AEE00E4F5B5EF24FF928175FE0653FFFB43FF3D
:080AFE0002BF010353B7CF2230
:100B060075FE0643FF0453FFFDC28275B501BF01A2
:050B16000343B730228B
:10004E00202D030202C230110CC2117F01120AEEE2
:10005E00D200C2122230000CC200E5E354ACFFBF46
:10006E00A002D212302F46E5B5700302026E43B7DE
:10007E0030E4F50FF510F509F50AC201C20EC210F3
:10008E00C208D213F50BF50CF50DF50EE5537010F5
:10009E00C20FD202D205D206C203C20BC224800BFB
:1000AE00C202D203120B2CD20CD20DC22F2003038C
:1000BE0002020B30181BE5B5700302026E120B2CF8
:1000CE00F50FF50AF509D20CD20D43B730C218D28E
:1000DE0013E509C3940250030509223001030201FE
:1000EE00DDE50FC39417501CE50F75F00584E5F0A0
:1000FE00700DD22BC22CE53444C4751B00F51C05C3
:10010E000F02020B200957E5E3548864887038C348
:10011E00E5149470E5139417500A0514E514700E47
:10012E000513800A53B7DFD209E4F513F514D3E5AE
:10013E000C9403E50B9400500A050CE50C701F059A
:10014E000B801BC20C8017E5E330E712200C0FE486
:10015E00F513F514F50BF50CD20CD20FD219200AAB
:10016E0057E5E3542464247038C3E5129470E51106
:10017E009417500A0512E512700E0511800A53B736
:10018E00EFD20AE4F511F512D3E50E9403E50D94C2
:10019E0000500A050EE50E701F050D801BC20D8066
:1001AE0017E5E330E512200D0FD20DE4F50DF50E37
:1001BE00F511F512D20FD219300942300A3FD20191
:1001CE00C209C20AC20CC20D120AEAD204802E2043
:1001DE00232B300404C204801EE5E354A06508609E
:1001EE001C050AE50AD394035013E5E354A06004FA
:1001FE00D20FD219E4F50AE5E354A0F50820020364
:10020E000202BF301818E5B570028054C205C2064E
:10021E00E4F50AF509C20843B730C218D213E50A4D
:10022E00C3940A5003050A22300106202503301E0E
:10023E0028202425E510C394175012E51075F005FB
:10024E0084E5F07004D22BD22A0510800CD2013036
:10025E002502D224C21EE4F51020060DE5B5700469
:10026E00FF020B0643B730D206E5E8540C6024209B
:10027E00101C0510E510C394054043E4F51075E815
:10028E000C53B7CF43B730D20EC208C213227F0130
:10029E00020AEEC20EC210200817E5E354ACFFBFEF
:1002AE00AC0FE509C3943C5003050922D208120A8B
:0E02BE00EAC20722200707D207120AEAD21866
:0102CC00220F
:10001E0016360C800D7A0DAC0DDE0E100E420E74DF
:10002E000ED80F3C0FA010680B280A1318191A1BB4
:05003E002022282C32F5
:1008A900E4FFEF25E02436F8E6FC08E6FDC3E54F52
:1008B9009DE54E9C40040FBF0BE8E5E16005E4F5BA
:1008C900E18F35EFD395354004053380021533E5C3
:1008D90033D394BE5007E533C3940A50158F35E5D9
:1008E900276535600A74282FF8E6F53485352775AC
:1008F9003364E535D394005002D226E535D394020A
:040909005002D225A1
:01090D0022C7
:03000B00020A5591
:100A5500C0E0C0D074FC258CF58C7466258AF58AB7
:100A6500D228051DE51DC394644005751D00D227D8
:100A7500051EE51EC394FA4010751E00051FE51FEF
:0E0A850094044005751F00D229D0D0D0E03275
:03001B00020A10C6
:100A1000C0E0C0F0C083C082C0D075D000C000C0AC
:100A200001C002C003C004C005C006C007C28F15C4
:100A30008D74A4258BF58B12096ED007D006D005D6
:100A4000D004D003D002D001D000D0D0D082D08347
:050A5000D0F0D0E032FF
:030BFD00010105EE
:1004A800202B030205870517E51A705FE517D3941B
:1004B8003750028046302A2E30250B75185FE51814
:1004C800243CF5198009751873E5182428F519E5F1
:1004D80017D3951850028015E517C3951950028057
:1004E8001A751A038025E517D3944B50077F01121C
:1004F8000B068017E517C3945F5007E4FF120AEE56
:100508008009751A01302C03751504E51AB4012BFE
:100518001515E515D394074008751508751A038055
:1005280003751A02E51CAE1BA815088005CEC31377
:10053800CE13D8F95401F516E4F517E51AB40211EB
:10054800E517C394145006E516601F8011751A014B
:1005580022E51A64037028E517C3941450057F0137
:10056800020B06E517C394285005E4FF020AEE7F44
:0F05780001120B06E4F517C22BC22CC22AF51A8A
:010587002251
:1006470002000EE493A3F8E493A34003F68001F2BB
:1006570008DFF48029E493A3F85407240CC8C333B4
:10066700C4540F4420C8834004F456800146F6DF83
:10067700E4800B010204081020408090001EE47EF5
:10068700019360BCA3FF543F30E509541FFEE49378
:10069700A360010ECF54C025E060A840B8E493A33F
:1006A700FAE493A3F8E493A3C8C582C8CAC583CA6A
:1006B700F0A3C8C582C8CAC583CADFE9DEE780BE22
:0100430000BC
:1002CD0075F008758200EF2FFFEE33FECD33CDCCE8
:1002DD0033CCC58233C5829BED9AEC99E58298406B
:1002ED000CF582EE9BFEED9AFDEC99FC0FD5F0D648
:1002FD00E4CEFBE4CDFAE4CCF9A88222B800C1B972
:10030D000059BA002DEC8BF084CFCECDFCE5F0CBAF
:10031D00F97818EF2FFFEE33FEED33FDEC33FCEBE8
:10032D0033FB10D703994004EB99FB0FD8E5E4F9A3
:10033D00FA227818EF2FFFEE33FEED33FDEC33FC90
:10034D00C933C910D7059BE99A4007EC9BFCE99A84
:10035D00F90FD8E0E4C9FAE4CCFB2275F010EF2FC9
:10036D00FFEE33FEED33FDCC33CCC833C810D707C9
:10037D009BEC9AE899400AED9BFDEC9AFCE899F804
:0E038D000FD5F0DAE4CDFBE4CCFAE4C8F92297
:10039B00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DEF
:1003AB00FDE43CFCE8A42EC8C5F03DFDE43CFCEFAD
:0D03BB00A4FFE5F028FEE43DFDE43CFC223B
:00000001FF

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,10 @@
---- F_batlevel_low Matches (6 in 4 files) ----
bat.c (UsrSrc\bat) line 33 : bit F_batlevel_low; //电池低压
check_bat_level in bat.c (UsrSrc\bat) : F_batlevel_low = 1;
check_bat_level in bat.c (UsrSrc\bat) : F_batlevel_low = 0;
bat.h (UsrInc\bat) line 33 : extern bit F_batlevel_low; //电池低压
Charger_Handler in charger_module.c (UsrSrc\charger) : F_batlevel_low = 0;
LED_Display_App in userapp.c (UsrSrc\userapp) : if( F_batlevel_low )
---- Bat_Low_TX_Flag Matches (9 in 5 files) ----
bat.c (UsrSrc\bat) line 35 : bit Bat_Low_TX_Flag; //电池电压≤3.6VVox发电量码标志位发完清零。
bat.h (UsrInc\bat) line 34 : extern bit Bat_Low_TX_Flag;
Charger_Handler in charger_module.c (UsrSrc\charger) : Bat_Low_TX_Flag = 0;
System_Init in system.c (UsrSrc\system) : Bat_Low_TX_Flag = 0;
Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Bat_Low_TX_Flag = 0;
Vox_Det_Machine in vox_module.c (UsrSrc\vox) : if( Bat_Low_TX_Flag )
Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Bat_Low_TX_Flag = 0;
Vox_Det_Machine in vox_module.c (UsrSrc\vox) : if( !Bat_Low_TX_Flag )
Vox_Det_Machine in vox_module.c (UsrSrc\vox) : Bat_Low_TX_Flag = 1;

View File

@ -31,7 +31,7 @@ extern uint8_t bat_level;
extern uint8_t bat_level_pdata;
extern bit F_batlevel_low; //µç³ØµÍѹ
extern bit Bat_Low_TX_Flag;
extern bit Vox_Chg_TX_Flag;
#if BAT_VALUE

View File

@ -25,6 +25,8 @@
extern bit Charger_Done;
extern bit F_batlevel_High_TX;
//#ifdef NTC_ENABLE
extern bit NTC_Pro_Flag;
//#endif

View File

@ -28,7 +28,7 @@
#define FW_VER0 0x01 //程序版本0:代表在硬件存在改动不能兼容之前版本时加1
#define FW_VER1 0x01 //程序版本1:代表在功能存在改动时加1
#define FW_VER2 0x04 //程序版本2:代表在软件调试出现不同的测试版本时改动时加1
#define FW_VER2 0x05 //程序版本2:代表在软件调试出现不同的测试版本时改动时加1
/* 芯片类型选择SY8836合封OVP芯片 */
//#define SY8836
@ -73,7 +73,7 @@
#define VOX_TX_PATTERN 1 //GPIO Pattern (227Bytes)
#define VOX_FOLLOW_CHG 1 //VOX跟随充自选ADT:356Bytes,HALL:165Bytes
#define VOX_FOLLOW_CHG 0 //VOX跟随充自选ADT:356Bytes,HALL:165Bytes
#define SLEEP_ENABLE 1 //休眠功能必选91Bytes

View File

@ -32,7 +32,7 @@ uint8_t bat_level_pdata;
bit F_batlevel_low; //µç³ØµÍѹ
bit Bat_Low_TX_Flag; //电池电压≤3.6VVox发电量码标志位发完清零。
bit Vox_Chg_TX_Flag; //电池电压≤3.6VVox发电量码标志位发完清零。
#if BAT_VALUE
@ -52,23 +52,23 @@ const uint16_t Boost_batlevel_Threshold[C_batLevel_SetMax] =
{
3200, //0
3500, //10%
3450, //10%
3600, //20%
3500, //20%
3700, //30%
3550, //30%
3800, //40%
3600, //40%
3900, //50%
3650, //50%
3950, //60%
3700, //60%
4000, //70%
3800, //70%
4100, //80%
3900, //80%
4150, //90%
4000, //90%
4200 //100%
};
@ -77,23 +77,23 @@ const uint8_t batlev_data[C_batLevel_SetMax] =
{
0x0A, //0 0b001010
0x18, //10% 0b011000
0x13, //10% 0b010011
0x1A, //20% 0b011010
0x18, //20% 0b011000
0x20, //30% 0b100000
0x19, //30% 0b011001
0x22, //40% 0b100010
0x1A, //40% 0b011010
0x28, //50% 0b101000
0x1B, //50% 0b011011
0x29, //60% 0b101001
0x20, //60% 0b100000
0x2A, //70% 0b101010
0x22, //70% 0b100010
0x30, //80% 0b110000
0x28, //80% 0b101000
0x31, //90% 0b110001
0x2C, //90% 0b101100
0x32 //100% 0b110010
};

View File

@ -30,6 +30,7 @@
bit Charger_Done;
bit F_batlevel_High_TX;
//#ifdef NTC_ENABLE
bit NTC_Pro_Flag;
@ -93,7 +94,7 @@ uint8_t PMU_NTC_Control(void)
return FALSE;
}
if(NTC_Adc <= T_N1C && NTC_Adc > T_48C) //正常充电
if(NTC_Adc <= T_0C && NTC_Adc > T_46C) //正常充电
{
if(NTC_Low_Pro_Flag)
{
@ -111,7 +112,7 @@ uint8_t PMU_NTC_Control(void)
if(NTC_High_Pro_Flag)
{
if( NTC_Adc > T_46C )
if( NTC_Adc > T_45C )
{
NTC_High_Pro_Flag = 0;
@ -126,12 +127,12 @@ uint8_t PMU_NTC_Control(void)
else //Òì³£²»³äµç
{
if(NTC_Adc > T_N1C)
if(NTC_Adc > T_0C)
{
NTC_Low_Pro_Flag = 1;
}
else
if(NTC_Adc < T_48C)
if(NTC_Adc < T_46C)
{
NTC_High_Pro_Flag = 1;
}
@ -243,7 +244,13 @@ void Charger_Handler(void)
if( bat_level > (C_bat_level_lowpower + 2) )
{
Bat_Low_TX_Flag = 0;
Vox_Chg_TX_Flag = 0;
if( F_batlevel_low )
{
F_batlevel_High_TX = 1;
}
F_batlevel_low = 0;
}

View File

@ -1,4 +1,4 @@
/*
#include "bat.h"/*
******************************************************************************
*
* @file VOX_Module.c
@ -19,6 +19,7 @@
*/
#include "gpio_comm.h"
#include "vox_module.h"
#include "bat.h"
bit Pattern_TX_Start;
@ -61,6 +62,8 @@ void Gpio_Comm(void)
static uint8_t Bit_Cnt;
static uint8_t Pin_Status;
static uint8_t Gpio_TX_Comm_Cnt;
static uint8_t Gpio_TX_Comm_Close_High_Cnt;
static uint8_t Gpio_TX_Comm_Close_Low_Cnt;
/*起始帧55ms低电平 + 20ms高电平 + 20ms低电平。*/
if( Pattern_TX_Start )
@ -77,12 +80,25 @@ void Gpio_Comm(void)
{
if( g_Close_Type ) //发关盖码。
{
if( Gpio_TX_Comm_Cnt <= ( START_LOW_55MS_TIM + START_HIGH_40MS_TIM ) )
if ( F_batlevel_low )
{
Gpio_TX_Comm_Close_High_Cnt = START_LOW_55MS_TIM + START_HIGH_40MS_TIM;
Gpio_TX_Comm_Close_Low_Cnt = Gpio_TX_Comm_Close_High_Cnt + START_LOW_40MS_TIM + START_HIGH_20MS_TIM;
}
else
{
Gpio_TX_Comm_Close_High_Cnt = START_LOW_55MS_TIM + START_HIGH_40MS_TIM + START_HIGH_20MS_TIM;
Gpio_TX_Comm_Close_Low_Cnt = Gpio_TX_Comm_Close_High_Cnt + START_LOW_40MS_TIM;
}
if( Gpio_TX_Comm_Cnt <= Gpio_TX_Comm_Close_High_Cnt )
{
Vout_Ctrl_ON(ON);
}
else
if( Gpio_TX_Comm_Cnt < ( START_LOW_55MS_TIM + START_HIGH_40MS_TIM + START_LOW_40MS_TIM ) )
if( Gpio_TX_Comm_Cnt < Gpio_TX_Comm_Close_Low_Cnt )
{
Vout_Ctrl_OFF(OFF);
}

View File

@ -119,6 +119,7 @@ void System_Init(void)
SFRDATA |= (VOX_LIGHT_TO_HAVEY_128 << 2) | VOX_HAVEY_TO_LIGHT_8;
Vox_Vout_Enable = OFF;
#endif
TMOD = 0x01; //mode 1, 16bit timer
@ -194,7 +195,24 @@ void System_Init(void)
/*如下参数按需更改。*/
REG_CHG1 = CHG_CURRENT_350MA; //设置充电电流350mA
Vox_Chg_TX_Flag = 0;
F_batlevel_High_TX = 0;
#endif
#if DISCHARGE_ENABLE
SFRADDR = OTP_KEY;
SFRDATA = 0x69;
SFRADDR = BST_CTL0; //Boost 设置 4.6V 输出
SFRDATA &= ~0x03;
SFRADDR = OTP_KEY;
SFRDATA = 0x01;
#endif
#if VOX_TX_PATTERN

View File

@ -141,7 +141,12 @@ void LED_Display_App(void)
Vox_Ocp_Flag = 1;
}
}
#if SLEEP_ENABLE
Enter_Sleep_Cnt_Restart_Flag = 1;
#endif
return;
}

View File

@ -66,6 +66,9 @@ bit Earphone_Chg_Flag; //
#define VOX_CLOSE_HOLD_CNT 10 //关盖发码前保持时间
#define VOX_DET_IOFF_CNT 3 //ioff检测滤波单位100ms。
/******************************************************************************\
Variables definitions
\******************************************************************************/
@ -215,17 +218,21 @@ void Vox_Det_Machine(void)
static uint8_t Vox_TX_Timer;
//static uint16_t Vor_chgFull_Timer;
static uint16_t Vor_DetIoff_Debounce;
//static uint16_t Vol_chgFull_Timer;
static uint16_t Vol_DetIoff_Debounce;
static uint8_t Vox_Output_Debounce;
static uint8_t Vox_Output_Debounce1;
static bit Vor_Get_Sta_Flag;
static bit Vol_Get_Sta_Flag;
// static bit nCoverEvent_TX_Flg;
static uint8_t nBat_Low_TX_Debounce;
// static uint8_t nBat_Low_TX_Debounce;
if( gBoost_Prepared_Flag )
{
@ -257,38 +264,6 @@ void Vox_Det_Machine(void)
}
}
if( F_batlevel_low )
{
if( !Bat_Low_TX_Flag )
{
if( nBat_Low_TX_Debounce < Vox_TX_Pattern_Tim )
{
if( (nBat_Low_TX_Debounce % Vox_TX_Interval == 0) )
{
#if VOX_TX_PATTERN
Pattern_TX_Start = 1;
g_Key_Type = 0;
Pattern_TX_Data = bat_level_pdata | 0xC4;
#endif
}
nBat_Low_TX_Debounce++;
}
else
{
Bat_Low_TX_Flag = 1;
nBat_Low_TX_Debounce = 0;
}
return;
}
}
if( CoverEvent_Flg ) //Hall事件触发。
{
@ -303,6 +278,8 @@ void Vox_Det_Machine(void)
Vox_Output_Debounce = 0;
Vox_Output_Debounce1 = 0;
Vox_Vol_Hold_Timer = 0; //关盖清0开盖使用
Vox_TX_Timer = 0;
@ -316,6 +293,10 @@ void Vox_Det_Machine(void)
Vox_Chg_Full_Flag = 0;
Vox_Vout_Enable = ON;
Vor_DetIoff_Debounce = 0;
Vol_DetIoff_Debounce = 0;
if( CoverStatus == CLOSE ) //1、关盖关闭COM_CTRL显示灯效。无需查询Loadon、IOFF状态无论耳机是否在仓Vox 5V输出。
{
@ -331,6 +312,8 @@ void Vox_Det_Machine(void)
Follow_Chg_Start_Flag = 0;
Vox_Chg_TX_Flag = 0;
#if VOX_FOLLOW_CHG
Boost_VoxVout_Follow_Flag = 0;
#endif
@ -349,9 +332,11 @@ void Vox_Det_Machine(void)
Vol_Chg_Full_Flag = 0;
Vor_Get_Sta_Flag = 0;
Vor_Get_Sta_Flag = 1;
Vol_Get_Sta_Flag = 0;
Vol_Get_Sta_Flag = 1;
#if VOX_FOLLOW_CHG
SFRADDR = OTP_KEY;
SFRDATA = 0x69;
@ -369,22 +354,45 @@ void Vox_Det_Machine(void)
SFRADDR = VOX_CON2;
SFRDATA &= ~0xC0;
SFRDATA |= 0x40; //IOFF 3mA
SFRDATA |= 0x40; //IOFF 3mA
#endif
}
// nCoverEvent_Flg = 1;
CoverEvent_Flg = 0;
}
#if 0
/*开关盖动作和电池低电报警,发一次电量码。*/
if( Vox_Chg_TX_Flag )
{
if( nBat_Low_TX_Debounce < Vox_TX_Pattern_Tim )
{
if( (nBat_Low_TX_Debounce % Vox_TX_Interval == 0) )
{
#if VOX_TX_PATTERN
Pattern_TX_Start = 1;
g_Close_Type = 1;
#endif
}
nBat_Low_TX_Debounce++;
}
else
{
Vox_Chg_TX_Flag = 0;
nBat_Low_TX_Debounce = 0;
}
return;
}
#endif
/* 发送开盖指令*/
if( Cover_Open_Flag ) /*开盖后5V持续500ms后0V持续500msVox转入adt模式等待耳机出入盒并显示相应的灯效。*/
{
if( Vox_Vol_Hold_Timer < VOX_VOUT_5V_DEBOUNCE ) //开关盖后5V 200ms用于唤醒耳机。
{
Vox_Vol_Hold_Timer++;
return;
}
{
/*按键1.5s、拔充电后Vox升压一段时间用于唤醒耳机。*/
if( Wkup_Earphone_Flag )
{
@ -403,23 +411,35 @@ void Vox_Det_Machine(void)
Vol_Chg_Full_Flag = 0;
Get_CHIP_STA1_Flag1 = 0;
// Get_CHIP_STA1_Flag1 = 0;
Vox_Output_Debounce = 0xff;
Vox_Output_Debounce = 0;
Vox_TX_Timer = 0;
Vor_Get_Sta_Flag = 0;
Vox_Vol_Hold_Timer = 0;
Vor_Get_Sta_Flag = 1;
Vol_Get_Sta_Flag = 0;
Vol_Get_Sta_Flag = 1;
VOX_CTL0 |= 0x30; //VOX Enable 5V
Wkup_Earphone_Flag = 0;
}
Vox_Vout_Enable = ON;
}
if( Vox_Vol_Hold_Timer < VOX_VOUT_5V_DEBOUNCE ) //开关盖后5V 200ms用于唤醒耳机。
{
Vox_Vol_Hold_Timer++;
return;
}
if( !Get_CHIP_STA1_Flag1 )
{
#if 1
if( Vox_Output_Debounce < Vox_TX_Pattern_Tim )
{
if( (Vox_Output_Debounce % Vox_TX_Interval == 0) )
@ -439,6 +459,7 @@ void Vox_Det_Machine(void)
Vox_Output_Debounce++;
}
else
#endif
{
if( !Vor_Chg_Full_Flag )
{
@ -456,8 +477,15 @@ void Vox_Det_Machine(void)
Vor_chgFull_Timer = 0;
}
Vor_Get_Sta_Flag = 0;
if( Vor_DetIoff_Debounce <= VOX_DET_IOFF_CNT )
{
Vor_DetIoff_Debounce++;
}
else
{
Vor_Get_Sta_Flag = 0;
}
}
else
{
@ -467,6 +495,8 @@ void Vox_Det_Machine(void)
{
Vor_chgFull_Timer = 0;
Vor_DetIoff_Debounce = 0;
Vor_Get_Sta_Flag = 1;
Earphone_Chg_Flag = 1;
@ -494,18 +524,27 @@ void Vox_Det_Machine(void)
Vol_chgFull_Timer = 0;
}
if( Vol_DetIoff_Debounce <= VOX_DET_IOFF_CNT )
{
Vol_DetIoff_Debounce++;
}
else
{
Vol_Get_Sta_Flag = 0;
}
Vol_Get_Sta_Flag = 0;
}
else
{
if( CHIP_STA1 & 0x20 )
{
if ( !Vol_Get_Sta_Flag )
{
Vol_Get_Sta_Flag = 1;
Vol_DetIoff_Debounce = 0;
Vol_chgFull_Timer = 0;
Earphone_Chg_Flag = 1;
@ -589,6 +628,8 @@ void Vox_Det_Machine(void)
}
Cover_Close_Flag0 = 0;
Cover_Close_Flag1 = 0;
// Get_CHIP_STA1_Flag1 = 0;
@ -601,6 +642,8 @@ void Vox_Det_Machine(void)
VOX_CTL0 |= 0x30; //VOX Enable 5V
Wkup_Earphone_Flag = 0;
Vox_Vout_Enable = ON;
}
if( Vox_TX_Timer < VOX_CLOSE_HOLD_CNT ) //关盖后5V持续1s。
@ -610,29 +653,39 @@ void Vox_Det_Machine(void)
return;
}
if( !Get_CHIP_STA1_Flag1 )
if( !Get_CHIP_STA1_Flag1 || F_batlevel_low || F_batlevel_High_TX )
{
if( Vox_Output_Debounce < Vox_TX_Pattern_Tim )
{
if( (Vox_Output_Debounce % Vox_TX_Interval == 0) )
{
// if( (CHIP_STA1 & 0xA0) == 0xA0 )
if( !Vox_Chg_TX_Flag )
{
if( Vox_Output_Debounce1 < Vox_TX_Pattern_Tim )
{
if( (Vox_Output_Debounce1 % Vox_TX_Interval == 0) )
{
// if( (CHIP_STA1 & 0xA0) == 0xA0 )
{
#if VOX_TX_PATTERN
Pattern_TX_Start = 1;
g_Close_Type = 1;
Pattern_TX_Start = 1;
g_Close_Type = 1;
#endif
}
}
Vox_Output_Debounce1++;
}
Vox_Output_Debounce++;
}
else
{
Get_CHIP_STA1_Flag1 = 1;
else
{
Get_CHIP_STA1_Flag1 = 1;
Vox_Output_Debounce = 0;
if ( F_batlevel_low )
{
Vox_Chg_TX_Flag = 1;
}
F_batlevel_High_TX = 0;
Vox_Output_Debounce1 = 0;
}
}
}
@ -657,10 +710,10 @@ void Vox_Det_Machine(void)
{
if( !Vox_Ocp_Flag )
{
Vox_Output_Debounce++;
if( Vox_Output_Debounce >= VOX_OCP_CNT )
Vox_Output_Debounce1++;
if( Vox_Output_Debounce1 >= VOX_OCP_CNT )
{
Vox_Output_Debounce = 0;
Vox_Output_Debounce1 = 0;
IRQ_FLAG0 = 0x0C;
@ -671,6 +724,8 @@ void Vox_Det_Machine(void)
Vox_Output_Short_Flag = 1;
// CoverEvent_Flg = 0;
Vox_Chg_Full_Flag = 0;
Vox_Vout_Enable = OFF;
}
@ -689,6 +744,7 @@ void Vox_Det_Machine(void)
Vox_Ocp_Flag = 0;
#if VOX_FOLLOW_CHG
if( !Follow_Chg_Start_Flag )
{
/*跟随充逻辑*/