This commit is contained in:
parent
fbe9e356f7
commit
1b2512b4c4
|
@ -148,7 +148,24 @@
|
|||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>146</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134224336</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\User\board\ssd096_oled.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\motor\../User/board/ssd096_oled.c\146</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
|
@ -770,6 +787,18 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>8</GroupNumber>
|
||||
<FileNumber>42</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\User\board\ssd096_oled.c</PathWithFileName>
|
||||
<FilenameWithoutPath>ssd096_oled.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
@ -780,7 +809,7 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>42</FileNumber>
|
||||
<FileNumber>43</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -792,7 +821,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>43</FileNumber>
|
||||
<FileNumber>44</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -804,7 +833,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>44</FileNumber>
|
||||
<FileNumber>45</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -816,7 +845,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>45</FileNumber>
|
||||
<FileNumber>46</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -828,7 +857,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>46</FileNumber>
|
||||
<FileNumber>47</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
|
|
@ -1253,6 +1253,11 @@
|
|||
<FileType>1</FileType>
|
||||
<FilePath>..\User\board\board.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>ssd096_oled.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\User\board\ssd096_oled.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
:020000040800F2
|
||||
:10000000802C002005010008950D0008AB010008B8
|
||||
:10001000910D00087101000879130008000000002C
|
||||
:10002000000000000000000000000000E5100008D3
|
||||
:10003000A901000800000000E50F0008E710000813
|
||||
:10000000802C002005010008A50D0008AB010008A8
|
||||
:10001000A10D00087101000889130008000000000C
|
||||
:10002000000000000000000000000000F5100008C3
|
||||
:10003000A901000800000000F50F0008F7100008F3
|
||||
:100040001F0100081F0100081F0100081F01000810
|
||||
:100050001F0100081F0100081F0100081F01000800
|
||||
:100060001F0100081F0100081F0100081F010008F0
|
||||
:100070001F0100081F0100088901000899010008FC
|
||||
:100080001F0100081F0100081F0100081F010008D0
|
||||
:100090001F0100081F0100081F0100081F010008C0
|
||||
:1000A0001F010008DD1100081F0100081F010008E2
|
||||
:1000B0001F010008AD1200081F0100081F01000801
|
||||
:1000A0001F010008ED1100081F0100081F010008D2
|
||||
:1000B0001F010008BD1200081F0100081F010008F1
|
||||
:1000C0001F0100081F0100081F0100081F01000890
|
||||
:1000D0001F010008691300081F0100081F01000824
|
||||
:1000D0001F010008791300081F0100081F01000814
|
||||
:1000E0001F0100081F0100081F010008DFF810D0E1
|
||||
:1000F00000F02CF800480047C5150008AFF3008059
|
||||
:1000F00000F02CF800480047CD160008AFF3008050
|
||||
:10010000802C00200648804706480047FEE7FEE7AF
|
||||
:10011000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7
|
||||
:10012000D9110008ED000008D2B201E000F8012B5F
|
||||
:10012000E9110008ED000008D2B201E000F8012B4F
|
||||
:10013000491EFBD270470022F6E710B513460A4667
|
||||
:1001400004461946FFF7F0FF204610BD064C074D48
|
||||
:1001500006E0E06840F0010394E807009847103497
|
||||
:10016000AC42F6D3FFF7C6FF141F0008341F000887
|
||||
:10016000AC42F6D3FFF7C6FF28210008482100085B
|
||||
:1001700000BFFEE7024600BF1AB901E000BF00BFA2
|
||||
:10018000FCE700BF0120704710B50248006801F08D
|
||||
:1001900098FB10BD5C00002010B50248006801F01B
|
||||
:1001A00090FB10BD5C000020704700BFFEE7000020
|
||||
:10019000A2FC10BD5C00002010B50248006801F010
|
||||
:1001A0009AFC10BD5C000020704700BFFEE7000015
|
||||
:1001B00008B50549C9690143034AD1611146C969B6
|
||||
:1001C0000140009100BF08BD0010024008B505497C
|
||||
:1001D00089690143034A916111468969014000918F
|
||||
|
@ -34,29 +34,29 @@
|
|||
:100200000010024008B5054989690143034A91611C
|
||||
:10021000114689690140009100BF08BD00100240ED
|
||||
:1002200010B54A1E044B9A5C825822F001034A1E04
|
||||
:10023000014CA25C835010BDB81E000810B54A1EC8
|
||||
:10023000014CA25C835010BDCC20000810B54A1EB2
|
||||
:10024000044B9A5C825842F001034A1E014CA25CA6
|
||||
:10025000835010BDB81E000810B54A1E044B9A5CAE
|
||||
:10025000835010BDCC20000810B54A1E044B9A5C98
|
||||
:10026000825842F002034A1E014CA25C835010BD2A
|
||||
:10027000B81E000830B54B1E054CE35CC35823F490
|
||||
:10027000CC20000830B54B1E054CE35CC35823F47A
|
||||
:10028000405313434C1E024D2C5D035130BD000002
|
||||
:10029000761E000830B54B1E064CE35C03445B68D9
|
||||
:100290008A20000830B54B1E064CE35C03445B68C3
|
||||
:1002A0006FF30F0313434C1E024D2C5D0444636037
|
||||
:1002B00030BD0000B81E000830B54B1E054CE35C95
|
||||
:1002B00030BD0000CC20000830B54B1E054CE35C7F
|
||||
:1002C000C35844F21004A34313434C1E014D2C5D4C
|
||||
:1002D000035130BD761E000810B54B1E024CE35C86
|
||||
:1002E0000344DA6010BD0000B81E000830B54B1E94
|
||||
:1002D000035130BD8A20000810B54B1E024CE35C70
|
||||
:1002E0000344DA6010BD0000CC20000830B54B1E7E
|
||||
:1002F000054CE35CC35823F0800313434C1E024DAE
|
||||
:100300002C5D035130BD0000761E000830B54B1E39
|
||||
:100300002C5D035130BD00008A20000830B54B1E23
|
||||
:10031000054CE35CC35823F4406313434C1E024D69
|
||||
:100320002C5D035130BD0000761E000830B54B1E19
|
||||
:100320002C5D035130BD00008A20000830B54B1E03
|
||||
:10033000054CE35CC35823F0200313434C1E024DCD
|
||||
:100340002C5D035130BD0000761E000810B54B1E19
|
||||
:10035000024CE35C03449A6010BD0000B81E000824
|
||||
:100340002C5D035130BD00008A20000810B54B1E03
|
||||
:10035000024CE35C03449A6010BD0000CC2000080E
|
||||
:1003600030B54B1E054CE35CC35823F040031343E8
|
||||
:100370004C1E024D2C5D035130BD0000761E00085E
|
||||
:100370004C1E024D2C5D035130BD00008A20000848
|
||||
:1003800030B54B1E054CE35CC35823F44073134354
|
||||
:100390004C1E024D2C5D035130BD0000761E00083E
|
||||
:100390004C1E024D2C5D035130BD00008A20000828
|
||||
:1003A0002DE9F04102460B461868C0F30F2595FA77
|
||||
:1003B000A5F0B0FA80F480E00120A0402840002899
|
||||
:1003C0007AD0082C04D240F2011000FA04F106E0C1
|
||||
|
@ -76,435 +76,468 @@
|
|||
:1004A000A1FCBCFA8CFC4FEA8C0C00FA0CFC47EA6D
|
||||
:1004B0000C07376000BF00BF641C25FA04F0002859
|
||||
:1004C0007FF47AAFBDE8F081C1F30F22426170473B
|
||||
:1004D00002480068401C0149086070472000002065
|
||||
:1004E0004FF47A71B0FBF1F2521E4FF0E0235A61E3
|
||||
:1004F00000229A6105221A6100BF704710B50446B8
|
||||
:1005000000F0A6FD2060206800F06EFD606060686D
|
||||
:1005100000F07AFDA060606800F088FDE06010BD2A
|
||||
:10052000014908607047000000000020016821F0C8
|
||||
:10053000800101607047816821F08001816070470F
|
||||
:10054000016841F0010101607047C16841F001019B
|
||||
:10055000C160704710B5024613681C48824208D03B
|
||||
:10056000B2F1804F05D01A48824202D01948824227
|
||||
:1005700004D123F070004C6840EA0403134882421F
|
||||
:1005800008D0B2F1804F05D01148824202D0114804
|
||||
:10059000824204D123F44070CC6840EA0403136023
|
||||
:1005A0008868D06200BF0888906200BF0748824216
|
||||
:1005B00003D10869106300BF00BF00BF506940F05D
|
||||
:1005C0000100506100BF002010BD0000002C014060
|
||||
:1005D000000400400008004001460869C0F34000E4
|
||||
:1005E000704701460869C0F38000704701460869FA
|
||||
:1005F000C0F3C000704701460869C0F3001070479F
|
||||
:100600000146086900F0010070470146C868C0F360
|
||||
:10061000400070470146C868C0F38000704701463B
|
||||
:10062000C868C0F3C00070470146C868C0F3001036
|
||||
:1006300070470146C86800F00100704770B5024677
|
||||
:10064000012901D1002416E0042901D1012412E07E
|
||||
:10065000102901D102240EE0402901D103240AE02F
|
||||
:10066000B1F5807F01D1042405E0B1F5806F01D19F
|
||||
:10067000052400E006242346064CE55C02F118043C
|
||||
:1006800028190468044DEE5C0425B5402C43046031
|
||||
:1006900070BD0000531E00085A1E000870B50246C7
|
||||
:1006A000012901D1002416E0042901D1012412E01E
|
||||
:1006B000102901D102240EE0402901D103240AE0CF
|
||||
:1006C000B1F5807F01D1042405E0B1F5806F01D13F
|
||||
:1006D000052400E006242346064CE55C02F11804DC
|
||||
:1006E00028190468044DEE5C0825B5402C430460CD
|
||||
:1006F00070BD0000531E00085A1E00082DE9F0418D
|
||||
:1007000006460C4615460127012C08D0102C0CD0AB
|
||||
:10071000B4F5807F0FD0B4F5805F18D111E0294681
|
||||
:10072000304600F079FB074612E02946304600F0DB
|
||||
:10073000AFFB07460CE02946304600F0EBFB0746CE
|
||||
:1007400006E02946304600F021FC074600E000BFE5
|
||||
:1007500000BF3846BDE8F08181637047826844F28B
|
||||
:1007600007039A430A4382607047426822F070028E
|
||||
:100770000A434260704708B50168009100BF4168B4
|
||||
:10078000009100BF08BD6FF040010160704700009C
|
||||
:100790002DE9FF4104460D4601270026204600F0C2
|
||||
:1007A00055F8002833D1E968686808432969084387
|
||||
:1007B000E16841F20C6291430843E060A868216956
|
||||
:1007C00021F440510143216100BF6869616921F44E
|
||||
:1007D00040710143616100BF6846FFF78FFE0E481C
|
||||
:1007E000844201D1039E08E00C48844201D1029E5C
|
||||
:1007F00003E00B48844200D1029E46B1286830B124
|
||||
:100800000027314620462A6800F025F800BF384608
|
||||
:1008100004B0BDE8F0810000003801400044004011
|
||||
:100820000048004001460868C0F340007047014698
|
||||
:100830000868C0F38000704701460868C0F3C00034
|
||||
:10084000704701460868C0F3801070470146C868C9
|
||||
:10085000C0F34030704770B501EBC10303EB0113E7
|
||||
:100860009400B3FBF4F301EBC10404EB0114950015
|
||||
:10087000B4FBF5F46425B4FBF5F404EBC40505EB17
|
||||
:100880000414A3EB8403322404EB03136424B3FBAA
|
||||
:10089000F4F303F0F00301EBC10404EB0114950041
|
||||
:1008A000B4FBF5F46425B4FBF5F403EB041401EB9D
|
||||
:1008B000C10303EB01139500B3FBF5F301EBC10595
|
||||
:1008C00005EB01159600B5FBF6F56426B5FBF6F5CC
|
||||
:1008D00005EBC50606EB0515A3EB8503322505EBF5
|
||||
:1008E00003136425B3FBF5F303F00F0323449BB21A
|
||||
:1008F000836070BD38B50120144949690143134A2A
|
||||
:100900005161114649690140009100BF00BF00F0EC
|
||||
:100910004FFD05460022114600F03EFA04462146EE
|
||||
:100920000E2000F055FD0E2000F028FD00F040FDE7
|
||||
:1009300005460022114600F02FFA044621460F20FA
|
||||
:1009400000F046FD0F2000F019FD38BD00100240F8
|
||||
:1009500000B585B014216846FFF7EDFB1020FFF7C6
|
||||
:1009600035FC2020FFF732FC0420FFF72FFC082085
|
||||
:10097000FFF72CFC1C491D48FFF7A6FD1C491D482C
|
||||
:10098000FFF7A2FD1848009001200190022002907C
|
||||
:100990000020039069461548FFF702FD16480090B5
|
||||
:1009A0000020019069461148FFF7FAFC13480090B7
|
||||
:1009B0000020019069461248FFF7F2FC11480090B0
|
||||
:1009C0000020019069460B48FFF7EAFC08480090B8
|
||||
:1009D0000120019003200290002003906946054801
|
||||
:1009E000FFF7DEFC05B000BD200020040010014030
|
||||
:1009F00030003004000C0140C000C004FDFD99042B
|
||||
:100A000000080140FFFFCF0430B585B014216846CF
|
||||
:100A1000FFF791FB4FF40060FFF7E6FB00F0D0FC1E
|
||||
:100A200005460022032100F0D7F90446214619208B
|
||||
:100A300000F0E2FC192000F0AEFC41F61F40ADF8DA
|
||||
:100A40000000002001906320029000200390049099
|
||||
:100A500069460948FFF77EFD0748FFF767FD00215B
|
||||
:100A60000548FFF77BFE00210348FFF77EFE0248A2
|
||||
:100A7000FFF761FD05B030BD002C014000B593B01B
|
||||
:100A800014210EA8FFF757FB202106A8FFF753FB00
|
||||
:100A9000142101A8FFF74FFB0120FFF789FB00207D
|
||||
:100AA000ADF838000F9041F61F40109000201190D3
|
||||
:100AB0000EA94FF08040FFF74DFD00BF4FF0804082
|
||||
:100AC000006840F080004FF08041086000BF0021C6
|
||||
:100AD0004FF08040FFF742FE10218806FFF7DEFD51
|
||||
:100AE00070200690002007900890099002200A903C
|
||||
:100AF00006AA10214007FFF701FE10218806FFF724
|
||||
:100B00009DFD00214FF08040FFF72FFE4FF0804009
|
||||
:100B1000FFF711FD0420FFF767FB40F20220019070
|
||||
:100B200009200290022003900020049001A90248AD
|
||||
:100B3000FFF736FC13B000BD0008014030B585B0AA
|
||||
:100B400014216846FFF7F7FA0220FFF731FB00F0A7
|
||||
:100B500037FC05460022032100F03EF904462146F9
|
||||
:100B60001D2000F049FC1D2000F015FC41F61F403F
|
||||
:100B7000ADF8000000200190632002900020039057
|
||||
:100B800069460948FFF7E6FC0748FFF7CFFC00215C
|
||||
:100B90000548FFF7E3FD00210348FFF7E6FD0248A3
|
||||
:100BA000FFF7C9FC05B030BD000400402DE9F0415D
|
||||
:100BB0008CB01C2105A8FFF7BEFA14216846FFF788
|
||||
:100BC000BAFA4FF48040FFF71DFB0420FFF71AFB31
|
||||
:100BD00068480090092001900320029000200390B3
|
||||
:100BE00069466548FFF7DCFB6448009004200190EB
|
||||
:100BF00069466148FFF7D4FB002205216048FFF7F2
|
||||
:100C00005BFB002205215E48FFF734FB0022052133
|
||||
:100C10005B48FFF78BFB002205215948FFF7A0FB3B
|
||||
:100C2000802205215648FFF761FB00220521544828
|
||||
:100C3000FFF7A6FB002205215148FFF767FB1022B2
|
||||
:100C400004214F48FFF738FB002204214C48FFF7EE
|
||||
:100C500011FB002204214A48FFF768FB002204210F
|
||||
:100C60004748FFF77DFB802204214548FFF73EFB04
|
||||
:100C7000002204214248FFF783FB00220421404860
|
||||
:100C8000FFF744FB25213F4B1B68C3F302200524DB
|
||||
:100C900000250346C3F1070CBCF1040F02D94FF045
|
||||
:100CA000040C01E0C3F1070C674603F1040CBCF12E
|
||||
:100CB000070F02D24FF0000C01E0A3F1030C6646CF
|
||||
:100CC0004FF0010C0CFA07FCACF1010C0CEA040C1F
|
||||
:100CD0000CFA06FC4FF0010808FA06F8A8F1010822
|
||||
:100CE00008EA05084CEA080200BF002904DB1007E7
|
||||
:100CF000030E2548435407E01007040E21480C302A
|
||||
:100D000001F00F031B1FC45400BF2520002809DB7E
|
||||
:100D100000F01F02012191404209920002F1E022FD
|
||||
:100D2000C2F8001100BF4FF4E1300590002006909A
|
||||
:100D3000079008900C20099000200A900B9005A9BC
|
||||
:100D40001248FFF725FD00BF1048006920F49040CD
|
||||
:100D50000E4908610846406920F02A00486100BF3A
|
||||
:100D600000BF0846C06840F40050C86000BF0CB027
|
||||
:100D7000BDE8F08102000204000801400400040400
|
||||
:100D8000000002400CED00E000E400E0003801400B
|
||||
:100D900000BFFEE700BFFEE7F0B503460C4603F0D8
|
||||
:100DA0000701C1F10700042801D9042001E0C1F1C5
|
||||
:100DB00007000646081D072801D2002000E0C81ED3
|
||||
:100DC00005460120B040401E2040A8400127AF400A
|
||||
:100DD0007F1E17403843F0BDF0B503460C4603F0C4
|
||||
:100DE0000701C1F10700042801D9042001E0C1F185
|
||||
:100DF00007000646081D072801D2002000E0C81E93
|
||||
:100E000005460120B040401E2040A8400127AF40C9
|
||||
:100E10007F1E17403843F0BD70B50246106A20F0BF
|
||||
:100E200001001062136A5568946924F0030424F0E9
|
||||
:100E300070000E6840EA060423F002000E6940EAE2
|
||||
:100E4000060323F001004E6840EA06030F48824281
|
||||
:100E500013D123F008004E6940EA860323F0040012
|
||||
:100E60008E6840EA860325F480708E6940EA0605A4
|
||||
:100E700025F40070CE6940EA460555609461C86863
|
||||
:100E8000506300BF1362002070BD0000002C0140C1
|
||||
:100E90002DE9F04104460D46206A20F01000206242
|
||||
:100EA000266AD4F80480A76927F4407727F4E04045
|
||||
:100EB000296840EA012726F02000296940EA011646
|
||||
:100EC00026F01000696840EA01161148844213D1E7
|
||||
:100ED00026F08000696940EA811626F04000A96882
|
||||
:100EE00040EA811628F48060A96940EA810828F464
|
||||
:100EF0000060E96940EAC108C4F80480A76120469F
|
||||
:100F0000E968FFF729FC26620020BDE8F0810000B7
|
||||
:100F1000002C014070B50246106A20F48070106207
|
||||
:100F2000136A5568D46924F0030424F070000E6835
|
||||
:100F300040EA060423F400700E6940EA062323F415
|
||||
:100F400080704E6840EA06230F48824213D123F492
|
||||
:100F500000604E6940EA862323F480608E6840EA90
|
||||
:100F6000862325F480508E6940EA061525F400504A
|
||||
:100F7000CE6940EA46155560D461C868D06300BFA9
|
||||
:100F80001362002070BD0000002C014070B50246C5
|
||||
:100F9000106A20F480501062146A5568D36923F4F3
|
||||
:100FA000407323F4E0400E6840EA062324F4005026
|
||||
:100FB0000E6940EA063424F480504E6840EA063454
|
||||
:100FC0000748824204D125F480408E6940EA8615A4
|
||||
:100FD0005560D361C868106400BF1462002070BD02
|
||||
:100FE000002C014070470000014600BF04484068E3
|
||||
:100FF00000F0F0000009034A125C21FA02F0704789
|
||||
:1010000000100240A01E0008014600BF05484068CD
|
||||
:1010100000F4E060044A02EB1020027821FA02F0AA
|
||||
:101020007047000000100240B01E0008014600BFDB
|
||||
:101030000548406800F46050044A02EBD020027872
|
||||
:1010400021FA02F07047000000100240B01E0008B4
|
||||
:1010500010B5002400BF0B48406800F00C0020B120
|
||||
:10106000042804D0082808D103E0074C07E0064C08
|
||||
:1010700005E000F00BF8044601E0034C00BF00BFA0
|
||||
:10108000204610BD0010024000127A00002100220C
|
||||
:1010900000BF1148406800F4803002461AB1B2F532
|
||||
:1010A000803F0CD101E00D490BE000BF0A484068C9
|
||||
:1010B000C0F34040401C0A4BB3FBF0F101E007498C
|
||||
:1010C00000BF00BF00BF0448406800F47010022356
|
||||
:1010D00003EB9040484370470010024000093D0078
|
||||
:1010E00000127A007047704710B50220374909682E
|
||||
:1010F00021F007010143354A116000BF00BF00BF66
|
||||
:101100003248006800F007000228F8D100BF3048DC
|
||||
:10111000006840F480302E49086000BF00BF00BF67
|
||||
:101120002B480068C0F340400028F8D04FF48030CE
|
||||
:101130004FF4E011264A526822F47C1200F4403346
|
||||
:101140000B431A43224B5A6000BF00BF1846006889
|
||||
:1011500040F080701946086000BF00BF00BF1C4807
|
||||
:101160000068C0F340600028F8D0002018494968A2
|
||||
:1011700021F0F0010143164A516000BF10151146DD
|
||||
:10118000496821F4E0610143516000BF002011462D
|
||||
:10119000496821F460510143516000BF02201146AB
|
||||
:1011A000496821F003010143516000BF00BF00BF47
|
||||
:1011B0000748406800F00C000828F8D10548FFF700
|
||||
:1011C0008FF90448FFF7ACF910BD00000020024081
|
||||
:1011D0000010024000A24A047047000010B53148D8
|
||||
:1011E000FFF70EFA01285CD100BF2E48FFF7F4F993
|
||||
:1011F00001280AD12B48FFF708FA012805D100BFC2
|
||||
:10120000001F2849086100BF00BF2648FFF7E9F921
|
||||
:1012100001280AD12348FFF7FDF9012805D100BFB5
|
||||
:10122000801F2049086100BF00BF1E48FFF7DEF99C
|
||||
:1012300001280BD11B48FFF7F2F9012806D100BFA6
|
||||
:101240006FF008001749086100BF00BF1548FFF79D
|
||||
:10125000D2F901280BD11348FFF7E6F9012806D18E
|
||||
:1012600000BF6FF010000F49086100BF00BF0D48BC
|
||||
:10127000FFF7C6F901280AD10A48FFF7DAF9012871
|
||||
:1012800005D100BFC01E0749086100BF00BF00BFF5
|
||||
:10129000FFF71EF900BF04480068401C02490860BF
|
||||
:1012A00000BF10BD002C01405800002010B52D4893
|
||||
:1012B000FFF7A6F9012853D100BF2A48FFF78CF9A0
|
||||
:1012C00001280AD12748FFF7A0F9012805D100BF5E
|
||||
:1012D000001F2449086100BF00BF2248FFF781F9C1
|
||||
:1012E00001280AD11F48FFF795F9012805D100BF51
|
||||
:1012F000801F1C49086100BF00BF1A48FFF776F93C
|
||||
:1013000001280BD11748FFF78AF9012806D100BF41
|
||||
:101310006FF008001349086100BF00BF1148FFF7D4
|
||||
:101320006AF901280BD10F48FFF77EF9012806D191
|
||||
:1013300000BF6FF010000B49086100BF00BF0948F3
|
||||
:10134000FFF75EF901280AD10648FFF772F9012874
|
||||
:1013500005D100BFC01E0349086100BF00BF00BF28
|
||||
:1013600010BD00000004004010B50248006800F005
|
||||
:10137000D3FB10BD5C00002000BFFEE7002809DBA6
|
||||
:1013800000F01F02012191404209920002F1E02287
|
||||
:10139000C2F800117047002809DB00F01F0201218C
|
||||
:1013A00091404209920002F1E022C2F80011704718
|
||||
:1013B00002480068C0F30220704700000CED00E016
|
||||
:1004D000C1F30F2242617047C1F30F2202617047DE
|
||||
:1004E00002480068401C0149086070472000002055
|
||||
:1004F0004FF47A71B0FBF1F2521E4FF0E0235A61D3
|
||||
:1005000000229A6105221A6100BF704710B50446A7
|
||||
:1005100000F0A6FD2060206800F06EFD606060685D
|
||||
:1005200000F07AFDA060606800F088FDE06010BD1A
|
||||
:10053000014908607047000000000020016821F0B8
|
||||
:10054000800101607047816821F0800181607047FF
|
||||
:10055000016841F0010101607047C16841F001018B
|
||||
:10056000C160704710B5024613681C48824208D02B
|
||||
:10057000B2F1804F05D01A48824202D01948824217
|
||||
:1005800004D123F070004C6840EA0403134882420F
|
||||
:1005900008D0B2F1804F05D01148824202D01148F4
|
||||
:1005A000824204D123F44070CC6840EA0403136013
|
||||
:1005B0008868D06200BF0888906200BF0748824206
|
||||
:1005C00003D10869106300BF00BF00BF506940F04D
|
||||
:1005D0000100506100BF002010BD0000002C014050
|
||||
:1005E000000400400008004001460869C0F34000D4
|
||||
:1005F000704701460869C0F38000704701460869EA
|
||||
:10060000C0F3C000704701460869C0F3001070478E
|
||||
:100610000146086900F0010070470146C868C0F350
|
||||
:10062000400070470146C868C0F38000704701462B
|
||||
:10063000C868C0F3C00070470146C868C0F3001026
|
||||
:1006400070470146C86800F00100704770B5024667
|
||||
:10065000012901D1002416E0042901D1012412E06E
|
||||
:10066000102901D102240EE0402901D103240AE01F
|
||||
:10067000B1F5807F01D1042405E0B1F5806F01D18F
|
||||
:10068000052400E006242346064CE55C02F118042C
|
||||
:1006900028190468044DEE5C0425B5402C43046021
|
||||
:1006A00070BD0000672000086E20000870B502468B
|
||||
:1006B000012901D1002416E0042901D1012412E00E
|
||||
:1006C000102901D102240EE0402901D103240AE0BF
|
||||
:1006D000B1F5807F01D1042405E0B1F5806F01D12F
|
||||
:1006E000052400E006242346064CE55C02F11804CC
|
||||
:1006F00028190468044DEE5C0825B5402C430460BD
|
||||
:1007000070BD0000672000086E2000082DE9F04150
|
||||
:1007100006460C4615460127012C08D0102C0CD09B
|
||||
:10072000B4F5807F0FD0B4F5805F18D111E0294671
|
||||
:10073000304600F079FB074612E02946304600F0CB
|
||||
:10074000AFFB07460CE02946304600F0EBFB0746BE
|
||||
:1007500006E02946304600F021FC074600E000BFD5
|
||||
:1007600000BF3846BDE8F08181637047826844F27B
|
||||
:1007700007039A430A4382607047426822F070027E
|
||||
:100780000A434260704708B50168009100BF4168A4
|
||||
:10079000009100BF08BD6FF040010160704700008C
|
||||
:1007A0002DE9FF4104460D4601270026204600F0B2
|
||||
:1007B00055F8002833D1E968686808432969084377
|
||||
:1007C000E16841F20C6291430843E060A868216946
|
||||
:1007D00021F440510143216100BF6869616921F43E
|
||||
:1007E00040710143616100BF6846FFF78FFE0E480C
|
||||
:1007F000844201D1039E08E00C48844201D1029E4C
|
||||
:1008000003E00B48844200D1029E46B1286830B113
|
||||
:100810000027314620462A6800F025F800BF3846F8
|
||||
:1008200004B0BDE8F0810000003801400044004001
|
||||
:100830000048004001460868C0F340007047014688
|
||||
:100840000868C0F38000704701460868C0F3C00024
|
||||
:10085000704701460868C0F3801070470146C868B9
|
||||
:10086000C0F34030704770B501EBC10303EB0113D7
|
||||
:100870009400B3FBF4F301EBC10404EB0114950005
|
||||
:10088000B4FBF5F46425B4FBF5F404EBC40505EB07
|
||||
:100890000414A3EB8403322404EB03136424B3FB9A
|
||||
:1008A000F4F303F0F00301EBC10404EB0114950031
|
||||
:1008B000B4FBF5F46425B4FBF5F403EB041401EB8D
|
||||
:1008C000C10303EB01139500B3FBF5F301EBC10585
|
||||
:1008D00005EB01159600B5FBF6F56426B5FBF6F5BC
|
||||
:1008E00005EBC50606EB0515A3EB8503322505EBE5
|
||||
:1008F00003136425B3FBF5F303F00F0323449BB20A
|
||||
:10090000836070BD38B50120144949690143134A19
|
||||
:100910005161114649690140009100BF00BF00F0DC
|
||||
:100920004FFD05460022114600F03EFA04462146DE
|
||||
:100930000E2000F055FD0E2000F028FD00F040FDD7
|
||||
:1009400005460022114600F02FFA044621460F20EA
|
||||
:1009500000F046FD0F2000F019FD38BD00100240E8
|
||||
:1009600000B585B014216846FFF7E5FB1020FFF7BE
|
||||
:100970002DFC2020FFF72AFC0420FFF727FC08208D
|
||||
:10098000FFF724FC1C491D48FFF79EFD1C491D482C
|
||||
:10099000FFF79AFD18480090012001900220029074
|
||||
:1009A0000020039069461548FFF7FAFC16480090AE
|
||||
:1009B0000020019069461148FFF7F2FC13480090AF
|
||||
:1009C0000020019069461248FFF7EAFC11480090A8
|
||||
:1009D0000020019069460B48FFF7E2FC08480090B0
|
||||
:1009E00001200190032002900020039069460548F1
|
||||
:1009F000FFF7D6FC05B000BD200020040010014028
|
||||
:100A000030003004000C0140C000C004FDFD99041A
|
||||
:100A100000080140FFFFCF0430B585B014216846BF
|
||||
:100A2000FFF789FB4FF40060FFF7DEFB00F0D0FC1E
|
||||
:100A300005460022032100F0D7F90446214619207B
|
||||
:100A400000F0E2FC192000F0AEFC41F61F40ADF8CA
|
||||
:100A50000000002001906320029000200390049089
|
||||
:100A600069460948FFF77EFD0748FFF767FD00214B
|
||||
:100A70000548FFF77BFE00210348FFF77EFE024892
|
||||
:100A8000FFF761FD05B030BD002C014000B593B00B
|
||||
:100A900014210EA8FFF74FFB202106A8FFF74BFB00
|
||||
:100AA000142101A8FFF747FB0120FFF781FB00207D
|
||||
:100AB000ADF838000F9041F61F40109000201190C3
|
||||
:100AC0000EA94FF08040FFF74DFD00BF4FF0804072
|
||||
:100AD000006840F080004FF08041086000BF0021B6
|
||||
:100AE0004FF08040FFF742FE10218806FFF7DEFD41
|
||||
:100AF00070200690002007900890099002200A902C
|
||||
:100B000006AA10214007FFF701FE10218806FFF713
|
||||
:100B10009DFD00214FF08040FFF72FFE4FF08040F9
|
||||
:100B2000FFF711FD0420FFF75FFB40F20220019068
|
||||
:100B300009200290022003900020049001A902489D
|
||||
:100B4000FFF72EFC13B000BD0008014030B585B0A2
|
||||
:100B500014216846FFF7EFFA0220FFF729FB00F0A7
|
||||
:100B600037FC05460022032100F03EF904462146E9
|
||||
:100B70001D2000F049FC1D2000F015FC41F61F402F
|
||||
:100B8000ADF8000000200190632002900020039047
|
||||
:100B900069460948FFF7E6FC0748FFF7CFFC00214C
|
||||
:100BA0000548FFF7E3FD00210348FFF7E6FD024893
|
||||
:100BB000FFF7C9FC05B030BD000400402DE9F0414D
|
||||
:100BC0008CB01C2105A8FFF7B6FA14216846FFF780
|
||||
:100BD000B2FA4FF48040FFF715FB0420FFF712FB39
|
||||
:100BE00068480090092001900320029000200390A3
|
||||
:100BF00069466548FFF7D4FB6448009004200190E3
|
||||
:100C000069466148FFF7CCFB002205216048FFF7E9
|
||||
:100C100053FB002205215E48FFF72CFB0022052133
|
||||
:100C20005B48FFF783FB002205215948FFF798FB3B
|
||||
:100C3000802205215648FFF759FB00220521544820
|
||||
:100C4000FFF79EFB002205215148FFF75FFB1022B2
|
||||
:100C500004214F48FFF730FB002204214C48FFF7E6
|
||||
:100C600009FB002204214A48FFF760FB002204210F
|
||||
:100C70004748FFF775FB802204214548FFF736FB04
|
||||
:100C8000002204214248FFF77BFB00220421404858
|
||||
:100C9000FFF73CFB25213F4B1B68C3F302200524D3
|
||||
:100CA00000250346C3F1070CBCF1040F02D94FF035
|
||||
:100CB000040C01E0C3F1070C674603F1040CBCF11E
|
||||
:100CC000070F02D24FF0000C01E0A3F1030C6646BF
|
||||
:100CD0004FF0010C0CFA07FCACF1010C0CEA040C0F
|
||||
:100CE0000CFA06FC4FF0010808FA06F8A8F1010812
|
||||
:100CF00008EA05084CEA080200BF002904DB1007D7
|
||||
:100D0000030E2548435407E01007040E21480C3019
|
||||
:100D100001F00F031B1FC45400BF2520002809DB6E
|
||||
:100D200000F01F02012191404209920002F1E022ED
|
||||
:100D3000C2F8001100BF4FF4E1300590002006908A
|
||||
:100D4000079008900C20099000200A900B9005A9AC
|
||||
:100D50001248FFF725FD00BF1048006920F49040BD
|
||||
:100D60000E4908610846406920F02A00486100BF2A
|
||||
:100D700000BF0846C06840F40050C86000BF0CB017
|
||||
:100D8000BDE8F081020002040008014004000404F0
|
||||
:100D9000000002400CED00E000E400E000380140FB
|
||||
:100DA00000BFFEE700BFFEE7F0B503460C4603F0C8
|
||||
:100DB0000701C1F10700042801D9042001E0C1F1B5
|
||||
:100DC00007000646081D072801D2002000E0C81EC3
|
||||
:100DD00005460120B040401E2040A8400127AF40FA
|
||||
:100DE0007F1E17403843F0BDF0B503460C4603F0B4
|
||||
:100DF0000701C1F10700042801D9042001E0C1F175
|
||||
:100E000007000646081D072801D2002000E0C81E82
|
||||
:100E100005460120B040401E2040A8400127AF40B9
|
||||
:100E20007F1E17403843F0BD70B50246106A20F0AF
|
||||
:100E300001001062136A5568946924F0030424F0D9
|
||||
:100E400070000E6840EA060423F002000E6940EAD2
|
||||
:100E5000060323F001004E6840EA06030F48824271
|
||||
:100E600013D123F008004E6940EA860323F0040002
|
||||
:100E70008E6840EA860325F480708E6940EA060594
|
||||
:100E800025F40070CE6940EA460555609461C86853
|
||||
:100E9000506300BF1362002070BD0000002C0140B1
|
||||
:100EA0002DE9F04104460D46206A20F01000206232
|
||||
:100EB000266AD4F80480A76927F4407727F4E04035
|
||||
:100EC000296840EA012726F02000296940EA011636
|
||||
:100ED00026F01000696840EA01161148844213D1D7
|
||||
:100EE00026F08000696940EA811626F04000A96872
|
||||
:100EF00040EA811628F48060A96940EA810828F454
|
||||
:100F00000060E96940EAC108C4F80480A76120468E
|
||||
:100F1000E968FFF729FC26620020BDE8F0810000A7
|
||||
:100F2000002C014070B50246106A20F480701062F7
|
||||
:100F3000136A5568D46924F0030424F070000E6825
|
||||
:100F400040EA060423F400700E6940EA062323F405
|
||||
:100F500080704E6840EA06230F48824213D123F482
|
||||
:100F600000604E6940EA862323F480608E6840EA80
|
||||
:100F7000862325F480508E6940EA061525F400503A
|
||||
:100F8000CE6940EA46155560D461C868D06300BF99
|
||||
:100F90001362002070BD0000002C014070B50246B5
|
||||
:100FA000106A20F480501062146A5568D36923F4E3
|
||||
:100FB000407323F4E0400E6840EA062324F4005016
|
||||
:100FC0000E6940EA063424F480504E6840EA063444
|
||||
:100FD0000748824204D125F480408E6940EA861594
|
||||
:100FE0005560D361C868106400BF1462002070BDF2
|
||||
:100FF000002C014070470000014600BF04484068D3
|
||||
:1010000000F0F0000009034A125C21FA02F0704778
|
||||
:1010100000100240B4200008014600BF05484068A7
|
||||
:1010200000F4E060044A02EB1020027821FA02F09A
|
||||
:101030007047000000100240C4200008014600BFB5
|
||||
:101040000548406800F46050044A02EBD020027862
|
||||
:1010500021FA02F07047000000100240C42000088E
|
||||
:1010600010B5002400BF0B48406800F00C0020B110
|
||||
:10107000042804D0082808D103E0074C07E0064CF8
|
||||
:1010800005E000F00BF8044601E0034C00BF00BF90
|
||||
:10109000204610BD0010024000127A0000210022FC
|
||||
:1010A00000BF1148406800F4803002461AB1B2F522
|
||||
:1010B000803F0CD101E00D490BE000BF0A484068B9
|
||||
:1010C000C0F34040401C0A4BB3FBF0F101E007497C
|
||||
:1010D00000BF00BF00BF0448406800F47010022346
|
||||
:1010E00003EB9040484370470010024000093D0068
|
||||
:1010F00000127A007047704710B50220374909681E
|
||||
:1011000021F007010143354A116000BF00BF00BF55
|
||||
:101110003248006800F007000228F8D100BF3048CC
|
||||
:10112000006840F480302E49086000BF00BF00BF57
|
||||
:101130002B480068C0F340400028F8D04FF48030BE
|
||||
:101140004FF4E011264A526822F47C1200F4403336
|
||||
:101150000B431A43224B5A6000BF00BF1846006879
|
||||
:1011600040F080701946086000BF00BF00BF1C48F7
|
||||
:101170000068C0F340600028F8D000201849496892
|
||||
:1011800021F0F0010143164A516000BF10151146CD
|
||||
:10119000496821F4E0610143516000BF002011461D
|
||||
:1011A000496821F460510143516000BF022011469B
|
||||
:1011B000496821F003010143516000BF00BF00BF37
|
||||
:1011C0000748406800F00C000828F8D10548FFF7F0
|
||||
:1011D0008FF90448FFF7ACF910BD00000020024071
|
||||
:1011E0000010024000A24A047047000010B53148C8
|
||||
:1011F000FFF70EFA01285CD100BF2E48FFF7F4F983
|
||||
:1012000001280AD12B48FFF708FA012805D100BFB1
|
||||
:10121000001F2849086100BF00BF2648FFF7E9F911
|
||||
:1012200001280AD12348FFF7FDF9012805D100BFA5
|
||||
:10123000801F2049086100BF00BF1E48FFF7DEF98C
|
||||
:1012400001280BD11B48FFF7F2F9012806D100BF96
|
||||
:101250006FF008001749086100BF00BF1548FFF78D
|
||||
:10126000D2F901280BD11348FFF7E6F9012806D17E
|
||||
:1012700000BF6FF010000F49086100BF00BF0D48AC
|
||||
:10128000FFF7C6F901280AD10A48FFF7DAF9012861
|
||||
:1012900005D100BFC01E0749086100BF00BF00BFE5
|
||||
:1012A000FFF71EF900BF04480068401C02490860AF
|
||||
:1012B00000BF10BD002C01405800002010B52D4883
|
||||
:1012C000FFF7A6F9012853D100BF2A48FFF78CF990
|
||||
:1012D00001280AD12748FFF7A0F9012805D100BF4E
|
||||
:1012E000001F2449086100BF00BF2248FFF781F9B1
|
||||
:1012F00001280AD11F48FFF795F9012805D100BF41
|
||||
:10130000801F1C49086100BF00BF1A48FFF776F92B
|
||||
:1013100001280BD11748FFF78AF9012806D100BF31
|
||||
:101320006FF008001349086100BF00BF1148FFF7C4
|
||||
:101330006AF901280BD10F48FFF77EF9012806D181
|
||||
:1013400000BF6FF010000B49086100BF00BF0948E3
|
||||
:10135000FFF75EF901280AD10648FFF772F9012864
|
||||
:1013600005D100BFC01E0349086100BF00BF00BF18
|
||||
:1013700010BD00000004004010B50248006800F0F5
|
||||
:10138000D5FC10BD5C00002000BFFEE7002809DB93
|
||||
:1013900000F01F02012191404209920002F1E02277
|
||||
:1013A000C2F800117047002809DB00F01F0201217C
|
||||
:1013B00091404209920002F1E022C2F80011704708
|
||||
:1013C00002480068C0F30220704700000CED00E006
|
||||
:1013D00010B5002804DB0A07130E054A135406E073
|
||||
:1013E0000A07140E034A00F00F031B1FD45410BD4C
|
||||
:1013F00000E400E018ED00E010B5002804DB0A0767
|
||||
:10140000130E054A135406E00A07140E034A00F0AF
|
||||
:101410000F031B1FD45410BD00E400E018ED00E0E2
|
||||
:1014200002E008C8121F08C1002AFAD170477047AD
|
||||
:10143000002001E001C1121F002AFBD1704700000B
|
||||
:10144000014601F1100000E0001D02681AB9024ACD
|
||||
:1014500012689042F8D370473400002010B5064857
|
||||
:10146000046803E02046FFF7EBFF044603480068EA
|
||||
:101470008442F7D310BD000030000020340000206B
|
||||
:1014800010B504462146002000F090F910BD10B5BB
|
||||
:1014900001E000F8011B131EA2F10104A2B2F8D171
|
||||
:1014A00010BD000010B500200A4908600A49086014
|
||||
:1014B00000BF0A48FFF744F80848FFF746F800BFA6
|
||||
:1014C00000BF0748FFF73CF80548FFF73EF800BFAC
|
||||
:1014D00010BD0000040000200C000020002C014082
|
||||
:1014E0000004004010B5034800F00CF8024800F07A
|
||||
:1014F00033F810BD040000200C00002010B500F0EF
|
||||
:10150000DBFA10BD08B5014600200090086810B154
|
||||
:10151000122813D108E000BF00BF0B4800684860E4
|
||||
:1015200000BF1220086000BF074A48681268101AFE
|
||||
:101530000A2801D2002008BD00BFEDE700200860A6
|
||||
:1015400000900320F7E700005800002001490860E0
|
||||
:10155000704700001C00002038B5014600200090B4
|
||||
:10156000086810B1252821D116E000BF124B134C9A
|
||||
:10157000E068C3F30F2222EA000400EA020544EA0D
|
||||
:1015800005440E4D2C6100BF00BF0D480068486047
|
||||
:1015900000BF2520086000BF094A48681268101A79
|
||||
:1015A000642801D2002038BD00BFDFE700200860BA
|
||||
:1015B00000900320F7E70000200020040010014005
|
||||
:1015C0005800002008B50120274989690143264AAF
|
||||
:1015D0009161114689690140009100BF00BF000779
|
||||
:1015E0001146C9690143D1611146C96901400091A1
|
||||
:1015F00000BF00BF032002461C4B19684FF6FF03D3
|
||||
:1016000019401B4B0B4343EA0221184B196000BFE2
|
||||
:1016100000BF1848406820F0E06040F000701549B5
|
||||
:10162000486000BFFFF760FD134800681349B0FB36
|
||||
:10163000F1F084B22046FFF789FFFFF789F9FFF741
|
||||
:1016400059F9FFF71BFAFFF7B1FAFFF7DDF9FFF7DA
|
||||
:1016500075FA002000F014F8FFF750FFFFF722FFA3
|
||||
:1016600001E0FFF73FFFFCE7001002400CED00E057
|
||||
:101670000000FA05000001400000002040420F0079
|
||||
:1016800010B504460C4951F824104A000B4951F892
|
||||
:101690002400002100F09EF8094951F82420074950
|
||||
:1016A000083951F82400002100F094F80121034882
|
||||
:1016B0000830015510BD0000FC1E00084C00002041
|
||||
:1016C0000C1F00082DE9F04704460F460025A946E7
|
||||
:1016D0002348005D20B92248183801682046884711
|
||||
:1016E0001FB94FF0FF30BDE8F0871E4850F82400C6
|
||||
:1016F000B7FBF0F61B4850F82400B7FBF0F100FBF5
|
||||
:10170000117000B1761C184850F82400451E22E0E4
|
||||
:101710001348083850F8240030F8150010B909F1C2
|
||||
:10172000010901E04FF00009B14513D14FF0000865
|
||||
:1017300009E00B48083850F8240005EB080220F8AF
|
||||
:10174000126008F10108B045F3D3064850F82400B0
|
||||
:101750006843C8E76D1E002DDADA4FF0FF30C2E7AC
|
||||
:1017600054000020041F0008FC1E000810B50146AC
|
||||
:101770000023002207E00B4850F8210030F8120047
|
||||
:1017800000B15B1C521C084850F821009042F2D86E
|
||||
:1017900064205843044C54F82140B0FBF4F0C0B22C
|
||||
:1017A00010BD00004C000020FC1E000870B504466F
|
||||
:1017B0000E4631462046FFF785FF0546681C08B9EE
|
||||
:1017C000002070BD024850F824002844F9E70000CA
|
||||
:1017D0004400002030B5034601E003F8011B141E4D
|
||||
:1017E000A2F10102F9D130BD10B5044604B910BD13
|
||||
:1017F00000202085A07D012808D1606A30B1218CAD
|
||||
:1018000089040A0C0021606AFFF741FE00BFEEE781
|
||||
:101810002DE9F05F0646884615469946DDE90B7BC3
|
||||
:10182000DDF828A00EB1012100E0002108462921A1
|
||||
:10183000FEF7A0FC4420FFF723FE04460CB1012173
|
||||
:1018400000E0002108462C21FEF794FC0120E07501
|
||||
:1018500000202076C4F83C902584C4F840B0A786C8
|
||||
:10186000002D0CDD2846FFF70BFEE061E16909B1B0
|
||||
:10187000012100E0002108463E21FEF77BFC002FFD
|
||||
:101880000CDD3846FFF7FCFD2063216B09B1012117
|
||||
:1018900000E0002108464521FEF76CFC84F8158025
|
||||
:1018A00084F82CA066602046BDE8F09F10B5044681
|
||||
:1018B00004B910BD002060852046FFF795FF00BFEA
|
||||
:1018C000F7E710B504460CB1012100E000210846FD
|
||||
:1018D00040F2D711FEF74EFC012084F83800216950
|
||||
:1018E000A068FEF79DFC2069082865D2DFE800F0BB
|
||||
:1018F0006404111E2C3A485600BFA0680168C1F369
|
||||
:10190000400121B1A0680221416000BF00BF00BFBB
|
||||
:1019100053E000BFA0680168C1F3401121B1A06885
|
||||
:101920002021416000BF00BF00BF46E000BFA068AB
|
||||
:101930000168C1F3402129B1A0684FF400714160F2
|
||||
:1019400000BF00BF00BF38E000BFA0680168C1F35E
|
||||
:10195000403129B1A0684FF40051416000BF00BF81
|
||||
:1019600000BF2AE000BFA0680168C1F3404129B16F
|
||||
:10197000A0684FF40031416000BF00BF00BF1CE011
|
||||
:1019800000BFA0680168C1F3405129B1A0684FF4BD
|
||||
:101990000011416000BF00BF00BF0EE000BFA068A3
|
||||
:1019A0000168C1F3406129B1A0684FF00071416046
|
||||
:1019B00000BF00BF00BF00E000BF00BF606800BF05
|
||||
:1019C00000BF00BF00F10C0252E8002F42F04001BE
|
||||
:1019D00000F10C0242E80013002BF3D100BF00BF5E
|
||||
:1019E0002069082865D2DFE800F06404111E2C3A53
|
||||
:1019F000485600BFA0680168C1F3C00121B1A068CA
|
||||
:101A00000821416000BF00BF00BF53E000BFA068D5
|
||||
:101A10000168C1F3C01121B1A0688021416000BFFD
|
||||
:101A200000BF00BF46E000BFA0680168C1F3C0214D
|
||||
:101A300029B1A0684FF40061416000BF00BF00BF42
|
||||
:101A400038E000BFA0680168C1F3C03129B1A068C7
|
||||
:101A50004FF40041416000BF00BF00BF2AE000BF5B
|
||||
:101A6000A0680168C1F3C04129B1A0684FF400210A
|
||||
:101A7000416000BF00BF00BF1CE000BFA06801685C
|
||||
:101A8000C1F3C05129B1A0684FF40001416000BF0B
|
||||
:101A900000BF00BF0EE000BFA0680168C1F3C061D5
|
||||
:101AA00029B1A0684FF00061416000BF00BF00BFD6
|
||||
:101AB00000E000BF00BF10BD0EB51348006808BBB2
|
||||
:101AC0000020F0210122114BCDE9002102900A46AD
|
||||
:101AD00001210F48FFF79CFE0B49086000200968B0
|
||||
:101AE00008700C480849096888600520064909689B
|
||||
:101AF000C8600420044909680861002102480068A0
|
||||
:101B000000F0E2F80EBD00005C0000204B1E000853
|
||||
:101B1000003801400000024038B5044604B938BD21
|
||||
:101B20006068C168C1F34011B9B160680168C1F370
|
||||
:101B3000401191B1608D218C884202DB2046FFF775
|
||||
:101B4000B5FE61684A68D2B2608D411C6185E16969
|
||||
:101B50000A5400202076E0753FE06068C168C1F358
|
||||
:101B60000011002939D060680168C1F30011002913
|
||||
:101B700033D0607D01282BD1D4E902014A1E514B9C
|
||||
:101B80009A5C02445268208C801A6085207DF8B9E6
|
||||
:101B9000D4E90201FEF744FBE06B80B1608D0028C0
|
||||
:101BA0000DDD608D218C884209DC628D2078E36B2D
|
||||
:101BB000E1699847228C0021E069FFF768FC228CDC
|
||||
:101BC000D4E90201FEF766FBD4E90201FEF736FB19
|
||||
:101BD000002060856068FEF7CEFD6068C168C1F3D3
|
||||
:101BE000801151B16068FEF72CFE30B1206C08B155
|
||||
:101BF000206C80476068FEF7C6FDA07D01285ED19D
|
||||
:101C000001256068C168C1F3002171B16068016895
|
||||
:101C100001F0010149B1022560680168009100BF2F
|
||||
:101C20004168009100BF00BF00BF6068FEF7FAFD89
|
||||
:101C300068B16068FEF7F6FD48B104256068016888
|
||||
:101C4000009100BF4168009100BF00BF00BF606805
|
||||
:101C5000FEF7EDFD60B16068FEF7E9FD40B1606838
|
||||
:101C60000168009100BF4168009100BF00BF00BF44
|
||||
:101C70006068FEF7E1FD68B16068FEF7DDFD48B120
|
||||
:101C8000102560680168009100BF4168009100BFA5
|
||||
:101C900000BF00BF012D11D0606A78B1618D491E6F
|
||||
:101CA00088B2228D616A01EB82014880228D616ACF
|
||||
:101CB00001F82250218D491C218500BF00BF00BFC3
|
||||
:101CC0002DE70000B81E000870B504460D46607D83
|
||||
:101CD00090B9A575606800BF00BF00BF00F10C029D
|
||||
:101CE00052E8002F42F0200100F10C0242E80013FC
|
||||
:101CF000002BF3D100BF70E00020A0756068FEF7F4
|
||||
:101D00003AFD2169A068FEF78BFAD4E90201FEF7DB
|
||||
:101D100087FA6068011D0E463246D4E90201FEF7DB
|
||||
:101D200015FBE269D4E90201FEF7D6FA228CD4E968
|
||||
:101D30000201FEF7AFFAD4E90201FEF78DFAD4E909
|
||||
:101D40000201FEF77BFA606800BF00BF00BF00F130
|
||||
:101D5000140252E8002F42F0400100F1140242E860
|
||||
:101D60000013002BF3D100BF00BF606800BF00BFAD
|
||||
:101D700000BF00F10C0252E8002F42F0100100F108
|
||||
:101D80000C0242E80013002BF3D100BF00BF6068D3
|
||||
:101D9000011D0E4632462169A068FEF7D7FA226B74
|
||||
:101DA0002169A068FEF798FA2169A068FEF754FA45
|
||||
:101DB000606800BF00BF00BF00F1140252E8002FAE
|
||||
:101DC00042F0800100F1140242E80013002BF3D12D
|
||||
:101DD00000BF00BF012084F83800A07D012833D166
|
||||
:101DE000606A68B9218C8800FFF74AFB6062616A0B
|
||||
:101DF00009B1012100E0002108468221FEF7BAF96D
|
||||
:101E0000606800BF00BF00BF00F10C0252E8002F65
|
||||
:101E100042F4807100F10C0242E80013002BF3D170
|
||||
:101E200000BF00BF606800BF00BF00BF00F1140228
|
||||
:101E300052E8002F42F0010100F1140242E80013C1
|
||||
:101E4000002BF3D100BF00BF70BD7047081C3044A9
|
||||
:101E5000586C80000000000404040000080000002A
|
||||
:101E6000080000080000000800020406080A0C0030
|
||||
:101E7000010203040506081C3044586C8000000071
|
||||
:101E8000000404040000080000000800000800002E
|
||||
:101E9000000800020406080A0C00010203040506FB
|
||||
:101EA000000000000000000001020304060708090A
|
||||
:101EB0000000000001020304081C3044586C80003C
|
||||
:101EC00000000004040400000800000008000008EE
|
||||
:101ED0000000000800020406080A0C0001020304C6
|
||||
:101EE00005065F6C697374006C69737420616C6CB7
|
||||
:101EF00020636F6D6D616E640000000000040000DF
|
||||
:101F000000000000080000000800000000200000A1
|
||||
:101F100000000000341F00080000002070000000D6
|
||||
:101F200020140008A41F000870000020102C0000DE
|
||||
:101F3000301400080024F40000000000000000003D
|
||||
:101F40000000000000000000000000000000000091
|
||||
:101F50000000000000000000000000000000000081
|
||||
:101F60000000000000000000000000000000000071
|
||||
:101F7000811600086D1700088000002000C00120B5
|
||||
:101F80008020002038000020000000000000000039
|
||||
:101F900000000000E21E0008E81E0008C6E533B499
|
||||
:041FA0005D140008C4
|
||||
:1013D00002480068C0F30220704700000CED00E0F6
|
||||
:1013E00010B5002804DB0A07130E054A135406E063
|
||||
:1013F0000A07140E034A00F00F031B1FD45410BD3C
|
||||
:1014000000E400E018ED00E010B5002804DB0A0756
|
||||
:10141000130E054A135406E00A07140E034A00F09F
|
||||
:101420000F031B1FD45410BD00E400E018ED00E0D2
|
||||
:1014300002E008C8121F08C1002AFAD1704770479D
|
||||
:10144000002001E001C1121F002AFBD170470000FB
|
||||
:10145000014601F1100000E0001D02681AB9024ABD
|
||||
:1014600012689042F8D370473400002010B5064847
|
||||
:10147000046803E02046FFF7EBFF044603480068DA
|
||||
:101480008442F7D310BD000030000020340000205B
|
||||
:1014900010B504462146002000F00CFA10BD10B52E
|
||||
:1014A00001E000F8011B131EA2F10104A2B2F8D161
|
||||
:1014B00010BD000010B500200A4908600A49086004
|
||||
:1014C00000BF0A48FFF744F80848FFF746F800BF96
|
||||
:1014D00000BF0748FFF73CF80548FFF73EF800BF9C
|
||||
:1014E00010BD0000040000200C000020002C014072
|
||||
:1014F0000004004010B5034800F00EF8024800F068
|
||||
:10150000AFF810BD040000200C00002010B500F062
|
||||
:10151000DDFB00F017FA10BD08B501460020009071
|
||||
:10152000086810B1122813D108E000BF00BF0B48B3
|
||||
:101530000068486000BF1220086000BF074A486882
|
||||
:101540001268101A0A2801D2002008BD00BFEDE77A
|
||||
:101550000020086000900320F7E7000058000020FA
|
||||
:1015600001490860704700001C00002010B50849C0
|
||||
:101570000848FEF7B1FF08490648FEF7ADFF0449E9
|
||||
:101580000448FEF7A5FF04490248FEF7A1FF10BD7D
|
||||
:1015900010001004000C01402000200410B5064982
|
||||
:1015A0000648FEF795FF06490448FEF795FF0249F5
|
||||
:1015B0000248FEF791FF10BD10001004000C01401E
|
||||
:1015C0002000200470B50446002518E004F08000D7
|
||||
:1015D000284120B10F491048FEF77EFF03E00D4976
|
||||
:1015E0000D48FEF775FF6006040E0C490A48FEF729
|
||||
:1015F00073FF0A490848FEF76BFF681CC5B2082D47
|
||||
:10160000E4DB06490448FEF767FF04490248FEF799
|
||||
:101610005FFF70BD10001004000C0140200020048A
|
||||
:1016200010B50446FFF7A2FF7820FFF7CBFF00209C
|
||||
:10163000FFF7C8FF2046FFF7C5FFFFF7AFFF10BD5C
|
||||
:1016400010B50446FFF792FF7820FFF7BBFF40205C
|
||||
:10165000FFF7B8FF2046FFF7B5FFFFF79FFF10BD6C
|
||||
:1016600038B5014600200090086810B1252821D126
|
||||
:1016700016E000BF124B134CE068C3F30F2222EABE
|
||||
:10168000000400EA020544EA05440E4D2C6100BF47
|
||||
:1016900000BF0D480068486000BF2520086000BFFB
|
||||
:1016A000094A48681268101A642801D2002038BD1F
|
||||
:1016B00000BFDFE70020086000900320F7E700008C
|
||||
:1016C00020002004001001405800002008B501202F
|
||||
:1016D000274989690143264A916111468969014078
|
||||
:1016E000009100BF00BF00071146C9690143D161E5
|
||||
:1016F0001146C9690140009100BF00BF03200246A6
|
||||
:101700001C4B19684FF6FF0319401B4B0B4343EA70
|
||||
:101710000221184B196000BF00BF1848406820F034
|
||||
:10172000E06040F000701549486000BFFFF7E4FC3E
|
||||
:10173000134800681349B0FBF1F084B22046FFF76C
|
||||
:101740000FFFFFF70DF9FFF7DDF8FFF79FF9FFF740
|
||||
:1017500035FAFFF761F9FFF7F9F9002000F014F806
|
||||
:10176000FFF7D4FEFFF7A6FE01E0FFF7C3FEFCE79C
|
||||
:10177000001002400CED00E00000FA0500000140FE
|
||||
:101780000000002040420F0010B504460C4951F8FB
|
||||
:1017900024104A000B4951F82400002100F09EF863
|
||||
:1017A000094951F824200749083951F8240000213B
|
||||
:1017B00000F094F8012103480830015510BD0000E5
|
||||
:1017C000102100084C000020202100082DE9F047DE
|
||||
:1017D00004460F460025A9462348005D20B922484B
|
||||
:1017E00018380168204688471FB94FF0FF30BDE820
|
||||
:1017F000F0871E4850F82400B7FBF0F61B4850F85D
|
||||
:101800002400B7FBF0F100FB117000B1761C184802
|
||||
:1018100050F82400451E22E01348083850F82400F0
|
||||
:1018200030F8150010B909F1010901E04FF0000985
|
||||
:10183000B14513D14FF0000809E00B48083850F8C3
|
||||
:10184000240005EB080220F8126008F10108B045F9
|
||||
:10185000F3D3064850F824006843C8E76D1E002DF6
|
||||
:10186000DADA4FF0FF30C2E75400002018210008F8
|
||||
:101870001021000810B501460023002207E00B48A4
|
||||
:1018800050F8210030F8120000B15B1C521C0848CF
|
||||
:1018900050F821009042F2D864205843044C54F888
|
||||
:1018A0002140B0FBF4F0C0B210BD00004C0000209D
|
||||
:1018B0001021000870B504460E4631462046FFF759
|
||||
:1018C00085FF0546681C08B9002070BD024850F825
|
||||
:1018D00024002844F9E700004400002030B5034606
|
||||
:1018E00001E003F8011B141EA2F10102F9D130BD81
|
||||
:1018F00070B500240EE00021204600F06EF80025AF
|
||||
:1019000004E00020FFF79CFE681CC5B2802DF8DBC8
|
||||
:10191000601CC4B2082CEEDB70BD70B500240EE074
|
||||
:101920000021204600F059F8002504E0FF20FFF7D1
|
||||
:1019300087FE681CC5B2802DF8DB601CC4B2082C81
|
||||
:10194000EEDB70BD10B5AE20FFF76AFED520FFF7C5
|
||||
:1019500067FE8020FFF764FEA820FFF761FE3F20AE
|
||||
:10196000FFF75EFED320FFF75BFE0020FFF758FE77
|
||||
:101970004020FFF755FEA120FFF752FEC820FFF7D9
|
||||
:101980004FFEDA20FFF74CFE1220FFF749FE8120C0
|
||||
:10199000FFF746FECF20FFF743FED920FFF740FEBA
|
||||
:1019A000F120FFF73DFEDB20FFF73AFE3020FFF786
|
||||
:1019B00037FEA420FFF734FEA620FFF731FE8D206E
|
||||
:1019C000FFF72EFE1420FFF72BFEAF20FFF728FEB7
|
||||
:1019D000FFF78EFFFFF7A1FF10BD70B504460D465F
|
||||
:1019E00045F0B000FFF71CFE102141EA1410FFF78C
|
||||
:1019F00017FE04F00F00FFF713FE70BD10B504468C
|
||||
:101A000004B910BD00202085A07D012808D1606A9E
|
||||
:101A100030B1218C89040A0C0021606AFFF73FFD78
|
||||
:101A200000BFEEE72DE9F05F064688461546994669
|
||||
:101A3000DDE90B7BDDF828A00EB1012100E00021DB
|
||||
:101A400008462921FEF796FB4420FFF721FD0446B6
|
||||
:101A50000CB1012100E0002108462C21FEF78AFB91
|
||||
:101A60000120E07500202076C4F83C902584C4F85D
|
||||
:101A700040B0A786002D0CDD2846FFF709FDE06188
|
||||
:101A8000E16909B1012100E0002108463E21FEF78D
|
||||
:101A900071FB002F0CDD3846FFF7FAFC2063216B49
|
||||
:101AA00009B1012100E0002108464521FEF762FB53
|
||||
:101AB00084F8158084F82CA066602046BDE8F09F6D
|
||||
:101AC00010B5044604B910BD002060852046FFF71C
|
||||
:101AD00095FF00BFF7E710B504460CB1012100E007
|
||||
:101AE0000021084640F2D711FEF744FB012084F89C
|
||||
:101AF00038002169A068FEF793FB2069082865D2A9
|
||||
:101B0000DFE800F06404111E2C3A485600BFA068BC
|
||||
:101B10000168C1F3400121B1A0680221416000BF0A
|
||||
:101B200000BF00BF53E000BFA0680168C1F34011CF
|
||||
:101B300021B1A0682021416000BF00BF00BF46E086
|
||||
:101B400000BFA0680168C1F3402129B1A0684FF42B
|
||||
:101B50000071416000BF00BF00BF38E000BFA06857
|
||||
:101B60000168C1F3403129B1A0684FF400514160D0
|
||||
:101B700000BF00BF00BF2AE000BFA0680168C1F33A
|
||||
:101B8000404129B1A0684FF40031416000BF00BF5F
|
||||
:101B900000BF1CE000BFA0680168C1F3405129B13B
|
||||
:101BA000A0684FF40011416000BF00BF00BF0EE00D
|
||||
:101BB00000BFA0680168C1F3406129B1A0684FF07F
|
||||
:101BC0000071416000BF00BF00BF00E000BF00BF68
|
||||
:101BD000606800BF00BF00BF00F10C0252E8002F98
|
||||
:101BE00042F0400100F10C0242E80013002BF3D157
|
||||
:101BF00000BF00BF2069082865D2DFE800F0640458
|
||||
:101C0000111E2C3A485600BFA0680168C1F3C001FC
|
||||
:101C100021B1A0680821416000BF00BF00BF53E0B0
|
||||
:101C200000BFA0680168C1F3C01121B1A068802184
|
||||
:101C3000416000BF00BF00BF46E000BFA068016870
|
||||
:101C4000C1F3C02129B1A0684FF40061416000BF19
|
||||
:101C500000BF00BF38E000BFA0680168C1F3C03119
|
||||
:101C600029B1A0684FF40041416000BF00BF00BF30
|
||||
:101C70002AE000BFA0680168C1F3C04129B1A06893
|
||||
:101C80004FF40021416000BF00BF00BF1CE000BF57
|
||||
:101C9000A0680168C1F3C05129B1A0684FF40001E8
|
||||
:101CA000416000BF00BF00BF0EE000BFA068016838
|
||||
:101CB000C1F3C06129B1A0684FF00061416000BF6D
|
||||
:101CC00000BF00BF00E000BF00BF10BD0EB513484D
|
||||
:101CD000006808BB0020F0210122114BCDE9002152
|
||||
:101CE00002900A4601210F48FFF79CFE0B4908604D
|
||||
:101CF0000020096808700C480849096888600520B8
|
||||
:101D000006490968C860042004490968086100217F
|
||||
:101D10000248006800F0E2F80EBD00005C00002000
|
||||
:101D20005F200008003801400000024038B504463A
|
||||
:101D300004B938BD6068C168C1F34011B9B16068C9
|
||||
:101D40000168C1F3401191B1608D218C884202DBA2
|
||||
:101D50002046FFF7B5FE61684A68D2B2608D411C2B
|
||||
:101D60006185E1690A5400202076E0753FE06068F3
|
||||
:101D7000C168C1F30011002939D060680168C1F35E
|
||||
:101D80000011002933D0607D01282BD1D4E9020154
|
||||
:101D90004A1E514B9A5C02445268208C801A60851E
|
||||
:101DA000207DF8B9D4E90201FEF73AFAE06B80B180
|
||||
:101DB000608D00280DDD608D218C884209DC628DEC
|
||||
:101DC0002078E36BE1699847228C0021E069FFF7F6
|
||||
:101DD00066FB228CD4E90201FEF75CFAD4E9020129
|
||||
:101DE000FEF72CFA002060856068FEF7CCFC606886
|
||||
:101DF000C168C1F3801151B16068FEF72AFD30B1AE
|
||||
:101E0000206C08B1206C80476068FEF7C4FCA07DA0
|
||||
:101E100001285ED101256068C168C1F3002171B15C
|
||||
:101E20006068016801F0010149B10225606801683C
|
||||
:101E3000009100BF4168009100BF00BF00BF606813
|
||||
:101E4000FEF7F8FC68B16068FEF7F4FC48B10425C1
|
||||
:101E500060680168009100BF4168009100BF00BF49
|
||||
:101E600000BF6068FEF7EBFC60B16068FEF7E7FC5E
|
||||
:101E700040B160680168009100BF4168009100BFF7
|
||||
:101E800000BF00BF6068FEF7DFFC68B16068FEF766
|
||||
:101E9000DBFC48B1102560680168009100BF416813
|
||||
:101EA000009100BF00BF00BF012D11D0606A78B162
|
||||
:101EB000618D491E88B2228D616A01EB82014880E2
|
||||
:101EC000228D616A01F82250218D491C218500BFB5
|
||||
:101ED00000BF00BF2DE70000CC20000870B504460D
|
||||
:101EE0000D46607D90B9A575606800BF00BF00BF5A
|
||||
:101EF00000F10C0252E8002F42F0200100F10C0228
|
||||
:101F000042E80013002BF3D100BF70E00020A07561
|
||||
:101F10006068FEF738FC2169A068FEF781F9D4E912
|
||||
:101F20000201FEF77DF96068011D0E463246D4E9D4
|
||||
:101F30000201FEF70BFAE269D4E90201FEF7CCF9DF
|
||||
:101F4000228CD4E90201FEF7A5F9D4E90201FEF7DB
|
||||
:101F500083F9D4E90201FEF771F9606800BF00BFA0
|
||||
:101F600000BF00F1140252E8002F42F0400100F1DE
|
||||
:101F7000140242E80013002BF3D100BF00BF6068D9
|
||||
:101F800000BF00BF00BF00F10C0252E8002F42F07A
|
||||
:101F9000100100F10C0242E80013002BF3D100BF46
|
||||
:101FA00000BF6068011D0E4632462169A068FEF739
|
||||
:101FB000CDF9226B2169A068FEF78EF92169A0682E
|
||||
:101FC000FEF74AF9606800BF00BF00BF00F11402CD
|
||||
:101FD00052E8002F42F0800100F1140242E80013A1
|
||||
:101FE000002BF3D100BF00BF012084F83800A07D92
|
||||
:101FF000012833D1606A68B9218C8800FFF748FA5C
|
||||
:102000006062616A09B1012100E000210846822175
|
||||
:10201000FEF7B0F8606800BF00BF00BF00F10C021F
|
||||
:1020200052E8002F42F4807100F10C0242E80013E4
|
||||
:10203000002BF3D100BF00BF606800BF00BF00BF2E
|
||||
:1020400000F1140252E8002F42F0010100F11402E5
|
||||
:1020500042E80013002BF3D100BF00BF70BD7047F2
|
||||
:10206000081C3044586C8000000000040404000088
|
||||
:102070000800000008000008000000080002040634
|
||||
:10208000080A0C00010203040506081C3044586CC1
|
||||
:1020900080000000000404040000080000000800A4
|
||||
:1020A00000080000000800020406080A0C000102F3
|
||||
:1020B0000304050600000000000000000102030404
|
||||
:1020C000060708090000000001020304081C304450
|
||||
:1020D000586C8000000000040404000008000000A8
|
||||
:1020E000080000080000000800020406080A0C00AE
|
||||
:1020F0000102030405065F6C697374006C697374F4
|
||||
:1021000020616C6C20636F6D6D616E640000000077
|
||||
:1021100000040000000000000800000008000000AB
|
||||
:1021200000200000000000004821000800000020FE
|
||||
:102130007000000030140008B82100087000002072
|
||||
:10214000102C0000401400080024F40000000000DF
|
||||
:10215000000000000000000000000000000000007F
|
||||
:10216000000000000000000000000000000000006F
|
||||
:10217000000000000000000000000000000000005F
|
||||
:102180000000000089170008751800088000002072
|
||||
:1021900000C0012080200020380000200000000046
|
||||
:1021A0000000000000000000F6200008FC200008ED
|
||||
:0821B000C6E533B46D1400080C
|
||||
:04000005080000ED02
|
||||
:00000001FF
|
||||
|
|
|
@ -18,7 +18,6 @@ static void uart_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 通过UART发送数据
|
||||
*
|
||||
|
@ -39,4 +38,5 @@ void uart_send(uint8_t *data, uint16_t len)
|
|||
void board_init(void)
|
||||
{
|
||||
uart_init();
|
||||
ssd096_init();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __BOARD_H__
|
||||
#define __BOARD_H__
|
||||
#include "lib.h"
|
||||
#include "ssd096_oled.h"
|
||||
|
||||
#define UART_RXSIZE (240u) // 接收240个字节
|
||||
#define UART_TXSIZE (240u) // 发送240个字节
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
#include "ssd096_oled.h"
|
||||
static void i2c_start(void)
|
||||
{
|
||||
GPIO_SET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
GPIO_SET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
GPIO_RESET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
GPIO_RESET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
}
|
||||
|
||||
static void i2c_stop(void)
|
||||
{
|
||||
GPIO_RESET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
GPIO_SET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
GPIO_SET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
}
|
||||
|
||||
void i2c_write_byte(uint8_t data)
|
||||
{
|
||||
uint8_t i;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
if ((data & 0x80) >> i)
|
||||
GPIO_SET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
else
|
||||
GPIO_RESET(SSD096_SDA_PORT, SSD096_SDA_PIN);
|
||||
data <<= 1;
|
||||
GPIO_SET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
GPIO_RESET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
}
|
||||
GPIO_SET(SSD096_SCK_PORT, SSD096_SCK_PIN); // 额外的一个时钟,不处理应答信号
|
||||
GPIO_RESET(SSD096_SCK_PORT, SSD096_SCK_PIN);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 向I2C设备写入命令
|
||||
*
|
||||
* 通过I2C接口向指定设备写入一个命令字节。
|
||||
*
|
||||
* @param command 要写入的命令字节
|
||||
*/
|
||||
static void i2c_write_command(uint8_t command)
|
||||
{
|
||||
i2c_start();
|
||||
i2c_write_byte(0x78);
|
||||
i2c_write_byte(0x00);
|
||||
i2c_write_byte(command);
|
||||
i2c_stop();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 向I2C设备写入一个字节的数据
|
||||
*
|
||||
* 该函数通过I2C总线向指定设备写入一个字节的数据。
|
||||
*
|
||||
* @param data 要写入的数据字节
|
||||
*/
|
||||
static void i2c_write_data(uint8_t data)
|
||||
{
|
||||
i2c_start();
|
||||
i2c_write_byte(0x78);
|
||||
i2c_write_byte(0x40);
|
||||
i2c_write_byte(data);
|
||||
i2c_stop();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 设置SSD096 OLED显示屏上的光标位置
|
||||
*
|
||||
* 设置SSD096 OLED显示屏上的光标位置到指定的x和y坐标。
|
||||
*
|
||||
* @param x 横向位置,取值范围为0到127
|
||||
* @param y 纵向位置,取值范围为0到63
|
||||
*/
|
||||
void ssd096_set_position(uint8_t x, uint8_t y)
|
||||
{
|
||||
i2c_write_command(0xb0 | y);
|
||||
i2c_write_command(0x10 | ((x & 0xf0) >> 4));
|
||||
i2c_write_command(0x00 | (x & 0x0f));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 清空SSD096显示屏
|
||||
*
|
||||
* 该函数将SSD096显示屏的内容清空,即将所有像素点设置为关闭状态。
|
||||
*
|
||||
* @note 该函数通过I2C接口向SSD096发送数据,以实现清屏操作。
|
||||
*/
|
||||
void ssd096_clear(void)
|
||||
{
|
||||
uint8_t i, j;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
ssd096_set_position(i, 0);
|
||||
for (j = 0; j < 128; j++)
|
||||
{
|
||||
i2c_write_data(0x00);
|
||||
}
|
||||
}
|
||||
}
|
||||
void ssd096_full(void)
|
||||
{
|
||||
uint8_t i, j;
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
ssd096_set_position(i, 0);
|
||||
for (j = 0; j < 128; j++)
|
||||
{
|
||||
i2c_write_data(0xff);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 初始化SSD096显示驱动
|
||||
*
|
||||
* 该函数用于初始化SSD096显示驱动,完成基本的配置和初始化工作。
|
||||
*/
|
||||
void ssd096_init(void)
|
||||
{
|
||||
i2c_write_command(0xae);
|
||||
i2c_write_command(0xd5);
|
||||
i2c_write_command(0x80);
|
||||
i2c_write_command(0xa8);
|
||||
i2c_write_command(0x3f);
|
||||
i2c_write_command(0xd3);
|
||||
i2c_write_command(0x00);
|
||||
i2c_write_command(0x40);
|
||||
i2c_write_command(0xa1);
|
||||
i2c_write_command(0xc8);
|
||||
i2c_write_command(0xda);
|
||||
i2c_write_command(0x12);
|
||||
i2c_write_command(0x81);
|
||||
i2c_write_command(0xcf);
|
||||
i2c_write_command(0xd9);
|
||||
i2c_write_command(0xf1);
|
||||
i2c_write_command(0xdb);
|
||||
i2c_write_command(0x30);
|
||||
i2c_write_command(0xa4);
|
||||
i2c_write_command(0xa6);
|
||||
i2c_write_command(0x8d);
|
||||
i2c_write_command(0x14);
|
||||
i2c_write_command(0xaf);
|
||||
|
||||
ssd096_clear();
|
||||
|
||||
ssd096_full();
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
#ifndef __SSD096_OLED_H
|
||||
#define __SSD096_OLED_H
|
||||
#include "main.h"
|
||||
#define SSD096_SDA_PORT OLED_SDA_GPIO_Port
|
||||
#define SSD096_SDA_PIN OLED_SDA_Pin
|
||||
#define SSD096_SCK_PORT OLDE_SCK_GPIO_Port
|
||||
#define SSD096_SCK_PIN OLDE_SCK_Pin
|
||||
|
||||
void ssd096_init(void);
|
||||
void ssd096_clear(void);
|
||||
void ssd096_set_position(uint8_t x, uint8_t y);
|
||||
#endif // __SSD096_OLED_H
|
|
@ -1,737 +0,0 @@
|
|||
/**
|
||||
* @file ssd1306_oled.c
|
||||
* @author xushenghao
|
||||
* @brief SSD1306 OLED display driver
|
||||
* @version 0.1
|
||||
* @note PB13-SCK PB12-SDA
|
||||
*/
|
||||
#include "ssd1306_oled.h"
|
||||
|
||||
#include "ssd1306_oled.h"
|
||||
|
||||
/************************************6*8的点阵************************************/
|
||||
const uint8_t F6x8[][6] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sp
|
||||
0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, // !
|
||||
0x00, 0x00, 0x07, 0x00, 0x07, 0x00, // "
|
||||
0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14, // #
|
||||
0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12, // $
|
||||
0x00, 0x62, 0x64, 0x08, 0x13, 0x23, // %
|
||||
0x00, 0x36, 0x49, 0x55, 0x22, 0x50, // &
|
||||
0x00, 0x00, 0x05, 0x03, 0x00, 0x00, // '
|
||||
0x00, 0x00, 0x1c, 0x22, 0x41, 0x00, // (
|
||||
0x00, 0x00, 0x41, 0x22, 0x1c, 0x00, // )
|
||||
0x00, 0x14, 0x08, 0x3E, 0x08, 0x14, // *
|
||||
0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, // +
|
||||
0x00, 0x00, 0x00, 0xA0, 0x60, 0x00, // ,
|
||||
0x00, 0x08, 0x08, 0x08, 0x08, 0x08, // -
|
||||
0x00, 0x00, 0x60, 0x60, 0x00, 0x00, // .
|
||||
0x00, 0x20, 0x10, 0x08, 0x04, 0x02, // /
|
||||
0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, // 0
|
||||
0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, // 1
|
||||
0x00, 0x42, 0x61, 0x51, 0x49, 0x46, // 2
|
||||
0x00, 0x21, 0x41, 0x45, 0x4B, 0x31, // 3
|
||||
0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, // 4
|
||||
0x00, 0x27, 0x45, 0x45, 0x45, 0x39, // 5
|
||||
0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30, // 6
|
||||
0x00, 0x01, 0x71, 0x09, 0x05, 0x03, // 7
|
||||
0x00, 0x36, 0x49, 0x49, 0x49, 0x36, // 8
|
||||
0x00, 0x06, 0x49, 0x49, 0x29, 0x1E, // 9
|
||||
0x00, 0x00, 0x36, 0x36, 0x00, 0x00, // :
|
||||
0x00, 0x00, 0x56, 0x36, 0x00, 0x00, // ;
|
||||
0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // <
|
||||
0x00, 0x14, 0x14, 0x14, 0x14, 0x14, // =
|
||||
0x00, 0x00, 0x41, 0x22, 0x14, 0x08, // >
|
||||
0x00, 0x02, 0x01, 0x51, 0x09, 0x06, // ?
|
||||
0x00, 0x32, 0x49, 0x59, 0x51, 0x3E, // @
|
||||
0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, // A
|
||||
0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, // B
|
||||
0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, // C
|
||||
0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C, // D
|
||||
0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, // E
|
||||
0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, // F
|
||||
0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A, // G
|
||||
0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, // H
|
||||
0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, // I
|
||||
0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, // J
|
||||
0x00, 0x7F, 0x08, 0x14, 0x22, 0x41, // K
|
||||
0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, // L
|
||||
0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F, // M
|
||||
0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, // N
|
||||
0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, // O
|
||||
0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, // P
|
||||
0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, // Q
|
||||
0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, // R
|
||||
0x00, 0x46, 0x49, 0x49, 0x49, 0x31, // S
|
||||
0x00, 0x01, 0x01, 0x7F, 0x01, 0x01, // T
|
||||
0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, // U
|
||||
0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, // V
|
||||
0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, // W
|
||||
0x00, 0x63, 0x14, 0x08, 0x14, 0x63, // X
|
||||
0x00, 0x07, 0x08, 0x70, 0x08, 0x07, // Y
|
||||
0x00, 0x61, 0x51, 0x49, 0x45, 0x43, // Z
|
||||
0x00, 0x00, 0x7F, 0x41, 0x41, 0x00, // [
|
||||
0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55, // 55
|
||||
0x00, 0x00, 0x41, 0x41, 0x7F, 0x00, // ]
|
||||
0x00, 0x04, 0x02, 0x01, 0x02, 0x04, // ^
|
||||
0x00, 0x40, 0x40, 0x40, 0x40, 0x40, // _
|
||||
0x00, 0x00, 0x01, 0x02, 0x04, 0x00, // '
|
||||
0x00, 0x20, 0x54, 0x54, 0x54, 0x78, // a
|
||||
0x00, 0x7F, 0x48, 0x44, 0x44, 0x38, // b
|
||||
0x00, 0x38, 0x44, 0x44, 0x44, 0x20, // c
|
||||
0x00, 0x38, 0x44, 0x44, 0x48, 0x7F, // d
|
||||
0x00, 0x38, 0x54, 0x54, 0x54, 0x18, // e
|
||||
0x00, 0x08, 0x7E, 0x09, 0x01, 0x02, // f
|
||||
0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C, // g
|
||||
0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, // h
|
||||
0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, // i
|
||||
0x00, 0x40, 0x80, 0x84, 0x7D, 0x00, // j
|
||||
0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, // k
|
||||
0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, // l
|
||||
0x00, 0x7C, 0x04, 0x18, 0x04, 0x78, // m
|
||||
0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, // n
|
||||
0x00, 0x38, 0x44, 0x44, 0x44, 0x38, // o
|
||||
0x00, 0xFC, 0x24, 0x24, 0x24, 0x18, // p
|
||||
0x00, 0x18, 0x24, 0x24, 0x18, 0xFC, // q
|
||||
0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, // r
|
||||
0x00, 0x48, 0x54, 0x54, 0x54, 0x20, // s
|
||||
0x00, 0x04, 0x3F, 0x44, 0x40, 0x20, // t
|
||||
0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, // u
|
||||
0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, // v
|
||||
0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, // w
|
||||
0x00, 0x44, 0x28, 0x10, 0x28, 0x44, // x
|
||||
0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C, // y
|
||||
0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, // z
|
||||
0x14, 0x14, 0x14, 0x14, 0x14, 0x14, // horiz lines
|
||||
};
|
||||
/****************************************8*16的点阵************************************/
|
||||
const uint8_t F8X16[] =
|
||||
{
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0
|
||||
0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x30, 0x00, 0x00, 0x00, //! 1
|
||||
0x00, 0x10, 0x0C, 0x06, 0x10, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //" 2
|
||||
0x40, 0xC0, 0x78, 0x40, 0xC0, 0x78, 0x40, 0x00, 0x04, 0x3F, 0x04, 0x04, 0x3F, 0x04, 0x04, 0x00, // # 3
|
||||
0x00, 0x70, 0x88, 0xFC, 0x08, 0x30, 0x00, 0x00, 0x00, 0x18, 0x20, 0xFF, 0x21, 0x1E, 0x00, 0x00, //$ 4
|
||||
0xF0, 0x08, 0xF0, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x21, 0x1C, 0x03, 0x1E, 0x21, 0x1E, 0x00, //% 5
|
||||
0x00, 0xF0, 0x08, 0x88, 0x70, 0x00, 0x00, 0x00, 0x1E, 0x21, 0x23, 0x24, 0x19, 0x27, 0x21, 0x10, //& 6
|
||||
0x10, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //' 7
|
||||
0x00, 0x00, 0x00, 0xE0, 0x18, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x00, //( 8
|
||||
0x00, 0x02, 0x04, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, //) 9
|
||||
0x40, 0x40, 0x80, 0xF0, 0x80, 0x40, 0x40, 0x00, 0x02, 0x02, 0x01, 0x0F, 0x01, 0x02, 0x02, 0x00, //* 10
|
||||
0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x01, 0x01, 0x00, //+ 11
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, //, 12
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //- 13
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, //. 14
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18, 0x04, 0x00, 0x60, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, /// 15
|
||||
0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, 0x00, // 0 16
|
||||
0x00, 0x10, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, // 1 17
|
||||
0x00, 0x70, 0x08, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x30, 0x28, 0x24, 0x22, 0x21, 0x30, 0x00, // 2 18
|
||||
0x00, 0x30, 0x08, 0x88, 0x88, 0x48, 0x30, 0x00, 0x00, 0x18, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00, // 3 19
|
||||
0x00, 0x00, 0xC0, 0x20, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x07, 0x04, 0x24, 0x24, 0x3F, 0x24, 0x00, // 4 20
|
||||
0x00, 0xF8, 0x08, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00, 0x19, 0x21, 0x20, 0x20, 0x11, 0x0E, 0x00, // 5 21
|
||||
0x00, 0xE0, 0x10, 0x88, 0x88, 0x18, 0x00, 0x00, 0x00, 0x0F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00, // 6 22
|
||||
0x00, 0x38, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, // 7 23
|
||||
0x00, 0x70, 0x88, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x1C, 0x22, 0x21, 0x21, 0x22, 0x1C, 0x00, // 8 24
|
||||
0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x31, 0x22, 0x22, 0x11, 0x0F, 0x00, // 9 25
|
||||
0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, //: 26
|
||||
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, //; 27
|
||||
0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, //< 28
|
||||
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, //= 29
|
||||
0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, //> 30
|
||||
0x00, 0x70, 0x48, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0x01, 0x00, 0x00, //? 31
|
||||
0xC0, 0x30, 0xC8, 0x28, 0xE8, 0x10, 0xE0, 0x00, 0x07, 0x18, 0x27, 0x24, 0x23, 0x14, 0x0B, 0x00, //@ 32
|
||||
0x00, 0x00, 0xC0, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x20, 0x3C, 0x23, 0x02, 0x02, 0x27, 0x38, 0x20, // A 33
|
||||
0x08, 0xF8, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00, // B 34
|
||||
0xC0, 0x30, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x07, 0x18, 0x20, 0x20, 0x20, 0x10, 0x08, 0x00, // C 35
|
||||
0x08, 0xF8, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00, // D 36
|
||||
0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x23, 0x20, 0x18, 0x00, // E 37
|
||||
0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x00, 0x00, 0x00, // F 38
|
||||
0xC0, 0x30, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x22, 0x1E, 0x02, 0x00, // G 39
|
||||
0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x21, 0x3F, 0x20, // H 40
|
||||
0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, // I 41
|
||||
0x00, 0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00, 0x00, // J 42
|
||||
0x08, 0xF8, 0x88, 0xC0, 0x28, 0x18, 0x08, 0x00, 0x20, 0x3F, 0x20, 0x01, 0x26, 0x38, 0x20, 0x00, // K 43
|
||||
0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x20, 0x30, 0x00, // L 44
|
||||
0x08, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x08, 0x00, 0x20, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x20, 0x00, // M 45
|
||||
0x08, 0xF8, 0x30, 0xC0, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x20, 0x00, 0x07, 0x18, 0x3F, 0x00, // N 46
|
||||
0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00, // O 47
|
||||
0x08, 0xF8, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x01, 0x00, 0x00, // P 48
|
||||
0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x18, 0x24, 0x24, 0x38, 0x50, 0x4F, 0x00, // Q 49
|
||||
0x08, 0xF8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x0C, 0x30, 0x20, // R 50
|
||||
0x00, 0x70, 0x88, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x38, 0x20, 0x21, 0x21, 0x22, 0x1C, 0x00, // S 51
|
||||
0x18, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00, // T 52
|
||||
0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00, // U 53
|
||||
0x08, 0x78, 0x88, 0x00, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x07, 0x38, 0x0E, 0x01, 0x00, 0x00, // V 54
|
||||
0xF8, 0x08, 0x00, 0xF8, 0x00, 0x08, 0xF8, 0x00, 0x03, 0x3C, 0x07, 0x00, 0x07, 0x3C, 0x03, 0x00, // W 55
|
||||
0x08, 0x18, 0x68, 0x80, 0x80, 0x68, 0x18, 0x08, 0x20, 0x30, 0x2C, 0x03, 0x03, 0x2C, 0x30, 0x20, // X 56
|
||||
0x08, 0x38, 0xC8, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00, // Y 57
|
||||
0x10, 0x08, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x20, 0x38, 0x26, 0x21, 0x20, 0x20, 0x18, 0x00, // Z 58
|
||||
0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x00, //[ 59
|
||||
0x00, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x38, 0xC0, 0x00, //\ 60
|
||||
0x00, 0x02, 0x02, 0x02, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7F, 0x00, 0x00, 0x00, //] 61
|
||||
0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //^ 62
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, //_ 63
|
||||
0x00, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //` 64
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x19, 0x24, 0x22, 0x22, 0x22, 0x3F, 0x20, // a 65
|
||||
0x08, 0xF8, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00, // b 66
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x20, 0x11, 0x00, // c 67
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x88, 0xF8, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x10, 0x3F, 0x20, // d 68
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x22, 0x22, 0x22, 0x22, 0x13, 0x00, // e 69
|
||||
0x00, 0x80, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x18, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, // f 70
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x6B, 0x94, 0x94, 0x94, 0x93, 0x60, 0x00, // g 71
|
||||
0x08, 0xF8, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20, // h 72
|
||||
0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, // i 73
|
||||
0x00, 0x00, 0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00, // j 74
|
||||
0x08, 0xF8, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x24, 0x02, 0x2D, 0x30, 0x20, 0x00, // k 75
|
||||
0x00, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, // l 76
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x3F, 0x20, 0x00, 0x3F, // m 77
|
||||
0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20, // n 78
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00, // o 79
|
||||
0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xA1, 0x20, 0x20, 0x11, 0x0E, 0x00, // p 80
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0xA0, 0xFF, 0x80, // q 81
|
||||
0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x20, 0x3F, 0x21, 0x20, 0x00, 0x01, 0x00, // r 82
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x33, 0x24, 0x24, 0x24, 0x24, 0x19, 0x00, // s 83
|
||||
0x00, 0x80, 0x80, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x00, 0x00, // t 84
|
||||
0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x10, 0x3F, 0x20, // u 85
|
||||
0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x0E, 0x30, 0x08, 0x06, 0x01, 0x00, // v 86
|
||||
0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x0F, 0x30, 0x0C, 0x03, 0x0C, 0x30, 0x0F, 0x00, // w 87
|
||||
0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x31, 0x2E, 0x0E, 0x31, 0x20, 0x00, // x 88
|
||||
0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x81, 0x8E, 0x70, 0x18, 0x06, 0x01, 0x00, // y 89
|
||||
0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x21, 0x30, 0x2C, 0x22, 0x21, 0x30, 0x00, // z 90
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x7C, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x40, //{ 91
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, //| 92
|
||||
0x00, 0x02, 0x02, 0x7C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x3F, 0x00, 0x00, 0x00, 0x00, //} 93
|
||||
0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //~ 94
|
||||
};
|
||||
|
||||
static uint8_t _buffer[SSD1306_WIDTH * SSD1306_HEIGHT / 8]; // 定义屏幕缓冲区
|
||||
|
||||
static void i2c_start(void)
|
||||
{
|
||||
SDA_OUT();
|
||||
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(4);
|
||||
GPIO_RESET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(4);
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
}
|
||||
|
||||
static void i2c_stop(void)
|
||||
{
|
||||
SDA_OUT();
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
GPIO_RESET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(4);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(4);
|
||||
}
|
||||
|
||||
static BOOL i2c_wait_ack(void)
|
||||
{
|
||||
uint8_t count = 0;
|
||||
SDA_IN();
|
||||
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(4);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(4);
|
||||
while (GPIO_READ(SSD1306_SDA_PORT, SSD1306_SDA_PIN))
|
||||
{
|
||||
count++;
|
||||
if (count > 250)
|
||||
{
|
||||
i2c_stop();
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void i2c_ack(void)
|
||||
{
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
SDA_OUT();
|
||||
GPIO_RESET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(2);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(2);
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
}
|
||||
|
||||
static void i2c_nack(void)
|
||||
{
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
SDA_OUT();
|
||||
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
delay_us(2);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(2);
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
}
|
||||
|
||||
uint8_t i2c_read_byte(BOOL ack)
|
||||
{
|
||||
uint8_t i = 0, receive = 0;
|
||||
SDA_IN();
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(2);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
receive <<= 1;
|
||||
if (GPIO_READ(SSD1306_SDA_PORT, SSD1306_SDA_PIN))
|
||||
{
|
||||
receive++;
|
||||
}
|
||||
delay_us(1);
|
||||
}
|
||||
|
||||
if (!ack)
|
||||
{
|
||||
i2c_nack();
|
||||
}
|
||||
else
|
||||
{
|
||||
i2c_ack();
|
||||
}
|
||||
|
||||
return receive;
|
||||
}
|
||||
|
||||
void i2c_write_byte(uint8_t data)
|
||||
{
|
||||
uint8_t i = 0;
|
||||
SDA_OUT();
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
// IIC_SDA=(txd&0x80)>>7;
|
||||
if ((data & 0x80) >> 7)
|
||||
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
else
|
||||
GPIO_RESET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||
|
||||
data <<= 1;
|
||||
delay_us(2);
|
||||
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(2);
|
||||
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||
delay_us(2);
|
||||
}
|
||||
}
|
||||
|
||||
static void i2c_write_command(uint8_t command)
|
||||
{
|
||||
uint8_t dd[2];
|
||||
dd[0] = SSD1306_CMD_SET_LOW_COLUMN; // Co = 0, D/C# = 0
|
||||
dd[1] = command;
|
||||
i2c_start();
|
||||
i2c_write_byte(SSD1306_I2C_ADDRESS);
|
||||
i2c_wait_ack();
|
||||
|
||||
i2c_write_byte(dd[0]);
|
||||
i2c_wait_ack();
|
||||
|
||||
i2c_write_byte(dd[1]);
|
||||
i2c_wait_ack();
|
||||
i2c_stop();
|
||||
}
|
||||
|
||||
static void i2c_write_data(uint8_t data)
|
||||
{
|
||||
uint8_t dd[2];
|
||||
dd[0] = SSD1306_CMD_SET_START_LINE; // Co = 0, D/C# = 1
|
||||
dd[1] = data;
|
||||
i2c_start();
|
||||
i2c_write_byte(SSD1306_I2C_ADDRESS);
|
||||
i2c_wait_ack();
|
||||
|
||||
i2c_write_byte(dd[0]);
|
||||
i2c_wait_ack();
|
||||
|
||||
i2c_write_byte(dd[1]);
|
||||
i2c_wait_ack();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 设置SSD1306 OLED显示屏上的显示位置
|
||||
*
|
||||
* 该函数用于设置SSD1306 OLED显示屏上的显示位置,通过x和y坐标确定显示位置。
|
||||
*
|
||||
* @param x 要设置的横坐标(0-127)
|
||||
* @param y 要设置的纵坐标(0-7,对应SSD1306 OLED的8个页面)
|
||||
*/
|
||||
void set_position(uint8_t x, uint8_t y)
|
||||
{
|
||||
i2c_write_command(0xb0 + y);
|
||||
i2c_write_command(((x & 0xf0) >> 4) | 0x10);
|
||||
i2c_write_command((x & 0x0f) | 0x01);
|
||||
}
|
||||
|
||||
void ssd1306_test(void)
|
||||
{
|
||||
ssd1306_f8x16_string(0, 0, " TEST");
|
||||
ssd1306_f8x16_number(40, 0, -15.26, 2);
|
||||
ssd1306_f6x8_string_number(0, 3, " @ADC1:", 'V', 24);
|
||||
ssd1306_update_screen();
|
||||
}
|
||||
|
||||
void ssd1306_init(void)
|
||||
{
|
||||
i2c_write_command(SSD1306_CMD_DISPLAY_OFF); // display off
|
||||
i2c_write_command(SSD1306_CMD_MEMORY_MODE); // Set Memory Addressing Mode
|
||||
i2c_write_command(SSD1306_CMD_SET_HIGH_COLUMN); // 00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid
|
||||
i2c_write_command(SSD1306_CMD_COM_SCAN_DEC); // Set COM Output Scan Direction
|
||||
i2c_write_command(SSD1306_CMD_SET_LOW_COLUMN); //---set low column address
|
||||
i2c_write_command(SSD1306_CMD_SET_HIGH_COLUMN); //---set high column address
|
||||
i2c_write_command(SSD1306_CMD_SET_START_LINE); //--set start line address
|
||||
i2c_write_command(SSD1306_CMD_SET_CONTRAST); //--set contrast control register
|
||||
i2c_write_command(0xff); // 亮度调节 0x00~0xff
|
||||
i2c_write_command(0xa1); //--set segment re-map 0 to 127
|
||||
i2c_write_command(SSD1306_CMD_NORMAL_DISPLAY); //--set normal display
|
||||
i2c_write_command(SSD1306_CMD_SET_MULTIPLEX); //--set multiplex ratio(1 to 64)
|
||||
i2c_write_command(0x3f); //
|
||||
i2c_write_command(SSD1306_CMD_DISPLAY_ALL_ON_RESUME); // 0xa4,Output follows RAM content;0xa5,Output ignores RAM content
|
||||
i2c_write_command(SSD1306_CMD_SET_DISPLAY_OFFSET); //-set display offset
|
||||
i2c_write_command(SSD1306_CMD_SET_LOW_COLUMN); //-not offset
|
||||
i2c_write_command(SSD1306_CMD_SET_DISPLAY_CLOCK_DIV); //--set display clock divide ratio/oscillator frequency
|
||||
i2c_write_command(0xf0); //--set divide ratio
|
||||
i2c_write_command(SSD1306_CMD_SET_PRECHARGE); //--set pre-charge period
|
||||
i2c_write_command(SSD1306_CMD_PAGE_ADDR); //
|
||||
i2c_write_command(SSD1306_CMD_SET_COM_PINS); //--set com pins hardware configuration
|
||||
i2c_write_command(0x12);
|
||||
i2c_write_command(SSD1306_CMD_SET_VCOM_DETECT); //--set vcomh
|
||||
i2c_write_command(SSD1306_CMD_MEMORY_MODE); // 0x20,0.77xVcc
|
||||
i2c_write_command(SSD1306_CMD_CHARGE_PUMP); //--set DC-DC enable
|
||||
i2c_write_command(SSD1306_CMD_SET_DC_DC_ENABLE); //
|
||||
i2c_write_command(SSD1306_CMD_DISPLAY_ON); //--turn on oled panel
|
||||
ssd1306_fill(0);
|
||||
|
||||
// ssd1306_test();
|
||||
}
|
||||
|
||||
void ssd1306_display_on(void)
|
||||
{
|
||||
i2c_write_command(SSD1306_CMD_CHARGE_PUMP); // 设置电荷泵
|
||||
i2c_write_command(SSD1306_CMD_SET_DC_DC_ENABLE); // 开启电荷泵
|
||||
i2c_write_command(SSD1306_CMD_DISPLAY_ON); // OLED唤醒
|
||||
}
|
||||
|
||||
void ssd1306_display_off(void)
|
||||
{
|
||||
i2c_write_command(SSD1306_CMD_CHARGE_PUMP); // 设置电荷泵
|
||||
i2c_write_command(SSD1306_CMD_SET_HIGH_COLUMN); // 关闭电荷泵
|
||||
i2c_write_command(SSD1306_CMD_DISPLAY_OFF); // OLED休眠
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 更新SSD1306 OLED显示屏的内容
|
||||
*
|
||||
* 此函数将缓冲区中的数据写入SSD1306 OLED显示屏,从而更新显示内容。
|
||||
*
|
||||
* 首先,通过发送命令设置列地址和页地址,然后将缓冲区中的数据逐行写入显示屏。
|
||||
*
|
||||
* @note 在调用此函数之前,需要将需要显示的数据写入缓冲区。
|
||||
*/
|
||||
void ssd1306_update_screen(void)
|
||||
{
|
||||
for (uint8_t i = 0; i < SSD1306_HEIGHT / 8; i++)
|
||||
{
|
||||
i2c_write_command(0xb0 + i);
|
||||
i2c_write_command(0x01);
|
||||
i2c_write_command(0x10);
|
||||
for (uint8_t j = 0; j < SSD1306_WIDTH; j++)
|
||||
{
|
||||
i2c_write_data(_buffer[j + i * SSD1306_WIDTH]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 填充整个屏幕为指定颜色
|
||||
*
|
||||
* 该函数将 SSD1306 OLED 显示屏的每一个像素点都设置为指定的颜色。
|
||||
*
|
||||
* @param color 颜色值,0x00 表示关闭像素点(黑色),0xFF 表示打开像素点(白色)
|
||||
*/
|
||||
void ssd1306_fill(uint8_t color)
|
||||
{
|
||||
osel_memset(_buffer, color, ARRAY_LEN(_buffer));
|
||||
ssd1306_update_screen();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 清空SSD1306显示屏
|
||||
*
|
||||
* 该函数通过向SSD1306显示屏发送一系列命令来清空显示内容。
|
||||
*
|
||||
* 首先,通过循环遍历每个页面(SSD1306显示屏有8个页面),
|
||||
* 对每个页面执行以下操作:
|
||||
* 1. 发送页面地址命令(0xb0 + y),其中y为当前页面索引。
|
||||
* 2. 发送列地址低位命令(0x01)。
|
||||
* 3. 发送列地址高位命令(0x10),表示从第一列开始。
|
||||
* 4. 循环遍历每一列(SSD1306显示屏的宽度),
|
||||
* 发送数据0x00以清空该列的内容。
|
||||
*/
|
||||
void ssd1306_clear(void)
|
||||
{
|
||||
osel_memset(_buffer, 0, ARRAY_LEN(_buffer));
|
||||
ssd1306_update_screen();
|
||||
}
|
||||
|
||||
void ssd1306_clear_buffer(void)
|
||||
{
|
||||
osel_memset(_buffer, 0, ARRAY_LEN(_buffer));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 在指定区域内绘制BMP
|
||||
*
|
||||
* 在指定坐标区域内绘制一个BMP,使用SSD1306 OLED显示屏
|
||||
* ssd1306_draw_bmp(0, 0, SSD1306_WIDTH, 2);
|
||||
* @param x0 BMP绘制的起始X坐标
|
||||
* @param y0 BMP绘制的起始Y坐标
|
||||
* @param x1 BMP绘制的结束X坐标
|
||||
* @param y1 BMP绘制的结束Y坐标
|
||||
*/
|
||||
void ssd1306_draw_bmp(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t *bmp)
|
||||
{
|
||||
uint8_t j = 0;
|
||||
uint8_t x, y;
|
||||
osel_memset(_buffer, 0, ARRAY_LEN(_buffer));
|
||||
if (y1 % 8 == 0)
|
||||
y = y1 / 8;
|
||||
else
|
||||
y = y1 / 8 + 1;
|
||||
for (y = y0; y < y1; y++)
|
||||
{
|
||||
set_position(x0, y);
|
||||
for (x = x0; x < x1; x++)
|
||||
{
|
||||
i2c_write_data(bmp[j++]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 在SSD1306 OLED显示屏上显示字符串
|
||||
*
|
||||
* 在SSD1306 OLED显示屏上以6x8像素的字体显示给定的字符串。
|
||||
*
|
||||
* @param x 显示字符串的起始x坐标
|
||||
* @param y 显示字符串的起始y坐标
|
||||
* @param str 要显示的字符串
|
||||
*/
|
||||
void ssd1306_f6x8_string(uint8_t x, uint8_t y, const uint8_t *ch)
|
||||
{
|
||||
uint8_t c = 0, i = 0, j = 0;
|
||||
while (ch[j] != '\0')
|
||||
{
|
||||
c = ch[j] - 32;
|
||||
if (x > 126)
|
||||
{
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
for (i = 0; i < 6; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F6x8[c][i];
|
||||
x += 6;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 在SSD1306 OLED屏幕上显示字符串和数字
|
||||
*
|
||||
* 该函数用于在SSD1306 OLED屏幕上显示字符串和数字。首先显示一个字符串,
|
||||
* 然后显示一个浮点数。字符串和数字按照指定的位置和单位显示。
|
||||
*
|
||||
* @param x 起始位置的x坐标
|
||||
* @param y 起始位置的y坐标
|
||||
* @param ch 要显示的字符串
|
||||
* @param unit 数字的单位,例如'm'表示米
|
||||
* @param num 要显示的浮点数
|
||||
*/
|
||||
void ssd1306_f6x8_string_number(uint8_t x, uint8_t y, const uint8_t *ch, uint8_t unit, float32 num)
|
||||
{
|
||||
uint8_t c = 0, i = 0, j = 0;
|
||||
int8_t a, number[7] = {0, 0, 0, -2, 0, 0, 0};
|
||||
uint32_t d;
|
||||
while (ch[j] != '\0')
|
||||
{
|
||||
c = ch[j] - 32;
|
||||
if (x > 126)
|
||||
{
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
for (i = 0; i < 6; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F6x8[c][i];
|
||||
x += 6;
|
||||
j++;
|
||||
}
|
||||
d = 1000 * num;
|
||||
for (a = 0; a < 3; a++)
|
||||
{
|
||||
number[6 - a] = d % 10;
|
||||
d = d / 10;
|
||||
}
|
||||
for (a = 4; a < 7; a++)
|
||||
{
|
||||
number[6 - a] = d % 10;
|
||||
d = d / 10;
|
||||
}
|
||||
if (num >= 100)
|
||||
{
|
||||
a = 0;
|
||||
}
|
||||
else if (num >= 10)
|
||||
{
|
||||
a = 1;
|
||||
}
|
||||
else if (num >= 0)
|
||||
{
|
||||
a = 2;
|
||||
}
|
||||
for (; a < 7; a++)
|
||||
{
|
||||
c = number[a] + 16;
|
||||
if (x > 126)
|
||||
{
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
for (i = 0; i < 6; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F6x8[c][i];
|
||||
x += 6;
|
||||
j++;
|
||||
}
|
||||
for (int h = 0; h < 7; h++)
|
||||
{
|
||||
c = unit - 32;
|
||||
for (i = 0; i < 6; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F6x8[c][i];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 在SSD1306 OLED显示屏上显示8x16大小的字符串
|
||||
*
|
||||
* 该函数使用8x16字体在SSD1306 OLED显示屏上显示指定的字符串。字符串的字符位置由x和y参数指定。
|
||||
*
|
||||
* @param x 显示字符串的起始x坐标
|
||||
* @param y 显示字符串的起始y坐标
|
||||
* @param str 要显示的字符串
|
||||
*/
|
||||
void ssd1306_f8x16_string(uint8_t x, uint8_t y, const uint8_t *ch)
|
||||
{
|
||||
uint8_t c = 0, i = 0, j = 0;
|
||||
while (ch[j] != '\0')
|
||||
{
|
||||
c = ch[j] - 32;
|
||||
if (x > 120)
|
||||
{
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
for (i = 0; i < 8; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F8X16[c * 16 + i];
|
||||
for (i = 0; i < 8; i++)
|
||||
_buffer[((y + 1) * SSD1306_WIDTH) + x + i] = F8X16[c * 16 + i + 8];
|
||||
x += 8;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 在SSD1306 OLED显示屏上以8x16像素字体显示浮点数
|
||||
*
|
||||
* 在指定的坐标位置 (x, y) 上,使用8x16像素大小的字体显示浮点数 num,并显示指定数量的小数点 dot_num。
|
||||
*
|
||||
* @param x 显示位置的x坐标
|
||||
* @param y 显示位置的y坐标
|
||||
* @param num 要显示的浮点数
|
||||
* @param dot_num 要显示的小数点数量
|
||||
*/
|
||||
void ssd1306_f8x16_number(uint8_t x, uint8_t y, float32 num, uint8_t dot_num)
|
||||
{
|
||||
uint8_t ch[9] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'};
|
||||
uint8_t c = 0, i = 0, j = 0;
|
||||
if (num < 0)
|
||||
{
|
||||
ch[i++] = '-';
|
||||
num = -num;
|
||||
}
|
||||
if (num > 32000)
|
||||
return;
|
||||
|
||||
c = 8 - i;
|
||||
|
||||
if (num >= 10000)
|
||||
{
|
||||
ch[i++] = num / 10000 + 48;
|
||||
ch[i++] = (int32_t)(num) % 10000 / 1000 + 48;
|
||||
ch[i++] = (int32_t)(num) % 1000 / 100 + 48;
|
||||
ch[i++] = (int32_t)(num) % 100 / 10 + 48;
|
||||
ch[i++] = (int32_t)(num) % 10 + 48;
|
||||
}
|
||||
else if (num >= 1000)
|
||||
{
|
||||
ch[i++] = (int32_t)(num) % 10000 / 1000 + 48;
|
||||
ch[i++] = (int32_t)(num) % 1000 / 100 + 48;
|
||||
ch[i++] = (int32_t)(num) % 100 / 10 + 48;
|
||||
ch[i++] = (int32_t)(num) % 10 + 48;
|
||||
}
|
||||
else if (num >= 100)
|
||||
{
|
||||
ch[i++] = (int32_t)(num) % 1000 / 100 + 48;
|
||||
ch[i++] = (int32_t)(num) % 100 / 10 + 48;
|
||||
ch[i++] = (int32_t)(num) % 10 + 48;
|
||||
}
|
||||
else if (num >= 10)
|
||||
{
|
||||
ch[i++] = (int32_t)(num) % 100 / 10 + 48;
|
||||
ch[i++] = (int32_t)(num) % 10 + 48;
|
||||
}
|
||||
else if (num >= 0)
|
||||
{
|
||||
ch[i++] = (int32_t)(num) % 10 + 48;
|
||||
}
|
||||
if (dot_num > 0 && i < 7)
|
||||
{
|
||||
ch[i++] = '.';
|
||||
num = num - (int32_t)num;
|
||||
|
||||
if (dot_num == 1 && i < 8)
|
||||
{
|
||||
num = num * 10;
|
||||
ch[i++] = (int32_t)(num + 0.5) % 10 + 48;
|
||||
}
|
||||
if (dot_num >= 2 && i < 8)
|
||||
{
|
||||
num = num * 100;
|
||||
ch[i++] = (int32_t)num % 100 / 10 + 48;
|
||||
if (i < 8)
|
||||
ch[i++] = (int32_t)(num + 0.5) % 10 + 48;
|
||||
}
|
||||
}
|
||||
|
||||
while (ch[j] != '\0')
|
||||
{
|
||||
c = ch[j] - 32;
|
||||
if (x > 120)
|
||||
{
|
||||
x = 0;
|
||||
y++;
|
||||
}
|
||||
for (i = 0; i < 8; i++)
|
||||
_buffer[(y * SSD1306_WIDTH) + x + i] = F8X16[c * 16 + i];
|
||||
for (i = 0; i < 8; i++)
|
||||
_buffer[((y + 1) * SSD1306_WIDTH) + x + i] = F8X16[c * 16 + i + 8];
|
||||
x += 8;
|
||||
j++;
|
||||
}
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
#ifndef __SSD1306_OLED_H
|
||||
#define __SSD1306_OLED_H
|
||||
|
||||
#include "main.h"
|
||||
|
||||
// OLED引脚定义
|
||||
#define SSD1306_SDA_PORT OLED_SDA_GPIO_Port
|
||||
#define SSD1306_SDA_PIN OLED_SDA_Pin
|
||||
#define SSD1306_SCK_PORT OLDE_SCK_GPIO_Port
|
||||
#define SSD1306_SCK_PIN OLDE_SCK_Pin
|
||||
|
||||
// I2C地址
|
||||
#define SSD1306_I2C_ADDRESS 0x78
|
||||
// OLED显示参数
|
||||
#define SSD1306_WIDTH 128
|
||||
#define SSD1306_HEIGHT 64
|
||||
|
||||
// OLED命令定义
|
||||
#define SSD1306_CMD_DISPLAY_OFF 0xAE
|
||||
#define SSD1306_CMD_DISPLAY_ON 0xAF
|
||||
#define SSD1306_CMD_SET_CONTRAST 0x81
|
||||
#define SSD1306_CMD_DISPLAY_ALL_ON_RESUME 0xA4
|
||||
#define SSD1306_CMD_DISPLAY_ALL_ON 0xA5
|
||||
#define SSD1306_CMD_NORMAL_DISPLAY 0xA6
|
||||
#define SSD1306_CMD_INVERT_DISPLAY 0xA7
|
||||
#define SSD1306_CMD_SET_DISPLAY_OFFSET 0xD3
|
||||
#define SSD1306_CMD_SET_COM_PINS 0xDA
|
||||
#define SSD1306_CMD_SET_VCOM_DETECT 0xDB
|
||||
#define SSD1306_CMD_SET_DISPLAY_CLOCK_DIV 0xD5
|
||||
#define SSD1306_CMD_SET_PRECHARGE 0xD9
|
||||
#define SSD1306_CMD_SET_MULTIPLEX 0xA8
|
||||
#define SSD1306_CMD_SET_LOW_COLUMN 0x00
|
||||
#define SSD1306_CMD_SET_HIGH_COLUMN 0x10
|
||||
#define SSD1306_CMD_SET_START_LINE 0x40
|
||||
#define SSD1306_CMD_MEMORY_MODE 0x20
|
||||
#define SSD1306_CMD_COLUMN_ADDR 0x21
|
||||
#define SSD1306_CMD_PAGE_ADDR 0x22
|
||||
#define SSD1306_CMD_COM_SCAN_INC 0xC0
|
||||
#define SSD1306_CMD_COM_SCAN_DEC 0xC8
|
||||
#define SSD1306_CMD_SEG_REMAP 0xA0
|
||||
#define SSD1306_CMD_CHARGE_PUMP 0x8D
|
||||
#define SSD1306_CMD_SET_DC_DC_ENABLE 0x14
|
||||
|
||||
#define SDA_OUT() \
|
||||
{ \
|
||||
GPIO_SET_OUTPUT(SSD1306_SDA_PORT, SSD1306_SDA_PIN); \
|
||||
}
|
||||
|
||||
#define SDA_IN() \
|
||||
{ \
|
||||
GPIO_SET_INPUT(SSD1306_SDA_PORT, SSD1306_SDA_PIN); \
|
||||
}
|
||||
|
||||
// 函数声明
|
||||
void ssd1306_init(void);
|
||||
void ssd1306_display_on(void);
|
||||
void ssd1306_display_off(void);
|
||||
void ssd1306_update_screen(void);
|
||||
|
||||
void ssd1306_fill(uint8_t color);
|
||||
void ssd1306_clear(void);
|
||||
void ssd1306_clear_buffer(void);
|
||||
void ssd1306_draw_bmp(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t *bmp);
|
||||
void ssd1306_f6x8_string(uint8_t x, uint8_t y, const uint8_t *ch);
|
||||
void ssd1306_f6x8_string_number(uint8_t x, uint8_t y, const uint8_t *ch, uint8_t unit, float32 num);
|
||||
void ssd1306_f8x16_string(uint8_t x, uint8_t y, const uint8_t *ch);
|
||||
void ssd1306_f8x16_number(uint8_t x, uint8_t y, float32 num, uint8_t dot_num);
|
||||
#endif // __SSD1306_OLED_H
|
Loading…
Reference in New Issue