更改内容:1、将全局变量在定义时不赋初值,需要赋初值的变量在系统初始化函数中赋值,节省ROM占用月100Bytes;

2、删除按键短按显示电量功能;
3、增加开盖Vox输出5V给耳机充电功能,有耳机入盒灯效,无出盒灯效,Vox检测到轻载后延迟10分钟后关闭Vox输出5V,转入ADT模式;
4、增加Vox充电过程中电池电压触发3.6V低电报警阈值后,Vox发送电量码pattern功能。
This commit is contained in:
Alex xu 2025-02-10 11:37:49 +08:00
parent ae971c9ff0
commit a29b5cb50b
26 changed files with 563 additions and 523 deletions

Binary file not shown.

View File

@ -1,224 +0,0 @@
:03000000020654A1
:10065400758E3075D20078FFE4F6D8FD75815802A6
:0206640006A1ED
:0C000E00120990D2AED2BE1205A780F7F6
:0807770002190000021701370E
:0C0BAC00AE17AF18AB07AA06E4F9F82258
:02093000AD0711
:10093200E4FCFBFAF54DF54E75FE2975FF8BBD06FD
:100942001775FE0143FF8075A541E5A520E0FB7503
:10095200A56175FE0153FF7FE4FCEDC454F0440130
:10096200F5A5E5A520E0FBAFA1AB07AFA2EFFEEE38
:10097200FAEB254EF54EEA354DF54D0CBC08DBE59C
:0D0982004EAE4D7803CEC313CE13D8F9FF4F
:01098F002245
:100B3200E4FE7F051209307C077DD01203CCC0068B
:0C0B4200C007120BACD007D00602033A2B
:100B4E00E4FE7F041209307C037DE81203CCC0065C
:0C0B5E00C007120BACD007D00602033A0F
:04077F00C124C125AB
:1007FF00E4FFFEF54C120B4EC3EF94D0EE9407407E
:10080F00037F0022D3EF942EEE94065030EF941214
:10081F00EE94024028302212EF9406EE9406500711
:10082F00C222E4F54C8003754C0130232BD3EF9497
:10083F0033EE9402401FC223E4F54C801BD3EF9498
:10084F002EEE94064004D222800BC3EF9412EE9446
:0A085F00025002D223754C01AF4C89
:01086900226C
:1008CF00E5E620E70953B3FE75F210C22422E5F2E4
:1008DF00540C601053B3FEE5F354C0604375F20C33
:1008EF0075F3C02275F3C030250453B3FE22E5F231
:1008FF0030E416C3E51A94D2E519940F500575F23A
:10090F0010800353B3FED2242243B311E535D394A1
:10091F00014002C231E535D394044002C230C224F3
:01092F0022A5
:04078300C12CC12D97
:100A4400E5E530E103C22C22E5E230E705C22CD211
:100A54002D22303102802FE5E830E009C22C75E800
:100A64000175B50122302506C22CE4F5B522D22C3D
:100A7400302D18E5E630E713C3E51A9410E5199410
:0C0A84000E4003C22D22E4F5B5C22C2266
:07078700011FFFC12EC12F6D
:100B1300E5E25408FF651F6015E5E230E305751E45
:0E0B2300018003E4F51ED22ED22FD2218F1FA7
:010B310022A1
:06078E00C11AC11BC119D4
:1006E600E5E220E150054FE54FC3941E4010301758
:1006F60040C217D216301439D219D2218033E54FB1
:10070600C3940A402C201729203126D21BE54F948A
:100716000C500D43B730E4F5B575FE0653FFF922CC
:10072600D28175FE0643FF0253B7CFD220D213D231
:1007360017D2188017301811C218C217C21BE54FFE
:10074600C394055004D21AD221E4F54F301621E5A0
:1007560050C394125015E5505403700C301409D24E
:100766002AF515751605D22B055022C216E4F5504A
:010776002260
:1009EE007854E6604D7856E6FFD318965004D284BC
:1009FE008002C284EFC394AA4018E47856F6785861
:100A0E00E660067855161680097857E66004785524
:100A1E0006067855E6FF74AAD39F500978587601DA
:100A2E00E418F6800DEFD39401500778577601E461
:060A3E0008F678560622BE
:0507940001530CC1320D
:100B9B00E5E220E006201503303204C232C322D333
:010BAB002227
:1009900075FE8043FF3075FE0153FFFCD28175FE6A
:1009A0000643FF1AD22175B7C375FE6A75FF047539
:1009B000FE6C43FF0A758901758CFC758A66D2A9A5
:1009C000D28C438910758DFF758BA4D2ABD28E75F6
:1009D000868075FE0F43FF8075FE4F75FF1075FE14
:0E09E0001775FF3CD2A8D2B9D2AF75B1042270
:03000300020006F2
:0100060032C7
:03004B00020BC3E2
:060BC30075EB3CD232325A
:04079900C121C12099
:09004200E55175F00584E5F0229A
:0B0BB800E47854F6C283C284D23222DB
:1003F900202506300E27201224201C08D21CE4F5E3
:1004090051020BB8E551C39467500D0551120042D2
:1004190060030204DDB28322C283D21222301C118E
:10042900C21C120BB8C21DC21FC20FC22FD221D2C9
:1004390020E5E630E72920192630240C201F05D2B3
:100449001F120BB8D2848010201D09D21DC21F12A1
:100459000BB8800478547601C21AC22FC221223007
:100469001D08C21DC21FD221D220302108E4F55136
:10047900C221120BB8303107201E59D21E804B20E1
:100489000F09201A06201903302F49C21E301905F9
:1004990075522B8003755223E551C394055003050A
:1004A9005122E551C395525021055130190A1200C4
:1004B900427021B284C2832230300A120042701481
:1004C900B283C28422D284C28322C21AC219C22F21
:0404D900C20FD2215B
:0104DD0022FC
:1005A700302705C2271204DE30262FC226120B136E
:1005B700120A441208CF1206E6120B328E198F1A4E
:1005C7001207FFEF24FF92257F061209308E178F3F
:1005D7001812004E12086A1203F930286FC228E574
:1005E70053D3940040091553303261C232805A12F6
:1005F7000B9B5055E5E220E70330120875FE2453A4
:10060700FFC3800675FE2443FF3CC2ABC2B9C2A933
:100617007F01120B6E75FE2953FF7F75FE8053FF16
:10062700CF43870275FE8043FF30D2B9D2A9D2AB40
:10063700301214D28175FE0643FF0275B7C3D22E5E
:0D06470075E80CC20EC212800075530C2223
:10079D00C115C10FC10EC114C113C111011000C18A
:0307AD0010C11266
:10001E0075FE6A53FFDF75FE6C53FF3F2275FE8F30
:10002E0075FF6975FE7853FFFC22E4F50DF50EC2DF
:04003E0009C20A22C7
:040B6A00C2157F0130
:100B6E00E4F5B5EF24FF928175FE0653FFFB43FFBC
:080B7E0002BF010353B7CF22AF
:100B860075FE0643FF0453FFFDC28275B501BF0122
:050B96000343B730220B
:10004E00202C030202F330130CC2137F01120B6E2D
:10005E00D200C2142230000CC200E5E354ACFFBF44
:10006E00A002D214302E4EE5B5700302023343B710
:10007E0030E4F50FF50BF50CC201C20EC212C20828
:10008E00E51E7012C20FD202D205D206D215C203DD
:10009E00C20BC211801DC202D203120038C20CC2A2
:1000AE000D12002B43FF0275FE8F75FF0112001E0D
:1000BE0043FF40C22E2003030201E8E50BC3940266
:1000CE005003050B2230201AE5B5700302023312DD
:1000DE000038C201750FFFF50CC20CC20D43B730CC
:1000EE00C2203001030201C6E50FC394125018E579
:1000FE000F5403700DD22AC22BE53444C47515007B
:10010E00F516050F0201E820091FE5E354886488FF
:10011E007042E50DC394325004050D803753B7DF9E
:10012E00D20CD209E4F50D802B300C0EE50DD394D4
:10013E00035003050D22C20C8014201B17E5E35457
:10014E00806509600FE5E330E704D20FD221E5E3C5
:10015E005480F509200A1FE5E3542464247042E517
:10016E000EC394325004050E803753B7EFD20DD222
:10017E000AE4F50E802B300D0EE50ED394035003DA
:10018E00050E22C20D8014201B17E5E35420650ACC
:10019E00600FE5E330E504D20FD221E5E35420F5FC
:1001AE000A300936300A33D201C209C20AC20CC261
:1001BE000D120B6AD2048022201B1F300404C204CD
:1001CE008012E5E354A065086010E5E354A06004D6
:1001DE00D20FD221E5E354A0F5082002030202F06B
:1001EE00302014E5B57002803CC205E4F50CF50B29
:1001FE00C20843B730C220E50CC3940A5003050C65
:10020E002220011AE50FC39412500EE50F5403700D
:10021E0004D22AD229050F8005D201E4F50F20065B
:10022E000DE5B57004FF020B8643B730D206E5E844
:10023E00540C602520121D050FE50FC394055003C5
:10024E000202FDE4F50F75E80C53B7CF43B730D279
:10025E000EC215227F01020B6EC20EC212200B6857
:10026E00201116751003C21075FE6A43FF2012008E
:10027E002443FF80D2110202F0E50BC3940A50030F
:10028E00050B22E4F50BE5E3540C601C0510D210AF
:10029E00C3E510648094824020751002C211D20B07
:1002AE0012001E43FF40801120100E1510D3E510D2
:1002BE00648094805003E4F51012002BE51042FF89
:1002CE0075FE8F75FF01801A200817E5E354ACFF09
:1002DE00BFAC0FE50BC394325003050B22D20812AC
:0F02EE000B6AC20722200707D207120B6AD22021
:0102FD0022DE
:1007B000013500013400C130C13101336416360CFB
:1007C000800DAC0E100E740ED80F3C0F6E0FA010E3
:1007D00004103610680B280A181A202228292A30FB
:0207E0003132B4
:10086A00E4FFEF25E02436F8E6FC08E6FDC3E51AC6
:10087A009DE5199C40040FBF0BE8E5E16005E4F52E
:10088A00E18F35EFD395354004053380021533E502
:10089A0033D394BE5007E533C3940A50158F35E518
:1008AA00276535600A74282FF8E6F53485352775EB
:1008BA003364E535D394005002D231E535D394023E
:0408CA005002D230D6
:0108CE002207
:0F07E200011C00011B00011D00C127C126C128F9
:03000B00020AD511
:100AD500C0E0C0D074FC258CF58C7466258AF58A37
:100AE500D227051BE51BC394644005751B00D22660
:100AF500051CE51CC394FA4010751C00051DE51D79
:0E0B050094044005751D00D228D0D0D0E032F7
:03001B00020A9046
:100A9000C0E0C0F0C083C082C0D075D000C000C02C
:100AA00001C002C003C004C005C006C007C28F1544
:100AB0008D74A4258BF58B1209EED007D006D005D6
:100AC000D004D003D002D001D000D0D0D082D083C7
:050AD000D0F0D0E0327F
:030BFD00010104EF
:0D07F100C12A01140002150000C12BC1290E
:1004DE00202A030205A60513E5147048E513D394EC
:1004EE00375002802F302917E513D3945F500280C6
:1004FE0015E513C394875002801A7514038025E501
:10050E0013D3944B50077F01120B868017E513C34C
:10051E00945F5007E4FF120B6E8009751401302BA7
:10052E0003751104E514B4012B1511E511D39407CD
:10053E0040087511087514038003751402E516AE94
:10054E0015A811088005CEC313CE13D8F95401F5A2
:10055E0012E4F513E514B40211E513C39414500616
:10056E00E512601F801175140122E51464037028D2
:10057E00E513C3941450057F01020B86E513C39453
:10058E00285005E4FF020B6E7F01120B86E4F51373
:08059E00C22AC22BC229F51488
:0105A6002232
:1006660002000EE493A3F8E493A34003F68001F29C
:1006760008DFF48029E493A3F85407240CC8C33395
:10068600C4540F4420C8834004F456800146F6DF64
:10069600E4800B0102040810204080900777E47E76
:1006A600019360BCA3FF543F30E509541FFEE49359
:1006B600A360010ECF54C025E060A840B8E493A320
:1006C600FAE493A3F8E493A3C8C582C8CAC583CA4B
:1006D600F0A3C8C582C8CAC583CADFE9DEE780BE03
:0107FE0000FA
:1002FE0075F008758200EF2FFFEE33FECD33CDCCB7
:10030E0033CCC58233C5829BED9AEC99E582984039
:10031E000CF582EE9BFEED9AFDEC99FC0FD5F0D616
:10032E00E4CEFBE4CDFAE4CCF9A88222B800C1B940
:10033E000059BA002DEC8BF084CFCECDFCE5F0CB7E
:10034E00F97818EF2FFFEE33FEED33FDEC33FCEBB7
:10035E0033FB10D703994004EB99FB0FD8E5E4F972
:10036E00FA227818EF2FFFEE33FEED33FDEC33FC5F
:10037E00C933C910D7059BE99A4007EC9BFCE99A53
:10038E00F90FD8E0E4C9FAE4CCFB2275F010EF2F98
:10039E00FFEE33FEED33FDCC33CCC833C810D70798
:1003AE009BEC9AE899400AED9BFDEC9AFCE899F8D3
:0E03BE000FD5F0DAE4CDFBE4CCFAE4C8F92266
:1003CC00EC8EF0A4CCC5F0CCCDF8EFA4CEC5F02DBE
:1003DC00FDE43CFCE8A42EC8C5F03DFDE43CFCEF7C
:0D03EC00A4FFE5F028FEE43DFDE43CFC220A
:00000001FF

