Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 513 → Rev 514

/C-OSD/trunk/C-OSD.aps
1,0 → 0,0
<AVRStudio><MANAGEMENT><ProjectName>C-OSD</ProjectName><Created>24-Mar-2009 01:26:47</Created><LastEdit>04-Jun-2009 13:28:13</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>24-Mar-2009 01:26:47</Created><Version>4</Version><Build>4, 16, 0, 626</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\C-OSD.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>G:\Eigene Dateien\C-Projects\C-OSD\trunk\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega162.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>max7456_software_spi.c</SOURCEFILE><SOURCEFILE>usart1.c</SOURCEFILE><SOURCEFILE>characters.c</SOURCEFILE><SOURCEFILE>osd_helpers.c</SOURCEFILE><SOURCEFILE>osd_ncmode_default.c</SOURCEFILE><SOURCEFILE>osd_fcmode_default.c</SOURCEFILE><SOURCEFILE>config.c</SOURCEFILE><SOURCEFILE>spi.c</SOURCEFILE><SOURCEFILE>buttons.c</SOURCEFILE><SOURCEFILE>ppm.c</SOURCEFILE><SOURCEFILE>osd_ncmode_minimal.c</SOURCEFILE><HEADERFILE>mk-data-structs.h</HEADERFILE><HEADERFILE>max7456_software_spi.h</HEADERFILE><HEADERFILE>usart1.h</HEADERFILE><HEADERFILE>main.h</HEADERFILE><HEADERFILE>osd_helpers.h</HEADERFILE><HEADERFILE>config.h</HEADERFILE><HEADERFILE>spi.h</HEADERFILE><HEADERFILE>buttons.h</HEADERFILE><HEADERFILE>ppm.h</HEADERFILE><HEADERFILE>osd_ncmode_default.h</HEADERFILE><HEADERFILE>osd_ncmode_minimal.h</HEADERFILE><HEADERFILE>osd_fcmode_default.h</HEADERFILE><OTHERFILE>default\C-OSD.lss</OTHERFILE><OTHERFILE>default\C-OSD.map</OTHERFILE><OTHERFILE>default\Makefile</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>default\Makefile</EXTERNALMAKEFILE><PART>atmega162</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>C-OSD.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>D:\WinAVR-20070525\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>D:\WinAVR-20070525\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="1" ordergroup="0"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.c</FileName><Status>257</Status></File00000><File00001><FileId>00001</FileId><FileName>mk-data-structs.h</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>max7456_software_spi.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>max7456_software_spi.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>usart1.c</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>usart1.h</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>characters.c</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>main.h</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>osd_helpers.c</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>osd_helpers.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>osd_ncmode_default.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>osd_fcmode_default.c</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>config.c</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>config.h</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>spi.c</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>spi.h</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>buttons.c</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>buttons.h</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>ppm.c</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>ppm.h</FileName><Status>1</Status></File00019><File00020><FileId>00020</FileId><FileName>osd_ncmode_minimal.c</FileName><Status>1</Status></File00020><File00021><FileId>00021</FileId><FileName>osd_ncmode_default.h</FileName><Status>1</Status></File00021><File00022><FileId>00022</FileId><FileName>osd_ncmode_minimal.h</FileName><Status>1</Status></File00022><File00023><FileId>00023</FileId><FileName>osd_fcmode_default.h</FileName><Status>1</Status></File00023></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
<AVRStudio><MANAGEMENT><ProjectName>C-OSD</ProjectName><Created>24-Mar-2009 01:26:47</Created><LastEdit>27-Jun-2009 14:10:17</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>24-Mar-2009 01:26:47</Created><Version>4</Version><Build>4, 16, 0, 626</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\C-OSD.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>G:\Eigene Dateien\C-Projects\C-OSD\trunk\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega162.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><modules><module></module></modules><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>max7456_software_spi.c</SOURCEFILE><SOURCEFILE>usart1.c</SOURCEFILE><SOURCEFILE>characters.c</SOURCEFILE><SOURCEFILE>osd_helpers.c</SOURCEFILE><SOURCEFILE>osd_ncmode_default.c</SOURCEFILE><SOURCEFILE>osd_fcmode_default.c</SOURCEFILE><SOURCEFILE>config.c</SOURCEFILE><SOURCEFILE>spi.c</SOURCEFILE><SOURCEFILE>buttons.c</SOURCEFILE><SOURCEFILE>ppm.c</SOURCEFILE><SOURCEFILE>osd_ncmode_minimal.c</SOURCEFILE><HEADERFILE>mk-data-structs.h</HEADERFILE><HEADERFILE>max7456_software_spi.h</HEADERFILE><HEADERFILE>usart1.h</HEADERFILE><HEADERFILE>main.h</HEADERFILE><HEADERFILE>osd_helpers.h</HEADERFILE><HEADERFILE>config.h</HEADERFILE><HEADERFILE>spi.h</HEADERFILE><HEADERFILE>buttons.h</HEADERFILE><HEADERFILE>ppm.h</HEADERFILE><HEADERFILE>osd_ncmode_default.h</HEADERFILE><HEADERFILE>osd_ncmode_minimal.h</HEADERFILE><HEADERFILE>osd_fcmode_default.h</HEADERFILE><HEADERFILE>characters.h</HEADERFILE><OTHERFILE>default\C-OSD.lss</OTHERFILE><OTHERFILE>default\C-OSD.map</OTHERFILE><OTHERFILE>default\Makefile</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>YES</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE>default\Makefile</EXTERNALMAKEFILE><PART>atmega162</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>C-OSD.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS/><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>D:\WinAVR-20070525\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>D:\WinAVR-20070525\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.c</FileName><Status>257</Status></File00000><File00001><FileId>00001</FileId><FileName>mk-data-structs.h</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>max7456_software_spi.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>max7456_software_spi.c</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>usart1.c</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>usart1.h</FileName><Status>1</Status></File00005><File00006><FileId>00006</FileId><FileName>characters.c</FileName><Status>1</Status></File00006><File00007><FileId>00007</FileId><FileName>main.h</FileName><Status>1</Status></File00007><File00008><FileId>00008</FileId><FileName>osd_helpers.c</FileName><Status>1</Status></File00008><File00009><FileId>00009</FileId><FileName>osd_helpers.h</FileName><Status>1</Status></File00009><File00010><FileId>00010</FileId><FileName>osd_ncmode_default.c</FileName><Status>1</Status></File00010><File00011><FileId>00011</FileId><FileName>osd_fcmode_default.c</FileName><Status>1</Status></File00011><File00012><FileId>00012</FileId><FileName>config.c</FileName><Status>1</Status></File00012><File00013><FileId>00013</FileId><FileName>config.h</FileName><Status>1</Status></File00013><File00014><FileId>00014</FileId><FileName>spi.c</FileName><Status>1</Status></File00014><File00015><FileId>00015</FileId><FileName>spi.h</FileName><Status>1</Status></File00015><File00016><FileId>00016</FileId><FileName>buttons.c</FileName><Status>1</Status></File00016><File00017><FileId>00017</FileId><FileName>buttons.h</FileName><Status>1</Status></File00017><File00018><FileId>00018</FileId><FileName>ppm.c</FileName><Status>1</Status></File00018><File00019><FileId>00019</FileId><FileName>ppm.h</FileName><Status>1</Status></File00019><File00020><FileId>00020</FileId><FileName>osd_ncmode_minimal.c</FileName><Status>1</Status></File00020><File00021><FileId>00021</FileId><FileName>osd_ncmode_default.h</FileName><Status>1</Status></File00021><File00022><FileId>00022</FileId><FileName>osd_ncmode_minimal.h</FileName><Status>1</Status></File00022><File00023><FileId>00023</FileId><FileName>osd_fcmode_default.h</FileName><Status>1</Status></File00023><File00024><FileId>00024</FileId><FileName>characters.h</FileName><Status>1</Status></File00024></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
/C-OSD/trunk/CHANGE.LOG
18,6 → 18,9
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
20090627-1415
*ALL characters now in Progmem, from now on there will be only ONE char-file!
 
20090612-2100
*spi transfer now struct driven (needs C-Strom 20090612-2100 now!!!)
*lesser spi update rate (caused problems on some strom-slaves)
/C-OSD/trunk/README.TXT
23,18 → 23,20
to see what this is all about.
 
Simple way:
- Flash C-OSD-characters* (wait till all chars appear on screen before flashing next)
- Flash C-OSD-*-(pal|ntsc) acording to your needs
- Flash C-OSD-characters-(pal|ntsc).hex
- the 3rd LED (green one) should blink now
- wait till all chars appear on screen and ALL 4 LEDs are on
- Flash C-OSD-*-(pal|ntsc).hex acording to your needs
 
If you already have flashed a specific character file (or more) and you just want to
update the software itself, you do not need to flash the character files again.
 
Instructions:
Connect the "To FC" port from EPi-OSD to the Debug port of the NaviCtrl.
You will need NaviCtrl 0.15c soft to fully enjoy the software.
 
S1 enters a menu where you can cycle through using S2 and toggle/accept choice with S1
 
You can connect a spare RC-Channel to the PPM connector and enable/disable the HUD remotely with it, hopefully.
 
How To Flash the software (the MK-user way):
/C-OSD/trunk/c-osd.aws
1,0 → 0,0
<AVRWorkspace><IOSettings><CurrentRegisters><USART1><register register="UBRR1L" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1B" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1A" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UDR" group="USART1" display="1" locked="0"/></USART1><CPU><register register="OSCCAL" group="CPU" display="1" locked="0"/></CPU><JTAG><register register="OCDR" group="JTAG" display="1" locked="0"/></JTAG><PORTE><register register="PINE" group="PORTE" display="1" locked="0"/></PORTE><PORTE><register register="DDRE" group="PORTE" display="1" locked="0"/></PORTE><PORTE><register register="PORTE" group="PORTE" display="1" locked="0"/></PORTE><ANALOG_COMPARATOR><register register="ACSR" group="ANALOG_COMPARATOR" display="1" locked="0"/></ANALOG_COMPARATOR><USART0><register register="UBRR0L" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0B" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0A" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UDR0" group="USART0" display="1" locked="0"/></USART0><SPI><register register="SPCR" group="SPI" display="1" locked="0"/></SPI><SPI><register register="SPSR" group="SPI" display="1" locked="0"/></SPI><SPI><register register="SPDR" group="SPI" display="1" locked="0"/></SPI><PORTD><register register="PIND" group="PORTD" display="1" locked="0"/></PORTD><PORTD><register register="DDRD" group="PORTD" display="1" locked="0"/></PORTD><PORTD><register register="PORTD" group="PORTD" display="1" locked="0"/></PORTD><PORTC><register register="PINC" group="PORTC" display="1" locked="0"/></PORTC><PORTC><register register="DDRC" group="PORTC" display="1" locked="0"/></PORTC><PORTC><register register="PORTC" group="PORTC" display="1" locked="0"/></PORTC><PORTB><register register="PINB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="DDRB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="PORTB" group="PORTB" display="1" locked="0"/></PORTB><PORTA><register register="PINA" group="PORTA" display="1" locked="0"/></PORTA><PORTA><register register="DDRA" group="PORTA" display="1" locked="0"/></PORTA><PORTA><register register="PORTA" group="PORTA" display="1" locked="0"/></PORTA><EEPROM><register register="EECR" group="EEPROM" display="1" locked="0"/></EEPROM><EEPROM><register register="EEDR" group="EEPROM" display="1" locked="0"/></EEPROM><EEPROM><register register="EEAR" group="EEPROM" display="1" locked="0"/></EEPROM><USART0><register register="UBRR0H" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0C" group="USART0" display="1" locked="0"/></USART0><WATCHDOG><register register="WDTCR" group="WATCHDOG" display="1" locked="0"/></WATCHDOG><TIMER_COUNTER_2><register register="OCR2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_2><register register="TCNT2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_1><register register="ICR1" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="ASSR" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_2><register register="TCCR2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_1><register register="OCR1B" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="OCR1A" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCNT1" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCCR1B" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCCR1A" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><CPU><register register="SFIOR" group="CPU" display="1" locked="0"/></CPU><TIMER_COUNTER_0><register register="OCR0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_0><register register="TCNT0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_0><register register="TCCR0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><CPU><register register="MCUCSR" group="CPU" display="1" locked="0"/></CPU><JTAG><register register="MCUCSR" group="JTAG" display="1" locked="0"/></JTAG><CPU><register register="MCUCR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="MCUCR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><CPU><register register="EMCUCR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="EMCUCR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><BOOT_LOAD><register register="SPMCR" group="BOOT_LOAD" display="1" locked="0"/></BOOT_LOAD><TIMER_COUNTER_0><register register="TIFR" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_1><register register="TIFR" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="TIFR" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_0><register register="TIMSK" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_1><register register="TIMSK" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="TIMSK" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><EXTERNAL_INTERRUPT><register register="GIFR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><EXTERNAL_INTERRUPT><register register="GICR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><USART1><register register="UBRR1H" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1C" group="USART1" display="1" locked="0"/></USART1><CPU><register register="SP" group="CPU" display="1" locked="0"/></CPU><CPU><register register="SREG" group="CPU" display="1" locked="0"/></CPU><CPU><register register="CLKPR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="PCMSK0" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><EXTERNAL_INTERRUPT><register register="PCMSK1" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><TIMER_COUNTER_3><register register="ETIFR" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="ETIMSK" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="ICR3" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="OCR3B" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="OCR3A" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCNT3" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCCR3B" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCCR3A" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3></CurrentRegisters></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="768 160 1594 688" LineCol="177 16" State="Maximized"/><File00001 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="790 182 1608 680" LineCol="44 0" State="Maximized"/><File00002 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="812 204 1630 702" LineCol="48 0" State="Maximized"/><File00003 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="834 226 1652 724" LineCol="81 0" State="Maximized"/><File00004 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="856 248 1674 746" LineCol="118 0" State="Maximized"/><File00005 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="878 270 1696 768" LineCol="23 0" State="Maximized"/><File00006 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="900 292 1718 790" LineCol="27 0" State="Maximized"/><File00007 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="922 314 1740 812" LineCol="73 27" State="Maximized"/><File00008 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="944 336 1762 834" LineCol="178 0" State="Maximized"/><File00009 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="966 358 1784 856" LineCol="18 0" State="Maximized"/><File00010 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="988 380 1806 878" LineCol="39 0" State="Maximized"/><File00011 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="764 137 1836 908" LineCol="38 13" State="Maximized"/><File00012 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="768 160 1586 658" LineCol="213 43" State="Maximized"/><File00013 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="790 182 1608 680" LineCol="23 0" State="Maximized"/><File00014 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="812 204 1630 702" LineCol="29 0" State="Maximized"/><File00015 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="834 226 1652 724" LineCol="26 0" State="Maximized"/><File00016 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="856 248 1674 746" LineCol="0 0" State="Maximized"/><File00017 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="878 270 1696 768" LineCol="0 0" State="Maximized"/><File00018 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="900 292 1718 790" LineCol="24 0" State="Maximized"/><File00019 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="922 314 1740 812" LineCol="18 0" State="Maximized"/><File00020 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="944 336 1762 834" LineCol="82 0" State="Maximized"/><File00021 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="966 358 1784 856" LineCol="20 0" State="Maximized"/><File00022 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="988 380 1806 878" LineCol="20 0" State="Maximized"/><File00023 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="1010 402 1828 900" LineCol="20 0" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters><USART1><register register="UBRR1L" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1B" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1A" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UDR" group="USART1" display="1" locked="0"/></USART1><CPU><register register="OSCCAL" group="CPU" display="1" locked="0"/></CPU><JTAG><register register="OCDR" group="JTAG" display="1" locked="0"/></JTAG><PORTE><register register="PINE" group="PORTE" display="1" locked="0"/></PORTE><PORTE><register register="DDRE" group="PORTE" display="1" locked="0"/></PORTE><PORTE><register register="PORTE" group="PORTE" display="1" locked="0"/></PORTE><ANALOG_COMPARATOR><register register="ACSR" group="ANALOG_COMPARATOR" display="1" locked="0"/></ANALOG_COMPARATOR><USART0><register register="UBRR0L" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0B" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0A" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UDR0" group="USART0" display="1" locked="0"/></USART0><SPI><register register="SPCR" group="SPI" display="1" locked="0"/></SPI><SPI><register register="SPSR" group="SPI" display="1" locked="0"/></SPI><SPI><register register="SPDR" group="SPI" display="1" locked="0"/></SPI><PORTD><register register="PIND" group="PORTD" display="1" locked="0"/></PORTD><PORTD><register register="DDRD" group="PORTD" display="1" locked="0"/></PORTD><PORTD><register register="PORTD" group="PORTD" display="1" locked="0"/></PORTD><PORTC><register register="PINC" group="PORTC" display="1" locked="0"/></PORTC><PORTC><register register="DDRC" group="PORTC" display="1" locked="0"/></PORTC><PORTC><register register="PORTC" group="PORTC" display="1" locked="0"/></PORTC><PORTB><register register="PINB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="DDRB" group="PORTB" display="1" locked="0"/></PORTB><PORTB><register register="PORTB" group="PORTB" display="1" locked="0"/></PORTB><PORTA><register register="PINA" group="PORTA" display="1" locked="0"/></PORTA><PORTA><register register="DDRA" group="PORTA" display="1" locked="0"/></PORTA><PORTA><register register="PORTA" group="PORTA" display="1" locked="0"/></PORTA><EEPROM><register register="EECR" group="EEPROM" display="1" locked="0"/></EEPROM><EEPROM><register register="EEDR" group="EEPROM" display="1" locked="0"/></EEPROM><EEPROM><register register="EEAR" group="EEPROM" display="1" locked="0"/></EEPROM><USART0><register register="UBRR0H" group="USART0" display="1" locked="0"/></USART0><USART0><register register="UCSR0C" group="USART0" display="1" locked="0"/></USART0><WATCHDOG><register register="WDTCR" group="WATCHDOG" display="1" locked="0"/></WATCHDOG><TIMER_COUNTER_2><register register="OCR2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_2><register register="TCNT2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_1><register register="ICR1" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="ASSR" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_2><register register="TCCR2" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_1><register register="OCR1B" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="OCR1A" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCNT1" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCCR1B" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_1><register register="TCCR1A" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><CPU><register register="SFIOR" group="CPU" display="1" locked="0"/></CPU><TIMER_COUNTER_0><register register="OCR0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_0><register register="TCNT0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_0><register register="TCCR0" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><CPU><register register="MCUCSR" group="CPU" display="1" locked="0"/></CPU><JTAG><register register="MCUCSR" group="JTAG" display="1" locked="0"/></JTAG><CPU><register register="MCUCR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="MCUCR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><CPU><register register="EMCUCR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="EMCUCR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><BOOT_LOAD><register register="SPMCR" group="BOOT_LOAD" display="1" locked="0"/></BOOT_LOAD><TIMER_COUNTER_0><register register="TIFR" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_1><register register="TIFR" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="TIFR" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><TIMER_COUNTER_0><register register="TIMSK" group="TIMER_COUNTER_0" display="1" locked="0"/></TIMER_COUNTER_0><TIMER_COUNTER_1><register register="TIMSK" group="TIMER_COUNTER_1" display="1" locked="0"/></TIMER_COUNTER_1><TIMER_COUNTER_2><register register="TIMSK" group="TIMER_COUNTER_2" display="1" locked="0"/></TIMER_COUNTER_2><EXTERNAL_INTERRUPT><register register="GIFR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><EXTERNAL_INTERRUPT><register register="GICR" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><USART1><register register="UBRR1H" group="USART1" display="1" locked="0"/></USART1><USART1><register register="UCSR1C" group="USART1" display="1" locked="0"/></USART1><CPU><register register="SP" group="CPU" display="1" locked="0"/></CPU><CPU><register register="SREG" group="CPU" display="1" locked="0"/></CPU><CPU><register register="CLKPR" group="CPU" display="1" locked="0"/></CPU><EXTERNAL_INTERRUPT><register register="PCMSK0" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><EXTERNAL_INTERRUPT><register register="PCMSK1" group="EXTERNAL_INTERRUPT" display="1" locked="0"/></EXTERNAL_INTERRUPT><TIMER_COUNTER_3><register register="ETIFR" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="ETIMSK" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="ICR3" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="OCR3B" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="OCR3A" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCNT3" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCCR3B" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3><TIMER_COUNTER_3><register register="TCCR3A" group="TIMER_COUNTER_3" display="1" locked="0"/></TIMER_COUNTER_3></CurrentRegisters></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="772 112 1598 640" LineCol="258 6" State="Maximized"/><File00001 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="794 134 1612 632" LineCol="44 0" State="Maximized"/><File00002 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="816 156 1634 654" LineCol="48 0" State="Maximized"/><File00003 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="838 178 1656 676" LineCol="23 1" State="Maximized"/><File00004 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="860 200 1678 698" LineCol="47 25" State="Maximized"/><File00005 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="882 222 1700 720" LineCol="24 0" State="Maximized"/><File00006 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="904 244 1722 742" LineCol="293 64" State="Maximized"/><File00007 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="768 89 1840 760" LineCol="33 21" State="Maximized"/><File00008 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="948 288 1766 786" LineCol="197 0" State="Maximized"/><File00009 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="970 310 1788 808" LineCol="20 0" State="Maximized"/><File00010 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="992 332 1810 830" LineCol="127 57" State="Maximized"/><File00011 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="1014 354 1832 852" LineCol="25 5" State="Maximized"/><File00012 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="772 112 1590 610" LineCol="151 12" State="Maximized"/><File00013 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="794 134 1612 632" LineCol="23 0" State="Maximized"/><File00014 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="816 156 1634 654" LineCol="19 0" State="Maximized"/><File00015 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="838 178 1656 676" LineCol="26 0" State="Maximized"/><File00016 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="860 200 1678 698" LineCol="0 0" State="Maximized"/><File00017 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="882 222 1700 720" LineCol="0 0" State="Maximized"/><File00018 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="904 244 1722 742" LineCol="19 0" State="Maximized"/><File00019 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="926 266 1744 764" LineCol="18 0" State="Maximized"/><File00020 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="948 288 1766 786" LineCol="25 0" State="Maximized"/><File00021 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="970 310 1788 808" LineCol="20 0" State="Maximized"/><File00022 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="992 332 1810 830" LineCol="20 0" State="Maximized"/><File00023 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="1014 354 1832 852" LineCol="20 0" State="Maximized"/><File00024 Name="G:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.h" Position="816 156 1660 649" LineCol="22 3" State="Maximized"/></Files></AVRWorkspace>
/C-OSD/trunk/characters.c
18,1192 → 18,312
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "main.h"
#include "max7456_software_spi.h"
 
 
#if (ALLCHARSDEBUG|(WRITECHARS != -1))
 
