ssd1306_oled 驱动移植完成
This commit is contained in:
parent
157e1b5938
commit
5b30352baa
|
@ -45,7 +45,8 @@ extern "C" {
|
||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
|
#include "sys.h"
|
||||||
|
#include "delay.h"
|
||||||
#include "lib.h"
|
#include "lib.h"
|
||||||
#include "bsp.h"
|
#include "bsp.h"
|
||||||
|
|
||||||
|
@ -76,6 +77,8 @@ void Error_Handler(void);
|
||||||
/* Private defines -----------------------------------------------------------*/
|
/* Private defines -----------------------------------------------------------*/
|
||||||
#define LED_BLUE_Pin LL_GPIO_PIN_13
|
#define LED_BLUE_Pin LL_GPIO_PIN_13
|
||||||
#define LED_BLUE_GPIO_Port GPIOC
|
#define LED_BLUE_GPIO_Port GPIOC
|
||||||
|
#define PWMA_Pin LL_GPIO_PIN_1
|
||||||
|
#define PWMA_GPIO_Port GPIOA
|
||||||
#define OLED_SDA_Pin LL_GPIO_PIN_12
|
#define OLED_SDA_Pin LL_GPIO_PIN_12
|
||||||
#define OLED_SDA_GPIO_Port GPIOB
|
#define OLED_SDA_GPIO_Port GPIOB
|
||||||
#define OLDE_SCK_Pin LL_GPIO_PIN_13
|
#define OLDE_SCK_Pin LL_GPIO_PIN_13
|
||||||
|
|
|
@ -55,6 +55,9 @@ void MX_GPIO_Init(void)
|
||||||
/**/
|
/**/
|
||||||
LL_GPIO_ResetOutputPin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
|
LL_GPIO_ResetOutputPin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);
|
||||||
|
|
||||||
|
/**/
|
||||||
|
LL_GPIO_ResetOutputPin(PWMA_GPIO_Port, PWMA_Pin);
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
LL_GPIO_ResetOutputPin(GPIOB, OLED_SDA_Pin|OLDE_SCK_Pin);
|
LL_GPIO_ResetOutputPin(GPIOB, OLED_SDA_Pin|OLDE_SCK_Pin);
|
||||||
|
|
||||||
|
@ -71,13 +74,20 @@ void MX_GPIO_Init(void)
|
||||||
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_3
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_0|LL_GPIO_PIN_2|LL_GPIO_PIN_3|LL_GPIO_PIN_4
|
||||||
|LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7
|
|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7|LL_GPIO_PIN_8
|
||||||
|LL_GPIO_PIN_8|LL_GPIO_PIN_9|LL_GPIO_PIN_10|LL_GPIO_PIN_11
|
|LL_GPIO_PIN_9|LL_GPIO_PIN_10|LL_GPIO_PIN_11|LL_GPIO_PIN_12
|
||||||
|LL_GPIO_PIN_12|LL_GPIO_PIN_15;
|
|LL_GPIO_PIN_15;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;
|
||||||
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/**/
|
||||||
|
GPIO_InitStruct.Pin = PWMA_Pin;
|
||||||
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
|
||||||
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
|
||||||
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||||
|
LL_GPIO_Init(PWMA_GPIO_Port, &GPIO_InitStruct);
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_10
|
GPIO_InitStruct.Pin = LL_GPIO_PIN_0|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_10
|
||||||
|LL_GPIO_PIN_11|LL_GPIO_PIN_14|LL_GPIO_PIN_15|LL_GPIO_PIN_3
|
|LL_GPIO_PIN_11|LL_GPIO_PIN_14|LL_GPIO_PIN_15|LL_GPIO_PIN_3
|
||||||
|
@ -89,7 +99,7 @@ void MX_GPIO_Init(void)
|
||||||
/**/
|
/**/
|
||||||
GPIO_InitStruct.Pin = OLED_SDA_Pin|OLDE_SCK_Pin;
|
GPIO_InitStruct.Pin = OLED_SDA_Pin|OLDE_SCK_Pin;
|
||||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
|
||||||
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
|
||||||
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||||
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ int main(void)
|
||||||
SystemClock_Config();
|
SystemClock_Config();
|
||||||
|
|
||||||
/* USER CODE BEGIN SysInit */
|
/* USER CODE BEGIN SysInit */
|
||||||
|
delay_init((SystemCoreClock / 1000000));
|
||||||
/* USER CODE END SysInit */
|
/* USER CODE END SysInit */
|
||||||
|
|
||||||
/* Initialize all configured peripherals */
|
/* Initialize all configured peripherals */
|
||||||
|
|
|
@ -125,7 +125,7 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>CMSIS_AGDI</Key>
|
<Key>CMSIS_AGDI</Key>
|
||||||
<Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32F10x_128 -FL020000 -FS08000000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)</Name>
|
<Name>-X"" -O206 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
|
@ -148,56 +148,14 @@
|
||||||
<Name></Name>
|
<Name></Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
<WatchWindow1>
|
||||||
<Number>0</Number>
|
<Ww>
|
||||||
<Type>0</Type>
|
<count>0</count>
|
||||||
<LineNumber>241</LineNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<ItemText>buffer</ItemText>
|
||||||
<Address>134220930</Address>
|
</Ww>
|
||||||
<ByteObject>0</ByteObject>
|
</WatchWindow1>
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>../Core/Src/stm32f1xx_it.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\motor\../Core/Src/stm32f1xx_it.c\241</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>1</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>47</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>startup_stm32f103xb.s</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>2</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>255</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>startup_stm32f103xb.s</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
<THDelay>0</THDelay>
|
<THDelay>0</THDelay>
|
||||||
</Tracepoint>
|
</Tracepoint>
|
||||||
|
@ -240,12 +198,6 @@
|
||||||
<pszMrulep></pszMrulep>
|
<pszMrulep></pszMrulep>
|
||||||
<pSingCmdsp></pSingCmdsp>
|
<pSingCmdsp></pSingCmdsp>
|
||||||
<pMultCmdsp></pMultCmdsp>
|
<pMultCmdsp></pMultCmdsp>
|
||||||
<SystemViewers>
|
|
||||||
<Entry>
|
|
||||||
<Name>System Viewer\TIM4</Name>
|
|
||||||
<WinId>35905</WinId>
|
|
||||||
</Entry>
|
|
||||||
</SystemViewers>
|
|
||||||
</TargetOption>
|
</TargetOption>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
:020000040800F2
|
:020000040800F2
|
||||||
:100000008018002005010008A905000893010008D8
|
:10000000801C002005010008250B0008930600084D
|
||||||
:10001000A505000871010008A907000800000000FC
|
:10001000210B00088D060008250D000800000000D7
|
||||||
:10002000000000000000000000000000AF05000814
|
:100020000000000000000000000000002B0B000892
|
||||||
:100030009101000800000000AD050008B1050008AE
|
:100030009106000800000000290B00082D0B0008A5
|
||||||
:100040001F0100081F0100081F0100081F01000810
|
:100040001F0100081F0100081F0100081F01000810
|
||||||
:100050001F0100081F0100081F0100081F01000800
|
:100050001F0100081F0100081F0100081F01000800
|
||||||
:100060001F0100081F0100081F0100081F010008F0
|
:100060001F0100081F0100081F0100081F010008F0
|
||||||
|
@ -10,291 +10,621 @@
|
||||||
:100080001F0100081F0100081F0100081F010008D0
|
:100080001F0100081F0100081F0100081F010008D0
|
||||||
:100090001F0100081F0100081F0100081F010008C0
|
:100090001F0100081F0100081F0100081F010008C0
|
||||||
:1000A0001F0100081F0100081F0100081F010008B0
|
:1000A0001F0100081F0100081F0100081F010008B0
|
||||||
:1000B000A90600081F0100081F0100081F01000811
|
:1000B000250C00081F0100081F0100081F0100088F
|
||||||
:1000C0001F0100081F0100081F0100081F01000890
|
:1000C0001F0100081F0100081F0100081F01000890
|
||||||
:1000D0001F0100081F0100081F0100081F01000880
|
:1000D0001F0100081F0100081F0100081F01000880
|
||||||
:1000E0001F0100081F0100081F010008DFF810D0E1
|
:1000E0001F0100081F0100081F010008DFF810D0E1
|
||||||
:1000F00000F02CF800480047350E0008AFF30080F0
|
:1000F00000F0BAFA0048004785100008AFF300800E
|
||||||
:10010000801800200648804706480047FEE7FEE7C3
|
:10010000801C00200648804706480047FEE7FEE7BF
|
||||||
:10011000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7
|
:10011000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7
|
||||||
:10012000A5060008ED000008D2B201E000F8012B9E
|
:10012000210C0008ED000008D2B201E000F8012B1C
|
||||||
:10013000491EFBD270470022F6E710B513460A4667
|
:10013000491EFBD270470022F6E710B513460A4667
|
||||||
:1001400004461946FFF7F0FF204610BD064C074D48
|
:1001400004461946FFF7F0FF204610BDF0B480EAE0
|
||||||
:1001500006E0E06840F0010394E807009847103497
|
:100150000102D40F4200B2EB410F02D20246084620
|
||||||
:10016000AC42F6D3FFF7C6FFF811000818120008DA
|
:1001600011464A0042D0C30DDDB2C1F3C752AD1AE9
|
||||||
:1001700000BFFEE770B504460D4600BF2CB901F084
|
:10017000202D35DAC1F3160141F4000204B15242D8
|
||||||
:1001800001F801E000BF00BFFCE700BF012070BD27
|
:10018000C5F1200602FA06F12A411044B3EBD05F14
|
||||||
:10019000704700BFFEE7000008B5054989690143C3
|
:1001900023D0C4B1012DA0EBC35009DCF0BC4FF05B
|
||||||
:1001A000034A9161114689690140009100BF08BD71
|
:1001A000004202EAC352DBB200F5000000F0D0B911
|
||||||
:1001B000001002402DE9F04102460B461868C0F3DA
|
:1001B000400000F1807000EBC350A0F1807040EA75
|
||||||
:1001C0000F2595FAA5F0B0FA80F480E00120A04058
|
:1001C000D170490009E0490841EAC071A0EBC35071
|
||||||
:1001D000284000287AD0082C04D240F2011000FAFE
|
:1001D00000F50000400800EBC350F0BC00F0AFB9E0
|
||||||
:1001E00004F106E0A4F108004FF00116864046F045
|
:1001E0006142012202EB4101001BF6E7F0BC7047BF
|
||||||
:1001F0008061586808280ED11869D66826EA112649
|
:1001F00081F00041AAE780F00040A7E780EA010211
|
||||||
:100200000F0A97FAA7F7B7FA87F700FA07F73E43FE
|
:1002000010B502F00043400022D04A001FD0010E7A
|
||||||
:10021000D66000BF00BF586802EB116691FAA1FCDE
|
:1002100001EB1261C0F35600C2F3560240F4000035
|
||||||
:10022000BCFA8CFC4FEA8C084FF00F0C0CFA08FC5F
|
:1002200042F40002A0FB022000047F39140400D035
|
||||||
:10023000376827EA0C0791FAA1FCBCFA8CFC4FEA5C
|
:10023000401C50EA124001D44000491EC2B20C06D4
|
||||||
:100240008C0C00FA0CFC47EA0C07376000BF5868BA
|
:1002400004EBD010401C4008802A02D003E00020BC
|
||||||
:10025000012802D05868092838D1986802EB116645
|
:1002500010BD20F00100002900DA0020184310BD75
|
||||||
:1002600091FAA1FCBCFA8CFC4FEA8C084FF0030C0D
|
:1002600030B480EA010202F0004530F0004221F093
|
||||||
:100270000CFA08FC376827EA0C0791FAA1FCBCFAD3
|
:10027000004013D090B1C30DD40DC2F31601C0F3EA
|
||||||
:100280008CFC4FEA8C0C00FA0CFC47EA0C07376038
|
:100280001600E41A41F4000140F400027D3491426A
|
||||||
:1002900000BFD86802EB116691FAA1FCBCFA8CFC95
|
:1002900001D3641C00E04900002C02DA30BC0020CD
|
||||||
:1002A0004FEA8C084FF0040C0CFA08FC376827EA78
|
:1002A00070474FF400000023914201D3891A0343A1
|
||||||
:1002B0000C0791FAA1FCBCFA8CFC4FEA8C0C00FAFA
|
:1002B00040084FEA4101F7D151B1914202D14FF0CC
|
||||||
:1002C0000CFC47EA0C07376000BF00BF641C25FA2E
|
:1002C000004105E002D24FF0010101E06FF00101B1
|
||||||
:1002D00004F000287FF47AAFBDE8F081C1F30F226B
|
:1002D00003EBC450284430BC00F031B92DE9FE4F87
|
||||||
:1002E0004261704702480068401C0149086070473D
|
:1002E000804681EA0300C00F0C46009021F00041D7
|
||||||
:1002F0000C0000204FF47A71B0FBF1F2521E4FF067
|
:1002F00023F00045B8EB0200A94105D24046214653
|
||||||
:10030000E0235A6100229A6105221A6100BF7047FA
|
:1003000090461C460B46024623F00040104347D05F
|
||||||
:1003100001490860704700000000002010B5024647
|
:10031000270DC7F30A00C3F30A510290401A019057
|
||||||
:1003200013681C48824208D0B2F1804F05D01A48A9
|
:1003200040286BDAC3F3130040F4801B0098924618
|
||||||
:10033000824202D01948824204D123F070004C68F6
|
:1003300020B10023D2EB030A63EB0B0B0198594663
|
||||||
:1003400040EA04031348824208D0B2F1804F05D03E
|
:10034000C0F14002504600F0C9F806460D4650463E
|
||||||
:100350001148824202D01148824204D123F44070F5
|
:100350005946019A00F0E1F810EB080061410024D1
|
||||||
:10036000CC6840EA040313608868D06200BF088844
|
:1003600087EA115284EAE7731A4340D0009A62B3D5
|
||||||
:10037000906200BF0748824203D10869106300BF42
|
:10037000019A012A4FEA075215DC001B61EB0201CA
|
||||||
:1003800000BF00BF506940F00100506100BF002075
|
:100380004FF0004202EA0752CDE90042001C41F55D
|
||||||
:1003900010BD0000002C0140000400400008004097
|
:10039000801132462B4600F018F903B0BDE8F08F0B
|
||||||
:1003A0000146086900F001007047000000B585B003
|
:1003A00040462146F9E7001B61EB0201001C41F5C4
|
||||||
:1003B00014216846FFF7BFFE1020FFF7EDFE202056
|
:1003B000801300185B412018A2F5001747EB0301DA
|
||||||
:1003C000FFF7EAFE0420FFF7E7FE0820FFF7E4FE50
|
:1003C00040EAD570B6196D4111E06D084FEA360666
|
||||||
:1003D0001C491D48FFF782FF1C491D48FFF77EFF9F
|
:1003D00045EAC0754FEA0752001B61EB0201001CA1
|
||||||
:1003E0001848009001200190022002900020039004
|
:1003E00041F5801149084FEA300000195141324669
|
||||||
:1003F00069461548FFF7DEFE164800900020019080
|
:1003F0002B4603B0BDE8F04F00F0D8B800980122BA
|
||||||
:1004000069461148FFF7D6FE13480090002001907E
|
:1004000040000023D0EB020263EBE073009821462A
|
||||||
:1004100069461248FFF7CEFE114800900020019077
|
:100410004FEAE074B8EB000061EB0401E9E783F018
|
||||||
:1004200069460B48FFF7C6FE08480090012001907E
|
:1004200000435BE781F0004158E796230022114624
|
||||||
:10043000022002900020039069460548FFF7BAFEAB
|
:1004300000F08EB820F00040C10DC0F3160040F46B
|
||||||
:1004400005B000BD20002004001001403000300441
|
:1004400000007F2901DA00207047962903DCC1F102
|
||||||
:10045000000C0140C000C004FFFF9F0400080140E1
|
:100450009601C8407047963988407047C1F30A52E8
|
||||||
:10046000FFFFCF042DE9F04186B0142101A8FFF76A
|
:1004600010B5C1F3130140F2FF3341F480119A42F9
|
||||||
:1004700062FE01204849C9690143474AD1611146DA
|
:1004700001DA002010BD40F233439A42A2F2334227
|
||||||
:10048000C9690140009100BF00BF1C21434B1B689C
|
:1004800003DC524200F039F810BD904010BD00F07E
|
||||||
:10049000C3F302200F2400250346C3F1070CBCF16F
|
:10049000004230F000400AD0C10D01F56071C0F398
|
||||||
:1004A000040F02D94FF0040C01E0C3F1070C6746BA
|
:1004A000160042EA0151C20840071143704700207C
|
||||||
:1004B00003F1040CBCF1070F02D24FF0000C01E075
|
:1004B00001467047002801DBC0F10040002901DB44
|
||||||
:1004C000A3F1030C66464FF0010C0CFA07FCACF1EB
|
:1004C000C1F1004181427047002801DBC0F10040CA
|
||||||
:1004D000010C0CEA040C0CFA06FC4FF0010808FAB7
|
:1004D000002901DBC1F1004188427047202A04DB7A
|
||||||
:1004E00006F8A8F1010808EA05084CEA080200BF6E
|
:1004E000203A00FA02F1002070479140C2F1200347
|
||||||
:1004F000002904DB1007030E2948435407E01007C6
|
:1004F00020FA03F3194390407047202A04DB203A86
|
||||||
:10050000040E26480C3001F00F031B1FC45400BF1B
|
:1005000021FA02F00021704721FA02F3D040C2F133
|
||||||
:100510001C20002809DB00F01F0201219140420944
|
:1005100020029140084319467047202A06DBCB177A
|
||||||
:10052000920002F1E022C2F8001100BF41F61F4024
|
:10052000203A41FA02F043EAE07306E041FA02F3AE
|
||||||
:10053000ADF8040000200290632003900020049096
|
:10053000D040C2F12002914008431946704700297B
|
||||||
:1005400001A94FF08040FFF7E9FE00BF4FF0804067
|
:10054000A8BF7047401C490008BF20F00100704759
|
||||||
:10055000006820F080004FF08041086000BF00205C
|
:1005500010B4B0FA80FC00FA0CF050EA010404BFB9
|
||||||
:10056000896844F20702914301434FF08042916051
|
:1005600010BC704749B1CCF1200421FA04F411FA0F
|
||||||
:1005700000BF00BF1146496821F07001014351607E
|
:100570000CF118BF012121430843A3EB0C01CB1D53
|
||||||
:1005800000BF00BF1046806820F0800011468860E0
|
:100580004FEA00614FEA102042BF002010BC7047C4
|
||||||
:1005900000BF06B0BDE8F081001002400CED00E0A5
|
:1005900000EBC35010440029A4BF10BC7047401C9E
|
||||||
:1005A00000E400E000BFFEE700BFFEE770477047D1
|
:1005A000490008BF20F0010010BC704710B5141EB0
|
||||||
:1005B0007047000010B502203749096821F0070193
|
:1005B00073F1000408DA401C41F1000192185B411C
|
||||||
:1005C0000143354A116000BF00BF00BF32480068D8
|
:1005C0001A4301D120F0010010BD2DE9F04D9246F3
|
||||||
:1005D00000F007000228F8D100BF3048006840F45E
|
:1005D0009B4611B1B1FA81F202E0B0FA80F220320A
|
||||||
:1005E00080302E49086000BF00BF00BF2B48006864
|
:1005E0009046FFF77BFF04460F4640EA0A0041EAC7
|
||||||
:1005F000C0F340400028F8D04FF480304FF4E011B1
|
:1005F0000B0153465A46084313D0114653EA0100F3
|
||||||
:10060000264A526822F47C1200F440330B431A430A
|
:1006000019D0C8F140025046FFF777FF05460E4665
|
||||||
:10061000224B5A6000BF00BF1846006840F080704F
|
:10061000504659464246FFF761FF084305D0012086
|
||||||
:100620001946086000BF00BF00BF1C480068C0F347
|
:1006200004E020463946BDE8F08D0020054346EA47
|
||||||
:1006300040600028F8D000201849496821F0F001F6
|
:10063000E0762C4337430A986305E40AA0EB0800F0
|
||||||
:100640000143164A516000BF10151146496821F454
|
:100640000022FD0A44EA47540A3002D50020014640
|
||||||
:10065000E0610143516000BF00201146496821F468
|
:10065000E9E7010510196941DDE90845001969411B
|
||||||
:1006600060510143516000BF02201146496821F0EA
|
:10066000BDE8F04DA2E70000064C074D06E0E0684B
|
||||||
:1006700003010143516000BF00BF00BF074840684D
|
:1006700040F0010394E8070098471034AC42F6D3E9
|
||||||
:1006800000F00C000828F8D10548FFF733FE0448B5
|
:10068000FFF738FD94260008B426000800BFFEE7F7
|
||||||
:10069000FFF73EFE10BD00000020024000100240A7
|
:10069000704700BFFEE7000008B5054989690143BE
|
||||||
:1006A00000A24A047047000010B54FF08040FFF7E9
|
:1006A000034A9161114689690140009100BF08BD6C
|
||||||
:1006B00077FE012874D100BF00BF80070069C0F336
|
:1006B000001002402DE9F04102460B461868C0F3D5
|
||||||
:1006C000400068B100BF4FF08040C068C0F34000F8
|
:1006C0000F2595FAA5F0B0FA80F480E00120A04053
|
||||||
:1006D00030B100BF6FF002008107086100BF00BFAA
|
:1006D000284000287AD0082C04D240F2011000FAF9
|
||||||
:1006E00000BF4FF080400069C0F3800070B100BFD0
|
:1006E00004F106E0A4F108004FF00116864046F040
|
||||||
:1006F0004FF08040C068C0F3800038B100BF6FF099
|
:1006F0008061586808280ED11869D66826EA112644
|
||||||
:1007000004004FF08041086100BF00BF00BF4FF000
|
:100700000F0A97FAA7F7B7FA87F700FA07F73E43F9
|
||||||
:1007100080400069C0F3C00070B100BF4FF080405E
|
:10071000D66000BF00BF586802EB116691FAA1FCD9
|
||||||
:10072000C068C0F3C00038B100BF6FF008004FF0E0
|
:10072000BCFA8CFC4FEA8C084FF00F0C0CFA08FC5A
|
||||||
:100730008041086100BF00BF00BF4FF080400069EA
|
:10073000376827EA0C0791FAA1FCBCFA8CFC4FEA57
|
||||||
:10074000C0F3001070B100BF4FF08040C068C0F32C
|
:100740008C0C00FA0CFC47EA0C07376000BF5868B5
|
||||||
:10075000001038B100BF6FF010004FF08041086109
|
:10075000012802D05868092838D1986802EB116640
|
||||||
:1007600000BF00BF4FF08040FFF71AFE01280DD1F7
|
:1007600091FAA1FCBCFA8CFC4FEA8C084FF0030C08
|
||||||
:1007700000BF8007C06800F0010038B100BF6FF013
|
:100770000CFA08FC376827EA0C0791FAA1FCBCFACE
|
||||||
:1007800001004FF08041086100BF00BF00BFFFF7CC
|
:100780008CFC4FEA8C0C00FA0CFC47EA0C07376033
|
||||||
:10079000A9FD00BF03480068401C0249086000BF73
|
:1007900000BFD86802EB116691FAA1FCBCFA8CFC90
|
||||||
:1007A00010BD00006000002000BFFEE702E008C8A6
|
:1007A0004FEA8C084FF0040C0CFA08FC376827EA73
|
||||||
:1007B000121F08C1002AFAD170477047002001E0DB
|
:1007B0000C0791FAA1FCBCFA8CFC4FEA8C0C00FAF5
|
||||||
:1007C00001C1121F002AFBD170472DE9FC410446EC
|
:1007C0000CFC47EA0C07376000BF00BF641C25FA29
|
||||||
:1007D0000CB1012100E00021084640F26F21FFF733
|
:1007D00004F000287FF47AAFBDE8F081024690680B
|
||||||
:1007E000C9FC25462C462E686F68D7E90401CDE97F
|
:1007E000C1F30F231840C1F30F23984201D1012018
|
||||||
:1007F00000016868D0F80CC097E80F00E047204679
|
:1007F00070470020FCE7C1F30F2242617047C1F34C
|
||||||
:1008000000F070FAD6E90401CDE900012868D0F8BB
|
:100800000F2242617047C1F30F220261704770B539
|
||||||
:1008100008C096E80F00E047204600F063FAD6E9EA
|
:1008100000EB116391FAA1F5B5FA85F5AE000F254D
|
||||||
:100820000401CDE900012868D0F80CC096E80F005B
|
:10082000B5401C68AC4391FAA1F5B5FA85F5AD0069
|
||||||
:10083000E047BDE8FC810000014601F1100000E046
|
:1008300002FA05F52C431C6070BD000002480068F8
|
||||||
:10084000001D02681AB9024A12689042F8D3704734
|
:10084000401C014908607047100000204FF47A7185
|
||||||
:100850002000002010B50648046803E02046FFF79A
|
:10085000B0FBF1F2521E4FF0E0235A6100229A6180
|
||||||
:10086000EBFF0446034800688442F7D310BD000044
|
:1008600005221A6100BF7047014908607047000007
|
||||||
:100870001C000020200000202DE9FC4104460CB1A2
|
:100870000000002010B5024613681C48824208D0D0
|
||||||
:10088000012100E00021084640F28B21FFF772FCB5
|
:10088000B2F1804F05D01A48824202D01948824204
|
||||||
:1008900025462C462E686F68D7E90401CDE9000192
|
:1008900004D123F070004C6840EA040313488242FC
|
||||||
:1008A0006868D0F808C097E80F00E047204600F0DD
|
:1008A00008D0B2F1804F05D01148824202D01148E1
|
||||||
:1008B00019FAD6E90401CDE900012868D0F808C08A
|
:1008B000824204D123F44070CC6840EA0403136000
|
||||||
:1008C00096E80F00E047204600F00CFAD6E9040154
|
:1008C0008868D06200BF0888906200BF07488242F3
|
||||||
:1008D000CDE900012868D0F80CC096E80F00E04789
|
:1008D00003D10869106300BF00BF00BF506940F03A
|
||||||
:1008E000BDE8FC810FB4DDE900108A68C0F30F2376
|
:1008E0000100506100BF002010BD0000002C01403D
|
||||||
:1008F0001A40C0F30F239A4201D1012200E00022E6
|
:1008F00000040040000800400146086900F00100C3
|
||||||
:10090000D0B204B070472DE9FC47054689460DB1C9
|
:100900007047000000B585B014216846FFF713FC5E
|
||||||
:10091000012100E0002108465F21FFF72BFC4FF08A
|
:100910001020FFF7C1FE2020FFF7BEFE0420FFF7E6
|
||||||
:10092000000AD0462C462668676800BF3AE0D7E93F
|
:10092000BBFE0820FFF7B8FE25492648FFF763FF06
|
||||||
:100930000401CDE900016068D0F808C097E80F0015
|
:1009300040F202212448FFF75EFF24492448FFF7D4
|
||||||
:10094000E047D6E90401CDE900012068D0F808C0ED
|
:100940005AFF1F48009001200190022002900020D1
|
||||||
:1009500096E80F00E0474FEA48604FEA10682846E3
|
:10095000039069461B48FFF7ADFE1E48009000203B
|
||||||
:1009600000F0C0F9D7E90401CDE900016068D0F8D2
|
:10096000019069461748FFF7A5FE1B48009000203C
|
||||||
:1009700014C097E80F00E04718B108F1010000F03B
|
:10097000019069461448FFF79DFE40F20220009066
|
||||||
:10098000FF08D6E90401CDE900012068D0F80CC0C9
|
:1009800001200190022002900020039069460E4849
|
||||||
:1009900096E80F00E047284600F0A4F90AF10100AC
|
:10099000FFF790FE114800900020019069460C4836
|
||||||
:1009A00000F0FF0ABAF1080FC1DBB9F1010F03D162
|
:1009A000FFF788FE09480090012001900320029083
|
||||||
:1009B0002846FFF70AFF02E02846FFF75DFF4046A2
|
:1009B0000020039069460648FFF77CFE05B000BDA5
|
||||||
:1009C000BDE8FC870FB4DDE90001C1F30F224261ED
|
:1009C00020002004001001400008014030003004E5
|
||||||
:1009D00000BF04B070470FB4DDE90001C1F30F227E
|
:1009D000000C0140C000C004FFFD9F04FFFFCF04D6
|
||||||
:1009E000026100BF04B070472DE9FC4104460CB120
|
:1009E0002DE9F04186B0142101A8FFF7A4FB0120F6
|
||||||
:1009F000012100E0002108460F21FFF7BBFB25463F
|
:1009F0004849C9690143474AD1611146C969014063
|
||||||
:100A00002C462E686F68D7E90401CDE900016868BB
|
:100A0000009100BF00BF1C21434B1B68C3F30220B1
|
||||||
:100A1000D0F808C097E80F00E047D6E90401CDE917
|
:100A10000F2400250346C3F1070CBCF1040F02D9D3
|
||||||
:100A200000012868D0F808C096E80F00E04720468B
|
:100A20004FF0040C01E0C3F1070C674603F1040C1E
|
||||||
:100A300000F058F9D7E90401CDE900016868D0F861
|
:100A3000BCF1070F02D24FF0000C01E0A3F1030C50
|
||||||
:100A40000CC097E80F00E047204600F04BF9D6E9CC
|
:100A400066464FF0010C0CFA07FCACF1010C0CEA05
|
||||||
:100A50000401CDE900012868D0F80CC096E80F0029
|
:100A5000040C0CFA06FC4FF0010808FA06F8A8F19D
|
||||||
:100A6000E047204600F03EF9BDE8FC812DE9FC415D
|
:100A6000010808EA05084CEA080200BF002904DB77
|
||||||
:100A700004460CB1012100E0002108462D21FFF7BA
|
:100A70001007030E2948435407E01007040E2648C8
|
||||||
:100A800079FB25462C462E686F68D6E90401CDE92E
|
:100A80000C3001F00F031B1FC45400BF1C200028B2
|
||||||
:100A900000012868D0F80CC096E80F00E047D7E9BD
|
:100A900009DB00F01F02012191404209920002F19E
|
||||||
:100AA0000401CDE900016868D0F80CC097E80F0098
|
:100AA000E022C2F8001100BF41F61F40ADF804007B
|
||||||
:100AB000E047204600F016F9D6E90401CDE900012F
|
:100AB00000200290632003900020049001A94FF0D1
|
||||||
:100AC0002868D0F808C096E80F00E047D7E904018D
|
:100AC0008040FFF7D7FE00BF4FF08040006820F065
|
||||||
:100AD000CDE900016868D0F808C097E80F00E0474A
|
:100AD00080004FF08041086000BF0020896844F228
|
||||||
:100AE000204600F0FFF8BDE8FC810FB430B5DDE929
|
:100AE0000702914301434FF08042916000BF00BF75
|
||||||
:100AF0000301C268C1F30F2323EA020402EA0305DB
|
:100AF0001146496821F070010143516000BF00BFF9
|
||||||
:100B000044EA0544046100BF30BC5DF814FB2DE9E4
|
:100B00001046806820F080001146886000BF06B063
|
||||||
:100B1000FC4104460CB1012100E0002108464021BF
|
:100B1000BDE8F081001002400CED00E000E400E0D0
|
||||||
:100B2000FFF728FB4FF0000825462C462E686F681B
|
:100B200000BFFEE700BFFEE7704770477047000058
|
||||||
:100B3000D7E90401CDE900016868D0F808C097E85A
|
:100B300010B502203749096821F007010143354A01
|
||||||
:100B40000F00E047D6E90401CDE900012868D0F89C
|
:100B4000116000BF00BF00BF3248006800F007001E
|
||||||
:100B500008C096E80F00E047204600F0C3F80CE01C
|
:100B50000228F8D100BF3048006840F480302E49A8
|
||||||
:100B600008F1010000F0FF08B8F1FA0F05DD20469A
|
:100B6000086000BF00BF00BF2B480068C0F34040D2
|
||||||
:100B7000FFF77CFF0020BDE8FC81D7E90401CDE947
|
:100B70000028F8D04FF480304FF4E011264A526834
|
||||||
:100B800000016868D0F814C097E80F00E04700281B
|
:100B800022F47C1200F440330B431A43224B5A6088
|
||||||
:100B9000E6D1D6E90401CDE900012868D0F80CC0FF
|
:100B900000BF00BF1846006840F08070194608602A
|
||||||
:100BA00096E80F00E047204600F09CF80120E2E7BD
|
:100BA00000BF00BF00BF1C480068C0F340600028C1
|
||||||
:100BB0002DE9FC47064688464FF000090EB1012199
|
:100BB000F8D000201849496821F0F0010143164A95
|
||||||
:100BC00000E0002108468821FFF7D4FA3446276860
|
:100BC000516000BF10151146496821F4E0610143EE
|
||||||
:100BD00065684FF0000946E008F0800050B1D5E9A3
|
:100BD000516000BF00201146496821F46051014373
|
||||||
:100BE0000401CDE900016068D0F808C095E80F0065
|
:100BE000516000BF02201146496821F00301014312
|
||||||
:100BF000E04709E0D5E90401CDE900016068D0F8DB
|
:100BF000516000BF00BF00BF0748406800F00C0014
|
||||||
:100C00000CC095E80F00E047D7E90401CDE90001E9
|
:100C00000828F8D10548FFF721FE0448FFF72CFE1D
|
||||||
:100C10002068D0F808C097E80F00E047304600F0A1
|
:100C100010BD0000002002400010024000A24A0463
|
||||||
:100C200061F84FEA48604FEA1068D7E90401CDE95E
|
:100C20007047000010B54FF08040FFF765FE0128C7
|
||||||
:100C300000012068D0F80CC097E80F00E04730466C
|
:100C300074D100BF00BF80070069C0F3400068B1F5
|
||||||
:100C400000F050F8B9F1070F09D1D5E90401CDE959
|
:100C400000BF4FF08040C068C0F3400030B100BF2B
|
||||||
:100C500000016068D0F808C095E80F00E04709F18E
|
:100C50006FF002008107086100BF00BF00BF4FF0C6
|
||||||
:100C6000010000F0FF09B9F1080FB5DBBDE8FC8712
|
:100C600080400069C0F3800070B100BF4FF0804049
|
||||||
:100C700070B506460D4600240BE0E00045FA00F092
|
:100C7000C068C0F3800038B100BF6FF004004FF0CF
|
||||||
:100C8000C1B23046FFF794FF3046FFF740FF601CCB
|
:100C80008041086100BF00BF00BF4FF08040006995
|
||||||
:100C9000C4B2022CF1DB70BD00200B49086000BF1C
|
:100C9000C0F3C00070B100BF4FF08040C068C0F327
|
||||||
:100CA00000BF4FF08040006840F001004FF08041ED
|
:100CA000C00038B100BF6FF008004FF0804108610C
|
||||||
:100CB000086000BF00BF0846C06840F00100C8607F
|
:100CB00000BF00BF00BF4FF080400069C0F30010CC
|
||||||
:100CC00000BF00BF704700000400002010B50248BC
|
:100CC00070B100BF4FF08040C068C0F3001038B171
|
||||||
:100CD00000F07AF810BD00000400002010B500F00C
|
:100CD00000BF6FF010004FF08041086100BF00BFFF
|
||||||
:100CE000A7F910BD70B504460CB1012100E0002148
|
:100CE0004FF08040FFF708FE01280DD100BF8007BC
|
||||||
:100CF000084640F25921FFF73DFA0025258900E01A
|
:100CF000C06800F0010038B100BF6FF001004FF094
|
||||||
:100D000000BF281EA5F101018DB2F9D170BD000010
|
:100D00008041086100BF00BF00BFFFF797FD00BF33
|
||||||
:100D10002DE9F04105460E4618273946002000F01F
|
:100D100003480068401C0249086000BF10BD000085
|
||||||
:100D200069F904460CB1012100E000210846362192
|
:100D20006000002000BFFEE702E008C8121F08C1F3
|
||||||
:100D3000FFF720FA256066600548A0600548E0607E
|
:100D3000002AFAD170477047002001E001C1121F5C
|
||||||
:100D400005482061054860612046BDE8F08100004B
|
:100D4000002AFBD170470000014601F1100000E0CD
|
||||||
:100D5000D7090008C5090008EB0A0008E5080008E3
|
:100D5000001D02681AB9024A12689042F8D370471F
|
||||||
:100D6000F7B515465C263146002000F043F90446ED
|
:100D60002400002010B50648046803E02046FFF781
|
||||||
:100D700020466946082203E011F8013B00F8013BD8
|
:100D7000EBFF0446034800688442F7D310BD00002F
|
||||||
:100D8000131EA2F10106B2B2F6D100BF25810848B8
|
:100D8000200000202400002010B501E000F8011B25
|
||||||
:100D9000A0630849E163084921640849A16408493E
|
:100D9000131EA2F10104A2B2F8D110BD00200B492C
|
||||||
:100DA00061640849E1640020A4F858002046FEBDB3
|
:100DA000086000BF00BF4FF08040006840F00100C5
|
||||||
:100DB000E90900086D0A00080F0B00080709000880
|
:100DB0004FF08041086000BF00BF0846C06840F0A7
|
||||||
:100DC000B10B0008710C000838B5014600200090F6
|
:100DC0000100C86000BF00BF7047000004000020A1
|
||||||
:100DD000086810B1152821D116E000BF124B134C42
|
:100DD00010B5024800F020F910BD0000040000200A
|
||||||
:100DE000E068C3F30F2222EA000400EA020544EAA5
|
:100DE00010B500F01FFD10BD0149086070470000FC
|
||||||
:100DF00005440E4D2C6100BF00BF0D4800684860DF
|
:100DF0000C00002070B5034600224FF0E026756914
|
||||||
:100E000000BF1520086000BF094A48681268101A20
|
:100E00000D4E366803FB06F44FF0E026B16910E0A2
|
||||||
:100E1000642801D2002038BD00BFDFE70020086051
|
:100E10004FF0E026B06988420BD0884202D20E1A09
|
||||||
:100E200000900320F7E7000020002004001001409C
|
:100E2000324402E02E1A0E4432440146A24200D35C
|
||||||
:100E30006000002008B501201F49896901431E4A4E
|
:100E300000E0EDE700BF70BD0C00002010B500BF62
|
||||||
:100E40009161114689690140009100BF00BF000710
|
:100E400001220E490E48FFF7E2FC00BF0B490C4897
|
||||||
:100E50001146C9690143D1611146C9690140009138
|
:100E5000FFF7D9FC0B490A48FFF7D5FC0420FFF740
|
||||||
:100E600000BF00BF03200246144B19684FF6FF0372
|
:100E6000C9FF06490648FFF7CAFC0420FFF7C2FF86
|
||||||
:100E70001940134B0B4343EA0221104B196000BF8A
|
:100E700004490348FFF7C3FC10BD00001000100434
|
||||||
:100E800000BF1048406820F0E06040F000700D495D
|
:100E8000000C01402000200410B500BF01220E49D3
|
||||||
:100E9000486000BFFFF78EFBFFF788FAFFF7E2FA22
|
:100E90000E48FFF7BCFC00BF0D490C48FFF7AFFC44
|
||||||
:100EA000002000F011F8FFF719FFFFF7F5FE01E051
|
:100EA00009490A48FFF7ABFC0420FFF7A3FF0849F4
|
||||||
:100EB000FFF70CFFFCE70000001002400CED00E023
|
:100EB0000648FFF7A8FC04490448FFF7A4FC0420F7
|
||||||
:100EC0000000FA050000014010B504460C4951F835
|
:100EC000FFF798FF10BD000010001004000C014057
|
||||||
:100ED00024104A000B4951F82400002100F09EF82C
|
:100ED0002000200410B50024082213491348FFF70E
|
||||||
:100EE000094951F824200749083951F82400002104
|
:100EE00096FC11491148FFF78EFC0420FFF782FFA2
|
||||||
:100EF00000F094F8012103480830015510BD0000AE
|
:100EF0000F490E48FFF787FC0420FFF77BFF07E050
|
||||||
:100F0000E011000854000020F01100082DE9F0471E
|
:100F0000601CC4B2FA2C03DDFFF7BEFF002010BD49
|
||||||
:100F100004460F460025A9462348005D20B9224813
|
:100F100005490648FFF762FC0028F1D1044903485F
|
||||||
:100F200018380168204688471FB94FF0FF30BDE8E8
|
:100F2000FFF76DFC0120F2E710001004000C0140F7
|
||||||
:100F3000F0871E4850F82400B7FBF0F61B4850F825
|
:100F30002000200470B50446002500BF0122174997
|
||||||
:100F40002400B7FBF0F100FB117000B1761C1848CB
|
:100F40001748FFF764FC00BF16491548FFF757FC28
|
||||||
:100F500050F82400451E22E01348083850F82400B9
|
:100F500000BF1FE0E00920B110491148FFF753FC22
|
||||||
:100F600030F8150010B909F1010901E04FF000094E
|
:100F600003E00E490E48FFF74AFC6006040E02201B
|
||||||
:100F7000B14513D14FF0000809E00B48083850F88C
|
:100F7000FFF740FF0B490A48FFF745FC0220FFF747
|
||||||
:100F8000240005EB080220F8126008F10108B045C2
|
:100F800039FF08490648FFF73AFC0220FFF732FF15
|
||||||
:100F9000F3D3064850F824006843C8E76D1E002DBF
|
:100F9000681CC5B2082DDDDB70BD00001000100418
|
||||||
:100FA000DADA4FF0FF30C2E75C000020E8110008F9
|
:100FA000000C01402000200438B5044600208DF8D4
|
||||||
:100FB000E011000810B501460023002207E00B48AD
|
:100FB00000008DF80140FFF741FF7820FFF7BAFFEE
|
||||||
:100FC00050F8210030F8120000B15B1C521C084898
|
:100FC000FFF788FF9DF80000FFF7B4FFFFF782FFEF
|
||||||
:100FD00050F821009042F2D864205843044C54F851
|
:100FD0009DF80100FFF7AEFFFFF77CFFFFF754FF1E
|
||||||
:100FE0002140B0FBF4F0C0B210BD0000540000205E
|
:100FE00038BD38B5044640208DF800008DF801402A
|
||||||
:100FF000E011000870B504460E4631462046FFF762
|
:100FF000FFF724FF7820FFF79DFFFFF76BFF9DF8B9
|
||||||
:1010000085FF0546681C08B9002070BD024850F8ED
|
:101000000000FFF797FFFFF765FF9DF80100FFF76E
|
||||||
:1010100024002844F9E700004C00002030B50346C6
|
:1010100091FFFFF75FFF38BD38B501460020009013
|
||||||
:1010200001E003F8011B141EA2F10102F9D130BD49
|
:10102000086810B1152821D116E000BF124B134CEF
|
||||||
:101030001CB52F492F48FFF76BFE00902E492D4815
|
:10103000E068C3F30F2222EA000400EA020544EA52
|
||||||
:10104000FFF766FE01900022DDE90001FFF788FE50
|
:1010400005440E4D2C6100BF00BF0D48006848608C
|
||||||
:101050002A490860AE2000F055F8D52000F052F87B
|
:1010500000BF1520086000BF094A48681268101ACE
|
||||||
:10106000802000F04FF8A82000F04CF83F2000F05E
|
:10106000642801D2002038BD00BFDFE700200860FF
|
||||||
:1010700049F8D32000F046F8002000F043F8402063
|
:1010700000900320F7E7000020002004001001404A
|
||||||
:1010800000F040F88D2000F03DF8142000F03AF810
|
:101080006000002008B50120234989690143224AF4
|
||||||
:10109000202000F037F8002000F034F8A12000F004
|
:101090009161114689690140009100BF00BF0007BE
|
||||||
:1010A00031F8C82000F02EF8DA2000F02BF81220DA
|
:1010A0001146C9690143D1611146C96901400091E6
|
||||||
:1010B00000F028F8812000F025F8CF2000F022F879
|
:1010B00000BF00BF03200246184B19684FF6FF031C
|
||||||
:1010C000D92000F01FF8F12000F01CF8DB2000F020
|
:1010C0001940174B0B4343EA0221144B196000BF30
|
||||||
:1010D00019F8402000F016F8A42000F013F8A6201C
|
:1010D00000BF1448406820F0E06040F00070114903
|
||||||
:1010E00000F010F8AF2000F00DF800F009F81CBD7A
|
:1010E000486000BFFFF724FD0F4800680F49B0FBC0
|
||||||
:1010F00020002004000C01401000100464000020B7
|
:1010F000F1F084B22046FFF777FEFFF703FCFFF71D
|
||||||
:101100007047000038B5044600208DF800008DF8C7
|
:101100006FFC002000F014F8FFF76AFEFFF746FEC0
|
||||||
:1011100001401B480068816B1948006888471848DF
|
:1011100001E0FFF75DFEFCE7001002400CED00E08F
|
||||||
:1011200000687821426C16480068904714480068AF
|
:101120000000FA05000001400000002040420F00CE
|
||||||
:10113000016C1348006888479DF80010104800684B
|
:1011300010B504460C4951F824104A000B4951F8E7
|
||||||
:10114000426C0F48006890470D480068016C0C48DD
|
:101140002400002100F036F8094951F8242007490D
|
||||||
:10115000006888479DF8011009480068426C0848FB
|
:10115000083951F82400002100F02CF8012103483F
|
||||||
:101160000068904706480068016C05480068884799
|
:101160000830015510BD0000781900085400002017
|
||||||
:1011700003480068C16B02480068884738BD00001A
|
:101170008819000810B501460023002207E00B483B
|
||||||
:101180006400002000BF00BF00BF00BF00BFBFF36E
|
:1011800050F8210030F8120000B15B1C521C0848D6
|
||||||
:101190004F8F00BF00BF00BF0948006800F4E06047
|
:1011900050F821009042F2D864205843044C54F88F
|
||||||
:1011A00008490843001D0649086000BF00BF00BF92
|
:1011A0002140B0FBF4F0C0B210BD0000540000209C
|
||||||
:1011B000BFF34F8F00BF00BF00BF00BF00BFFDE700
|
:1011B0007819000830B5034601E003F8011B141E3E
|
||||||
:1011C0000CED00E00000FA055F6C697374006C6957
|
:1011C000A2F10102F9D130BD2DE9FF4F83B00746EE
|
||||||
:1011D000737420616C6C20636F6D6D616E640000D0
|
:1011D0000E4692464FF0000B0024A14657A103C9CA
|
||||||
:1011E00000020000000000000800000008000000ED
|
:1011E000CDE9010120E01AF80900203800F0FF0BDA
|
||||||
:1011F000001000000000000018120008000000208D
|
:1011F0007E2F02DD0027701CC6B200240CE00BEB32
|
||||||
:1012000078000000AC070008901200087800002069
|
:101200004B00504901EB4000005D07EBC611214443
|
||||||
:1012100008180000BC0700080024F40000000000CB
|
:101210004D4A5054601CC4B2062CF0DBB81DC7B256
|
||||||
:1012200000000000000000000000000000000000BE
|
:1012200009F1010000F0FF091AF809000028DAD1DD
|
||||||
:1012300000000000000000000000000000000000AE
|
:1012300046481099FEF7E2FF0090FFF7FBF8804662
|
||||||
:10124000000000000000000000000000000000009E
|
:1012400000250EE00A20B8FBF0F100FB118040B24F
|
||||||
:10125000000000000000000000000000C90E0008AF
|
:10125000C5F1060101AA50540A20B8FBF0F8681C39
|
||||||
:10126000B50F000880000020400000208010002002
|
:1012600045B2032DEEDB04250EE00A20B8FBF0F1B9
|
||||||
:10127000420000200000000000000000000000000C
|
:1012700000FB118040B2C5F1060101AA50540A20BA
|
||||||
:10128000C8110008CE110008C6E533B4550800089F
|
:10128000B8FBF0F8681C45B2072DEEDB304910982A
|
||||||
|
:10129000FFF71AF901D800250CE02E491098FFF746
|
||||||
|
:1012A00013F901D8012505E000211098FFF70CF98A
|
||||||
|
:1012B00000D8022522E001A8405D103000F0FF0BAD
|
||||||
|
:1012C0007E2F02DD0027701CC6B200240CE00BEB61
|
||||||
|
:1012D0004B001C4901EB4000005D07EBC6112144A7
|
||||||
|
:1012E000194A5054601CC4B2062CF0DBB81DC7B2BA
|
||||||
|
:1012F00009F1010000F0FF09681C45B2072DDADB97
|
||||||
|
:10130000002015E00699203901F0FF0B00240CE0C5
|
||||||
|
:101310000BEB4B010B4A02EB4101095D07EBC612D7
|
||||||
|
:101320002244094B9954611CCCB2062CF0DB401CC2
|
||||||
|
:101330000728E7DB07B0BDE8F08F0000000000FEE3
|
||||||
|
:10134000000000007A1A00088014002000007A448F
|
||||||
|
:101350000000C842000020412DE9F04F87B005464B
|
||||||
|
:101360000E46174698460020049005900690814648
|
||||||
|
:101370000024824600213846FFF79CF807D22D2230
|
||||||
|
:101380002046611CCCB204A90A5487F00047F549F5
|
||||||
|
:101390003846FFF799F802D207B0BDE8F08FC4F1E4
|
||||||
|
:1013A000080000F0FF09F0493846FFF78DF85DD2DC
|
||||||
|
:1013B000ED493846FEF754FFEC490390FEF7C6FEB0
|
||||||
|
:1013C0008346FFF737F8C2B22046611CCCB204A9AD
|
||||||
|
:1013D0000A543846FFF72EF8C0B242F2107190FB63
|
||||||
|
:1013E000F1F201FB12004FF47A7190FBF1F0303012
|
||||||
|
:1013F000C2B22046611CCCB204A90A543846FFF799
|
||||||
|
:1014000019F8C0B24FF47A7190FBF1F201FB1200AF
|
||||||
|
:10141000642190FBF1F03030C2B22046611CCCB2A6
|
||||||
|
:1014200004A90A543846FFF705F8C0B2642190FBBE
|
||||||
|
:10143000F1F201FB12000A2190FBF1F03030C2B250
|
||||||
|
:101440002046611CCCB204A90A543846FEF7F2FFCC
|
||||||
|
:10145000C0B20A2190FBF1F201FB12003030C2B29F
|
||||||
|
:101460002046611CCCB204A90A54CCE0C0493846DD
|
||||||
|
:10147000FFF72AF84CD23846FEF7DCFFC0B242F242
|
||||||
|
:10148000107190FBF1F201FB12004FF47A7190FBA6
|
||||||
|
:10149000F1F03030C2B22046611CCCB204A90A542B
|
||||||
|
:1014A0003846FEF7C7FFC0B24FF47A7190FBF1F2F5
|
||||||
|
:1014B00001FB1200642190FBF1F03030C2B22046F3
|
||||||
|
:1014C000611CCCB204A90A543846FEF7B3FFC0B27F
|
||||||
|
:1014D000642190FBF1F201FB12000A2190FBF1F074
|
||||||
|
:1014E0003030C2B22046611CCCB204A90A5438463E
|
||||||
|
:1014F000FEF7A0FFC0B20A2190FBF1F201FB12003F
|
||||||
|
:101500003030C2B22046611CCCB204A90A547AE041
|
||||||
|
:1015100098493846FEF7D8FF37D23846FEF78AFF9B
|
||||||
|
:10152000C0B24FF47A7190FBF1F201FB120064211A
|
||||||
|
:1015300090FBF1F03030C2B22046611CCCB204A95D
|
||||||
|
:101540000A543846FEF776FFC0B2642190FBF1F2F0
|
||||||
|
:1015500001FB12000A2190FBF1F03030C2B22046AC
|
||||||
|
:10156000611CCCB204A90A543846FEF763FFC0B22E
|
||||||
|
:101570000A2190FBF1F201FB12003030C2B220468A
|
||||||
|
:10158000611CCCB204A90A543DE07B493846FEF701
|
||||||
|
:101590009BFF23D23846FEF74DFFC0B2642190FB7B
|
||||||
|
:1015A000F1F201FB12000A2190FBF1F03030C2B2DF
|
||||||
|
:1015B0002046611CCCB204A90A543846FEF73AFF13
|
||||||
|
:1015C000C0B20A2190FBF1F201FB12003030C2B22E
|
||||||
|
:1015D0002046611CCCB204A90A5414E0002138460C
|
||||||
|
:1015E000FEF772FF0FD83846FEF724FFC0B20A217B
|
||||||
|
:1015F00090FBF1F201FB12003030C2B22046611CB8
|
||||||
|
:10160000CCB204A90A54B8F1000F71DD072C6FDACF
|
||||||
|
:101610002E222046611CCCB204A90A543846FEF79B
|
||||||
|
:1016200009FF00F0FF0B5846FEF7FFFE3946039016
|
||||||
|
:10163000FEF7E1FD0746B8F1010F20D1082C1EDAB4
|
||||||
|
:101640004D493846FEF7DAFD07463846FEF71FFFDC
|
||||||
|
:1016500000224A4BCDE90001FEF740FECDE9020130
|
||||||
|
:10166000FEF7FCFEC0B20A2190FBF1F201FB120072
|
||||||
|
:101670003030C2B22046611CCCB204A90A54B8F181
|
||||||
|
:10168000020F35DB082C33DA3A493846FEF7B6FD4F
|
||||||
|
:1016900007463846FEF7CEFEC0B2642190FBF1F259
|
||||||
|
:1016A00001FB12000A2190FBF1F03030C2B220465B
|
||||||
|
:1016B000611CCCB204A90A54082C19DA3846FEF78A
|
||||||
|
:1016C000E6FE00222D4BCDE90001FEF707FECDE935
|
||||||
|
:1016D0000201FEF7C3FEC0B20A2190FBF1F201FB4A
|
||||||
|
:1016E00012003030C2B22046611CCCB204A90A54A8
|
||||||
|
:1016F00031E004A810F80A00203800F0FF09782D26
|
||||||
|
:1017000002DD0025701CC6B200240AE004EB0910BB
|
||||||
|
:101710001B49085C05EBC61121441A4A5054601C51
|
||||||
|
:10172000C4B2082CF2DB00240CE004EB09100830F2
|
||||||
|
:101730001349095C701C05EBC0102044114A115478
|
||||||
|
:10174000601CC4B2082CF0DB05F10800C5B20AF138
|
||||||
|
:10175000010000F0FF0A04A810F80A000028C8D110
|
||||||
|
:1017600000BF19E60000FA4600401C460000404257
|
||||||
|
:1017700000007A440000C842000020410000E03F21
|
||||||
|
:10178000A21C000880140020F0B503461446002275
|
||||||
|
:101790000020002530E0665D203EF2B2782B02DDAD
|
||||||
|
:1017A00000234E1CF1B200200CE000EB0216144F97
|
||||||
|
:1017B000BE5D03EBC1170744DFF848C00CF80760B3
|
||||||
|
:1017C000461CF0B20828F0DB00200EE000EB021609
|
||||||
|
:1017D00008360B4FBF5D4E1C03EBC6160644DFF800
|
||||||
|
:1017E00024C00CF80670461CF0B20828EEDB03F1AA
|
||||||
|
:1017F0000806F3B26E1CF5B2665D002ECBD1F0BDCB
|
||||||
|
:10180000A21C00088014002010B504464FF480622A
|
||||||
|
:1018100021460348FFF7B8FA00F080F810BD000039
|
||||||
|
:101820008014002010B5AE20FFF7BEFB2020FFF78C
|
||||||
|
:10183000BBFB1020FFF7B8FBC820FFF7B5FB00206B
|
||||||
|
:10184000FFF7B2FB1020FFF7AFFB4020FFF7ACFB28
|
||||||
|
:101850008120FFF7A9FBFF20FFF7A6FBA120FFF7E0
|
||||||
|
:10186000A3FBA620FFF7A0FBA820FFF79DFB3F20CE
|
||||||
|
:10187000FFF79AFBA420FFF797FBD320FFF794FB19
|
||||||
|
:101880000020FFF791FBD520FFF78EFBF020FFF73C
|
||||||
|
:101890008BFBD920FFF788FB2220FFF785FBDA209E
|
||||||
|
:1018A000FFF782FB1220FFF77FFBDB20FFF77CFBBB
|
||||||
|
:1018B0002020FFF779FB8D20FFF776FB1420FFF740
|
||||||
|
:1018C00073FBAF20FFF770FB0020FFF79DFF00F0D8
|
||||||
|
:1018D00001F810BD08B50BA200210846FFF754FF20
|
||||||
|
:1018E00002230A4A00212820FFF736FD0848562324
|
||||||
|
:1018F00008A2032100900020FFF766FC00F00EF81C
|
||||||
|
:1019000008BD00005445535400000000F62874C17F
|
||||||
|
:101910000000C0412040414443313A0070B50024EA
|
||||||
|
:1019200018E004F1B001C8B2FFF73EFB0120FFF759
|
||||||
|
:101930003BFB1020FFF738FB002507E005EBC41147
|
||||||
|
:10194000064A505CFFF74DFB681CC5B2802DF5DBE5
|
||||||
|
:10195000601CC4B2082CE4DB70BD000080140020C1
|
||||||
|
:101960005F6C697374006C69737420616C6C2063C4
|
||||||
|
:101970006F6D6D616E6400000002000000000000E9
|
||||||
|
:101980000800000008000000001000000000000037
|
||||||
|
:10199000081C3044586C800000000004040400005F
|
||||||
|
:1019A000080000000800000800000008000204060B
|
||||||
|
:1019B000080A0C0001020304050600F808888808DC
|
||||||
|
:1019C000080000E010080810E00000192120201194
|
||||||
|
:1019D0000E00000F102020100F001060028C0080FD
|
||||||
|
:1019E00000F0020418000080000004047E010807D3
|
||||||
|
:1019F000003F4040404078000700202424A4FE23FC
|
||||||
|
:101A0000222000F8080808F8000010080601FF016D
|
||||||
|
:101A10000600003F1010103F0000109453321E3299
|
||||||
|
:101A20005210007E4242427E0000000000FF494901
|
||||||
|
:101A30004949494949FF0000000008CC4A49484A41
|
||||||
|
:101A4000CC18007F88888482E00000FF1212529236
|
||||||
|
:101A50007F00007E88888482E00000000000000093
|
||||||
|
:101A6000000000000000000000000000363600000A
|
||||||
|
:101A70000000000000000000000000000000000066
|
||||||
|
:101A80000000002F000000000700070000147F1472
|
||||||
|
:101A90007F1400242A7F2A12006264081323003670
|
||||||
|
:101AA0004955225000000503000000001C2241009F
|
||||||
|
:101AB000000041221C000014083E08140008083EE3
|
||||||
|
:101AC0000808000000A060000008080808080000DE
|
||||||
|
:101AD00060600000002010080402003E5149453EAD
|
||||||
|
:101AE0000000427F400000426151494600214145CB
|
||||||
|
:101AF0004B31001814127F10002745454539003C32
|
||||||
|
:101B00004A494930000171090503003649494936FF
|
||||||
|
:101B100000064949291E00003636000000005636EE
|
||||||
|
:101B200000000008142241000014141414140000D2
|
||||||
|
:101B30004122140800020151090600324959513E60
|
||||||
|
:101B4000007C1211127C007F49494936003E414118
|
||||||
|
:101B50004122007F4141221C007F49494941007FC9
|
||||||
|
:101B600009090901003E4149497A007F0808087FB8
|
||||||
|
:101B70000000417F4100002040413F01007F0814E8
|
||||||
|
:101B80002241007F40404040007F020C027F007FE6
|
||||||
|
:101B90000408107F003E4141413E007F09090906CB
|
||||||
|
:101BA000003E4151215E007F0919294600464949FE
|
||||||
|
:101BB00049310001017F0101003F4040403F001FCB
|
||||||
|
:101BC0002040201F003F4038403F0063140814634A
|
||||||
|
:101BD00000070870080700615149454300007F4134
|
||||||
|
:101BE000410000552A552A55000041417F0000045C
|
||||||
|
:101BF0000201020400404040404000000102040095
|
||||||
|
:101C0000002054545478007F4844443800384444F9
|
||||||
|
:101C1000442000384444487F003854545418000885
|
||||||
|
:101C20007E0901020018A4A4A47C007F08040478A3
|
||||||
|
:101C30000000447D4000004080847D00007F10282B
|
||||||
|
:101C400044000000417F4000007C04180478007CC0
|
||||||
|
:101C50000804047800384444443800FC2424241840
|
||||||
|
:101C60000018242418FC007C08040408004854547C
|
||||||
|
:101C7000542000043F444020003C4040207C001C95
|
||||||
|
:101C80002040201C003C4030403C004428102844A8
|
||||||
|
:101C9000001CA0A0A07C004464544C4414141414F0
|
||||||
|
:101CA000141400000000000000000000000000000C
|
||||||
|
:101CB0000000000000F800000000000000333000C9
|
||||||
|
:101CC000000000100C06100C0600000000000000D0
|
||||||
|
:101CD000000040C07840C0784000043F04043F0446
|
||||||
|
:101CE0000400007088FC08300000001820FF211E4E
|
||||||
|
:101CF0000000F008F000E018000000211C031E2185
|
||||||
|
:101D00001E0000F00888700000001E2123241927FF
|
||||||
|
:101D1000211010160E00000000000000000000005E
|
||||||
|
:101D20000000000000E01804020000000007182076
|
||||||
|
:101D3000400000020418E0000000004020180700E6
|
||||||
|
:101D40000000404080F0804040000202010F01028C
|
||||||
|
:101D50000200000000F0000000000101011F01016D
|
||||||
|
:101D60000100000000000000000080B070000000D2
|
||||||
|
:101D7000000000000000000000000001010101015E
|
||||||
|
:101D800001010000000000000000003030000000F1
|
||||||
|
:101D900000000000000080601804006018060100C8
|
||||||
|
:101DA000000000E010080810E000000F10202010D4
|
||||||
|
:101DB0000F00001010F8000000000020203F20203D
|
||||||
|
:101DC00000000070080808887000003028242221D4
|
||||||
|
:101DD000300000300888884830000018202020118A
|
||||||
|
:101DE0000E000000C02010F8000000070424243F6B
|
||||||
|
:101DF000240000F808888808080000192120201114
|
||||||
|
:101E00000E0000E0108888180000000F112020113B
|
||||||
|
:101E10000E0000380808C83808000000003F000025
|
||||||
|
:101E200000000070880808887000001C2221212210
|
||||||
|
:101E30001C0000E010080810E00000003122221110
|
||||||
|
:101E40000F00000000C0C0000000000000303000A3
|
||||||
|
:101E50000000000000800000000000008060000022
|
||||||
|
:101E6000000000008040201008000001020408105B
|
||||||
|
:101E7000200040404040404040000404040404046A
|
||||||
|
:101E80000400000810204080000000201008040218
|
||||||
|
:101E90000100007048080808F0000000003036011A
|
||||||
|
:101EA0000000C030C828E810E000071827242314D9
|
||||||
|
:101EB0000B000000C038E0000000203C2302022795
|
||||||
|
:101EC000382008F8888888700000203F20202011E2
|
||||||
|
:101ED0000E00C0300808080838000718202020101D
|
||||||
|
:101EE000080008F808080810E000203F2020201013
|
||||||
|
:101EF0000F0008F88888E8081000203F20202320E1
|
||||||
|
:101F0000180008F88888E8081000203F2000030027
|
||||||
|
:101F10000000C03008080838000007182020221EE2
|
||||||
|
:101F2000020008F808000008F808203F21010121FC
|
||||||
|
:101F30003F20000808F8080800000020203F20206B
|
||||||
|
:101F4000000000000808F8080800C08080807F00BA
|
||||||
|
:101F5000000008F888C028180800203F2001263813
|
||||||
|
:101F6000200008F8080000000000203F202020206A
|
||||||
|
:101F7000300008F8F800F8F80800203F003F003F64
|
||||||
|
:101F8000200008F830C00008F808203F200007189B
|
||||||
|
:101F90003F00E01008080810E0000F10202020107B
|
||||||
|
:101FA0000F0008F808080808F000203F210101018F
|
||||||
|
:101FB0000000E01008080810E0000F182424385032
|
||||||
|
:101FC0004F0008F8888888887000203F2000030CA4
|
||||||
|
:101FD00030200070880808083800003820212122AD
|
||||||
|
:101FE0001C00180808F8080818000000203F20000E
|
||||||
|
:101FF000000008F808000008F808001F2020202032
|
||||||
|
:102000001F000878880000C83808000007380E0153
|
||||||
|
:102010000000F80800F80008F800033C0700073C3F
|
||||||
|
:102020000300081868808068180820302C03032CEF
|
||||||
|
:1020300030200838C800C83808000000203F2000C1
|
||||||
|
:10204000000010080808C838080020382621202081
|
||||||
|
:102050001800000000FE020202000000007F404065
|
||||||
|
:102060004000000C30C000000000000000010638F5
|
||||||
|
:10207000C00000020202FE000000004040407F005D
|
||||||
|
:102080000000000004020202040000000000000042
|
||||||
|
:102090000000000000000000000080808080808040
|
||||||
|
:1020A0008080000202040000000000000000000028
|
||||||
|
:1020B000000000008080808000000019242222227D
|
||||||
|
:1020C0003F2008F8008080000000003F1120201110
|
||||||
|
:1020D0000E000000008080800000000E11202020F3
|
||||||
|
:1020E0001100000000808088F800000E11202010F0
|
||||||
|
:1020F0003F200000808080800000001F22222222DA
|
||||||
|
:102100001300008080F0888888180020203F20205D
|
||||||
|
:1021100000000000808080808000006B9494949385
|
||||||
|
:10212000600008F8008080800000203F210000202F
|
||||||
|
:102130003F2000809898000000000020203F2020D1
|
||||||
|
:102140000000000000809898000000C08080807F20
|
||||||
|
:10215000000008F8000080808000203F24022D301D
|
||||||
|
:102160002000000808F8000000000020203F202088
|
||||||
|
:1021700000008080808080808000203F20003F2001
|
||||||
|
:10218000003F8080008080800000203F21000020F0
|
||||||
|
:102190003F200000808080800000001F2020202041
|
||||||
|
:1021A0001F00808000808000000080FFA12020119F
|
||||||
|
:1021B0000E000000008080808000000E112020A012
|
||||||
|
:1021C000FF80808080008080800020203F212000D0
|
||||||
|
:1021D00001000000808080808000003324242424BB
|
||||||
|
:1021E0001900008080E0808000000000001F202097
|
||||||
|
:1021F00000008080000000808000001F2020201050
|
||||||
|
:102200003F20808080000080808000010E30080622
|
||||||
|
:10221000010080800080008080800F300C030C3033
|
||||||
|
:102220000F0000808000808080000020312E0E3161
|
||||||
|
:102230002000808080000080808080818E70180661
|
||||||
|
:10224000010000808080808080000021302C2221CD
|
||||||
|
:10225000300000000000807C020200000000003F0F
|
||||||
|
:10226000404000000000FF00000000000000FF00F0
|
||||||
|
:1022700000000002027C800000000040403F00009F
|
||||||
|
:10228000000000060101020204040000000000003A
|
||||||
|
:1022900000000003050911FF118905C300E000F0EB
|
||||||
|
:1022A00000F8000000000000004428FF11AA4400CC
|
||||||
|
:1022B000000000000000000000000000000000001E
|
||||||
|
:1022C000000000000000000000000000000000000E
|
||||||
|
:1022D00000000000000000000000000000000000FE
|
||||||
|
:1022E00000000000000000000000000083013844EE
|
||||||
|
:1022F000829292740183000000000000007C44C7B9
|
||||||
|
:10230000017D7D7D7D017D7D7D7D017D7D7D7D01ED
|
||||||
|
:10231000FF000000000000010001000100010001B9
|
||||||
|
:1023200000010000000000000000000101000000AA
|
||||||
|
:10233000000000000000000000000000000000009D
|
||||||
|
:10234000000000000000000000000000000000008D
|
||||||
|
:10235000000000000000000000000000000000007D
|
||||||
|
:10236000000000000000000000000000010100006B
|
||||||
|
:10237000000000000101000000000000000000015A
|
||||||
|
:10238000010101010101010101010101010101013D
|
||||||
|
:1023900001000000000000000000004040404040FC
|
||||||
|
:1023A00000006D6D6D6D6D0000606060606000002C
|
||||||
|
:1023B00040404040400000000000000000000000DD
|
||||||
|
:1023C000000000000000000000000000000000000D
|
||||||
|
:1023D00000000000000000000000000000000000FD
|
||||||
|
:1023E00000000000000000000000000000000000ED
|
||||||
|
:1023F00000000000000000000000000000000000DD
|
||||||
|
:1024000000000000000000000000000000000000CC
|
||||||
|
:102410000000000000000000000000DBDBDBDBDB75
|
||||||
|
:102420000000DBDBDBDBDB0000DBDBDBDBDB00001E
|
||||||
|
:10243000DBDBDBDBDB0000DADADADADA0000D8D863
|
||||||
|
:10244000D8D8D80000C0C0C0C0C00000C0C0C0C044
|
||||||
|
:10245000C00000C0C0C0C0C00000C0C0C0C0C0003C
|
||||||
|
:1024600000808080808000000000000000000000EC
|
||||||
|
:10247000000000000000000000000000000000005C
|
||||||
|
:10248000000000000000000000000000000000004C
|
||||||
|
:10249000000000000000000000000006060606061E
|
||||||
|
:1024A00000000606060606000006060606060000F0
|
||||||
|
:1024B00006060606060000060606E6662000060674
|
||||||
|
:1024C00086060600000606060686000006060606C4
|
||||||
|
:1024D000060000868686868680808686068686C07A
|
||||||
|
:1024E000C08686860606D0307606060606000006FA
|
||||||
|
:1024F0000606060600000606060606000006060694
|
||||||
|
:1025000006060000060606060600000000000000A1
|
||||||
|
:1025100000000000000000000000000000000000BB
|
||||||
|
:1025200000000000000000000000000000000000AB
|
||||||
|
:10253000000000000000000000000000601C00FE21
|
||||||
|
:1025400000010200C41820029E63B20E00FF8181C8
|
||||||
|
:10255000FF00008040300F00000000FF0023EAAAC7
|
||||||
|
:10256000BFAAEA033F00FF000000000000000000D7
|
||||||
|
:10257000000000000000000000000000000000005B
|
||||||
|
:10258000000000000000000000000000000000004B
|
||||||
|
:10259000000000000080808000000000008080803B
|
||||||
|
:1025A000000000000000000000000000000000002B
|
||||||
|
:1025B000000000000000000000000E0C08000001F8
|
||||||
|
:1025C0000101010100000001000000010081808084
|
||||||
|
:1025D0008180818080808001010101000000010074
|
||||||
|
:1025E000000001000101090C0E00000000000000C5
|
||||||
|
:1025F00000000000000000000000C0C0C0C0C0C05B
|
||||||
|
:10260000C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0CA
|
||||||
|
:10261000C000001E21404050215E001E214040505D
|
||||||
|
:10262000215E00000000000000000000000000002B
|
||||||
|
:10263000000000000000000000000000000000009A
|
||||||
|
:1026400000000000000000000000000000FFFFC1CB
|
||||||
|
:10265000C1FFFFC1C1FFFF0000000000000000003B
|
||||||
|
:10266000000000000000000000000000000000006A
|
||||||
|
:1026700000000000000000000000FFFF80FCF3EFFE
|
||||||
|
:10268000F3FC80FF80EEEEEEF5FBFF9CBEB6B68855
|
||||||
|
:10269000FF000000B42600080000002074000000C5
|
||||||
|
:1026A000280D000828270008740000200C1C0000DA
|
||||||
|
:1026B000380D00080024F4000000000000000000B5
|
||||||
|
:1026C000000000000000000000000000000000000A
|
||||||
|
:1026D00000000000000000000000000000000000FA
|
||||||
|
:1026E00000000000000000000000000000000000EA
|
||||||
|
:1026F0000000000000000000311100087511000802
|
||||||
|
:1027000080000020400000208010002042000020B7
|
||||||
|
:1027100000000000000000006019000866190008B1
|
||||||
|
:08272000C6E533B4650D0008A5
|
||||||
:04000005080000ED02
|
:04000005080000ED02
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|
|
@ -8,123 +8,511 @@
|
||||||
#include "ssd1306_oled.h"
|
#include "ssd1306_oled.h"
|
||||||
|
|
||||||
#include "ssd1306_oled.h"
|
#include "ssd1306_oled.h"
|
||||||
|
const uint8_t F16x16[] =
|
||||||
static i2c_t *ssd1306_oled;
|
|
||||||
static uint8_t buffer[SSD1306_WIDTH * SSD1306_HEIGHT / 8]; // 定义屏幕缓冲区
|
|
||||||
|
|
||||||
static void ssd1306_write_command(uint8_t command)
|
|
||||||
{
|
{
|
||||||
uint8_t data[2];
|
0x00, 0xF8, 0x08, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00,
|
||||||
data[0] = SSD1306_CMD_SET_LOW_COLUMN; // Co = 0, D/C# = 0
|
0x00, 0x19, 0x21, 0x20, 0x20, 0x11, 0x0E, 0x00, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, 0x00, // 50
|
||||||
data[1] = command;
|
|
||||||
ssd1306_oled->interface.start(ssd1306_oled);
|
0x10, 0x60, 0x02, 0x8C, 0x00, 0x80, 0x00, 0xF0, 0x02, 0x04, 0x18, 0x00, 0x00, 0x80, 0x00, 0x00,
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, SSD1306_I2C_ADDRESS);
|
0x04, 0x04, 0x7E, 0x01, 0x08, 0x07, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x78, 0x00, 0x07, 0x00, // 沁
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, data[0]);
|
0x20, 0x24, 0x24, 0xA4, 0xFE, 0x23, 0x22, 0x20, 0x00, 0xF8, 0x08, 0x08, 0x08, 0xF8, 0x00, 0x00,
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
0x10, 0x08, 0x06, 0x01, 0xFF, 0x01, 0x06, 0x00, 0x00, 0x3F, 0x10, 0x10, 0x10, 0x3F, 0x00, 0x00, // 和
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, data[1]);
|
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
0x10, 0x94, 0x53, 0x32, 0x1E, 0x32, 0x52, 0x10, 0x00, 0x7E, 0x42, 0x42, 0x42, 0x7E, 0x00, 0x00,
|
||||||
ssd1306_oled->interface.stop(ssd1306_oled);
|
0x00, 0x00, 0x00, 0xFF, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0xFF, 0x00, 0x00, 0x00, 0x00, // 智
|
||||||
|
|
||||||
|
0x08, 0xCC, 0x4A, 0x49, 0x48, 0x4A, 0xCC, 0x18, 0x00, 0x7F, 0x88, 0x88, 0x84, 0x82, 0xE0, 0x00,
|
||||||
|
0x00, 0xFF, 0x12, 0x12, 0x52, 0x92, 0x7F, 0x00, 0x00, 0x7E, 0x88, 0x88, 0x84, 0x82, 0xE0, 0x00, // 能
|
||||||
|
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //:
|
||||||
|
};
|
||||||
|
|
||||||
|
/************************************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
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t BMP1[] =
|
||||||
|
{
|
||||||
|
0x00, 0x03, 0x05, 0x09, 0x11, 0xFF, 0x11, 0x89, 0x05, 0xC3, 0x00, 0xE0, 0x00, 0xF0, 0x00, 0xF8,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0xFF, 0x11, 0xAA, 0x44, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x01, 0x38, 0x44, 0x82, 0x92,
|
||||||
|
0x92, 0x74, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x44, 0xC7, 0x01, 0x7D,
|
||||||
|
0x7D, 0x7D, 0x7D, 0x01, 0x7D, 0x7D, 0x7D, 0x7D, 0x01, 0x7D, 0x7D, 0x7D, 0x7D, 0x01, 0xFF, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
|
||||||
|
0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x40, 0x40,
|
||||||
|
0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x00, 0x00,
|
||||||
|
0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0xDB, 0xDB,
|
||||||
|
0xDB, 0xDB, 0xDB, 0x00, 0x00, 0xDA, 0xDA, 0xDA, 0xDA, 0xDA, 0x00, 0x00, 0xD8, 0xD8, 0xD8, 0xD8,
|
||||||
|
0xD8, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00,
|
||||||
|
0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x80,
|
||||||
|
0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00,
|
||||||
|
0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06,
|
||||||
|
0x06, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0xE6, 0x66, 0x20, 0x00, 0x06, 0x06, 0x86, 0x06,
|
||||||
|
0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x86, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00,
|
||||||
|
0x00, 0x86, 0x86, 0x86, 0x86, 0x86, 0x80, 0x80, 0x86, 0x86, 0x06, 0x86, 0x86, 0xC0, 0xC0, 0x86,
|
||||||
|
0x86, 0x86, 0x06, 0x06, 0xD0, 0x30, 0x76, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06,
|
||||||
|
0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06,
|
||||||
|
0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x1C, 0x00, 0xFE, 0x00, 0x01,
|
||||||
|
0x02, 0x00, 0xC4, 0x18, 0x20, 0x02, 0x9E, 0x63, 0xB2, 0x0E, 0x00, 0xFF, 0x81, 0x81, 0xFF, 0x00,
|
||||||
|
0x00, 0x80, 0x40, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x23, 0xEA, 0xAA, 0xBF, 0xAA,
|
||||||
|
0xEA, 0x03, 0x3F, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0C, 0x08, 0x00, 0x00, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0x80, 0x80, 0x81, 0x80,
|
||||||
|
0x81, 0x80, 0x80, 0x80, 0x80, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x01, 0x00, 0x01, 0x01, 0x09, 0x0C, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
|
||||||
|
0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00,
|
||||||
|
0x00, 0x1E, 0x21, 0x40, 0x40, 0x50, 0x21, 0x5E, 0x00, 0x1E, 0x21, 0x40, 0x40, 0x50, 0x21, 0x5E,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC1, 0xC1, 0xFF,
|
||||||
|
0xFF, 0xC1, 0xC1, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFC, 0xF3, 0xEF, 0xF3, 0xFC,
|
||||||
|
0x80, 0xFF, 0x80, 0xEE, 0xEE, 0xEE, 0xF5, 0xFB, 0xFF, 0x9C, 0xBE, 0xB6, 0xB6, 0x88, 0xFF, 0x00, /*"D:\DreamSpark\OLED\MP3_UI.bmp",0*/
|
||||||
|
};
|
||||||
|
|
||||||
|
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 ssd1306_write_data(uint8_t data)
|
static void i2c_stop(void)
|
||||||
{
|
{
|
||||||
uint8_t buffer[2];
|
SDA_OUT();
|
||||||
buffer[0] = SSD1306_CMD_SET_START_LINE; // Co = 0, D/C# = 1
|
GPIO_RESET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||||
buffer[1] = data;
|
GPIO_RESET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||||
ssd1306_oled->interface.start(ssd1306_oled);
|
delay_us(4);
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, SSD1306_I2C_ADDRESS);
|
GPIO_SET(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
GPIO_SET(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, buffer[0]);
|
delay_us(4);
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
}
|
||||||
ssd1306_oled->interface.write_byte(ssd1306_oled, buffer[1]);
|
|
||||||
ssd1306_oled->interface.wait_ack(ssd1306_oled);
|
static BOOL i2c_wait_ack(void)
|
||||||
ssd1306_oled->interface.stop(ssd1306_oled);
|
{
|
||||||
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ssd1306_test(void)
|
static 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)
|
void ssd1306_init(void)
|
||||||
{
|
{
|
||||||
i2c_gpio_group_t gpios;
|
i2c_write_command(SSD1306_CMD_DISPLAY_OFF); // display off
|
||||||
gpios.scl = gpio_create(SSD1306_SCK_PORT, SSD1306_SCK_PIN);
|
i2c_write_command(SSD1306_CMD_MEMORY_MODE); // Set Memory Addressing Mode
|
||||||
gpios.sda = gpio_create(SSD1306_SDA_PORT, SSD1306_SDA_PIN);
|
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_oled = i2c_create(gpios, 0);
|
// ssd1306_test();
|
||||||
|
|
||||||
ssd1306_write_command(SSD1306_CMD_DISPLAY_OFF);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_DISPLAY_CLOCK_DIV);
|
|
||||||
ssd1306_write_command(0x80);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_MULTIPLEX);
|
|
||||||
ssd1306_write_command(SSD1306_HEIGHT - 1);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_DISPLAY_OFFSET);
|
|
||||||
ssd1306_write_command(0x00);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_START_LINE | 0x00);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_CHARGE_PUMP);
|
|
||||||
ssd1306_write_command(0x14);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_MEMORY_MODE);
|
|
||||||
ssd1306_write_command(0x00);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SEG_REMAP | 0x01);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_COM_SCAN_DEC);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_COM_PINS);
|
|
||||||
ssd1306_write_command(0x12);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_CONTRAST);
|
|
||||||
ssd1306_write_command(0xCF);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_PRECHARGE);
|
|
||||||
ssd1306_write_command(0xF1);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_SET_VCOM_DETECT);
|
|
||||||
ssd1306_write_command(0x40);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_DISPLAY_ALL_ON_RESUME);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_NORMAL_DISPLAY);
|
|
||||||
ssd1306_write_command(SSD1306_CMD_DISPLAY_ON);
|
|
||||||
|
|
||||||
ssd1306_test();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ssd1306_display_on(void)
|
void ssd1306_display_on(void)
|
||||||
{
|
{
|
||||||
ssd1306_write_command(SSD1306_CMD_DISPLAY_ON);
|
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)
|
void ssd1306_display_off(void)
|
||||||
{
|
{
|
||||||
ssd1306_write_command(SSD1306_CMD_DISPLAY_OFF);
|
i2c_write_command(SSD1306_CMD_CHARGE_PUMP); // 设置电荷泵
|
||||||
}
|
i2c_write_command(SSD1306_CMD_SET_HIGH_COLUMN); // 关闭电荷泵
|
||||||
|
i2c_write_command(SSD1306_CMD_DISPLAY_OFF); // OLED休眠
|
||||||
void ssd1306_clear(void)
|
|
||||||
{
|
|
||||||
for (uint16_t i = 0; i < SSD1306_WIDTH * SSD1306_HEIGHT / 8; i++)
|
|
||||||
{
|
|
||||||
ssd1306_write_data(0x00);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief 在SSD1306屏幕上绘制一个像素点
|
|
||||||
*
|
|
||||||
* 在SSD1306 OLED显示屏上绘制一个像素点,如果指定位置超出屏幕范围,则不执行任何操作。
|
|
||||||
*
|
|
||||||
* @param x 像素点的x坐标
|
|
||||||
* @param y 像素点的y坐标
|
|
||||||
* @param color 像素点的颜色,非零值表示绘制像素点,零值表示清除像素点
|
|
||||||
*/
|
|
||||||
void ssd1306_draw_pixel(uint8_t x, uint8_t y, uint8_t color)
|
|
||||||
{
|
|
||||||
if (x >= SSD1306_WIDTH || y >= SSD1306_HEIGHT)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (color)
|
|
||||||
{
|
|
||||||
buffer[x + (y / 8) * SSD1306_WIDTH] |= (1 << (y % 8));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buffer[x + (y / 8) * SSD1306_WIDTH] &= ~(1 << (y % 8));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -140,16 +528,264 @@ void ssd1306_update_screen(void)
|
||||||
{
|
{
|
||||||
for (uint8_t i = 0; i < SSD1306_HEIGHT / 8; i++)
|
for (uint8_t i = 0; i < SSD1306_HEIGHT / 8; i++)
|
||||||
{
|
{
|
||||||
ssd1306_write_command(SSD1306_CMD_COLUMN_ADDR);
|
i2c_write_command(0xb0 + i);
|
||||||
ssd1306_write_command(0);
|
i2c_write_command(0x01);
|
||||||
ssd1306_write_command(SSD1306_WIDTH - 1);
|
i2c_write_command(0x10);
|
||||||
ssd1306_write_command(SSD1306_CMD_PAGE_ADDR);
|
|
||||||
ssd1306_write_command(i);
|
|
||||||
ssd1306_write_command(i);
|
|
||||||
|
|
||||||
for (uint8_t j = 0; j < SSD1306_WIDTH; j++)
|
for (uint8_t j = 0; j < SSD1306_WIDTH; j++)
|
||||||
{
|
{
|
||||||
ssd1306_write_data(buffer[j + i * SSD1306_WIDTH]);
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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 * 128) + 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 * 128) + 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 * 128) + 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 * 128) + 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 * 128) + x + i] = F8X16[c * 16 + i];
|
||||||
|
for (i = 0; i < 8; i++)
|
||||||
|
_buffer[((y + 1) * 128) + 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++] = (uint8_t)(num) % 10000 / 1000 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 1000 / 100 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 100 / 10 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 10 + 48;
|
||||||
|
}
|
||||||
|
else if (num > 1000)
|
||||||
|
{
|
||||||
|
ch[i++] = (uint8_t)(num) % 10000 / 1000 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 1000 / 100 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 100 / 10 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 10 + 48;
|
||||||
|
}
|
||||||
|
else if (num > 100)
|
||||||
|
{
|
||||||
|
ch[i++] = (uint8_t)(num) % 1000 / 100 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 100 / 10 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 10 + 48;
|
||||||
|
}
|
||||||
|
else if (num > 10)
|
||||||
|
{
|
||||||
|
ch[i++] = (uint8_t)(num) % 100 / 10 + 48;
|
||||||
|
ch[i++] = (uint8_t)(num) % 10 + 48;
|
||||||
|
}
|
||||||
|
else if (num >= 0)
|
||||||
|
{
|
||||||
|
ch[i++] = (uint8_t)(num) % 10 + 48;
|
||||||
|
}
|
||||||
|
if (dot_num > 0 && i < 7)
|
||||||
|
{
|
||||||
|
ch[i++] = '.';
|
||||||
|
num = num - (uint8_t)num;
|
||||||
|
|
||||||
|
if (dot_num == 1 && i < 8)
|
||||||
|
{
|
||||||
|
num = num * 10;
|
||||||
|
ch[i++] = (uint8_t)(num + 0.5) % 10 + 48;
|
||||||
|
}
|
||||||
|
if (dot_num >= 2 && i < 8)
|
||||||
|
{
|
||||||
|
num = num * 100;
|
||||||
|
ch[i++] = (uint8_t)num % 100 / 10 + 48;
|
||||||
|
if (i < 8)
|
||||||
|
ch[i++] = (uint8_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 * 128) + x + i] = F8X16[c * 16 + i];
|
||||||
|
for (i = 0; i < 8; i++)
|
||||||
|
_buffer[((y + 1) * 128) + x + i] = F8X16[c * 16 + i + 8];
|
||||||
|
x += 8;
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -39,13 +39,28 @@
|
||||||
#define SSD1306_CMD_COM_SCAN_DEC 0xC8
|
#define SSD1306_CMD_COM_SCAN_DEC 0xC8
|
||||||
#define SSD1306_CMD_SEG_REMAP 0xA0
|
#define SSD1306_CMD_SEG_REMAP 0xA0
|
||||||
#define SSD1306_CMD_CHARGE_PUMP 0x8D
|
#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_init(void);
|
||||||
void ssd1306_display_on(void);
|
void ssd1306_display_on(void);
|
||||||
void ssd1306_display_off(void);
|
void ssd1306_display_off(void);
|
||||||
void ssd1306_clear(void);
|
|
||||||
void ssd1306_draw_pixel(uint8_t x, uint8_t y, uint8_t color);
|
|
||||||
void ssd1306_update_screen(void);
|
void ssd1306_update_screen(void);
|
||||||
|
|
||||||
|
void ssd1306_fill(uint8_t color);
|
||||||
|
void ssd1306_clear(void);
|
||||||
|
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
|
#endif // __SSD1306_OLED_H
|
||||||
|
|
32
motor.ioc
32
motor.ioc
|
@ -17,13 +17,14 @@ Mcu.Package=LQFP48
|
||||||
Mcu.Pin0=PC13-TAMPER-RTC
|
Mcu.Pin0=PC13-TAMPER-RTC
|
||||||
Mcu.Pin1=PD0-OSC_IN
|
Mcu.Pin1=PD0-OSC_IN
|
||||||
Mcu.Pin2=PD1-OSC_OUT
|
Mcu.Pin2=PD1-OSC_OUT
|
||||||
Mcu.Pin3=PB12
|
Mcu.Pin3=PA1
|
||||||
Mcu.Pin4=PB13
|
Mcu.Pin4=PB12
|
||||||
Mcu.Pin5=PA13
|
Mcu.Pin5=PB13
|
||||||
Mcu.Pin6=PA14
|
Mcu.Pin6=PA13
|
||||||
Mcu.Pin7=VP_SYS_VS_Systick
|
Mcu.Pin7=PA14
|
||||||
Mcu.Pin8=VP_TIM2_VS_ClockSourceINT
|
Mcu.Pin8=VP_SYS_VS_Systick
|
||||||
Mcu.PinsNb=9
|
Mcu.Pin9=VP_TIM2_VS_ClockSourceINT
|
||||||
|
Mcu.PinsNb=10
|
||||||
Mcu.ThirdParty0=RealThread.RT-Thread.3.1.5
|
Mcu.ThirdParty0=RealThread.RT-Thread.3.1.5
|
||||||
Mcu.ThirdPartyNb=1
|
Mcu.ThirdPartyNb=1
|
||||||
Mcu.UserConstants=
|
Mcu.UserConstants=
|
||||||
|
@ -42,15 +43,26 @@ NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false
|
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false
|
||||||
NVIC.TIM2_IRQn=true\:15\:0\:true\:false\:true\:true\:true\:true
|
NVIC.TIM2_IRQn=true\:15\:0\:true\:false\:true\:true\:true\:true
|
||||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||||
|
PA1.GPIOParameters=GPIO_Label
|
||||||
|
PA1.GPIO_Label=PWMA
|
||||||
|
PA1.Signal=GPIO_Output
|
||||||
PA13.Mode=Serial_Wire
|
PA13.Mode=Serial_Wire
|
||||||
PA13.Signal=SYS_JTMS-SWDIO
|
PA13.Signal=SYS_JTMS-SWDIO
|
||||||
PA14.Mode=Serial_Wire
|
PA14.Mode=Serial_Wire
|
||||||
PA14.Signal=SYS_JTCK-SWCLK
|
PA14.Signal=SYS_JTCK-SWCLK
|
||||||
PB12.GPIOParameters=GPIO_Label
|
PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
|
||||||
PB12.GPIO_Label=OLED_SDA
|
PB12.GPIO_Label=OLED_SDA
|
||||||
|
PB12.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
|
||||||
|
PB12.GPIO_PuPd=GPIO_NOPULL
|
||||||
|
PB12.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PB12.PinState=GPIO_PIN_RESET
|
||||||
PB12.Signal=GPIO_Output
|
PB12.Signal=GPIO_Output
|
||||||
PB13.GPIOParameters=GPIO_Label
|
PB13.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
|
||||||
PB13.GPIO_Label=OLDE_SCK
|
PB13.GPIO_Label=OLDE_SCK
|
||||||
|
PB13.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP
|
||||||
|
PB13.GPIO_PuPd=GPIO_NOPULL
|
||||||
|
PB13.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
|
PB13.PinState=GPIO_PIN_RESET
|
||||||
PB13.Signal=GPIO_Output
|
PB13.Signal=GPIO_Output
|
||||||
PC13-TAMPER-RTC.GPIOParameters=GPIO_Label
|
PC13-TAMPER-RTC.GPIOParameters=GPIO_Label
|
||||||
PC13-TAMPER-RTC.GPIO_Label=LED_BLUE
|
PC13-TAMPER-RTC.GPIO_Label=LED_BLUE
|
||||||
|
@ -90,7 +102,7 @@ ProjectManager.ToolChainLocation=
|
||||||
ProjectManager.UAScriptAfterPath=
|
ProjectManager.UAScriptAfterPath=
|
||||||
ProjectManager.UAScriptBeforePath=
|
ProjectManager.UAScriptBeforePath=
|
||||||
ProjectManager.UnderRoot=false
|
ProjectManager.UnderRoot=false
|
||||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_TIM4_Init-TIM4-false-LL-true,3-MX_TIM2_Init-TIM2-false-LL-true
|
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_TIM2_Init-TIM2-false-LL-true
|
||||||
RCC.ADCFreqValue=36000000
|
RCC.ADCFreqValue=36000000
|
||||||
RCC.AHBFreq_Value=72000000
|
RCC.AHBFreq_Value=72000000
|
||||||
RCC.APB1CLKDivider=RCC_HCLK_DIV2
|
RCC.APB1CLKDivider=RCC_HCLK_DIV2
|
||||||
|
|
Loading…
Reference in New Issue