Binary file not shown.

View File

@ -0,0 +1,214 @@
: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.

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,7 @@
---- VOX_ADT_HOLD_CNT Matches (1 in 1 files) ----
vox_module.c (UsrSrc\vox) line 51 : #define VOX_ADT_HOLD_CNT 3
---- 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 )

View File

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

View File

@ -37,6 +37,8 @@ extern CoverStatus_E CoverStatus;
extern bit CoverEvent_Flg;
extern bit CoverEvent_Flg_led;
extern uint8_t Hall_Sta_bk;
extern void Hall_Handler(void);
#endif

View File

@ -31,9 +31,9 @@ extern bit Key_Press_ll_irq;
extern bit Pattern_TX_Flag;
#define Vox_TX_Pattern_Tim 18
#define Vox_TX_Pattern_Tim 23
#define Vox_TX_Interval 4 //Vox定时发送指令时间间隔
#define Vox_TX_Interval 5 //Vox定时发送指令时间间隔
#ifdef KEY_ENABLE

View File

@ -32,9 +32,9 @@
Variables definitions
\******************************************************************************/
uint16_t Vbat_Adc = 0;
uint16_t Vbat_Adc;
uint16_t Vref_Adc = 311;
uint16_t Vref_Adc;
/******************************************************************************\
Functions definitions

View File

@ -26,11 +26,13 @@
#include "led.h"
#include "vox_module.h"
uint8_t bat_level = 0;
uint8_t bat_level;
uint8_t bat_level_pdata = 0;
uint8_t bat_level_pdata;
bit F_batlevel_low = 0; //ľçłŘľÍŃš
bit F_batlevel_low; //电池低压
bit Bat_Low_TX_Flag; //电池电压≤3.6VVox发电量码标志位发完清零。
#if BAT_VALUE
@ -38,9 +40,9 @@ bit F_batlevel_low = 0; //
#define C_offset_bat_level_MIN 10
bit F_batlevel_protect = 0; //ľÍľçąŁť¤
bit F_batlevel_protect; //低电保护
uint8_t offset_bat_level = ( C_offset_bat_level_MAX + C_offset_bat_level_MIN ) / 2;
uint8_t offset_bat_level;
/*充电电池电压会浮高,具体电压需要测试。*/
@ -167,6 +169,8 @@ void check_bat_level(void)
if( bat_level <= C_bat_level_lowpower )
{
F_batlevel_low = 1;
// Bat_Low_TX_Flag = 1;
}
#if 0
else if( bat_level > (C_bat_level_lowpower + 2) )