/**
* easy char creation:
* http://www.mylifesucks.de/tools/max7456/
*/
// flashing more than 8 chars per time is not proven to be safe
// so take care
const char chr0[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr1[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xa8,0x55,0x52,0xa8,0x55,0x52,0xa8,0x55,0x50,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0x28,0x15,0x52,0xaa,0x85,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr2[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x80,0xa8,0x2a,0x15,0x28,0x40,0x55,0x28,0x55,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x80,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr3[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x41,0x55,0x28,0x55,0x40,0xa8,0x55,0x2a,0xa1,0x55,0x2a,0xa1,0x55,0x40,0xa8,0x41,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr4[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x15,0x55,0x52,0x85,0x55,0x4a,0x85,0x55,0x2a,0x85,0x54,0xaa,0x85,0x52,0xa2,0x85,0x4a,0x82,0x85,0x2a,0x12,0x85,0x28,0x02,0x81,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x02,0x81,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x54,0x15};
const char chr5[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x28,0x00,0x01,0x28,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0xa1,0x40,0x00,0xa8,0x55,0x55,0x28,0x55,0x55,0x28,0x41,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr6[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x41,0x28,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0xa1,0x28,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr7[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x28,0x55,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr8[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr9[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0x28,0x4a,0xaa,0xa8,0x52,0xaa,0xa8,0x54,0x00,0x28,0x41,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr10[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr11[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0x82,0xa1,0x2a,0x14,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0x28,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x28,0x00,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr12[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0xa1,0x28,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0xa8,0x2a,0xaa,0xa1,0x2a,0xaa,0xa1,0x28,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0xa8,0x2a,0xaa,0xa1,0x2a,0xaa,0x85,0x40,0x00,0x15};
const char chr13[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x41,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x41,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr14[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x2a,0xa8,0x55,0x2a,0xaa,0x15,0x28,0x0a,0x85,0x28,0x52,0xa1,0x28,0x54,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x54,0xa8,0x28,0x52,0xa1,0x28,0x0a,0x85,0x2a,0xaa,0x15,0x2a,0xa8,0x55,0x40,0x01,0x55};
const char chr15[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x28,0x00,0x01,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0x85,0x28,0x00,0x15,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr16[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x28,0x00,0x01,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0x85,0x28,0x00,0x15,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55};
const char chr17[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x02,0xa1,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x41,0x28,0x40,0x01,0x28,0x2a,0xa8,0x28,0x2a,0xa8,0x28,0x40,0x28,0x28,0x55,0x28,0x2a,0x00,0x28,0x4a,0xaa,0xa8,0x52,0xaa,0xa8,0x54,0x00,0x01};
const char chr18[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0x28,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x28,0x00,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr19[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x52,0xaa,0x85,0x54,0x28,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0x28,0x15,0x52,0xaa,0x85,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr20[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x2a,0xa8,0x55,0x2a,0xa8,0x55,0x42,0x81,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x41,0x52,0x85,0x28,0x52,0x85,0x2a,0x0a,0x85,0x4a,0xaa,0x15,0x52,0xa8,0x55,0x54,0x01,0x55};
const char chr21[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x54,0xa8,0x28,0x52,0xa1,0x28,0x4a,0x85,0x28,0x2a,0x15,0x28,0xa8,0x55,0x2a,0xa1,0x55,0x2a,0xa1,0x55,0x28,0xa8,0x55,0x28,0x2a,0x15,0x28,0x4a,0x85,0x28,0x52,0xa1,0x28,0x54,0xa8,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr22[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr23[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x2a,0x14,0xa8,0x2a,0x82,0xa8,0x2a,0xaa,0xa8,0x28,0xaa,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x41,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr24[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x2a,0x15,0x28,0x2a,0x85,0x28,0x2a,0x85,0x28,0x28,0xa1,0x28,0x28,0xa1,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x4a,0x28,0x28,0x4a,0x28,0x28,0x52,0xa8,0x28,0x52,0xa8,0x28,0x54,0xa8,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr25[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr26[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0xa1,0x28,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0xa8,0x2a,0xaa,0xa1,0x2a,0xaa,0x85,0x28,0x00,0x15,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55};
const char chr27[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x41,0x28,0x28,0x28,0x28,0x28,0x2a,0x28,0x28,0x4a,0xa8,0x2a,0x02,0xa1,0x4a,0xaa,0xa8,0x52,0xa8,0x28,0x54,0x01,0x41};
const char chr28[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x15,0x2a,0xaa,0x85,0x2a,0xaa,0xa1,0x28,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x00,0xa8,0x2a,0xaa,0xa1,0x2a,0xaa,0x85,0x28,0xa8,0x15,0x28,0x2a,0x15,0x28,0x4a,0x85,0x28,0x52,0xa1,0x28,0x54,0xa8,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr29[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x05,0x52,0xaa,0xa1,0x4a,0xaa,0xa8,0x2a,0x00,0x28,0x28,0x55,0x41,0x28,0x55,0x55,0x2a,0x00,0x15,0x4a,0xaa,0x85,0x52,0xaa,0xa1,0x54,0x00,0xa8,0x55,0x55,0x28,0x41,0x55,0x28,0x28,0x00,0xa8,0x2a,0xaa,0xa1,0x4a,0xaa,0x85,0x50,0x00,0x15};
const char chr30[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x28,0x01,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr31[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr32[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr33[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x41,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0x82,0x85,0x54,0x14,0x15};
const char chr34[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0x82,0xa1,0x2a,0x14,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr35[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr36[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x28,0x55,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x55,0x28,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr37[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x52,0xaa,0xa1,0x54,0x00,0xa8,0x54,0x00,0x28,0x52,0xaa,0x28,0x4a,0xaa,0xa8,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa8,0x52,0xaa,0x28,0x54,0x00,0x41};
const char chr38[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x40,0x55,0x28,0x2a,0x15,0x28,0xaa,0x85,0x2a,0xa2,0xa1,0x2a,0x84,0xa8,0x2a,0x15,0x28,0x2a,0x15,0x28,0x2a,0x15,0x28,0x2a,0x84,0xa8,0x2a,0xa2,0xa1,0x28,0xaa,0x85,0x28,0x2a,0x15,0x41,0x40,0x55};
const char chr39[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x41,0x28,0x55,0x41,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr40[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x01,0x28,0x54,0xa8,0x28,0x52,0xaa,0x28,0x4a,0x8a,0xa8,0x2a,0x12,0xa8,0x28,0x54,0xa8,0x28,0x54,0xa8,0x28,0x54,0xa8,0x2a,0x12,0xa8,0x4a,0x8a,0xa8,0x52,0xaa,0x28,0x54,0xa8,0x28,0x55,0x01,0x41};
const char chr41[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x00,0x28,0x2a,0xaa,0xa8,0x2a,0xaa,0xa1,0x28,0x00,0x05,0x28,0x55,0x01,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr42[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x05,0x55,0x4a,0xa1,0x55,0x2a,0xa1,0x55,0x28,0x05,0x50,0x28,0x05,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x50,0x28,0x05,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr43[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa8,0x52,0xaa,0x28,0x54,0x00,0x28,0x50,0x55,0x28,0x4a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr44[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x40,0x55,0x28,0x2a,0x15,0x28,0xaa,0x85,0x2a,0xa2,0xa1,0x2a,0x84,0xa8,0x2a,0x15,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr45[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x54,0x01,0x55,0x52,0xa8,0x55,0x52,0xa8,0x55,0x54,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x2a,0x15,0x55,0x4a,0x85,0x55,0x52,0x85,0x55,0x54,0x15};
const char chr46[] PROGMEM = {0x55,0x55,0x55,0x55,0x54,0x15,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x54,0x15,0x55,0x40,0x15,0x55,0x2a,0x85,0x55,0x2a,0x85,0x55,0x42,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x52,0x85,0x54,0x0a,0x85,0x52,0xaa,0x15,0x52,0xa8,0x55,0x54,0x01,0x55};
const char chr47[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x41,0x28,0x55,0x28,0x28,0x54,0xa8,0x28,0x52,0xa1,0x28,0x4a,0x85,0x28,0x2a,0x15,0x28,0xa8,0x55,0x2a,0xaa,0x15,0x2a,0x8a,0x85,0x2a,0x12,0xa1,0x28,0x54,0xa8,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr48[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr49[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x00,0x15,0x28,0xaa,0x85,0x2a,0xaa,0xa1,0x2a,0x28,0xa8,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x41,0x41,0x41};
const char chr50[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x00,0x15,0x28,0xaa,0x85,0x2a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr51[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr52[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x00,0x15,0x28,0xaa,0x85,0x2a,0xaa,0xa1,0x2a,0x80,0xa8,0x2a,0x15,0x28,0x2a,0x15,0x28,0x2a,0x15,0x28,0x2a,0x80,0xa8,0x2a,0xaa,0xa1,0x28,0xaa,0x85,0x28,0x00,0x15,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55};
const char chr53[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x41,0x52,0xaa,0x28,0x4a,0xaa,0xa8,0x2a,0x02,0xa8,0x28,0x54,0xa8,0x28,0x54,0xa8,0x28,0x54,0xa8,0x2a,0x02,0xa8,0x4a,0xaa,0xa8,0x52,0xa8,0xa8,0x54,0x01,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41};
const char chr54[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x40,0x15,0x28,0x2a,0x85,0x28,0xaa,0xa1,0x2a,0xa0,0xa8,0x2a,0x85,0x28,0x2a,0x15,0x41,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55};
const char chr55[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x2a,0x01,0x28,0x4a,0xa8,0x01,0x50,0xaa,0x85,0x41,0x0a,0xa1,0x28,0x50,0xa8,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr56[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0x28,0x15,0x52,0xaa,0x85,0x52,0xaa,0x85,0x54,0x28,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x2a,0x15,0x55,0x4a,0x85,0x55,0x52,0x85,0x55,0x54,0x15};
const char chr57[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x00,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr58[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr59[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x41,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x28,0x2a,0x28,0xa8,0x4a,0xaa,0xa1,0x52,0x82,0x85,0x54,0x14,0x15};
const char chr60[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0x82,0xa1,0x2a,0x14,0xa8,0x28,0x55,0x28,0x41,0x55,0x41};
const char chr61[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x41,0x28,0x55,0x28,0x28,0x55,0x28,0x28,0x54,0xa8,0x28,0x54,0xa8,0x28,0x52,0xa8,0x2a,0x0a,0xa8,0x4a,0xaa,0x28,0x52,0xa8,0x28,0x54,0x01,0x28,0x54,0x00,0xa8,0x52,0xaa,0xa1,0x52,0xaa,0x85,0x54,0x00,0x15};
const char chr62[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x80,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr63[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x05,0x55,0x54,0xa1,0x55,0x52,0x85,0x55,0x4a,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x4a,0x15,0x55,0x52,0x85,0x55,0x54,0xa1,0x55,0x55,0x05};
const char chr64[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x15,0x55,0x52,0x85,0x55,0x54,0xa1,0x55,0x55,0x28,0x55,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x4a,0x15,0x55,0x28,0x55,0x54,0xa1,0x55,0x52,0x85,0x55,0x54,0x15,0x55};
const char chr65[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x15,0x55,0x52,0x85,0x55,0x52,0x85,0x55,0x54,0x15};
const char chr66[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0x00,0xa8,0x28,0x55,0x28,0x41,0x55,0x28,0x55,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr67[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0xa1,0x55,0x52,0x85,0x55,0x54,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr68[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr69[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0xa1,0x55,0x52,0x85,0x55,0x54,0x15,0x55};
const char chr70[] PROGMEM = {0x55,0x55,0x55,0x55,0x51,0x55,0x55,0x48,0x55,0x55,0x2a,0x15,0x55,0x4a,0x15,0x55,0x52,0x15,0x55,0x52,0x15,0x55,0x48,0x55,0x55,0x51,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr71[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr72[] PROGMEM = {0x55,0x55,0x55,0x54,0x55,0x15,0x52,0x14,0x85,0x4a,0x82,0xa1,0x52,0x84,0xa1,0x54,0x85,0x21,0x54,0x85,0x21,0x52,0x14,0x85,0x54,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr73[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x05,0x54,0xaa,0xa1,0x54,0xaa,0xa1,0x55,0x00,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr74[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x05,0x55,0x54,0xa1,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x4a,0x85,0x55,0x52,0xa1,0x55,0x54,0xa8,0x55,0x55,0x2a,0x15,0x55,0x4a,0x85,0x55,0x52,0xa1,0x55,0x54,0xa1,0x55,0x55,0x05};
const char chr75[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x55,0x55,0x4a,0x15,0x55,0x4a,0x85,0x55,0x52,0xa1,0x55,0x54,0xa8,0x55,0x55,0x2a,0x15,0x55,0x4a,0x85,0x55,0x52,0xa1,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x2a,0x15,0x54,0xa8,0x55,0x52,0xa1,0x55,0x4a,0x85,0x55,0x4a,0x15,0x55,0x50,0x55,0x55};
const char chr76[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x54,0xaa,0x15,0x52,0x00,0x85,0x48,0x04,0x21,0x20,0xa2,0x08,0x22,0x0a,0x08,0x22,0x02,0x08,0x22,0x0a,0x08,0x20,0xa2,0x21,0x21,0x04,0x85,0x48,0x55,0x05,0x52,0x00,0x21,0x54,0xaa,0x85,0x55,0x00,0x15};
const char chr77[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xaa,0x55,0x55,0x56,0x55,0x59,0x56,0x55,0x59,0x59,0x55,0x59,0x65,0x55,0x5a,0x95,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x55,0x55,0x55};
const char chr78[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x56,0x95,0x55,0x6a,0x55,0x56,0x96,0x55,0x69,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x55,0x55};
const char chr79[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xaa,0x65,0x55,0x56,0x65,0x55,0x56,0x65,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr80[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xaa,0xa9,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xaa,0x55,0x55,0x55};
const char chr81[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x6a,0xaa,0xaa,0x55,0x5a,0x55,0x55,0x66,0x55,0x55,0x66,0x55,0x55,0x96,0x55,0x55,0x96,0x55,0x56,0x56,0x55,0x59,0x56,0x55,0x65,0x56,0x55,0x55,0x56,0x55,0x55,0x5a,0x55,0x55,0x55,0x55};
const char chr82[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xaa,0x55,0x59,0x56,0x55,0x59,0x56,0x55,0x65,0x56,0x55,0x65,0x56,0x55,0x65,0x56,0x55,0x95,0x56,0x55,0x95,0x56,0x56,0x55,0x56,0x56,0x55,0x56,0x59,0x55,0x69,0x55,0x55,0x55};
const char chr83[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x5a,0xaa,0xa5,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x6a,0xaa,0xaa,0x55,0x59,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x55,0x55};
const char chr84[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0xaa,0xaa,0x55,0x95,0x56,0x56,0x55,0x56,0x59,0x55,0x56,0x65,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x6a,0x55,0x5a,0x95,0x55,0x55,0x55,0x55};
const char chr85[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x5a,0xaa,0xaa,0x59,0x56,0x55,0x65,0x56,0x55,0x65,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x56,0x95,0x55,0x55,0x55,0x55};
const char chr86[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xaa,0xa9,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x5a,0xaa,0xa9,0x55,0x55,0x55};
const char chr87[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x65,0x56,0x55,0x65,0x6a,0xaa,0xaa,0x56,0x55,0x65,0x56,0x55,0x65,0x56,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0xa5,0x55,0x55,0x55,0x55};
const char chr88[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0x95,0x55,0x55,0x65,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x6a,0x95,0x56,0x55,0x65,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x56,0x95,0x6a,0xa9,0x55,0x55,0x55,0x55};
const char chr89[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xa9,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x5a,0x55,0x55,0x65,0x95,0x55,0x95,0x65,0x56,0x55,0x59,0x69,0x55,0x56,0x55,0x55,0x55};
const char chr90[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x6a,0xaa,0x6a,0x95,0x56,0x56,0x55,0x59,0x56,0x55,0x65,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x55,0x95,0x55,0x55,0x6a,0xa9,0x55,0x55,0x55};
const char chr91[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x65,0x55,0x56,0x59,0x55,0x56,0x59,0x55,0x56,0x56,0x55,0x56,0x55,0x95,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x5a,0x95,0x55,0x55,0x55,0x55};
const char chr92[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x6a,0xaa,0x55,0x95,0x56,0x55,0x95,0x56,0x56,0x55,0x56,0x69,0x65,0x59,0x55,0x5a,0x59,0x55,0x55,0xa5,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0xa5,0x55,0x6a,0x55,0x55,0x55,0x55,0x55};
const char chr93[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x56,0x95,0x55,0x69,0x55,0x56,0x96,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x6a,0xaa,0xaa,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0x55,0x55,0x55};
const char chr94[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x95,0x59,0x65,0x95,0x59,0x59,0x65,0x59,0x59,0x65,0x59,0x59,0x65,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0xa5,0x55,0x55,0x55,0x55};
const char chr95[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xaa,0xa5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xaa,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0x55,0x55,0x55};
const char chr96[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x95,0x55,0x56,0x69,0x55,0x56,0x56,0x55,0x56,0x55,0x95,0x56,0x55,0x65,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x55,0x55,0x55};
const char chr97[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x6a,0xaa,0xaa,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0x55,0x55,0x55};
const char chr98[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xaa,0xa5,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xaa,0x55,0x55,0x55};
const char chr99[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0xaa,0xa9,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x95,0x65,0x55,0x65,0x65,0x55,0x59,0x95,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x95,0x55,0xa5,0x65,0x5a,0x55,0x59,0x55,0x55,0x55};
const char chr100[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x69,0x55,0x55,0x56,0x55,0x55,0x55,0x55,0x5a,0xaa,0xa9,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x5a,0x55,0x55,0x69,0xa5,0x56,0x99,0x59,0x69,0x59,0x56,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x55,0x55};
const char chr101[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x55,0x55,0x55,0x55};
const char chr102[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x95,0x55,0x65,0x95,0x55,0x65,0x65,0x55,0x95,0x65,0x55,0x95,0x65,0x55,0x95,0x65,0x56,0x55,0x59,0x56,0x55,0x59,0x56,0x55,0x59,0x59,0x55,0x56,0x59,0x55,0x56,0x59,0x55,0x56,0x65,0x55,0x56,0x55,0x55,0x55};
const char chr103[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0xa9,0x6a,0xaa,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x56,0x56,0xaa,0xa9,0x55,0x55,0x55};
const char chr104[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xa9,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x56,0x95,0x55,0x55,0x55,0x55};
const char chr105[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x55,0x55,0xa5,0x55,0x56,0x65,0x55,0x56,0x59,0x55,0x59,0x56,0x55,0x59,0x56,0x55,0x65,0x55,0x95,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x55,0x56,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr106[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xaa,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x56,0x59,0x65,0x56,0x59,0x65,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x65,0x59,0x56,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x55,0x55};
const char chr107[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xaa,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x56,0x55,0x65,0x55,0x95,0x95,0x55,0x6a,0x55,0x55,0x59,0x55,0x55,0x56,0x55,0x55,0x55,0x95,0x55,0x55,0x65,0x55,0x55,0x55};
const char chr108[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xa5,0x55,0x55,0x5a,0x55,0x55,0x55,0xa5,0x55,0x55,0x55,0x5a,0xa5,0x55,0x55,0x5a,0x55,0x55,0x55,0xa5,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xa5,0x55,0x55,0x5a,0x55,0x55,0x55,0xa5,0x55,0x55,0x55};
const char chr109[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x55,0x96,0x55,0x56,0x55,0x95,0x56,0x55,0x95,0x59,0x55,0x65,0x59,0x5a,0xa5,0x6a,0xa5,0x59,0x55,0x55,0x56,0x55,0x55,0x55};
const char chr110[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x95,0x65,0x55,0x69,0x65,0x55,0x56,0x95,0x55,0x55,0x95,0x55,0x56,0x65,0x55,0x56,0x59,0x55,0x59,0x56,0x55,0x65,0x55,0x56,0x95,0x55,0x69,0x55,0x55,0x55,0x55,0x55};
const char chr111[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xaa,0xa9,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x6a,0xaa,0xaa,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x5a,0xa9,0x55,0x55,0x55};
const char chr112[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00};
const char chr113[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00};
const char chr114[] PROGMEM = {0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x00,0x00,0x00};
const char chr115[] PROGMEM = {0x55,0x00,0x55,0x54,0x00,0x15,0x50,0x00,0x05,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x55,0x54,0x00,0x15,0x50,0x00,0x05,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x00,0x55,0x54,0x00,0x15,0x50,0x00,0x05,0x40,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00};
const char chr116[] PROGMEM = {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x01,0x50,0x00,0x05,0x54,0x00,0x15,0x55,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x01,0x50,0x00,0x05,0x54,0x00,0x15,0x55,0x00,0x55,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x01,0x50,0x00,0x05,0x54,0x00,0x15,0x55,0x00,0x55};
const char chr117[] PROGMEM = {0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55};
const char chr118[] PROGMEM = {0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr119[] PROGMEM = {0x00,0x00,0x00,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr120[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xa9,0x65,0x55,0x59,0x65,0x55,0x59,0x65,0x55,0x59,0x65,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x5a,0x55,0x56,0xa5,0x55,0x55,0x55,0x55};
const char chr121[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x55,0x5a,0x55,0x56,0x55,0xa5,0x56,0x55,0x59,0x56,0x55,0x55,0x56,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x5a,0x95,0x55,0x55,0x55,0x55};
const char chr122[] PROGMEM = {0x55,0x55,0x59,0x55,0x55,0x96,0x55,0x55,0x65,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0xa9,0x6a,0xaa,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x56,0x56,0xaa,0xa9,0x55,0x55,0x55};
const char chr123[] PROGMEM = {0x55,0x55,0x69,0x55,0x55,0x96,0x55,0x55,0x69,0x55,0x55,0x55,0x55,0x55,0x55,0x6a,0xaa,0xa9,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x56,0x95,0x55,0x55,0x55,0x55};
const char chr124[] PROGMEM = {0x55,0x55,0x69,0x55,0x55,0x96,0x55,0x55,0x69,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xa9,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x56,0x59,0x65,0x56,0x59,0x65,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x65,0x59,0x56,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x55,0x55};
const char chr125[] PROGMEM = {0x55,0x55,0x59,0x55,0x55,0x96,0x55,0x55,0x65,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0xa9,0x6a,0xaa,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x56,0x56,0xaa,0xa9,0x55,0x55,0x55};
const char chr126[] PROGMEM = {0x55,0x55,0x59,0x55,0x55,0x96,0x55,0x55,0x65,0x55,0x59,0x55,0x55,0x59,0x55,0x6a,0xaa,0xa9,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x56,0x59,0x65,0x56,0x59,0x65,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x65,0x59,0x56,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x55,0x55};
const char chr127[] PROGMEM = {0x55,0x55,0x59,0x55,0x55,0x96,0x55,0x55,0x65,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0xaa,0xaa,0x55,0x95,0x56,0x56,0x55,0x56,0x59,0x55,0x56,0x65,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x6a,0x55,0x5a,0x95,0x55,0x55,0x55,0x55};
const char chr128[] PROGMEM = {0x55,0x55,0x55,0x45,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x20,0x15,0x55,0x22,0x15,0x55,0x28,0x00,0x55,0x22,0x28,0x55,0x04,0x22,0x15,0x55,0x28,0x55,0x55,0x20,0x15,0x55,0x20,0x85,0x55,0x00,0x80,0x55,0x54,0xa8,0x55,0x54,0x88,0x55,0x54,0x88,0x55,0x54,0x10,0x55,0x55,0x55};
const char chr129[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0x55,0x95,0x60,0x96,0x25,0x8a,0x28,0x89,0x8a,0x22,0x25,0x60,0x88,0x95,0x5a,0x22,0x95,0x58,0x88,0x25,0x62,0x22,0x89,0x88,0xa2,0x89,0x62,0x58,0x25};
const char chr130[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x22,0x22,0x00,0x95,0x54,0xa8,0x15,0x55,0x28,0x95,0x54,0x88,0x15,0x52,0x12,0x95,0x48,0x54,0x15,0x21,0x56,0x84,0x85,0x54,0x22,0x15,0x56,0x28,0x55,0x54,0x2a,0x15,0x56,0x00,0x88,0x88};
const char chr131[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x55,0x55,0x89,0x55,0x56,0x22,0x55,0x58,0xa8,0x95,0x62,0xaa,0x25,0x58,0xa8,0x95,0x56,0x22,0x55,0x55,0x89,0x55,0x55,0x65,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr132[] PROGMEM = {0x40,0x00,0x55,0x2a,0xaa,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x21,0x12,0x15,0x44,0x04,0x55,0x42,0xa0,0x55,0x48,0x08,0x55,0x4a,0xa8,0x55,0x48,0x08,0x55,0x48,0x48,0x55,0x51,0x51,0x55,0x48,0x55,0x55,0x48,0x00,0x55,0x4a,0xa8,0x55,0x48,0x08,0x55,0x48,0x48,0x55,0x51,0x51,0x55};
const char chr133[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0x08,0x28,0x28,0x28,0xaa,0x00,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr134[] PROGMEM = {0x55,0x55,0x55,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x0a,0x82,0x80,0x00,0x82,0x20,0x02,0x82,0x20,0x00,0x82,0x20,0x0a,0x82,0x80,0x00,0x00,0x00,0x0a,0x88,0x00,0x08,0x00,0x00,0x0a,0x08,0x88,0x08,0x08,0x20,0x08,0x08,0x88,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr135[] PROGMEM = {0x50,0x55,0x55,0x4a,0x15,0x55,0x20,0x85,0x55,0x20,0x85,0x55,0x2a,0x85,0x55,0x20,0x85,0x55,0x20,0x85,0x55,0x45,0x15,0x55,0x54,0x85,0x55,0x54,0x85,0x55,0x54,0x85,0x55,0x54,0x81,0x01,0x54,0xa8,0xa8,0x55,0x01,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x45};
const char chr136[] PROGMEM = {0x45,0x45,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x48,0x85,0x55,0x52,0x00,0x55,0x54,0xaa,0x15,0x54,0x80,0x55,0x54,0xa8,0x55,0x54,0x81,0x15,0x54,0x80,0x85,0x54,0xaa,0x85,0x55,0x00,0x85,0x55,0x54,0x85,0x55,0x54,0x80,0x55,0x54,0xaa,0x55,0x55,0x00};
const char chr137[] PROGMEM = {0x55,0x55,0x55,0x40,0x15,0x55,0x2a,0x05,0x55,0x20,0x85,0x55,0x20,0x85,0x55,0x20,0x85,0x55,0x2a,0x00,0x55,0x40,0xaa,0x15,0x54,0x80,0x55,0x54,0xaa,0x15,0x54,0x02,0x15,0x54,0xaa,0x01,0x55,0x0a,0xa8,0x55,0x50,0x81,0x55,0x54,0x85,0x55,0x54,0x85,0x55,0x54,0x85,0x55,0x55,0x15};
const char chr138[] PROGMEM = {0x40,0x00,0x55,0x2a,0xaa,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x21,0x12,0x15,0x45,0x54,0x55,0x40,0x00,0x55,0x2a,0xaa,0x15,0x2a,0xaa,0x15,0x40,0x00,0x55,0x50,0x01,0x55,0x4a,0xa8,0x55,0x48,0x00,0x55,0x4a,0xa8,0x55,0x40,0x08,0x55,0x4a,0xa8,0x55,0x50,0x01,0x55};
const char chr139[] PROGMEM = {0x5a,0x95,0x55,0x60,0x25,0x55,0x82,0x09,0x55,0x89,0x89,0x55,0x82,0x09,0x55,0x60,0x25,0x55,0x5a,0x95,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr140[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x00,0x55,0x2a,0xaa,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x21,0x12,0x15,0x45,0x54,0x55};
const char chr141[] PROGMEM = {0x00,0x00,0x00,0x58,0x95,0x55,0x62,0x25,0x55,0x8a,0x8a,0xa9,0x02,0x00,0x09,0xa2,0x28,0x89,0x62,0x28,0x8a,0x62,0x28,0x80,0x62,0x28,0xa8,0x62,0x28,0x88,0x62,0x28,0x88,0x62,0x28,0x88,0xa2,0x28,0x00,0x02,0x02,0xaa,0x8a,0x89,0x55,0x62,0x25,0x55,0x58,0x95,0x55,0x00,0x00,0x00};
const char chr142[] PROGMEM = {0x55,0x56,0x55,0x55,0x58,0x95,0x55,0x58,0x95,0x55,0xa8,0x95,0x56,0x00,0x95,0x58,0xa8,0x95,0x58,0x98,0x95,0x58,0xa8,0x95,0x56,0x00,0x95,0x55,0xaa,0x55,0x65,0x55,0x59,0x89,0x55,0x62,0x89,0x14,0x62,0x88,0x82,0x22,0x82,0xaa,0x82,0x88,0x82,0x22,0x89,0x14,0x62,0x65,0x55,0x59};
const char chr143[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x55,0x55,0x65,0x55,0x55,0x95,0x55,0x56,0x55,0x55,0x69,0x55,0x56,0x95,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x56,0x95,0x55,0x55,0x69,0x55,0x55,0x56,0x95,0x55,0x55,0x65,0x55,0x55,0x59,0x55,0x55,0x59,0x55,0x55,0x55};
const char chr144[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr145[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr146[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr147[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr148[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr149[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr150[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr151[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr152[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr153[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr154[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr155[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr156[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x00,0x21,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr157[] PROGMEM = {0x54,0x00,0x15,0x40,0xaa,0x01,0x4a,0x82,0xa1,0x4a,0x82,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x40,0x00,0x01};
const char chr158[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x45,0x45,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x21,0x21,0x55,0x08,0x81,0x55,0x42,0x05,0x55,0x50,0x15,0x55};
const char chr159[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x15,0x55,0x4a,0x85,0x55,0x20,0x21,0x55,0x20,0x21,0x55,0x2a,0xa1,0x55,0x20,0x21,0x55,0x21,0x21,0x55,0x45,0x45,0x55};
const char chr160[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0x82,0x89,0x8a,0x82,0xa2,0x2a,0x82,0xa8,0x2a,0x82,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr161[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x09,0x8a,0xa8,0x22,0x2a,0xa0,0xa8,0x2a,0xa0,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr162[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0x02,0x2a,0xa8,0x08,0x2a,0xa0,0x28,0xaa,0x80,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr163[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0x80,0x2a,0xa8,0x08,0xaa,0x80,0x2a,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr164[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x80,0x02,0xaa,0x80,0x02,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr165[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x80,0x2a,0x2a,0xa8,0x08,0x2a,0xaa,0x80,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr166[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x80,0xaa,0x2a,0xa0,0x28,0x2a,0xa8,0x08,0x8a,0xaa,0x02,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr167[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0xa0,0xa8,0x2a,0xa0,0xa8,0x8a,0xa8,0x22,0x62,0xaa,0x09,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr168[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0x82,0xa8,0x2a,0x82,0xa8,0x8a,0x82,0xa2,0x62,0x82,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr169[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0x0a,0xa8,0x2a,0x0a,0xa8,0x88,0x2a,0xa2,0x60,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr170[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x02,0xaa,0x28,0x0a,0xa8,0x20,0x2a,0xa8,0x80,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr171[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xa8,0x02,0xaa,0x20,0x2a,0xa8,0x02,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr172[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x80,0x02,0xaa,0x80,0x02,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr173[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x02,0xaa,0xa8,0x20,0x2a,0xa8,0xa8,0x02,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr174[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x80,0xaa,0xa2,0x20,0x2a,0xa8,0x28,0x0a,0xa8,0xaa,0x02,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr175[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x60,0xaa,0x89,0x88,0x2a,0xa2,0x2a,0x0a,0xa8,0x2a,0x0a,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr176[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x58,0x55,0x55,0x58,0x55,0x55,0x56,0x55,0x55,0x56,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr177[] PROGMEM = {0x55,0x55,0x55,0x55,0x69,0x55,0x56,0x82,0x95,0x58,0x28,0x25,0x62,0xaa,0x89,0x8a,0xaa,0xa2,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0xaa,0x82,0xaa,0xaa,0x82,0xaa,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x8a,0xaa,0xa2,0x62,0xaa,0x89,0x58,0x28,0x25,0x56,0x82,0x95,0x55,0x69,0x55,0x55,0x55,0x55};
const char chr178[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x55,0x25,0x55,0x55,0x25,0x55,0x55,0x95,0x55,0x55,0x95,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr179[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xaa,0x55,0x55,0x82,0x55,0x55,0x82,0x55,0x55,0x82,0x55,0xaa,0x82,0xaa,0x80,0x00,0x02,0x8a,0xaa,0xa2,0x88,0x28,0x22,0x88,0x28,0x22,0x8a,0xaa,0xa2,0x8a,0xaa,0xa2,0x80,0x00,0x02,0xaa,0xaa,0xaa,0x55,0x55,0x55};
const char chr180[] PROGMEM = {0x55,0x55,0x59,0x55,0x55,0x65,0x55,0x55,0x15,0x55,0x41,0x15,0x55,0x00,0x15,0x54,0x00,0x15,0x50,0x00,0x05,0x40,0x00,0x01,0x0a,0xaa,0xa0,0x4a,0xa0,0x21,0x4a,0xa1,0x21,0x4a,0xa0,0x21,0x4a,0xaa,0xa1,0x4a,0xaa,0xa1,0x48,0x0a,0xa1,0x48,0x4a,0xa1,0x48,0x4a,0xa1,0x40,0x00,0x01};
const char chr181[] PROGMEM = {0x00,0x01,0x55,0x2a,0xa1,0x55,0x22,0x21,0x55,0x22,0x21,0x55,0x00,0x01,0x55,0x55,0x48,0x55,0x55,0x22,0x15,0x54,0x80,0x85,0x54,0xaa,0x85,0x54,0x80,0x85,0x54,0x84,0x85,0x55,0x04,0x05,0x55,0x54,0x85,0x55,0x54,0x80,0x55,0x54,0xa8,0x55,0x54,0x88,0x55,0x54,0x88,0x55,0x54,0x00};
const char chr182[] PROGMEM = {0x5a,0x95,0x55,0x60,0x25,0x69,0x62,0x09,0x89,0x62,0x82,0x25,0x60,0xa0,0x95,0x58,0x28,0x25,0x56,0x0a,0x09,0x55,0x82,0x82,0x55,0x80,0xa2,0x55,0x88,0x02,0x55,0x88,0xa9,0x55,0x88,0x95,0x55,0x88,0x95,0x56,0x08,0x25,0x58,0xaa,0x89,0x62,0xaa,0xa2,0x60,0x00,0x02,0x5a,0xaa,0xa9};
const char chr183[] PROGMEM = {0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x50,0x28,0x05,0x55,0x28,0x55,0x55,0x28,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr184[] PROGMEM = {0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x50,0x28,0x05,0x55,0x28,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr185[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr186[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr187[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr188[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr189[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr190[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x28,0x55,0x50,0x28,0x05,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55};
const char chr191[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x28,0x55,0x55,0x28,0x55,0x50,0x28,0x05,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr192[] PROGMEM = {0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr193[] PROGMEM = {0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr194[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa};
const char chr195[] PROGMEM = {0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr196[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa};
const char chr197[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa};
const char chr198[] PROGMEM = {0x55,0x55,0x55,0x40,0x00,0x01,0x4a,0xaa,0xa1,0x48,0x28,0x21,0x48,0x88,0xa1,0x48,0x28,0xa1,0x48,0xa8,0xa1,0x48,0xa8,0x21,0x4a,0xaa,0xa1,0x00,0x28,0x00,0x2a,0xaa,0xa8,0x20,0x00,0x08,0x22,0x22,0x28,0x28,0x88,0x88,0x22,0x22,0x28,0x28,0x00,0x28,0x2a,0xaa,0xa8,0x00,0x00,0x00};
const char chr199[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x5a,0xaa,0xa9,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x5a,0xaa,0xa9,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x59,0x55,0x59,0x5a,0xaa,0xa9,0x55,0x55,0x55};
const char chr200[] PROGMEM = {0x55,0x50,0x55,0x55,0x4a,0x15,0x55,0x2a,0x85,0x55,0x2a,0xa1,0x55,0x4a,0xa8,0x55,0x52,0xa8,0x55,0x54,0xaa,0x55,0x55,0x09,0x55,0x55,0x52,0x55,0x55,0x1a,0x55,0x51,0x96,0x55,0x18,0x85,0x54,0x88,0x28,0x54,0x82,0x05,0x55,0x20,0xa1,0x55,0x48,0x15,0x55,0x52,0x85,0x55,0x54,0x15};
const char chr201[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x45,0x55,0x55,0x21,0x55,0x55,0xa8,0x55,0x55,0xa1,0x55,0x55,0x98,0x15,0x55,0x2a,0x85,0x55,0x4a,0xa1,0x55,0x4a,0xa8,0x55,0x52,0xaa,0x15,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55};
const char chr202[] PROGMEM = {0x54,0xaa,0x85,0x52,0x00,0x21,0x48,0x2a,0x08,0x60,0x80,0x82,0x62,0x08,0x22,0x62,0x2a,0x22,0x62,0x08,0x22,0x60,0x88,0x82,0x48,0x08,0x08,0x52,0x08,0x21,0x54,0x48,0x45,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x2a,0x15,0x54,0xaa,0x85};
const char chr203[] PROGMEM = {0x55,0x55,0x55,0x01,0x55,0x55,0x21,0x55,0x55,0x20,0x15,0x55,0x22,0x15,0x55,0x28,0x15,0x55,0x22,0x15,0x55,0x00,0x00,0x15,0x52,0xaa,0x15,0x52,0x22,0x15,0x52,0x22,0x15,0x50,0x00,0x05,0x55,0x54,0x85,0x55,0x54,0x80,0x55,0x54,0xa8,0x55,0x54,0x88,0x55,0x54,0x88,0x55,0x54,0x00};
const char chr204[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x15,0x22,0x8a,0x15,0x28,0xa2,0x15,0x20,0x82,0x15,0x20,0x82,0x15,0x00,0x00,0x15};
const char chr205[] PROGMEM = {0x55,0x00,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x00,0x28,0x00,0x2a,0xaa,0xa8,0x0a,0xaa,0xa0,0x42,0xaa,0x81,0x50,0xaa,0x05,0x54,0x28,0x15,0x55,0x00,0x55};
const char chr206[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr207[] PROGMEM = {0x55,0x00,0x55,0x54,0x28,0x15,0x50,0xaa,0x05,0x42,0xaa,0x81,0x0a,0xaa,0xa0,0x2a,0xaa,0xa8,0x00,0x28,0x00,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x00,0x55};
const char chr208[] PROGMEM = {0x55,0x55,0x55,0x54,0x01,0x55,0x52,0xa8,0x55,0x48,0x02,0x15,0x48,0x52,0x15,0x48,0x52,0x15,0x48,0x02,0x15,0x52,0xa8,0x55,0x54,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr209[] PROGMEM = {0x54,0x14,0x51,0x52,0x82,0x08,0x48,0x22,0x88,0x48,0x22,0x28,0x48,0x22,0x28,0x52,0x82,0x08,0x54,0x14,0x51,0x55,0x40,0x55,0x55,0x2a,0x15,0x54,0x88,0x85,0x52,0x08,0x21,0x48,0x48,0x08,0x48,0x4a,0x88,0x48,0x50,0x08,0x52,0x15,0x21,0x54,0x80,0x85,0x55,0x2a,0x15,0x55,0x40,0x55};
const char chr210[] PROGMEM = {0x40,0x45,0x11,0x2a,0x20,0x88,0x20,0x20,0x88,0x28,0x21,0x21,0x21,0x20,0x21,0x21,0x2a,0x21,0x45,0x40,0x45,0x55,0x40,0x55,0x55,0x2a,0x15,0x54,0x88,0x85,0x52,0x08,0x21,0x48,0x48,0x08,0x48,0x4a,0x88,0x48,0x50,0x08,0x52,0x15,0x21,0x54,0x80,0x85,0x55,0x2a,0x15,0x55,0x40,0x55};
const char chr211[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x55,0x05,0x4a,0x14,0xa1,0x4a,0x84,0xa1,0x4a,0x80,0xa1,0x4a,0xa0,0xa1,0x0a,0x28,0xa0,0x8a,0x28,0xa2,0x0a,0x0a,0xa0,0x4a,0x02,0xa1,0x4a,0x12,0xa1,0x4a,0x14,0xa1,0x50,0x55,0x05,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr212[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x52,0x80,0x85,0x52,0x85,0x55,0x02,0xaa,0x00,0xa8,0xaa,0x8a,0x00,0x02,0x80,0x52,0x02,0x85,0x52,0xaa,0x85,0x50,0xaa,0x05,0x55,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr213[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x00,0x15,0x52,0xaa,0x85,0x52,0xaa,0x85,0x52,0x80,0x15,0x52,0x85,0x55,0x02,0xa8,0x00,0xa2,0xa8,0xaa,0x02,0x80,0x00,0x52,0x80,0x55,0x52,0xaa,0x85,0x52,0xaa,0x85,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr214[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x55,0x05,0x4a,0x14,0xa1,0x4a,0x14,0xa1,0x4a,0x14,0xa1,0x4a,0x00,0xa1,0x0a,0x28,0xa0,0xa2,0x28,0x8a,0x02,0x28,0x80,0x52,0x82,0x85,0x52,0x82,0x85,0x52,0x82,0x85,0x54,0x00,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr215[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x45,0x55,0x55,0x21,0x55,0x01,0x21,0x00,0xa8,0x20,0xaa,0x01,0x21,0x00,0x55,0x21,0x55,0x55,0x45,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr216[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr217[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x54,0x85,0x40,0x00,0xa1,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x40,0x00,0xa1,0x55,0x54,0x85,0x55,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr218[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x2a,0xa8,0x55,0x4a,0xa8,0x55,0x52,0xa8,0x55,0x4a,0xa8,0x55,0x2a,0x28,0x54,0xa8,0x48,0x52,0xa1,0x51,0x4a,0x85,0x55,0x52,0x15,0x55,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr219[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x54,0x28,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr220[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x01,0x55,0x2a,0xa8,0x55,0x2a,0xa1,0x55,0x2a,0x85,0x55,0x2a,0xa1,0x55,0x28,0xa8,0x55,0x21,0x2a,0x15,0x45,0x4a,0x85,0x55,0x52,0xa1,0x55,0x54,0x85,0x55,0x55,0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr221[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x55,0x55,0x52,0x15,0x55,0x4a,0x00,0x01,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x4a,0x00,0x01,0x52,0x15,0x55,0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr222[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x15,0x55,0x54,0x85,0x55,0x52,0xa1,0x45,0x4a,0x85,0x21,0x2a,0x15,0x28,0xa8,0x55,0x2a,0xa1,0x55,0x2a,0x85,0x55,0x2a,0xa1,0x55,0x2a,0xa8,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr223[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0x28,0x15,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr224[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x55,0x55,0x52,0x15,0x55,0x4a,0x85,0x55,0x52,0xa1,0x51,0x54,0xa8,0x48,0x55,0x2a,0x28,0x55,0x4a,0xa8,0x55,0x52,0xa8,0x55,0x4a,0xa8,0x55,0x2a,0xa8,0x55,0x40,0x01,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr225[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr226[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr227[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr228[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x14,0x00,0xaa,0x14,0xaa,0xaa,0x82,0xaa,0x00,0xaa,0x00,0x54,0x00,0x15};
const char chr229[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x55,0x00,0x2a,0x14,0xa8,0x4a,0x82,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55};
const char chr230[] PROGMEM = {0x55,0x05,0x11,0x54,0xa0,0x88,0x54,0x88,0x88,0x54,0xa0,0xa8,0x54,0x84,0x88,0x44,0x84,0x88,0x21,0x15,0x11,0xa8,0x55,0x55,0xa1,0x55,0x55,0x98,0x15,0x55,0x2a,0x85,0x55,0x4a,0xa1,0x55,0x4a,0xa8,0x55,0x52,0xaa,0x15,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55};
const char chr231[] PROGMEM = {0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0x81,0x55,0x54,0x85,0x55,0x54,0x81,0x45,0x55,0x28,0x21,0x55,0x01,0xa8,0x54,0x88,0xa1,0x54,0x88,0x98,0x14,0xa8,0x2a,0x84,0x88,0x4a,0xa0,0x88,0x4a,0xa8,0x11,0x52,0xaa,0x15,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55};
const char chr232[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x0a,0xaa,0xa0,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr233[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x00,0x28,0x00,0x55,0x28,0x55,0x40,0x28,0x01,0x2a,0xaa,0xa8,0x4a,0xaa,0xa1,0x52,0xaa,0x85,0x54,0xaa,0x15,0x55,0x28,0x55};
const char chr234[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x0a,0xaa,0xa0,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr235[] PROGMEM = {0x55,0x28,0x55,0x54,0xaa,0x15,0x52,0xaa,0x85,0x4a,0xaa,0xa1,0x2a,0xaa,0xa8,0x40,0x28,0x01,0x55,0x28,0x55,0x00,0x28,0x00,0x2a,0xaa,0xa8,0x2a,0xaa,0xa8,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55};
const char chr236[] PROGMEM = {0x55,0x55,0x55,0x40,0x00,0x00,0x2a,0xaa,0xaa,0x20,0x00,0x08,0x22,0x14,0x88,0x22,0x12,0x88,0x22,0x0a,0x88,0x22,0x2a,0x88,0x22,0xaa,0x88,0x22,0xaa,0x88,0x22,0x2a,0x88,0x22,0x0a,0x88,0x22,0x12,0x88,0x22,0x14,0x88,0x20,0x00,0x08,0x2a,0xaa,0xaa,0x40,0x00,0x00,0x55,0x55,0x55};
const char chr237[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x50,0x55,0x55,0x4a,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x48,0x55,0x55,0x4a,0x55,0x55,0x50,0x55,0x55,0x55};
const char chr238[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr239[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0xaa,0xaa,0x85,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr240[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr241[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0xa8,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr242[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x55,0x55,0x55};
const char chr243[] PROGMEM = {0x55,0x55,0x55,0x05,0x55,0x55,0xa1,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0x21,0x55,0x55,0xa1,0x55,0x55,0x05,0x55,0x55,0x55,0x55,0x55};
const char chr244[] PROGMEM = {0x55,0x55,0x55,0x00,0x00,0x01,0xaa,0xaa,0xa8,0x20,0x00,0x08,0x22,0x14,0x88,0x22,0x84,0x88,0x22,0xa0,0x88,0x22,0xa8,0x88,0x22,0xaa,0x88,0x22,0xaa,0x88,0x22,0xa8,0x88,0x22,0xa0,0x88,0x22,0x84,0x88,0x22,0x14,0x88,0x20,0x00,0x08,0xaa,0xaa,0xa8,0x00,0x00,0x01,0x55,0x55,0x55};
const char chr245[] PROGMEM = {0x55,0x55,0x54,0x55,0x55,0x52,0x55,0x50,0x52,0x55,0x4a,0x10,0x55,0x4a,0x0a,0x55,0x50,0x2a,0x55,0x54,0xa0,0x55,0x02,0x85,0x54,0xa2,0x85,0x54,0xa2,0x85,0x55,0x02,0x85,0x55,0x54,0xa0,0x55,0x50,0x2a,0x55,0x4a,0x0a,0x55,0x4a,0x10,0x55,0x50,0x52,0x55,0x55,0x52,0x55,0x55,0x50};
const char chr246[] PROGMEM = {0x15,0x55,0x55,0x85,0x55,0x55,0x85,0x05,0x55,0x04,0xa1,0x55,0xa0,0xa1,0x55,0xa8,0x05,0x55,0x0a,0x15,0x55,0x52,0x80,0x55,0x52,0x8a,0x15,0x52,0x8a,0x15,0x52,0x80,0x55,0x0a,0x15,0x55,0xa8,0x05,0x55,0xa0,0xa1,0x55,0x04,0xa1,0x55,0x85,0x05,0x55,0x85,0x55,0x55,0x15,0x55,0x55};
const char chr247[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x50,0x55,0x55,0x0a,0x55,0x54,0xaa,0x55,0x52,0xa0,0x55,0x4a,0x04,0x55,0x4a,0x14,0x55,0x28,0x54,0x55,0x28,0x54,0x55,0x28,0x54,0x55,0x28,0x54,0x55,0x4a,0x14,0x55,0x4a,0x04,0x55,0x52,0xa0,0x55,0x54,0xaa,0x55,0x55,0x0a,0x55,0x55,0x50,0x55,0x55,0x55};
const char chr248[] PROGMEM = {0x55,0x55,0x55,0x05,0x55,0x55,0xa0,0x55,0x55,0xaa,0x15,0x55,0xaa,0x85,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0xa8,0x55,0xaa,0xa8,0x55,0xaa,0xa8,0x55,0xaa,0xa8,0x55,0xaa,0xa1,0x55,0xaa,0xa1,0x55,0xaa,0x85,0x55,0xaa,0x15,0x55,0xa0,0x55,0x55,0x05,0x55,0x55,0x55,0x55,0x55};
const char chr249[] PROGMEM = {0x55,0x55,0x41,0x55,0x55,0x28,0x55,0x54,0xa8,0x55,0x52,0x88,0x40,0x0a,0x08,0x2a,0xa8,0x48,0x20,0xa1,0x48,0x20,0xa1,0x48,0x20,0xa1,0x48,0x20,0xa1,0x48,0x20,0xa1,0x48,0x2a,0xa8,0x48,0x40,0x0a,0x08,0x55,0x52,0x88,0x55,0x54,0xa8,0x55,0x55,0x28,0x55,0x55,0x41,0x55,0x55,0x55};
const char chr250[] PROGMEM = {0x55,0x51,0x55,0x55,0x68,0x55,0x55,0x5a,0x15,0x54,0x12,0x15,0x52,0x82,0x15,0x44,0x82,0x85,0x20,0xa0,0x85,0x28,0x20,0x85,0x48,0x20,0x85,0x28,0x20,0x85,0x20,0xa0,0x85,0x44,0x82,0x85,0x52,0x82,0x15,0x54,0x12,0x15,0x55,0x5a,0x15,0x55,0x68,0x55,0x55,0x51,0x55,0x55,0x55,0x55};
const char chr251[] PROGMEM = {0x40,0x00,0x01,0x2a,0xaa,0xa8,0x48,0x00,0x21,0x48,0x55,0x21,0x48,0x55,0x21,0x48,0x55,0x21,0x52,0x14,0x85,0x54,0x82,0x15,0x55,0x28,0x55,0x55,0x28,0x55,0x54,0x82,0x15,0x52,0x14,0x85,0x48,0x55,0x21,0x48,0x55,0x21,0x48,0x55,0x21,0x48,0x00,0x21,0x2a,0xaa,0xa8,0x40,0x00,0x01};
const char chr252[] PROGMEM = {0x55,0x55,0x55,0x50,0x55,0x55,0x52,0x15,0x55,0x52,0x85,0x55,0x52,0xa1,0x55,0x52,0xa8,0x55,0x52,0xaa,0x15,0x52,0xaa,0x85,0x52,0xaa,0xa1,0x52,0xaa,0xa8,0x52,0xaa,0x00,0x52,0xaa,0x05,0x52,0x0a,0x85,0x50,0x0a,0x81,0x55,0x52,0xa1,0x55,0x52,0xa1,0x55,0x50,0x81,0x55,0x55,0x15};
const char chr253[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x50,0x51,0x51,0x4a,0x08,0x48,0x20,0x8a,0x28,0x20,0x88,0x88,0x20,0x88,0x88,0x2a,0x88,0x08,0x20,0x88,0x48,0x20,0x88,0x48,0x20,0x88,0x48,0x20,0x88,0x48,0x45,0x11,0x51};
const char chr254[] PROGMEM = {0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x40,0x51,0x51,0x2a,0x08,0x48,0x20,0x8a,0x28,0x20,0x88,0x88,0x20,0x88,0x88,0x2a,0x08,0x08,0x20,0x48,0x48,0x21,0x48,0x48,0x21,0x48,0x48,0x21,0x48,0x48,0x45,0x51,0x51};
const char chr255[] PROGMEM = {0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa};
const char *chars[] PROGMEM = { chr0, chr1, chr2, chr3, chr4, chr5, chr6, chr7, chr8, chr9, chr10, chr11, chr12, chr13, chr14, chr15, chr16, chr17, chr18, chr19, chr20, chr21, chr22, chr23, chr24, chr25, chr26, chr27, chr28, chr29, chr30, chr31, chr32, chr33, chr34, chr35, chr36, chr37, chr38, chr39, chr40, chr41, chr42, chr43, chr44, chr45, chr46, chr47, chr48, chr49, chr50, chr51, chr52, chr53, chr54, chr55, chr56, chr57, chr58, chr59, chr60, chr61, chr62, chr63, chr64, chr65, chr66, chr67, chr68, chr69, chr70, chr71, chr72, chr73, chr74, chr75, chr76, chr77, chr78, chr79, chr80, chr81, chr82, chr83, chr84, chr85, chr86, chr87, chr88, chr89, chr90, chr91, chr92, chr93, chr94, chr95, chr96, chr97, chr98, chr99, chr100, chr101, chr102, chr103, chr104, chr105, chr106, chr107, chr108, chr109, chr110, chr111, chr112, chr113, chr114, chr115, chr116, chr117, chr118, chr119, chr120, chr121, chr122, chr123, chr124, chr125, chr126, chr127, chr128, chr129, chr130, chr131, chr132, chr133, chr134, chr135, chr136, chr137, chr138, chr139, chr140, chr141, chr142, chr143, chr144, chr145, chr146, chr147, chr148, chr149, chr150, chr151, chr152, chr153, chr154, chr155, chr156, chr157, chr158, chr159, chr160, chr161, chr162, chr163, chr164, chr165, chr166, chr167, chr168, chr169, chr170, chr171, chr172, chr173, chr174, chr175, chr176, chr177, chr178, chr179, chr180, chr181, chr182, chr183, chr184, chr185, chr186, chr187, chr188, chr189, chr190, chr191, chr192, chr193, chr194, chr195, chr196, chr197, chr198, chr199, chr200, chr201, chr202, chr203, chr204, chr205, chr206, chr207, chr208, chr209, chr210, chr211, chr212, chr213, chr214, chr215, chr216, chr217, chr218, chr219, chr220, chr221, chr222, chr223, chr224, chr225, chr226, chr227, chr228, chr229, chr230, chr231, chr232, chr233, chr234, chr235, chr236, chr237, chr238, chr239, chr240, chr241, chr242, chr243, chr244, chr245, chr246, chr247, chr248, chr249, chr250, chr251, chr252, chr253, chr254, chr255};
 
#if WRITECHARS == 112
// one arrow up
unsigned char c70[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x4a, 0xaa, 0xa1,
0x2a, 0xaa, 0xa8, 0x00, 0x00, 0x00};
/**
* put the above chars in the memory of the MAX7456
* TODO: read out character, compare and write only if different
*/
void learn_all_chars_pgm(void) {
char *pointer;
for (uint16_t c = 0; c < 255; c++) {
LED3_ON
// select character to write (CMAH)
spi_send_byte(0x09, c);
 
// two arrows up
unsigned char c71[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x41, 0x55, 0x55, 0x28, 0x55, 0x54, 0xaa, 0x15,
0x52, 0xaa, 0x85, 0x4a, 0xaa, 0xa1, 0x2a, 0xaa,
0xa8, 0x00, 0x00, 0x00, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x4a, 0xaa, 0xa1,
0x2a, 0xaa, 0xa8, 0x00, 0x00, 0x00};
_delay_ms(1);
 
// three arrows up
unsigned char c72[54] = {0x55, 0x28, 0x55, 0x54, 0xaa, 0x15, 0x52, 0xaa,
0x85, 0x4a, 0xaa, 0xa1, 0x2a, 0xaa, 0xa8, 0x00,
0x00, 0x00, 0x55, 0x28, 0x55, 0x54, 0xaa, 0x15,
0x52, 0xaa, 0x85, 0x4a, 0xaa, 0xa1, 0x2a, 0xaa,
0xa8, 0x00, 0x00, 0x00, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x4a, 0xaa, 0xa1,
0x2a, 0xaa, 0xa8, 0x00, 0x00, 0x00};
pointer = (char*) pgm_read_word(&chars[c]);
for (uint8_t i = 0; i < 54; i++) {
// select 4pixel byte of char (CMAL)
spi_send_byte(0x0A, i);
 
// three black arrows up
unsigned char c73[54] = {0x55, 0x00, 0x55, 0x54, 0x00, 0x15, 0x50, 0x00,
0x05, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x55, 0x00, 0x55, 0x54, 0x00, 0x15,
0x50, 0x00, 0x05, 0x40, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x55, 0x54,
0x00, 0x15, 0x50, 0x00, 0x05, 0x40, 0x00, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
_delay_ms(1);
 
// three black arrows down
unsigned char c74[54] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
0x01, 0x50, 0x00, 0x05, 0x54, 0x00, 0x15, 0x55,
0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x00, 0x01, 0x50, 0x00, 0x05, 0x54, 0x00,
0x15, 0x55, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0x00, 0x01, 0x50, 0x00, 0x05,
0x54, 0x00, 0x15, 0x55, 0x00, 0x55};
// write 4pixel byte of char (CMDI)
spi_send_byte(0x0B, pgm_read_byte(pointer++));
_delay_ms(1);
}
 
// three arrows down
unsigned char c75[54] = {0x00, 0x00, 0x00, 0x2a, 0xaa, 0xa8, 0x4a, 0xaa,
0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x00, 0x00, 0x00, 0x2a, 0xaa, 0xa8,
0x4a, 0xaa, 0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa,
0x15, 0x55, 0x28, 0x55, 0x00, 0x00, 0x00, 0x2a,
0xaa, 0xa8, 0x4a, 0xaa, 0xa1, 0x52, 0xaa, 0x85,
0x54, 0xaa, 0x15, 0x55, 0x28, 0x55};
// write to the NVM array from the shadow RAM (CMM)
spi_send_byte(0x08, 0b10100000);
 
// two arrows down
unsigned char c76[54] = {0x00, 0x00, 0x00, 0x2a, 0xaa, 0xa8, 0x4a, 0xaa,
0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x00, 0x00, 0x00, 0x2a, 0xaa, 0xa8,
0x4a, 0xaa, 0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa,
0x15, 0x55, 0x28, 0x55, 0x55, 0x41, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
LED3_OFF
// according to maxim writing to nvram takes about 12ms, lets wait longer
_delay_ms(50);
}
}
 
// one arrow down
unsigned char c77[54] = {0x00, 0x00, 0x00, 0x2a, 0xaa, 0xa8, 0x4a, 0xaa,
0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x55, 0x41, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
learn_char(112, c70);
learn_char(113, c71);
learn_char(114, c72);
learn_char(115, c73);
learn_char(116, c74);
learn_char(117, c75);
learn_char(118, c76);
learn_char(119, c77);
#endif
 
#if WRITECHARS == 128
// kph
unsigned char c80[54] = {0x55, 0x55, 0x55, 0x45, 0x55, 0x55, 0x21, 0x55,
0x55, 0x21, 0x55, 0x55, 0x20, 0x15, 0x55, 0x22,
0x15, 0x55, 0x28, 0x00, 0x55, 0x22, 0x28, 0x55,
0x04, 0x22, 0x15, 0x55, 0x28, 0x55, 0x55, 0x20,
0x15, 0x55, 0x20, 0x85, 0x55, 0x00, 0x80, 0x55,
0x54, 0xa8, 0x55, 0x54, 0x88, 0x55, 0x54, 0x88,
0x55, 0x54, 0x10, 0x55, 0x55, 0x55};
 
// percent
unsigned char c81[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x5a, 0x55, 0x95, 0x60, 0x96, 0x25, 0x8a, 0x28,
0x89, 0x8a, 0x22, 0x25, 0x60, 0x88, 0x95, 0x5a,
0x22, 0x95, 0x58, 0x88, 0x25, 0x62, 0x22, 0x89,
0x88, 0xa2, 0x89, 0x62, 0x58, 0x25};
 
// distance-square
unsigned char c82[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x22, 0x22, 0x00, 0x95, 0x54, 0xa8,
0x15, 0x55, 0x28, 0x95, 0x54, 0x88, 0x15, 0x52,
0x12, 0x95, 0x48, 0x54, 0x15, 0x21, 0x56, 0x84,
0x85, 0x54, 0x22, 0x15, 0x56, 0x28, 0x55, 0x54,
0x2a, 0x15, 0x56, 0x00, 0x88, 0x88};
 
// diamond
unsigned char c83[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x65, 0x55, 0x55, 0x89, 0x55, 0x56, 0x22, 0x55,
0x58, 0xa8, 0x95, 0x62, 0xaa, 0x25, 0x58, 0xa8,
0x95, 0x56, 0x22, 0x55, 0x55, 0x89, 0x55, 0x55,
0x65, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// mah
unsigned char c84[54] = {0x40, 0x00, 0x55, 0x2a, 0xaa, 0x15, 0x20, 0x82,
0x15, 0x20, 0x82, 0x15, 0x21, 0x12, 0x15, 0x44,
0x04, 0x55, 0x42, 0xa0, 0x55, 0x48, 0x08, 0x55,
0x4a, 0xa8, 0x55, 0x48, 0x08, 0x55, 0x48, 0x48,
0x55, 0x51, 0x51, 0x55, 0x48, 0x55, 0x55, 0x48,
0x00, 0x55, 0x4a, 0xa8, 0x55, 0x48, 0x08, 0x55,
0x48, 0x48, 0x55, 0x51, 0x51, 0x55};
 
// clock
unsigned char c85[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0x08, 0x28, 0x28, 0x28,
0xaa, 0x00, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// 3d fix
unsigned char c86[54] = {0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x0a, 0x82, 0x80, 0x00, 0x82, 0x20, 0x02,
0x82, 0x20, 0x00, 0x82, 0x20, 0x0a, 0x82, 0x80,
0x00, 0x00, 0x00, 0x0a, 0x88, 0x00, 0x08, 0x00,
0x00, 0x0a, 0x08, 0x88, 0x08, 0x08, 0x20, 0x08,
0x08, 0x88, 0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// alt
unsigned char c87[54] = {0x50, 0x55, 0x55, 0x4a, 0x15, 0x55, 0x20, 0x85,
0x55, 0x20, 0x85, 0x55, 0x2a, 0x85, 0x55, 0x20,
0x85, 0x55, 0x20, 0x85, 0x55, 0x45, 0x15, 0x55,
0x54, 0x85, 0x55, 0x54, 0x85, 0x55, 0x54, 0x85,
0x55, 0x54, 0x81, 0x01, 0x54, 0xa8, 0xa8, 0x55,
0x01, 0x21, 0x55, 0x55, 0x21, 0x55, 0x55, 0x21,
0x55, 0x55, 0x21, 0x55, 0x55, 0x45};
 
learn_char(128, c80);
learn_char(129, c81);
learn_char(130, c82);
learn_char(131, c83);
learn_char(132, c84);
learn_char(133, c85);
learn_char(134, c86);
learn_char(135, c87);
#endif
 
#if WRITECHARS == 136
// vel
unsigned char c88[54] = {0x45, 0x45, 0x55, 0x21, 0x21, 0x55, 0x21, 0x21,
0x55, 0x21, 0x21, 0x55, 0x21, 0x21, 0x55, 0x48,
0x85, 0x55, 0x52, 0x00, 0x55, 0x54, 0xaa, 0x15,
0x54, 0x80, 0x55, 0x54, 0xa8, 0x55, 0x54, 0x81,
0x15, 0x54, 0x80, 0x85, 0x54, 0xaa, 0x85, 0x55,
0x00, 0x85, 0x55, 0x54, 0x85, 0x55, 0x54, 0x80,
0x55, 0x54, 0xaa, 0x55, 0x55, 0x00};
 
// dst
unsigned char c89[54] = {0x55, 0x55, 0x55, 0x40, 0x15, 0x55, 0x2a, 0x05,
0x55, 0x20, 0x85, 0x55, 0x20, 0x85, 0x55, 0x20,
0x85, 0x55, 0x2a, 0x00, 0x55, 0x40, 0xaa, 0x15,
0x54, 0x80, 0x55, 0x54, 0xaa, 0x15, 0x54, 0x02,
0x15, 0x54, 0xaa, 0x01, 0x55, 0x0a, 0xa8, 0x55,
0x50, 0x81, 0x55, 0x54, 0x85, 0x55, 0x54, 0x85,
0x55, 0x54, 0x85, 0x55, 0x55, 0x15};
 
// m/s
unsigned char c8a[54] = {0x40, 0x00, 0x55, 0x2a, 0xaa, 0x15, 0x20, 0x82,
0x15, 0x20, 0x82, 0x15, 0x20, 0x82, 0x15, 0x21,
0x12, 0x15, 0x45, 0x54, 0x55, 0x40, 0x00, 0x55,
0x2a, 0xaa, 0x15, 0x2a, 0xaa, 0x15, 0x40, 0x00,
0x55, 0x50, 0x01, 0x55, 0x4a, 0xa8, 0x55, 0x48,
0x00, 0x55, 0x4a, 0xa8, 0x55, 0x40, 0x08, 0x55,
0x4a, 0xa8, 0x55, 0x50, 0x01, 0x55};
 
// degree (duplicate?)
unsigned char c8b[54] = {0x5a, 0x95, 0x55, 0x60, 0x25, 0x55, 0x82, 0x09,
0x55, 0x89, 0x89, 0x55, 0x82, 0x09, 0x55, 0x60,
0x25, 0x55, 0x5a, 0x95, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// small m
unsigned char c8c[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x40, 0x00, 0x55, 0x2a, 0xaa, 0x15, 0x20,
0x82, 0x15, 0x20, 0x82, 0x15, 0x20, 0x82, 0x15,
0x21, 0x12, 0x15, 0x45, 0x54, 0x55};
 
// height
unsigned char c8d[54] = {0x00, 0x00, 0x00, 0x58, 0x95, 0x55, 0x62, 0x25,
0x55, 0x8a, 0x8a, 0xa9, 0x02, 0x00, 0x09, 0xa2,
0x28, 0x89, 0x62, 0x28, 0x8a, 0x62, 0x28, 0x80,
0x62, 0x28, 0xa8, 0x62, 0x28, 0x88, 0x62, 0x28,
0x88, 0x62, 0x28, 0x88, 0xa2, 0x28, 0x00, 0x02,
0x02, 0xaa, 0x8a, 0x89, 0x55, 0x62, 0x25, 0x55,
0x58, 0x95, 0x55, 0x00, 0x00, 0x00};
 
// distane d
unsigned char c8e[54] = {0x55, 0x56, 0x55, 0x55, 0x58, 0x95, 0x55, 0x58,
0x95, 0x55, 0xa8, 0x95, 0x56, 0x00, 0x95, 0x58,
0xa8, 0x95, 0x58, 0x98, 0x95, 0x58, 0xa8, 0x95,
0x56, 0x00, 0x95, 0x55, 0xaa, 0x55, 0x65, 0x55,
0x59, 0x89, 0x55, 0x62, 0x89, 0x14, 0x62, 0x88,
0x82, 0x22, 0x82, 0xaa, 0x82, 0x88, 0x82, 0x22,
0x89, 0x14, 0x62, 0x65, 0x55, 0x59};
 
learn_char(136, c88);
learn_char(137, c89);
learn_char(138, c8a);
learn_char(139, c8b);
learn_char(140, c8c);
learn_char(141, c8d);
learn_char(142, c8e);
#endif
 
#if WRITECHARS == 144
// battery 13/13
unsigned char c90[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 12/13
unsigned char c91[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 11/13
unsigned char c92[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 10/13
unsigned char c93[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 9/13
unsigned char c94[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x48, 0x00, 0x21,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 8/13
unsigned char c95[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 7/13
unsigned char c96[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x48, 0x00, 0x21, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 6/13
unsigned char c97[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x48, 0x00,
0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
learn_char(144, c90);
learn_char(145, c91);
learn_char(146, c92);
learn_char(147, c93);
learn_char(148, c94);
learn_char(149, c95);
learn_char(150, c96);
learn_char(151, c97);
#endif
 
#if WRITECHARS == 152
// battery 5/13
unsigned char c98[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 4/13
unsigned char c99[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x4a, 0xaa, 0xa1, 0x48, 0x00, 0x21, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 3/13
unsigned char c9a[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x48,
0x00, 0x21, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 2/13
unsigned char c9b[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x48, 0x00, 0x21, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 1/13
unsigned char c9c[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x48, 0x00, 0x21,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// battery 0/13
unsigned char c9d[54] = {0x54, 0x00, 0x15, 0x40, 0xaa, 0x01, 0x4a, 0x82,
0xa1, 0x4a, 0x82, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa,
0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x4a, 0xaa, 0xa1, 0x4a, 0xaa, 0xa1,
0x4a, 0xaa, 0xa1, 0x40, 0x00, 0x01};
 
// small V
unsigned char c9e[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x45, 0x45,
0x55, 0x21, 0x21, 0x55, 0x21, 0x21, 0x55, 0x21,
0x21, 0x55, 0x21, 0x21, 0x55, 0x08, 0x81, 0x55,
0x42, 0x05, 0x55, 0x50, 0x15, 0x55};
 
// small A
unsigned char c9f[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x50, 0x15,
0x55, 0x4a, 0x85, 0x55, 0x20, 0x21, 0x55, 0x20,
0x21, 0x55, 0x2a, 0xa1, 0x55, 0x20, 0x21, 0x55,
0x21, 0x21, 0x55, 0x45, 0x45, 0x55};
 
learn_char(152, c98);
learn_char(153, c99);
learn_char(154, c9a);
learn_char(155, c9b);
learn_char(156, c9c);
learn_char(157, c9d);
learn_char(158, c9e);
learn_char(159, c9f);
#endif
 
#if WRITECHARS == 160
// home-circle 0°
unsigned char ca0[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0x82, 0x89, 0x8a,
0x82, 0xa2, 0x2a, 0x82, 0xa8, 0x2a, 0x82, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 22,5°
unsigned char ca1[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x09, 0x8a,
0xa8, 0x22, 0x2a, 0xa0, 0xa8, 0x2a, 0xa0, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 45°
unsigned char ca2[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0x02, 0x2a, 0xa8, 0x08, 0x2a, 0xa0, 0x28,
0xaa, 0x80, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 67,5°
unsigned char ca3[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0x80, 0x2a, 0xa8, 0x08,
0xaa, 0x80, 0x2a, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 90°
unsigned char ca4[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x80, 0x02, 0xaa, 0x80, 0x02, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 112,5°
unsigned char ca5[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x80, 0x2a, 0x2a, 0xa8,
0x08, 0x2a, 0xaa, 0x80, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 135°
unsigned char ca6[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x80, 0xaa, 0x2a, 0xa0,
0x28, 0x2a, 0xa8, 0x08, 0x8a, 0xaa, 0x02, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 157,5°
unsigned char ca7[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xa0,
0xa8, 0x2a, 0xa0, 0xa8, 0x8a, 0xa8, 0x22, 0x62,
0xaa, 0x09, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
learn_char(160, ca0);
learn_char(161, ca1);
learn_char(162, ca2);
learn_char(163, ca3);
learn_char(164, ca4);
learn_char(165, ca5);
learn_char(166, ca6);
learn_char(167, ca7);
#endif
 
#if WRITECHARS == 168
// home-circle 180°
unsigned char ca8[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0x82,
0xa8, 0x2a, 0x82, 0xa8, 0x8a, 0x82, 0xa2, 0x62,
0x82, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 202,5°
unsigned char ca9[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0x0a,
0xa8, 0x2a, 0x0a, 0xa8, 0x88, 0x2a, 0xa2, 0x60,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 225°
unsigned char caa[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x02, 0xaa, 0x28, 0x0a,
0xa8, 0x20, 0x2a, 0xa8, 0x80, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 247,5
unsigned char cab[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xa8, 0x02, 0xaa, 0x20, 0x2a,
0xa8, 0x02, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 270°
unsigned char cac[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0x80, 0x02, 0xaa, 0x80, 0x02, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 292,5°
unsigned char cad[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x02, 0xaa, 0xa8, 0x20, 0x2a, 0xa8,
0xa8, 0x02, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 315°
unsigned char cae[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x80,
0xaa, 0xa2, 0x20, 0x2a, 0xa8, 0x28, 0x0a, 0xa8,
0xaa, 0x02, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home-circle 337,5°
unsigned char caf[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x60, 0xaa, 0x89, 0x88,
0x2a, 0xa2, 0x2a, 0x0a, 0xa8, 0x2a, 0x0a, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
learn_char(168, ca8);
learn_char(169, ca9);
learn_char(170, caa);
learn_char(171, cab);
learn_char(172, cac);
learn_char(173, cad);
learn_char(174, cae);
learn_char(175, caf);
#endif
 
#if WRITECHARS == 176
// home circle left side
unsigned char cb0[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x56, 0x55, 0x55, 0x56,
0x55, 0x55, 0x58, 0x55, 0x55, 0x58, 0x55, 0x55,
0x56, 0x55, 0x55, 0x56, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// home circle center
unsigned char cb1[54] = {0x55, 0x55, 0x55, 0x55, 0x69, 0x55, 0x56, 0x82,
0x95, 0x58, 0x28, 0x25, 0x62, 0xaa, 0x89, 0x8a,
0xaa, 0xa2, 0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8,
0xaa, 0x82, 0xaa, 0xaa, 0x82, 0xaa, 0x2a, 0xaa,
0xa8, 0x2a, 0xaa, 0xa8, 0x8a, 0xaa, 0xa2, 0x62,
0xaa, 0x89, 0x58, 0x28, 0x25, 0x56, 0x82, 0x95,
0x55, 0x69, 0x55, 0x55, 0x55, 0x55};
 
// home circle right side
unsigned char cb2[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x95, 0x55, 0x55, 0x95, 0x55, 0x55,
0x25, 0x55, 0x55, 0x25, 0x55, 0x55, 0x95, 0x55,
0x55, 0x95, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// rc transmitter
unsigned char cb3[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0x55, 0x55,
0x82, 0x55, 0x55, 0x82, 0x55, 0x55, 0x82, 0x55,
0xaa, 0x82, 0xaa, 0x80, 0x00, 0x02, 0x8a, 0xaa,
0xa2, 0x88, 0x28, 0x22, 0x88, 0x28, 0x22, 0x8a,
0xaa, 0xa2, 0x8a, 0xaa, 0xa2, 0x80, 0x00, 0x02,
0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55};
 
// house
unsigned char cb4[54] = {0x55, 0x55, 0x59, 0x55, 0x55, 0x65, 0x55, 0x55,
0x15, 0x55, 0x41, 0x15, 0x55, 0x00, 0x15, 0x54,
0x00, 0x15, 0x50, 0x00, 0x05, 0x40, 0x00, 0x01,
0x0a, 0xaa, 0xa0, 0x4a, 0xa0, 0x21, 0x4a, 0xa1,
0x21, 0x4a, 0xa0, 0x21, 0x4a, 0xaa, 0xa1, 0x4a,
0xaa, 0xa1, 0x48, 0x0a, 0xa1, 0x48, 0x4a, 0xa1,
0x48, 0x4a, 0xa1, 0x40, 0x00, 0x01};
 
// mah
unsigned char cb5[54] = {0x00, 0x01, 0x55, 0x2a, 0xa1, 0x55, 0x22, 0x21,
0x55, 0x22, 0x21, 0x55, 0x00, 0x01, 0x55, 0x55,
0x48, 0x55, 0x55, 0x22, 0x15, 0x54, 0x80, 0x85,
0x54, 0xaa, 0x85, 0x54, 0x80, 0x85, 0x54, 0x84,
0x85, 0x55, 0x04, 0x05, 0x55, 0x54, 0x85, 0x55,
0x54, 0x80, 0x55, 0x54, 0xa8, 0x55, 0x54, 0x88,
0x55, 0x54, 0x88, 0x55, 0x54, 0x00};
 
// sat antenna
unsigned char cb6[54] = {0x5a, 0x95, 0x55, 0x60, 0x25, 0x69, 0x62, 0x09,
0x89, 0x62, 0x82, 0x25, 0x60, 0xa0, 0x95, 0x58,
0x28, 0x25, 0x56, 0x0a, 0x09, 0x55, 0x82, 0x82,
0x55, 0x80, 0xa2, 0x55, 0x88, 0x02, 0x55, 0x88,
0xa9, 0x55, 0x88, 0x95, 0x55, 0x88, 0x95, 0x56,
0x08, 0x25, 0x58, 0xaa, 0x89, 0x62, 0xaa, 0xa2,
0x60, 0x00, 0x02, 0x5a, 0xaa, 0xa9};
 
// vario up 4
unsigned char cb7[54] = {0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54, 0xaa,
0x15, 0x52, 0xaa, 0x85, 0x50, 0x28, 0x05, 0x55,
0x28, 0x55, 0x55, 0x28, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
learn_char(176, cb0);
learn_char(177, cb1);
learn_char(178, cb2);
learn_char(179, cb3);
learn_char(180, cb4);
learn_char(181, cb5);
learn_char(182, cb6);
learn_char(183, cb7);
#endif
 
#if WRITECHARS == 184
// vario up 3
unsigned char cb8[54] = {0x55, 0x55, 0x55, 0x55, 0x41, 0x55, 0x55, 0x28,
0x55, 0x54, 0xaa, 0x15, 0x52, 0xaa, 0x85, 0x50,
0x28, 0x05, 0x55, 0x28, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario up 2
unsigned char cb9[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario up 1
unsigned char cba[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x41, 0x55, 0x55,
0x28, 0x55, 0x54, 0xaa, 0x15, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario standing
unsigned char cbb[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario down 1
unsigned char cbc[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x54, 0xaa, 0x15, 0x55, 0x28, 0x55, 0x55,
0x41, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario down 2
unsigned char cbd[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x55, 0x41, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario down 3
unsigned char cbe[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x28, 0x55, 0x50, 0x28, 0x05, 0x52,
0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55, 0x28, 0x55,
0x55, 0x41, 0x55, 0x55, 0x55, 0x55};
 
// vario down 4
unsigned char cbf[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x50,
0x28, 0x05, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15,
0x55, 0x28, 0x55, 0x55, 0x41, 0x55};
learn_char(184, cb8);
learn_char(185, cb9);
learn_char(186, cba);
learn_char(187, cbb);
learn_char(188, cbc);
learn_char(189, cbd);
learn_char(190, cbe);
learn_char(191, cbf);
#endif
 
#if WRITECHARS == 192
// 2/3 down block
unsigned char cc0[54] = {0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// 1/3 down block
unsigned char cc1[54] = {0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// middle-down block
unsigned char cc2[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa};
 
// middle-up block
unsigned char cc3[54] = {0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// 1/3 up block
unsigned char cc4[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa};
 
// 2/3 up block
unsigned char cc5[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa};
 
// pc icon
unsigned char cc6[54] ={0x55, 0x55, 0x55, 0x40, 0x00, 0x01, 0x4a, 0xaa,
0xa1, 0x48, 0x28, 0x21, 0x48, 0x88, 0xa1, 0x48,
0x28, 0xa1, 0x48, 0xa8, 0xa1, 0x48, 0xa8, 0x21,
0x4a, 0xaa, 0xa1, 0x00, 0x28, 0x00, 0x2a, 0xaa,
0xa8, 0x20, 0x00, 0x08, 0x22, 0x22, 0x28, 0x28,
0x88, 0x88, 0x22, 0x22, 0x28, 0x28, 0x00, 0x28,
0x2a, 0xaa, 0xa8, 0x00, 0x00, 0x00};
 
learn_char(192, cc0);
learn_char(193, cc1);
learn_char(194, cc2);
learn_char(195, cc3);
learn_char(196, cc4);
learn_char(197, cc5);
learn_char(198, cc6);
#endif
 
#if WRITECHARS == 200
// GPS
unsigned char cc8[54] = {0x55, 0x50, 0x55, 0x55, 0x4a, 0x15, 0x55, 0x2a,
0x85, 0x55, 0x2a, 0xa1, 0x55, 0x4a, 0xa8, 0x55,
0x52, 0xa8, 0x55, 0x54, 0xaa, 0x55, 0x55, 0x09,
0x55, 0x55, 0x52, 0x55, 0x55, 0x1a, 0x55, 0x51,
0x96, 0x55, 0x18, 0x85, 0x54, 0x88, 0x28, 0x54,
0x82, 0x05, 0x55, 0x20, 0xa1, 0x55, 0x48, 0x15,
0x55, 0x52, 0x85, 0x55, 0x54, 0x15};
 
unsigned char cc9[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x45,
0x55, 0x55, 0x21, 0x55, 0x55, 0xa8, 0x55, 0x55,
0xa1, 0x55, 0x55, 0x98, 0x15, 0x55, 0x2a, 0x85,
0x55, 0x4a, 0xa1, 0x55, 0x4a, 0xa8, 0x55, 0x52,
0xaa, 0x15, 0x54, 0xaa, 0x15, 0x55, 0x28, 0x55,
0x55, 0x41, 0x55, 0x55, 0x55, 0x55};
 
// RC
unsigned char cca[54] = {0x54, 0xaa, 0x85, 0x52, 0x00, 0x21, 0x48, 0x2a,
0x08, 0x60, 0x80, 0x82, 0x62, 0x08, 0x22, 0x62,
0x2a, 0x22, 0x62, 0x08, 0x22, 0x60, 0x88, 0x82,
0x48, 0x08, 0x08, 0x52, 0x08, 0x21, 0x54, 0x48,
0x45, 0x55, 0x48, 0x55, 0x55, 0x48, 0x55, 0x55,
0x48, 0x55, 0x55, 0x48, 0x55, 0x55, 0x48, 0x55,
0x55, 0x2a, 0x15, 0x54, 0xaa, 0x85};
 
// km/h
unsigned char ccb[54] = {0x55, 0x55, 0x55, 0x01, 0x55, 0x55, 0x21, 0x55,
0x55, 0x20, 0x15, 0x55, 0x22, 0x15, 0x55, 0x28,
0x15, 0x55, 0x22, 0x15, 0x55, 0x00, 0x00, 0x15,
0x52, 0xaa, 0x15, 0x52, 0x22, 0x15, 0x52, 0x22,
0x15, 0x50, 0x00, 0x05, 0x55, 0x54, 0x85, 0x55,
0x54, 0x80, 0x55, 0x54, 0xa8, 0x55, 0x54, 0x88,
0x55, 0x54, 0x88, 0x55, 0x54, 0x00};
 
 
// small meters m
unsigned char ccc[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x15, 0x22,
0x8a, 0x15, 0x28, 0xa2, 0x15, 0x20, 0x82, 0x15,
0x20, 0x82, 0x15, 0x00, 0x00, 0x15};
 
// vario down
unsigned char ccd[54] = {0x55, 0x00, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28,
0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55,
0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55,
0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28,
0x55, 0x00, 0x28, 0x00, 0x2a, 0xaa, 0xa8, 0x0a,
0xaa, 0xa0, 0x42, 0xaa, 0x81, 0x50, 0xaa, 0x05,
0x54, 0x28, 0x15, 0x55, 0x00, 0x55};
 
// vario hold
unsigned char cce[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// vario up
unsigned char ccf[54] = {0x55, 0x00, 0x55, 0x54, 0x28, 0x15, 0x50, 0xaa,
0x05, 0x42, 0xaa, 0x81, 0x0a, 0xaa, 0xa0, 0x2a,
0xaa, 0xa8, 0x00, 0x28, 0x00, 0x55, 0x28, 0x55,
0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28,
0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55,
0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55,
0x55, 0x28, 0x55, 0x55, 0x00, 0x55};
 
learn_char(200, cc8);
learn_char(201, cc9);
learn_char(202, cca);
learn_char(203, ccb);
learn_char(204, ccc);
learn_char(205, ccd);
learn_char(206, cce);
learn_char(207, ccf);
#endif
 
#if WRITECHARS == 208
// degree symbol
unsigned char cd0[54] = {0x55, 0x55, 0x55, 0x54, 0x01, 0x55, 0x52, 0xa8,
0x55, 0x48, 0x02, 0x15, 0x48, 0x52, 0x15, 0x48,
0x52, 0x15, 0x48, 0x02, 0x15, 0x52, 0xa8, 0x55,
0x54, 0x01, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// clock on symbol
unsigned char cd1[54] = {0x54, 0x14, 0x51, 0x52, 0x82, 0x08, 0x48, 0x22,
0x88, 0x48, 0x22, 0x28, 0x48, 0x22, 0x28, 0x52,
0x82, 0x08, 0x54, 0x14, 0x51, 0x55, 0x40, 0x55,
0x55, 0x2a, 0x15, 0x54, 0x88, 0x85, 0x52, 0x08,
0x21, 0x48, 0x48, 0x08, 0x48, 0x4a, 0x88, 0x48,
0x50, 0x08, 0x52, 0x15, 0x21, 0x54, 0x80, 0x85,
0x55, 0x2a, 0x15, 0x55, 0x40, 0x55};
 
// clock fly symbol
unsigned char cd2[54] = {0x40, 0x45, 0x11, 0x2a, 0x20, 0x88, 0x20, 0x20,
0x88, 0x28, 0x21, 0x21, 0x21, 0x20, 0x21, 0x21,
0x2a, 0x21, 0x45, 0x40, 0x45, 0x55, 0x40, 0x55,
0x55, 0x2a, 0x15, 0x54, 0x88, 0x85, 0x52, 0x08,
0x21, 0x48, 0x48, 0x08, 0x48, 0x4a, 0x88, 0x48,
0x50, 0x08, 0x52, 0x15, 0x21, 0x54, 0x80, 0x85,
0x55, 0x2a, 0x15, 0x55, 0x40, 0x55};
 
// compass north
unsigned char cd3[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x50, 0x55, 0x05, 0x4a, 0x14, 0xa1, 0x4a,
0x84, 0xa1, 0x4a, 0x80, 0xa1, 0x4a, 0xa0, 0xa1,
0x0a, 0x28, 0xa0, 0x8a, 0x28, 0xa2, 0x0a, 0x0a,
0xa0, 0x4a, 0x02, 0xa1, 0x4a, 0x12, 0xa1, 0x4a,
0x14, 0xa1, 0x50, 0x55, 0x05, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// compass south
unsigned char cd4[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x00, 0x55, 0x54, 0xaa, 0x15, 0x52,
0xaa, 0x85, 0x52, 0x80, 0x85, 0x52, 0x85, 0x55,
0x02, 0xaa, 0x00, 0xa8, 0xaa, 0x8a, 0x00, 0x02,
0x80, 0x52, 0x02, 0x85, 0x52, 0xaa, 0x85, 0x50,
0xaa, 0x05, 0x55, 0x00, 0x15, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// compass east
unsigned char cd5[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x54, 0x00, 0x15, 0x52, 0xaa, 0x85, 0x52,
0xaa, 0x85, 0x52, 0x80, 0x15, 0x52, 0x85, 0x55,
0x02, 0xa8, 0x00, 0xa2, 0xa8, 0xaa, 0x02, 0x80,
0x00, 0x52, 0x80, 0x55, 0x52, 0xaa, 0x85, 0x52,
0xaa, 0x85, 0x54, 0x00, 0x15, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// compass west
unsigned char cd6[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x50, 0x55, 0x05, 0x4a, 0x14, 0xa1, 0x4a,
0x14, 0xa1, 0x4a, 0x14, 0xa1, 0x4a, 0x00, 0xa1,
0x0a, 0x28, 0xa0, 0xa2, 0x28, 0x8a, 0x02, 0x28,
0x80, 0x52, 0x82, 0x85, 0x52, 0x82, 0x85, 0x52,
0x82, 0x85, 0x54, 0x00, 0x15, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// compass between
unsigned char cd7[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x45, 0x55, 0x55, 0x21, 0x55,
0x01, 0x21, 0x00, 0xa8, 0x20, 0xaa, 0x01, 0x21,
0x00, 0x55, 0x21, 0x55, 0x55, 0x45, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
learn_char(208, cd0);
learn_char(209, cd1);
learn_char(210, cd2);
learn_char(211, cd3);
learn_char(212, cd4);
learn_char(213, cd5);
learn_char(214, cd6);
learn_char(215, cd7);
#endif
 
#if WRITECHARS == 216
// compass line
unsigned char cd8[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x00, 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow right
unsigned char cd9[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x15, 0x55, 0x54, 0x85, 0x40, 0x00, 0xa1,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x40, 0x00,
0xa1, 0x55, 0x54, 0x85, 0x55, 0x55, 0x15, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow right-up
unsigned char cda[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x40, 0x01, 0x55, 0x2a, 0xa8, 0x55,
0x4a, 0xa8, 0x55, 0x52, 0xa8, 0x55, 0x4a, 0xa8,
0x55, 0x2a, 0x28, 0x54, 0xa8, 0x48, 0x52, 0xa1,
0x51, 0x4a, 0x85, 0x55, 0x52, 0x15, 0x55, 0x54,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow up
unsigned char cdb[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x54, 0x28, 0x15,
0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28,
0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x55,
0x28, 0x55, 0x55, 0x41, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow left-up
unsigned char cdc[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x40, 0x01, 0x55, 0x2a, 0xa8, 0x55, 0x2a,
0xa1, 0x55, 0x2a, 0x85, 0x55, 0x2a, 0xa1, 0x55,
0x28, 0xa8, 0x55, 0x21, 0x2a, 0x15, 0x45, 0x4a,
0x85, 0x55, 0x52, 0xa1, 0x55, 0x54, 0x85, 0x55,
0x55, 0x15, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow left
unsigned char cdd[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54,
0x55, 0x55, 0x52, 0x15, 0x55, 0x4a, 0x00, 0x01,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x4a, 0x00,
0x01, 0x52, 0x15, 0x55, 0x54, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow left-down
unsigned char cde[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x15, 0x55,
0x54, 0x85, 0x55, 0x52, 0xa1, 0x45, 0x4a, 0x85,
0x21, 0x2a, 0x15, 0x28, 0xa8, 0x55, 0x2a, 0xa1,
0x55, 0x2a, 0x85, 0x55, 0x2a, 0xa1, 0x55, 0x2a,
0xa8, 0x55, 0x40, 0x01, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// arrow down
unsigned char cdf[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x55,
0x28, 0x55, 0x55, 0x28, 0x55, 0x55, 0x28, 0x55,
0x55, 0x28, 0x55, 0x55, 0x28, 0x55, 0x54, 0x28,
0x15, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x55, 0x41, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
learn_char(216, cd8);
learn_char(217, cd9);
learn_char(218, cda);
learn_char(219, cdb);
learn_char(220, cdc);
learn_char(221, cdd);
learn_char(222, cde);
learn_char(223, cdf);
#endif
 
#if WRITECHARS == 224
// arrow right-down
unsigned char ce0[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x54, 0x55, 0x55, 0x52,
0x15, 0x55, 0x4a, 0x85, 0x55, 0x52, 0xa1, 0x51,
0x54, 0xa8, 0x48, 0x55, 0x2a, 0x28, 0x55, 0x4a,
0xa8, 0x55, 0x52, 0xa8, 0x55, 0x4a, 0xa8, 0x55,
0x2a, 0xa8, 0x55, 0x40, 0x01, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// horizon up
unsigned char ce1[54] = {0x55, 0x55, 0x55, 0x00, 0x00, 0x00, 0xaa, 0xaa,
0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// horizon middle
unsigned char ce2[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// horizon down
unsigned char ce3[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
0x00, 0x00, 0x00, 0x55, 0x55, 0x55};
 
// horizon center
unsigned char ce4[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x00,
0x14, 0x00, 0xaa, 0x14, 0xaa, 0xaa, 0x82, 0xaa,
0x00, 0xaa, 0x00, 0x54, 0x00, 0x15};
 
// horizon roll
unsigned char ce5[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x00, 0x55, 0x00, 0x2a, 0x14, 0xa8, 0x4a,
0x82, 0xa1, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15,
0x55, 0x28, 0x55, 0x55, 0x41, 0x55};
 
// gps PH
unsigned char ce6[54] = {0x55, 0x05, 0x11, 0x54, 0xa0, 0x88, 0x54, 0x88,
0x88, 0x54, 0xa0, 0xa8, 0x54, 0x84, 0x88, 0x44,
0x84, 0x88, 0x21, 0x15, 0x11, 0xa8, 0x55, 0x55,
0xa1, 0x55, 0x55, 0x98, 0x15, 0x55, 0x2a, 0x85,
0x55, 0x4a, 0xa1, 0x55, 0x4a, 0xa8, 0x55, 0x52,
0xaa, 0x15, 0x54, 0xaa, 0x15, 0x55, 0x28, 0x55,
0x55, 0x41, 0x55, 0x55, 0x55, 0x55};
 
// gps CH
unsigned char ce7[54] = {0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54,
0x81, 0x55, 0x54, 0x85, 0x55, 0x54, 0x81, 0x45,
0x55, 0x28, 0x21, 0x55, 0x01, 0xa8, 0x54, 0x88,
0xa1, 0x54, 0x88, 0x98, 0x14, 0xa8, 0x2a, 0x84,
0x88, 0x4a, 0xa0, 0x88, 0x4a, 0xa8, 0x11, 0x52,
0xaa, 0x15, 0x54, 0xaa, 0x15, 0x55, 0x28, 0x55,
0x55, 0x41, 0x55, 0x55, 0x55, 0x55};
 
learn_char(224, ce0);
learn_char(225, ce1);
learn_char(226, ce2);
learn_char(227, ce3);
learn_char(228, ce4);
learn_char(229, ce5);
learn_char(230, ce6);
learn_char(231, ce7);
#endif
 
#if WRITECHARS == 232
// small arrow down
unsigned char ce8[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x0a, 0xaa,
0xa0, 0x52, 0xaa, 0x85, 0x54, 0xaa, 0x15, 0x55,
0x28, 0x55, 0x55, 0x41, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// big arrow down
unsigned char ce9[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x00, 0x00, 0x00,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x00, 0x28,
0x00, 0x55, 0x28, 0x55, 0x40, 0x28, 0x01, 0x2a,
0xaa, 0xa8, 0x4a, 0xaa, 0xa1, 0x52, 0xaa, 0x85,
0x54, 0xaa, 0x15, 0x55, 0x28, 0x55};
 
// small arrow up
unsigned char cea[54] = {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x41, 0x55, 0x55, 0x28, 0x55, 0x54,
0xaa, 0x15, 0x52, 0xaa, 0x85, 0x0a, 0xaa, 0xa0,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
// big arrow up
unsigned char ceb[54] = {0x55, 0x28, 0x55, 0x54, 0xaa, 0x15, 0x52, 0xaa,
0x85, 0x4a, 0xaa, 0xa1, 0x2a, 0xaa, 0xa8, 0x40,
0x28, 0x01, 0x55, 0x28, 0x55, 0x00, 0x28, 0x00,
0x2a, 0xaa, 0xa8, 0x2a, 0xaa, 0xa8, 0x00, 0x00,
0x00, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
0x55, 0x55, 0x55, 0x55, 0x55, 0x55};
 
learn_char(232, ce8);
learn_char(233, ce9);
learn_char(234, cea);
learn_char(235, ceb);
#endif
/C-OSD/trunk/characters.h
0,0 → 1,24
/****************************************************************************
* Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje *
* admiralcascade@gmail.com *
* Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
/**
* put the above chars in the memory of the MAX7456
*/
void learn_all_chars_pgm(void);
/C-OSD/trunk/config.c
29,12 → 29,6
#include "buttons.h"
#include "usart1.h"
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
// store more fixed strings in progmen
char ON[] PROGMEM = "ON ";
char OFF[] PROGMEM = "OFF";
 
uint8_t EEMEM ee_checkbyte1 = CHECKBYTE1;
uint8_t EEMEM ee_checkbyte2 = CHECKBYTE2;
uint16_t EEMEM ee_cal_ampere = 512;
42,6 → 36,12
uint8_t EEMEM ee_COSD_FLAGS;
uint8_t EEMEM ee_COSD_DISPLAYMODE = 0;
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
// store more fixed strings in progmen
char ON[] PROGMEM = "ON ";
char OFF[] PROGMEM = "OFF";
 
// store init strings in progmem
const char init_0[] PROGMEM = "C-OSD Initialisation";
const char init_1[] PROGMEM = "FC only Mode";
52,10 → 52,6
const char init_6[] PROGMEM = "Max Voltage :";
const char* init_point[] PROGMEM = {init_0, init_1, init_2, init_3, init_4, init_5, init_6};
 
const char ee_message0[] PROGMEM = "Loading Data from EEPROM";
const char ee_message1[] PROGMEM = "No saved Data in EEPROM";
const char* ee_msg[] PROGMEM = {ee_message0, ee_message1};
 
// video modes
const char VM_PAL[] PROGMEM = "PAL ";
const char VM_NTSC[] PROGMEM = "NTSC";
77,20 → 73,32
 
const displaymode_t * mode;
 
#endif
 
const char ee_message0[] PROGMEM = "Loading Data from EEPROM";
const char ee_message1[] PROGMEM = "No saved Data in EEPROM";
const char* ee_msg[] PROGMEM = {ee_message0, ee_message1};
 
/**
* read data saved in eeprom, print out message if <verbose> is set
*/
void get_eeprom(uint8_t verbose) {
if (eeprom_read_byte(&ee_checkbyte1) == CHECKBYTE1 && eeprom_read_byte(&ee_checkbyte2) == CHECKBYTE2) {
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
if (verbose) write_ascii_string_pgm(2, 9, ee_msg[0]); // Loading data
#endif
COSD_FLAGS = eeprom_read_byte(&ee_COSD_FLAGS);
COSD_DISPLAYMODE = eeprom_read_byte(&ee_COSD_DISPLAYMODE);
//if (verbose) write_ndigit_number_u(23, 11, COSD_DISPLAYMODE, 10, 0);
} else {
if (verbose) write_ascii_string_pgm(2, 9, ee_msg[1]); // No data found
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
if (verbose) write_ascii_string_pgm(2, 9, ee_msg[1]); // Loading data
#endif
}
}
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
/**
* save data to eeprom
*/
/C-OSD/trunk/default/Makefile
35,7 → 35,7
 
 
## Objects that must be built in order to link
OBJECTS = main.o usart1.o max7456_software_spi.o osd_helpers.o config.o spi.o buttons.o ppm.o osd_ncmode_default.o osd_ncmode_minimal.o osd_fcmode_default.o
OBJECTS = main.o usart1.o max7456_software_spi.o osd_helpers.o config.o spi.o buttons.o ppm.o osd_ncmode_default.o osd_ncmode_minimal.o osd_fcmode_default.o characters.o
 
## Objects explicitly added by the user
LINKONLYOBJECTS =
67,15 → 67,18
 
ppm.o: ../ppm.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
osd_ncmode_default.o: ../osd_ncmode_default.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
osd_ncmode_minimal.o: ../osd_ncmode_minimal.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
osd_fcmode_default.o: ../osd_fcmode_default.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
characters.o: ../characters.c
$(CC) $(INCLUDES) $(CFLAGS) -c $<
 
##Link
$(TARGET): $(OBJECTS)
/C-OSD/trunk/default/dist.sh
1,26 → 1,26
#!/bin/sh
#/****************************************************************************
# * Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje *
# * admiralcascade@gmail.com *
# * Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU General Public License as published by *
# * the Free Software Foundation; either version 2 of the License. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU General Public License for more details. *
# * *
# * You should have received a copy of the GNU General Public License *
# * along with this program; if not, write to the *
# * Free Software Foundation, Inc., *
# * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
#/****************************************************************************
# * Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje *
# * admiralcascade@gmail.com *
# * Project-URL: http://www.mylifesucks.de/oss/c-osd/ *
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU General Public License as published by *
# * the Free Software Foundation; either version 2 of the License. *
# * *
# * This program is distributed in the hope that it will be useful, *
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
# * GNU General Public License for more details. *
# * *
# * You should have received a copy of the GNU General Public License *
# * along with this program; if not, write to the *
# * Free Software Foundation, Inc., *
# * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
# ****************************************************************************/
 
DATE=`date +%Y%m%d-%H%M`
DATE="20090604-1350"
#DATE="20090604-1350"
REVISION=`svn info .. | awk '$1 == "Revision:" {print $2}'`
 
#NCMODES=`find ../ -name osd_ncmode_\*.c| sed 's/..\///g'`
29,7 → 29,7
# build all the NCMODE files
#for CURRMODE in $NCMODES; do
# CURRSHORTMODE=`echo $CURRMODE | sed -e 's/osd_ncmode_//g' -e 's/.c//g'`
#
#
# # build pal hex
# export CFLAGS="-DBUILDDATE=\\\"${DATE}\\\" -DOSD_NCMODE=\\\"${CURRMODE}\\\""
# make clean
85,24 → 85,21
mv C-OSD.hex C-OSD-${DATE}-ntsc-fconly.hex
 
 
# buil all character files
CHARFILES="112 128 136 144 152 160 168 176 184 192 200 208 216 224 232"
for i in $CHARFILES; do
TILL=`echo $i + 7 | bc`
# buil character files
# PAL
make clean
export CFLAGS="-DWRITECHARS=1 -DBUILDDATE=\\\"${DATE}\\\" "
make
mv C-OSD.hex C-OSD-characters-pal.hex
 
# PAL
make clean
export CFLAGS="-DWRITECHARS=${i} -DBUILDDATE=\\\"${DATE}\\\" "
make
mv C-OSD.hex C-OSD-characters-${i}-${TILL}-pal.hex
# and NTSC as well
make clean
export CFLAGS="-DNTSC=1 -DWRITECHARS=1 -DBUILDDATE=\\\"${DATE}\\\" "
make
mv C-OSD.hex C-OSD-characters-ntsc.hex
 
# and NTSC ones as well
make clean
export CFLAGS="-DNTSC=1 -DWRITECHARS=${i} -DBUILDDATE=\\\"${DATE}\\\" "
make
mv C-OSD.hex C-OSD-characters-${i}-${TILL}-ntsc.hex
done
 
 
# clean up
make clean
 
/C-OSD/trunk/main.c
37,10 → 37,12
#include "spi.h"
#include "buttons.h"
#include "ppm.h"
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
#include "osd_ncmode_default.h"
#include "osd_ncmode_minimal.h"
#include "osd_fcmode_default.h"
 
#if WRITECHARS != -1
#include "characters.h"
#endif
 
/* TODO:
81,6 → 83,8
// Flags
uint8_t COSD_FLAGS = 0, COSD_FLAGS2 = 0;
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
// stats for after flight
int16_t max_Altimeter = 0;
uint8_t min_UBat = 255;
126,7 → 130,6
/* ##########################################################################
* Different display mode function pointers
* ##########################################################################*/
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
const char str_1[] PROGMEM = "default";
const char str_2[] PROGMEM = "minimal";
 
186,15 → 189,32
* MAIN
* ##########################################################################*/
int main(void) {
// set up FLAGS
COSD_FLAGS = 0;
#if NTSC
COSD_FLAGS |= COSD_FLAG_NTSC;
#endif
#if HUD
COSD_FLAGS |= COSD_FLAG_HUD;
#endif
#if ARTHORIZON
COSD_FLAGS |= COSD_FLAG_ARTHORIZON;
#endif
#if BIGVARIO
COSD_FLAGS |= COSD_FLAG_BIGARIO;
#endif
#if STATS
COSD_FLAGS |= COSD_FLAG_STATS;
#endif
#if WARNINGS
COSD_FLAGS |= COSD_FLAG_WARNINGS;
#endif
#if FCONLY
COSD_FLAGS |= COSD_FLAG_FCMODE;
#endif
 
// set up FLAGS, compiler should flatten this one
COSD_FLAGS = (NTSC << 0);
COSD_FLAGS |= (HUD << 1);
COSD_FLAGS |= (ARTHORIZON << 2);
COSD_FLAGS |= (BIGVARIO << 3);
COSD_FLAGS |= (STATS << 4);
COSD_FLAGS |= (WARNINGS << 5);
 
 
// set up Atmega162 Ports
DDRA |= (1 << PA1); // PA1 output (/CS)
MAX_CS_HIGH
232,7 → 252,7
#if (WRITECHARS != -1)
// DISABLE display (VM0)
spi_send_byte(0x00, 0b00000000);
#include "characters.c"
learn_all_chars_pgm();
#else
// read out config for NTSC/PAL distinguishing
get_eeprom(0);
299,7 → 319,7
 
#if ALLCHARSDEBUG | (WRITECHARS != -1)
clear();
write_all_chars();
write_all_chars();
LED1_ON
LED2_ON
LED3_ON
/C-OSD/trunk/main.h
31,11 → 31,7
#define ALLCHARSDEBUG 0 // set to 1 and flash firmware to see all chars
 
#ifndef WRITECHARS // if WRITECHARS not set via makefile
#define WRITECHARS -1 // set to XXX and flash firmware to write new char
// enables the allchars as well to see results
// currently in use:
// 112, 128, 136, 144, 152, 160, 168, 176, 184
// 192, 200, 208, 216, 224, 232
#define WRITECHARS -1 // set to 1 and flash firmware to write all chars
#endif
 
#ifndef NTSC // if NTSC is not thet via makefile
72,6 → 68,7
#define COSD_FLAG_STATS 16
#define COSD_FLAG_WARNINGS 32
#define COSD_FLAG_STROMVOLT 64
#define COSD_FLAG_FCMODE 128
 
/* ##########################################################################
* FLAGS only usable during runtime (not saved)
/C-OSD/trunk/max7456_software_spi.c
21,6 → 21,7
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#include "main.h"
#include "max7456_software_spi.h"
 
/* ##########################################################################
56,6 → 57,7
MAX_CS_HIGH
}
 
 
/**
* write a <character> to <address> of MAX7456 display memory
*/
65,7 → 67,41
spi_send_byte(0x07, character); // DMDI
}
 
 
/**
* clear display memory
* (also sets 8bit mode)
*/
void clear(void) {
/*uint16_t memory_address = 0;
for (unsigned int a = 0; a < 480; a++) {
write_char(memory_address++, 0);
}*/
// clear all display-mem (DMM)
spi_send_byte(0x04, 0b01000100);
 
// clearing takes 12uS according to maxim so lets wait longer
_delay_us(20);
}
 
 
/**
* for testing write all chars to screen
*/
void write_all_chars() {
uint16_t x = 3, y = 2, t = 0;
while (t < 256) {
write_char(x++ + y*30, t++);
if (x > 25) {
y++;
x = 3;
}
}
}
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
/**
* write a character <attribute> to <address> of MAX7456 display memory
*/
void write_char_att(uint16_t address, char attribute) {
93,19 → 129,26
}
 
/**
* clear display memory
* (also sets 8bit mode)
* let the MAX7456 learn a new character at <number>
* with <data>.
*/
void clear(void) {
/*uint16_t memory_address = 0;
for (unsigned int a = 0; a < 480; a++) {
write_char(memory_address++, 0);
}*/
// clear all display-mem (DMM)
spi_send_byte(0x04, 0b01000100);
void learn_char(uint8_t number, unsigned char* data) {
// select character to write (CMAH)
spi_send_byte(0x09, number);
 
// clearing takes 12uS according to maxim so lets wait longer
_delay_us(20);
for (uint8_t i = 0; i < 54; i++) {
// select 4pixel byte of char (CMAL)
spi_send_byte(0x0A, i);
 
// write 4pixel byte of char (CMDI)
spi_send_byte(0x0B, data[i]);
}
 
// write to the NVM array from the shadow RAM (CMM)
spi_send_byte(0x08, 0b10100000);
 
// according to maxim writing to nvram takes about 12ms, lets wait longer
_delay_ms(120);
}
 
/**
320,43 → 363,6
}
 
/**
* for testing write all chars to screen
*/
void write_all_chars() {
uint16_t x = 3, y = 2, t = 0;
while (t < 256) {
write_char_xy(x++, y, t++);
if (x > 25) {
y++;
x = 3;
}
}
}
 
/**
* let the MAX7456 learn a new character at <number>
* with <data>.
*/
void learn_char(uint8_t number, unsigned char* data) {
// select character to write (CMAH)
spi_send_byte(0x09, number);
 
for (uint8_t i = 0; i < 54; i++) {
// select 4pixel byte of char (CMAL)
spi_send_byte(0x0A, i);
 
// write 4pixel byte of char (CMDI)
spi_send_byte(0x0B, data[i]);
}
 
// write to the NVM array from the shadow RAM (CMM)
spi_send_byte(0x08, 0b10100000);
 
// according to maxim writing to nvram takes about 12ms, lets wait longer
_delay_ms(120);
}
 
/**
* wirte a <position> at <x>/<y> assuming it is a gps position for long-/latitude
*/
void write_gps_pos(uint8_t x, uint8_t y, int32_t position) {
375,3 → 381,5
write_ndigit_number_u(x + 8, y, (uint16_t) position, 100, 1);
write_char_xy(x + 11, y, 0xD0); // degree symbol
}
 
#endif
/C-OSD/trunk/osd_helpers.c
24,6 → 24,7
#include "max7456_software_spi.h"
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
/* ##########################################################################
* compass stuff
* ##########################################################################*/
/C-OSD/trunk/osd_helpers.h
18,14 → 18,6
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
#ifndef ALLCHARSDEBUG
#define ALLCHARSDEBUG = 0
#endif
 
#ifndef WRITECHARS
#define WRITECHARS = 0
#endif
 
/* ##########################################################################
* compass stuff
* ##########################################################################*/
/C-OSD/trunk/ppm.c
24,6 → 24,8
#include "main.h"
#include "max7456_software_spi.h" // clearing
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
volatile uint16_t old_timer1 = 0, ppm = 0;
 
/**
66,3 → 68,5
//write_ndigit_number_u(2, 3, valid_ppm_to_go, 100, 0); // debug
//write_ndigit_number_u(2, 4, COSD_FLAGS, 100, 0); // debug
}
 
#endif
/C-OSD/trunk/spi.c
23,6 → 23,8
#include "spi.h"
#include "main.h"
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
volatile uint16_t icnt = 0;
volatile uint8_t request_count = 0;
volatile uint8_t spi_ready = 1;
97,3 → 99,5
void spi_send_next() {
SPDR = 'A' + request_count;
}
 
#endif
/C-OSD/trunk/usart1.c
24,6 → 24,8
#include "main.h"
#include "usart1.h"
 
#if !(ALLCHARSDEBUG|(WRITECHARS != -1))
 
volatile uint8_t rxd_buffer_locked = 0;
volatile uint8_t rxd_buffer[RXD_BUFFER_LEN];
volatile uint8_t txd_buffer[TXD_BUFFER_LEN];
250,3 → 252,5
// disable TXD pin again
usart1_DisableTXD();
}
 
#endif