View File

@ -28,11 +28,11 @@
#include "userapp.h"
#include "bat.h"
bit Charger_Done = 0;
bit Charger_Done;
//#ifdef NTC_ENABLE
bit NTC_Pro_Flag = 0;
bit NTC_Pro_Flag;
//#endif
@ -243,6 +243,7 @@ void Charger_Handler(void)
if( bat_level > (C_bat_level_lowpower + 2) )
{
Bat_Low_TX_Flag = 0;
F_batlevel_low = 0;
}

View File

@ -26,7 +26,7 @@
#include "led.h"
#include "bat.h"
bit gBoost_Prepared_Flag = 0; //Boost满足开启条件。
bit gBoost_Prepared_Flag; //Boost满足开启条件。
#if DISCHARGE_ENABLE
@ -38,7 +38,7 @@ bit gBoost_Prepared_Flag = 0; //Boost
Variables definitions
\******************************************************************************/
bit gBoost_UVLO_Flag = 0;
bit gBoost_UVLO_Flag;
/******************************************************************************\
Functions definitions

View File

@ -20,7 +20,7 @@
#include "gpio_comm.h"
#include "vox_module.h"
bit Pattern_TX_Start = 0;
bit Pattern_TX_Start;
#if VOX_TX_PATTERN
/******************************************************************************\
@ -30,13 +30,13 @@ bit Pattern_TX_Start = 0;
/******************************************************************************\
Variables definitions
\******************************************************************************/
uint8_t Gpio_TX_Steps = GPIO_TX_STEPS_START;
uint8_t Gpio_TX_Steps;
uint16_t Pattern_TX_Data = 0; //需要通过VOX发送的数据高8位盒子电量低8位版本号
uint16_t Pattern_TX_Data; //需要通过VOX发送的数据高8位盒子电量低8位版本号
bit g_Key_Type = 0;
bit g_Key_Type;
bit g_Close_Type = 0;
bit g_Close_Type;
/******************************************************************************\
Functions definitions

View File

@ -33,12 +33,12 @@
/******************************************************************************\
Variables definitions
\******************************************************************************/
uint8_t Hall_Sta_bk = 0xff;
uint8_t Hall_Sta_bk;
CoverStatus_E CoverStatus;
bit CoverEvent_Flg = 0; //Hall开关触发事件标志位
bit CoverEvent_Flg_led = 0;
bit CoverEvent_Flg; //Hall开关触发事件标志位
bit CoverEvent_Flg_led;
/******************************************************************************\
Functions definitions

View File

@ -28,11 +28,11 @@
#include "gpio_comm.h"
#include "hall.h"
bit Key_Press_irq = 0;
//bit Key_Press_irq = 0;
bit Key_Press_short_irq = 0;
bit Key_Press_short_irq;
bit Key_Press_ll_irq_led = 0;
bit Key_Press_ll_irq_led;
#ifdef KEY_ENABLE
/******************************************************************************\
@ -156,14 +156,15 @@ void Key_Handler(void)
nKey_Press_Flag = 0;
Key_Press_short_irq = 0;
#if 0
if( (Key_Press_Debounce < KEY_PRESS_CNT0) ) //松开按键按下时间小于500ms则识别为短按显示电量
{
Key_Press_irq = 1; //短按,显示电量
#if LED_DISPLAY
LED_On_Flag = 1;
#endif
}
}
#endif
}
Key_Press_Debounce = 0;

View File

@ -31,9 +31,9 @@
Variables definitions
\******************************************************************************/
uint8_t Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
uint8_t Decnt_SleepDelay;
bit Enter_Sleep_Cnt_Restart_Flag = 0;
bit Enter_Sleep_Cnt_Restart_Flag;
/******************************************************************************\
Functions definitions

View File

@ -100,7 +100,6 @@ void System_Init(void)
P01 = 1;
SFRADDR = P0_OE; //Set P03、P04 LED1-LED2,P01 As TX
SFRDATA |= 0x1A;
@ -118,7 +117,8 @@ void System_Init(void)
SFRADDR = VOX_CON2; //设置VOX轻重载转换滤波时间。bit3:2 VOX轻载转重载滤波时间bit1:0 VOX重载转轻载滤波时间
SFRDATA |= (VOX_LIGHT_TO_HAVEY_128 << 2) | VOX_HAVEY_TO_LIGHT_8;
Vox_Vout_Enable = OFF;
#endif
TMOD = 0x01; //mode 1, 16bit timer
@ -148,8 +148,15 @@ void System_Init(void)
WDTREL = 0x80; //WDTPS = 0,wdt_f = wdt_f1/2;WDTPS = 1,wdt_f = wdt_f1/32;
#endif
#if ADC_ENABLE
Vref_Adc = 311;
#endif
#ifdef HALL_ENABLE
Hall_Sta_bk = 0xff;
#endif
@ -190,6 +197,17 @@ void System_Init(void)
#endif
#if VOX_TX_PATTERN
Gpio_TX_Steps = GPIO_TX_STEPS_START;
#endif
#if SLEEP_ENABLE
Decnt_SleepDelay = ENTER_STANDBYMODE_CNT;
#endif
}
/*

View File

@ -32,15 +32,15 @@
/******************************************************************************\
Variables definitions
\******************************************************************************/
uint8_t cnt_sys_tim_250ms = 0;
uint8_t cnt_sys_tim_100ms = 0;
uint8_t cnt_sys_tim_1s = 0;
uint8_t cnt_sys_tim_250ms;
uint8_t cnt_sys_tim_100ms;
uint8_t cnt_sys_tim_1s;
//uint8_t cnt_sys_tim_10ms = 0;
bit F_sys_tim_1ms = 0;
bit F_sys_tim_1ms;
bit F_sys_tim_100ms = 0;
bit F_sys_tim_1s = 0;
bit F_sys_tim_100ms;
bit F_sys_tim_1s;
/******************************************************************************\

View File

@ -42,8 +42,8 @@
bit busy0;
#ifdef VOX_RX
idata uint8_t RX0_Buffer[COM0_Data_Lenth] = 0; //½ÓÊÕ»º³å
bit Uart0_RX_Finish_Flag = 0;
idata uint8_t RX0_Buffer[COM0_Data_Lenth]; //½ÓÊÕ»º³å
bit Uart0_RX_Finish_Flag;
#endif
#ifdef _DEBUG_ALL

View File

@ -52,9 +52,9 @@
/******************************************************************************\
Variables definitions
\******************************************************************************/
bit LED_On_Flag = 0;
bit LED_On_Flag;
bit Wkup_Earphone_Flag = 0;
bit Wkup_Earphone_Flag;
/******************************************************************************\
Functions definitions
@ -196,7 +196,7 @@ void LED_Display_App(void)
}
}
Key_Press_irq = 0;
// Key_Press_irq = 0;
// Key_Press_ll_irq_led = 0;
@ -234,7 +234,7 @@ void LED_Display_App(void)
{
LED_Bat_Pro_Flag = 1;
Key_Press_irq = 0;
// Key_Press_irq = 0;
Key_Press_ll_irq_led = 0;
@ -247,7 +247,7 @@ void LED_Display_App(void)
}
else
{
if( (Earphone_Chg_Flag || Key_Press_irq || Key_Press_ll_irq_led || CoverEvent_Flg_led) ) //耳机出入盒、按键触发,显示灯效
if( (Earphone_Chg_Flag || Key_Press_ll_irq_led || CoverEvent_Flg_led) ) //耳机出入盒、按键触发,显示灯效
{
LED_Bat_Pro_Flag = 0;
@ -294,7 +294,7 @@ void LED_Display_App(void)
}
else
{
Key_Press_irq = 0;
// Key_Press_irq = 0;
Key_Press_ll_irq_led = 0;

View File

@ -31,9 +31,9 @@
#include "charger_module.h"
#include "gpio_comm.h"
bit Vox_Vout_Enable = OFF; //Vox功率输出标志位
bit Earphone_Chg_Flag = 0; //耳机出入盒标志位
//uint8_t Vox_TX_Timer = 0; //VOX发送指令持续时间计数,在Hall_Handler检测中清0.
bit Vox_Vout_Enable; //Vox功率输出标志位
bit Earphone_Chg_Flag; //耳机出入盒标志位
//uint8_t Vox_TX_Timer; //VOX发送指令持续时间计数,在Hall_Handler检测中清0.
#if VOX_ENABLE
@ -43,7 +43,10 @@ bit Earphone_Chg_Flag = 0; //
/*100ms调用周期*/
#define VOX_OUTPUT_SHORT_CNT 2
#define VOX_LOW_BAT_CNT 25 //关盖前盒子低电保护Vox 5V持续2.5s
#define VOX_VOUT_5V_LEAST_CNT 50
#define COVER_OPEN_VOX_VOUT_5V_LEAST_CNT 6000 //开盖后5V持续10分钟
#define VOX_VOUT_5V_LEAST_CNT 60
#define VOX_VOUT_5V_DEBOUNCE 2
#define VOX_VOUT_0V_DEBOUNCE 3
@ -51,6 +54,8 @@ bit Earphone_Chg_Flag = 0; //
#define VOX_ADT_HOLD_CNT 3
#define Vox_TX_Pattern_Cnt 3
#define VOX_DET_CNT 3
#define BOOST_VOUT_MAX 2 //跟随充Boost输出电压上限值0:4.6V,1:4.7V,2:4.8V,3:5.05V.
#define VOX_IOFF_HOLD_CNT 50
@ -65,23 +70,23 @@ bit Earphone_Chg_Flag = 0; //
Variables definitions
\******************************************************************************/
bit Vox_Output_Short_Flag = 0;
bit Vox_Output_Short_Flag;
bit Earphone_Num_2Inbox = 0; //双耳机在盒标志位
bit Earphone_Num_2Inbox; //双耳机在盒标志位
bit Get_Vox_Num_Flag = 0;
bit Get_Vox_Num_Flag;
//bit Vor_In_Box_Flag = 0;
//bit Vor_In_Box_Flag;
//bit Vol_In_Box_Flag = 0;
//bit Vol_In_Box_Flag;
#if VOX_FOLLOW_CHG
bit Boost_VoxVout_Follow_Flag = 0;
bit Boost_VoxVout_Follow_Flag;
int8 Boost_Vout_Value = 0;
int8 Boost_Vout_Value;
bit Boost_Up_Flag = 0;
bit Boost_Up_Flag;
#endif
@ -168,7 +173,11 @@ void Vout_Ctrl_ON(uint8_t Type)
*
*******************************************************************************
*/
bit Vox_Ocp_Flag = 0;
bit Vox_Ocp_Flag;
uint16_t Vor_chgFull_Timer;
uint16_t Vol_chgFull_Timer;
void Vox_Det_Machine(void)
{
@ -196,9 +205,9 @@ void Vox_Det_Machine(void)
static uint8_t CHIP_STA1_BK;
static uint8_t CHIP_STA1_Vor;
// static uint8_t CHIP_STA1_Vor;
static uint8_t CHIP_STA1_Vol;
// static uint8_t CHIP_STA1_Vol;
static bit Follow_Chg_Start_Flag;
@ -206,16 +215,18 @@ void Vox_Det_Machine(void)
static uint8_t Vox_TX_Timer;
static uint8_t Vor_chgFull_Timer;
//static uint16_t Vor_chgFull_Timer;
static uint8_t Vol_chgFull_Timer;
//static uint16_t Vol_chgFull_Timer;
static uint8_t Vox_Output_Debounce;
static bit Vor_Get_Sta_Flag;
static bit Vol_Get_Sta_Flag;
static uint8_t nBat_Low_TX_Debounce;
if( gBoost_Prepared_Flag )
{
/*先判断有几只耳机在盒*/
@ -245,6 +256,39 @@ void Vox_Det_Machine(void)
// return;
}
}
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事件触发。
{
@ -271,6 +315,8 @@ void Vox_Det_Machine(void)
Vox_Chg_Full_Flag = 0;
Vox_Vout_Enable = ON;
if( CoverStatus == CLOSE ) //1、关盖关闭COM_CTRL显示灯效。无需查询Loadon、IOFF状态无论耳机是否在仓Vox 5V输出。
{
Earphone_Chg_Flag = 0; //关盖取消耳机入盒灯效,显示关盖灯效。
@ -280,9 +326,7 @@ void Vox_Det_Machine(void)
Cover_Close_Flag0 = 1;
Cover_Close_Flag1 = 1;
Vox_Vout_Enable = ON;
Cover_Open_Flag = 0;
Follow_Chg_Start_Flag = 0;
@ -400,7 +444,7 @@ void Vox_Det_Machine(void)
{
if( ( (CHIP_STA1 & 0x88) == 0x88 ) ) //VOR耳机充满转入ADT模式。
{
if( Vor_chgFull_Timer < VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。
if( Vor_chgFull_Timer < COVER_OPEN_VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。
{
Vor_chgFull_Timer++;
}
@ -408,104 +452,71 @@ void Vox_Det_Machine(void)
{
VOX_CTL0 &= ~0x20; //VOX 5v Off, Enable VOX ADT
Vor_Get_Sta_Flag = 1;
Vor_Chg_Full_Flag = 1;
Vor_chgFull_Timer = 0;
}
}
}
else
{
if( Vor_Get_Sta_Flag )
{
if( Vor_chgFull_Timer <= VOX_ADT_HOLD_CNT ) //重载转轻载延时5s后关闭Boost输出。
{
Vor_chgFull_Timer++;
return;
}
Vor_Get_Sta_Flag = 0;
CHIP_STA1_Vor = CHIP_STA1 & 0x80;
}
else
{
if( !Key_Press_short_irq )
if( CHIP_STA1 & 0x80 )
{
if( CHIP_STA1_Vor != ( CHIP_STA1 & 0x80 ) )
if ( !Vor_Get_Sta_Flag )
{
if(CHIP_STA1 & 0x80)
{
Earphone_Chg_Flag = 1;
Vor_chgFull_Timer = 0;
Vor_Get_Sta_Flag = 1;
Earphone_Chg_Flag = 1;
#ifdef LED_DISPLAY
LED_On_Flag = 1;
#endif
}
CHIP_STA1_Vor = CHIP_STA1 & 0x80;
LED_On_Flag = 1;
#endif
}
}
}
}
if( !Vol_Chg_Full_Flag )
{
if( ( (CHIP_STA1 & 0x24) == 0x24 ) ) //VOR耳机充满转入ADT模式。
{
if( Vol_chgFull_Timer < VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。
if( Vol_chgFull_Timer < COVER_OPEN_VOX_VOUT_5V_LEAST_CNT ) //重载转轻载延时5s后关闭Boost输出。
{
Vol_chgFull_Timer++;
}
else
{
VOX_CTL0 &= ~0x10; //VOX 5v Off, Enable VOX ADT
Vol_Get_Sta_Flag = 1;
VOX_CTL0 &= ~0x10; //VOX 5v Off, Enable VOX ADT
Vol_Chg_Full_Flag = 1;
Vol_chgFull_Timer = 0;
}
}
}
else
{
if( Vol_Get_Sta_Flag )
{
if( Vol_chgFull_Timer <= VOX_ADT_HOLD_CNT ) //重载转轻载延时5s后关闭Boost输出。
{
Vol_chgFull_Timer++;
return;
}
Vol_Get_Sta_Flag = 0;
CHIP_STA1_Vol = CHIP_STA1 & 0x20;
}
else
{
if( !Key_Press_short_irq )
if( CHIP_STA1 & 0x20 )
{
if( CHIP_STA1_Vol != ( CHIP_STA1 & 0x20 ) )
if ( !Vol_Get_Sta_Flag )
{
if(CHIP_STA1 & 0x20)
{
Earphone_Chg_Flag = 1;
Vol_Get_Sta_Flag = 1;
Vol_chgFull_Timer = 0;
Earphone_Chg_Flag = 1;
#ifdef LED_DISPLAY
LED_On_Flag = 1;
LED_On_Flag = 1;
#endif
}
CHIP_STA1_Vol = CHIP_STA1 & 0x20;
}
}
}
}
}
if( Vor_Chg_Full_Flag && Vol_Chg_Full_Flag )
{
Get_CHIP_STA1_Flag1 = 1;
@ -542,15 +553,22 @@ void Vox_Det_Machine(void)
/*耳机出入盒判断*/
if( CHIP_STA1_BK != (CHIP_STA1 & 0xA0) ) //查询耳机loadon状态loadon状态改变则说明有耳机出入盒。
{
if(CHIP_STA1 & 0xA0)
{
Earphone_Chg_Flag = 1;
#ifdef LED_DISPLAY
LED_On_Flag = 1;
#endif
}
Vox_TX_Timer++;
CHIP_STA1_BK = CHIP_STA1 & 0xA0;
if( Vox_TX_Timer <= VOX_DET_CNT ) //loadon状态持续300ms仍存在则说明耳机入盒
{
if(CHIP_STA1 & 0xA0)
{
Earphone_Chg_Flag = 1;
#ifdef LED_DISPLAY
LED_On_Flag = 1;
#endif
}
Vox_TX_Timer = 0;
CHIP_STA1_BK = CHIP_STA1 & 0xA0;
}
}
}
}