diff --git a/Arduino_Libs/SSD1306Ascii-master/.gitattributes b/Arduino_Libs/SSD1306Ascii-master/.gitattributes new file mode 100644 index 0000000..bdb0cab --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/Arduino_Libs/SSD1306Ascii-master/.gitignore b/Arduino_Libs/SSD1306Ascii-master/.gitignore new file mode 100644 index 0000000..96374c4 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/.gitignore @@ -0,0 +1,43 @@ +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ========================= +# Operating System Files +# ========================= + +# OSX +# ========================= + +.DS_Store +.AppleDouble +.LSOverride + +# Thumbnails +._* + +# Files that might appear on external disk +.Spotlight-V100 +.Trashes + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk diff --git a/Arduino_Libs/SSD1306Ascii-master/README.md b/Arduino_Libs/SSD1306Ascii-master/README.md new file mode 100644 index 0000000..1748008 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/README.md @@ -0,0 +1,25 @@ +SSD1306Ascii is an unbuffered character only library for small OLED +displays like the Adafruit 1.3" and 0.96" Monochrome displays. + +Many low cost OLED displays with SSD1306 controllers are available on ebay. + +SSD1306Ascii runs on Arduino AVR boards, Arduino Due and many other +Arduino style boards that have the SPI or Wire library. + +The SSD1306Ascii library only requires a few bytes of RAM. + +Here is memory use for the SPI "Hello world!" example with +scrolling disabled: + +Sketch uses 2,938 bytes (9%) of program storage space. +Maximum is 32,256 bytes. + +Global variables use 58 bytes (2%) of dynamic memory, leaving 1,995 +bytes for local variables. Maximum is 2,048 bytes. + + + + + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/5x7fonts.pdf b/Arduino_Libs/SSD1306Ascii-master/doc/5x7fonts.pdf new file mode 100644 index 0000000..03cce02 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/5x7fonts.pdf differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/MainPage/SSD1306mainpage.h b/Arduino_Libs/SSD1306Ascii-master/doc/MainPage/SSD1306mainpage.h new file mode 100644 index 0000000..d442940 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/MainPage/SSD1306mainpage.h @@ -0,0 +1,252 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ + +/** +@mainpage Arduino %SSD1306Ascii Library +
Copyright © 2015 by William Greiman +
+ +@section Intro Introduction + +This library is in early development so the API and features may change. +The library is likely to have bugs and be unstable. The purpose for this +release is to get feedback for future development. + +The Arduino %SSD1306Ascii Library is designed to display text on small +monochrome OLED displays. These displays are available on ebay at +very low cost. + +The library is being developed using 0.96" and 1.3" displays with SSD1306 +controllers. An initialization sequence for SH1106 controllers is included. + +There are many existing full featured graphics libraries for these displays. +The goal for this library is to only display text with minimum use of +RAM and flash. + +Here are key design goals: + +Small size is the highest priority. Speed and features are lower priority. + +Support multiple fonts. More than 40 fonts are included with this release. +Fonts are only loaded if you reference them. + +Support fixed width and proportional fonts. + +Optionally magnify fonts by a factor of two. + +Support 128x32 and 128x64 displays with I2C and SPI interfaces. + +Use the standard Wire library for I2C. An optimization option is +available to increase I2C performance. + +Use the standard SPI library for hardware SPI. An optimization option is +available for AVR to increase performance and reduce code size. + +Provide software SPI so the display can be connected to any digital pins. + +@section Install Installation + +You can manually install the %SSD1306Ascii library by copying the +%SSD1306Ascii folder from the download package to the Arduino libraries +folder in your sketch folder. + +See the Manual installation section of this guide. + +http://arduino.cc/en/Guide/Libraries + +The library will be added to the Arduino Library Manager soon. + +@section Scroll Scroll Mode + +Scroll mode causes the display to scroll up when a new line is written to +the display. + +Scroll mode is configured by editing SSD1306Ascii.h. + +If INCLUDE_SCROLLING is defined to be zero, new line will not scroll +the display and code for scrolling will not be included. This option +will save some code space and one byte of RAM. + +If INCLUDE_SCROLLING is defined to be one, the scroll feature will +be included but not enabled. A call to setScroll() will be required +to enable scrolling. + +If INCLUDE_SCROLLING is defined to be two, the scroll feature will +be included and enabled. A call to setScroll() will be required +to disable scrolling. + +Scroll mode is only supported on 64 pixel high displays. + +Call setScroll() to enable or disable scroll mode. + +Calls to setCursor(), setRow() and other cursor positioning functions +will be unpredictable in scroll mode. + +The clear() call will erase the display and start at the top of the display. + +See the ScrollSpi and ScrollWire examples. + +@section Fonts Fonts + +Fonts are defined by .h files in the SSD1306Ascii/src/fonts folder. The fonts +folder contains all fonts from openGLCD plus a number of extra fonts. + +To select a font, call the setFont() member function like this. +@code + // Select the font used in the Adafruit GFX Graphics Library. + oled.setFont(Adafruit5x7); +@endcode +Only fonts referenced in your program will be loaded into flash. + +Here are symbols for fixed width fonts. +@verbatim +Adafruit5x7 +cp437font8x8 +fixed_bold10x15 +fixednums15x31 +fixednums7x15 +fixednums8x16 +font5x7 +font8x8 +lcd5x7 +lcdnums12x16 +lcdnums14x24 +newbasic3x5 +Stang5x7 +System5x7 +Wendy3x5 +X11fixed7x14 +X11fixed7x14B +ZevvPeep8x16 +@endverbatim + +Here are symbols for proportional fonts. Note that Iain5x7 and utf8font10x16 +are proportional. +@verbatim +Arial14 +Arial_bold_14 +CalBlk36 +CalLite24 +Callibri10 +Callibri11 +Callibri11_bold +Callibri11_italic +Callibri14 +Callibri15 +Cooper19 +Cooper21 +Cooper26 +Corsiva_12 +Iain5x7 +Roosewood22 +Roosewood26 +TimesNewRoman13 +TimesNewRoman13_italic +TimesNewRoman16 +TimesNewRoman16_bold +TimesNewRoman16_italic +utf8font10x16 +Verdana12 +Verdana12_bold +Verdana12_italic +Verdana_digits_24 +@endverbatim + +See allFonts.h for more information on adding a font. + +The set2X() call doubles the size of characters. Each pixel becomes a +2x2 square. To return to standard size characters call set1X(); +@code + oled.set2X(); + // Display double height and width characters. + + ... + + // Return to standard size. + oled.set1X(); +@endcode + + +@section config SSD1306Ascii Configuration + +Several configuration options may be changed by editing the SSD1306Ascii.h +file in the SSD1306Ascii/src folder. + +These options are at the start of the file. + +@code +// Configuration options. +/* Set Scrolling mode for new line. + * + * If INCLUDE_SCROLLING is defined to be zero, new line will not scroll + * the display and code for scrolling will not be included. This option + * will save some code space and one byte of RAM. + * + * If INCLUDE_SCROLLING is defined to be one, the scroll feature will + * be included but not enabled. A call to setScroll() will be required + * to enable scrolling. + * + * If INCLUDE_SCROLLING is defined to be two, the scroll feature will + * be included and enabled. A call to setScroll() will be required + * to disable scrolling. + */ +#define INCLUDE_SCROLLING 1 + +/* Use larger faster I2C code. */ +#define OPTIMIZE_I2C 1 + +/* Define OPTIMIZE_AVR_SPI non-zero for a faster smaller AVR SPI code. + * Warning AVR will not use SPI transactions. + */ +#define OPTIMIZE_AVR_SPI 1 +@endcode + +@section Documentation Documentation + +Please see the Classes tab for more information. + +For I2C displays using the wire library Wire see the SSD1306AsciiWire class. + +For I2C displays using the small AvrI2c class see the SSD1306AsciiAvrI2c class. + +For SPI displays connected to the Arduino hardware SPI pins see the +SSD1306AsciiSpi class. + +See the SSD1306AsciiSoftSpi class for use of Software SPI. + + +@section comment Bugs and Comments + +If you wish to report bugs or have comments, open an issue on GitHub or +send email to fat16lib@sbcglobal.net. If possible, include a simple program +that illustrates the bug or problem. + + +@section ExampleS Examples + +A number of examples are provided in the SSD1306Ascii/examples folder. + +To access these examples from the Arduino development environment +go to: %File -> Examples -> %SSD1306Ascii -> \ + +Compile and upload to your Arduino to run the example. + + + */ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/SSD1306Ascii.html b/Arduino_Libs/SSD1306Ascii-master/doc/SSD1306Ascii.html new file mode 100644 index 0000000..a01f20b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/SSD1306Ascii.html @@ -0,0 +1,10 @@ + + +A web page that points a browser to a different page + + + + +Your browser didn't automatically redirect. Open html/index.html manually. + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h.html new file mode 100644 index 0000000..d375f0f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h.html @@ -0,0 +1,234 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/utility/AvrI2c.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
AvrI2c.h File Reference
+
+
+ +

Small fast I2C class for AVR. +More...

+
#include <Arduino.h>
+
+Include dependency graph for AvrI2c.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + +
+
+ + + + +

+Classes

class  AvrI2c
 Hardware I2C master class for AVR. More...
 
+ + + + + + + + + + + + + + + +

+Variables

uint8_t const I2C_READ = 1
 
uint8_t const I2C_WRITE = 0
 
uint8_t const TWSR_MRX_ADR_ACK = 0x40
 
uint8_t const TWSR_MTX_ADR_ACK = 0x18
 
uint8_t const TWSR_MTX_DATA_ACK = 0x28
 
uint8_t const TWSR_REP_START = 0x10
 
uint8_t const TWSR_START = 0x08
 
+

Detailed Description

+

Small fast I2C class for AVR.

+

Variable Documentation

+ +

◆ I2C_READ

+ +
+
+ + + + +
uint8_t const I2C_READ = 1
+
+

Bit to or with address for read start and read restart

+ +
+
+ +

◆ I2C_WRITE

+ +
+
+ + + + +
uint8_t const I2C_WRITE = 0
+
+

Bit to or with address for write start and write restart

+ +
+
+ +

◆ TWSR_MRX_ADR_ACK

+ +
+
+ + + + +
uint8_t const TWSR_MRX_ADR_ACK = 0x40
+
+

slave address plus read bit transmitted, ACK received

+ +
+
+ +

◆ TWSR_MTX_ADR_ACK

+ +
+
+ + + + +
uint8_t const TWSR_MTX_ADR_ACK = 0x18
+
+

slave address plus write bit transmitted, ACK received

+ +
+
+ +

◆ TWSR_MTX_DATA_ACK

+ +
+
+ + + + +
uint8_t const TWSR_MTX_DATA_ACK = 0x28
+
+

data transmitted, ACK received

+ +
+
+ +

◆ TWSR_REP_START

+ +
+
+ + + + +
uint8_t const TWSR_REP_START = 0x10
+
+

repeated start condition transmitted

+ +
+
+ +

◆ TWSR_START

+ +
+
+ + + + +
uint8_t const TWSR_START = 0x08
+
+

start condition transmitted

+ +
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__dep__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__dep__incl.png new file mode 100644 index 0000000..ae86bb5 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__dep__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__incl.png new file mode 100644 index 0000000..dfde53c Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_avr_i2c_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h.html new file mode 100644 index 0000000..376c5ec --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h.html @@ -0,0 +1,110 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/utility/DigitalOutput.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
DigitalOutput.h File Reference
+
+
+ +

Faster version of digitalWrite(). +More...

+
#include <Arduino.h>
+
+Include dependency graph for DigitalOutput.h:
+
+
+ + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + +
+
+ + + + +

+Classes

class  DigitalOutput
 Faster version of digitalWrite(). More...
 
+

Detailed Description

+

Faster version of digitalWrite().

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__dep__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__dep__incl.png new file mode 100644 index 0000000..fd45f14 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__dep__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__incl.png new file mode 100644 index 0000000..f46d982 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_digital_output_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h.html new file mode 100644 index 0000000..8d2e19d --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h.html @@ -0,0 +1,285 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306Ascii.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306Ascii.h File Reference
+
+
+ +

Base class for ssd1306 displays. +More...

+
#include "Arduino.h"
+#include "SSD1306init.h"
+#include "fonts/allFonts.h"
+
+Include dependency graph for SSD1306Ascii.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + +
+
+ + + + +

+Classes

class  SSD1306Ascii
 SSD1306 base class. More...
 
+ + + + + + + + + + + + + + + +

+Macros

#define INCLUDE_SCROLLING   1
 
#define OPTIMIZE_AVR_SPI   1
 
#define OPTIMIZE_I2C   1
 
#define SDD1306_ASCII_VERSION   1.1.0
 
#define SSD1306_MODE_CMD   0
 
#define SSD1306_MODE_RAM   1
 
#define SSD1306_MODE_RAM_BUF   2
 
+ + + + +

+Functions

void oledReset (uint8_t rst)
 Reset the display controller. More...
 
+

Detailed Description

+

Base class for ssd1306 displays.

+

Macro Definition Documentation

+ +

◆ INCLUDE_SCROLLING

+ +
+
+ + + + +
#define INCLUDE_SCROLLING   1
+
+

Set Scrolling mode for new line.

+

If INCLUDE_SCROLLING is defined to be zero, new line will not scroll the display and code for scrolling will not be included. This option will save some code space and one byte of RAM.

+

If INCLUDE_SCROLLING is defined to be one, the scroll feature will be included but not enabled. A call to setScroll() will be required to enable scrolling.

+

If INCLUDE_SCROLLING is defined to be two, the scroll feature will be included and enabled. A call to setScroll() will be required to disable scrolling.

+ +
+
+ +

◆ OPTIMIZE_AVR_SPI

+ +
+
+ + + + +
#define OPTIMIZE_AVR_SPI   1
+
+

Define OPTIMIZE_AVR_SPI non-zero for a faster smaller AVR SPI code. Warning AVR will not use SPI transactions.

+ +
+
+ +

◆ OPTIMIZE_I2C

+ +
+
+ + + + +
#define OPTIMIZE_I2C   1
+
+

Use larger faster I2C code.

+ +
+
+ +

◆ SDD1306_ASCII_VERSION

+ +
+
+ + + + +
#define SDD1306_ASCII_VERSION   1.1.0
+
+

SSD1306Ascii version

+ +
+
+ +

◆ SSD1306_MODE_CMD

+ +
+
+ + + + +
#define SSD1306_MODE_CMD   0
+
+

Write to Command register.

+ +
+
+ +

◆ SSD1306_MODE_RAM

+ +
+
+ + + + +
#define SSD1306_MODE_RAM   1
+
+

Write one byte to display RAM.

+ +
+
+ +

◆ SSD1306_MODE_RAM_BUF

+ +
+
+ + + + +
#define SSD1306_MODE_RAM_BUF   2
+
+

Write to display RAM with possible buffering.

+ +
+
+

Function Documentation

+ +

◆ oledReset()

+ +
+
+ + + + + +
+ + + + + + + + +
void oledReset (uint8_t rst)
+
+inline
+
+ +

Reset the display controller.

+
Parameters
+ + +
[in]rstReset pin number.
+
+
+ +
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__dep__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__dep__incl.png new file mode 100644 index 0000000..a0659db Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__dep__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__incl.png new file mode 100644 index 0000000..df360ea Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h.html new file mode 100644 index 0000000..6c5e0f3 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h.html @@ -0,0 +1,106 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306AsciiAvrI2c.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306AsciiAvrI2c.h File Reference
+
+
+ +

Class for I2C displays using AvrI2c. +More...

+
#include "utility/AvrI2c.h"
+#include "SSD1306Ascii.h"
+
+Include dependency graph for SSD1306AsciiAvrI2c.h:
+
+
+ + + + + +
+
+ + + + +

+Classes

class  SSD1306AsciiAvrI2c
 Class for I2C displays on AVR. More...
 
+

Detailed Description

+

Class for I2C displays using AvrI2c.

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h__incl.png new file mode 100644 index 0000000..27414ef Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_avr_i2c_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h.html new file mode 100644 index 0000000..0e8c2eb --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h.html @@ -0,0 +1,106 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306AsciiSoftSpi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306AsciiSoftSpi.h File Reference
+
+
+ +

Class for software SPI displays. +More...

+
#include "SSD1306Ascii.h"
+#include "utility/DigitalOutput.h"
+
+Include dependency graph for SSD1306AsciiSoftSpi.h:
+
+
+ + + + + +
+
+ + + + +

+Classes

class  SSD1306AsciiSoftSpi
 Class for SPI displays using software SPI. More...
 
+

Detailed Description

+

Class for software SPI displays.

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h__incl.png new file mode 100644 index 0000000..8e1c4c5 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_soft_spi_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h.html new file mode 100644 index 0000000..d5fac76 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h.html @@ -0,0 +1,105 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306AsciiSpi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306AsciiSpi.h File Reference
+
+
+ +

Class for hardware SPI displays. +More...

+
#include <SPI.h>
+#include "SSD1306Ascii.h"
+
+Include dependency graph for SSD1306AsciiSpi.h:
+
+
+ + + + +
+
+ + + + +

+Classes

class  SSD1306AsciiSpi
 Class for SPI displays on the hardware SPI bus. More...
 
+

Detailed Description

+

Class for hardware SPI displays.

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h__incl.png new file mode 100644 index 0000000..0a15ea7 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_spi_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h.html new file mode 100644 index 0000000..97b388d --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h.html @@ -0,0 +1,105 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306AsciiWire.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306AsciiWire.h File Reference
+
+
+ +

Class for I2C displays using Wire. +More...

+
#include <Wire.h>
+#include "SSD1306Ascii.h"
+
+Include dependency graph for SSD1306AsciiWire.h:
+
+
+ + + + +
+
+ + + + +

+Classes

class  SSD1306AsciiWire
 Class for I2C displays using Wire. More...
 
+

Detailed Description

+

Class for I2C displays using Wire.

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h__incl.png new file mode 100644 index 0000000..5e4c783 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306_ascii_wire_8h__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h.html new file mode 100644 index 0000000..9da36bd --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h.html @@ -0,0 +1,792 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/SSD1306init.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
SSD1306init.h File Reference
+
+
+ +

Display controller initialization commands. +More...

+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + + + + +
+
+ + + + +

+Classes

struct  DevType
 Device initialization structure. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define MEM_TYPE
 
#define SH1106_PUMP_OFF   0X8A
 
#define SH1106_PUMP_ON   0X8B
 
#define SH1106_SET_PUMP_MODE   0XAD
 
#define SH1106_SET_PUMP_VOLTAGE   0X30
 
#define SSD1306_CHARGEPUMP   0x8D
 
#define SSD1306_COMSCANDEC   0xC8
 
#define SSD1306_COMSCANINC   0xC0
 
#define SSD1306_DISPLAYALLON   0xA5
 
#define SSD1306_DISPLAYALLON_RESUME   0xA4
 
#define SSD1306_DISPLAYOFF   0xAE
 
#define SSD1306_DISPLAYON   0xAF
 
#define SSD1306_INVERTDISPLAY   0xA7
 
#define SSD1306_MEMORYMODE   0x20
 
#define SSD1306_NOP   0XE3
 
#define SSD1306_NORMALDISPLAY   0xA6
 
#define SSD1306_SEGREMAP   0xA0
 
#define SSD1306_SETCOMPINS   0xDA
 
#define SSD1306_SETCONTRAST   0x81
 
#define SSD1306_SETDISPLAYCLOCKDIV   0xD5
 
#define SSD1306_SETDISPLAYOFFSET   0xD3
 
#define SSD1306_SETHIGHCOLUMN   0x10
 
#define SSD1306_SETLOWCOLUMN   0x00
 
#define SSD1306_SETMULTIPLEX   0xA8
 
#define SSD1306_SETPRECHARGE   0xD9
 
#define SSD1306_SETSTARTLINE   0x40
 
#define SSD1306_SETSTARTPAGE   0XB0
 
#define SSD1306_SETVCOMDETECT   0xDB
 
+ + + + + + + + + + + + + + + + + +

+Variables

static const DevType MEM_TYPE Adafruit128x32
 
static const uint8_t MEM_TYPE Adafruit128x32init []
 
static const DevType MEM_TYPE Adafruit128x64
 
static const uint8_t MEM_TYPE Adafruit128x64init []
 
static const DevType MEM_TYPE MicroOLED64x48
 
static const uint8_t MEM_TYPE MicroOLED64x48init []
 
static const DevType MEM_TYPE SH1106_128x64
 
static const uint8_t MEM_TYPE SH1106_128x64init []
 
+

Detailed Description

+

Display controller initialization commands.

+

Macro Definition Documentation

+ +

◆ MEM_TYPE

+ +
+
+ + + + +
#define MEM_TYPE
+
+

Handle AVR flash addressing.

+ +
+
+ +

◆ SH1106_PUMP_OFF

+ +
+
+ + + + +
#define SH1106_PUMP_OFF   0X8A
+
+

Second byte charge pump off.

+ +
+
+ +

◆ SH1106_PUMP_ON

+ +
+
+ + + + +
#define SH1106_PUMP_ON   0X8B
+
+

Second byte charge pump on.

+ +
+
+ +

◆ SH1106_SET_PUMP_MODE

+ +
+
+ + + + +
#define SH1106_SET_PUMP_MODE   0XAD
+
+

First byte of set charge pump mode

+ +
+
+ +

◆ SH1106_SET_PUMP_VOLTAGE

+ +
+
+ + + + +
#define SH1106_SET_PUMP_VOLTAGE   0X30
+
+

Set Pump voltage value: (30H~33H) 6.4, 7.4, 8.0 (POR), 9.0.

+ +
+
+ +

◆ SSD1306_CHARGEPUMP

+ +
+
+ + + + +
#define SSD1306_CHARGEPUMP   0x8D
+
+

Enable or disable charge pump. Follow with 0X14 enable, 0X10 disable.

+ +
+
+ +

◆ SSD1306_COMSCANDEC

+ +
+
+ + + + +
#define SSD1306_COMSCANDEC   0xC8
+
+

Set COM output scan direction reversed.

+ +
+
+ +

◆ SSD1306_COMSCANINC

+ +
+
+ + + + +
#define SSD1306_COMSCANINC   0xC0
+
+

Set COM output scan direction normal.

+ +
+
+ +

◆ SSD1306_DISPLAYALLON

+ +
+
+ + + + +
#define SSD1306_DISPLAYALLON   0xA5
+
+

Force display on regardless of GRAM content.

+ +
+
+ +

◆ SSD1306_DISPLAYALLON_RESUME

+ +
+
+ + + + +
#define SSD1306_DISPLAYALLON_RESUME   0xA4
+
+

Resume display from GRAM content.

+ +
+
+ +

◆ SSD1306_DISPLAYOFF

+ +
+
+ + + + +
#define SSD1306_DISPLAYOFF   0xAE
+
+

Set Display off.

+ +
+
+ +

◆ SSD1306_DISPLAYON

+ +
+
+ + + + +
#define SSD1306_DISPLAYON   0xAF
+
+

Set Display on.

+ +
+
+ +

◆ SSD1306_INVERTDISPLAY

+ +
+
+ + + + +
#define SSD1306_INVERTDISPLAY   0xA7
+
+

Set Inverse Display.

+ +
+
+ +

◆ SSD1306_MEMORYMODE

+ +
+
+ + + + +
#define SSD1306_MEMORYMODE   0x20
+
+

Set Memory Addressing Mode.

+ +
+
+ +

◆ SSD1306_NOP

+ +
+
+ + + + +
#define SSD1306_NOP   0XE3
+
+

No Operation Command.

+ +
+
+ +

◆ SSD1306_NORMALDISPLAY

+ +
+
+ + + + +
#define SSD1306_NORMALDISPLAY   0xA6
+
+

Set Normal Display.

+ +
+
+ +

◆ SSD1306_SEGREMAP

+ +
+
+ + + + +
#define SSD1306_SEGREMAP   0xA0
+
+

Set Segment Re-map between data column and the segment driver.

+ +
+
+ +

◆ SSD1306_SETCOMPINS

+ +
+
+ + + + +
#define SSD1306_SETCOMPINS   0xDA
+
+

Sets COM signals pin configuration to match the OLED panel layout.

+ +
+
+ +

◆ SSD1306_SETCONTRAST

+ +
+
+ + + + +
#define SSD1306_SETCONTRAST   0x81
+
+

Set Display Contrast to one of 256 steps.

+ +
+
+ +

◆ SSD1306_SETDISPLAYCLOCKDIV

+ +
+
+ + + + +
#define SSD1306_SETDISPLAYCLOCKDIV   0xD5
+
+

Set Display Clock Divide Ratio/ Oscillator Frequency.

+ +
+
+ +

◆ SSD1306_SETDISPLAYOFFSET

+ +
+
+ + + + +
#define SSD1306_SETDISPLAYOFFSET   0xD3
+
+

Set Display Offset.

+ +
+
+ +

◆ SSD1306_SETHIGHCOLUMN

+ +
+
+ + + + +
#define SSD1306_SETHIGHCOLUMN   0x10
+
+

Set Higher Column Start Address for Page Addressing Mode.

+ +
+
+ +

◆ SSD1306_SETLOWCOLUMN

+ +
+
+ + + + +
#define SSD1306_SETLOWCOLUMN   0x00
+
+

Set Lower Column Start Address for Page Addressing Mode.

+ +
+
+ +

◆ SSD1306_SETMULTIPLEX

+ +
+
+ + + + +
#define SSD1306_SETMULTIPLEX   0xA8
+
+

Set Multiplex Ratio from 16 to 63.

+ +
+
+ +

◆ SSD1306_SETPRECHARGE

+ +
+
+ + + + +
#define SSD1306_SETPRECHARGE   0xD9
+
+

Set Pre-charge Period

+ +
+
+ +

◆ SSD1306_SETSTARTLINE

+ +
+
+ + + + +
#define SSD1306_SETSTARTLINE   0x40
+
+

Set display RAM display start line register from 0 - 63.

+ +
+
+ +

◆ SSD1306_SETSTARTPAGE

+ +
+
+ + + + +
#define SSD1306_SETSTARTPAGE   0XB0
+
+

Set GDDRAM Page Start Address.

+ +
+
+ +

◆ SSD1306_SETVCOMDETECT

+ +
+
+ + + + +
#define SSD1306_SETVCOMDETECT   0xDB
+
+

This command adjusts the VCOMH regulator output.

+ +
+
+

Variable Documentation

+ +

◆ Adafruit128x32

+ +
+
+ + + + + +
+ + + + +
const DevType MEM_TYPE Adafruit128x32
+
+static
+
+

Initialize a 128x32 SSD1306 oled display.

+ +
+
+ +

◆ Adafruit128x32init

+ +
+
+ + + + + +
+ + + + +
const uint8_t MEM_TYPE Adafruit128x32init[]
+
+static
+
+

Initialization commands for a 128x32 SSD1306 oled display.

+ +
+
+ +

◆ Adafruit128x64

+ +
+
+ + + + + +
+ + + + +
const DevType MEM_TYPE Adafruit128x64
+
+static
+
+

Initialize a 128x64 oled display.

+ +
+
+ +

◆ Adafruit128x64init

+ +
+
+ + + + + +
+ + + + +
const uint8_t MEM_TYPE Adafruit128x64init[]
+
+static
+
+

Initialization commands for a 128x64 SSD1306 oled display.

+ +
+
+ +

◆ MicroOLED64x48

+ +
+
+ + + + + +
+ + + + +
const DevType MEM_TYPE MicroOLED64x48
+
+static
+
+

Initialize a 64x48 Micro OLED display.

+ +
+
+ +

◆ MicroOLED64x48init

+ +
+
+ + + + + +
+ + + + +
const uint8_t MEM_TYPE MicroOLED64x48init[]
+
+static
+
+

Initialization commands for a 64x48 Micro OLED display (by r7)

+ +
+
+ +

◆ SH1106_128x64

+ +
+
+ + + + + +
+ + + + +
const DevType MEM_TYPE SH1106_128x64
+
+static
+
+

Initialize a 128x64 oled SH1106 display.

+ +
+
+ +

◆ SH1106_128x64init

+ +
+
+ + + + + +
+ + + + +
const uint8_t MEM_TYPE SH1106_128x64init[]
+
+static
+
+

Initialization commands for a 128x64 SH1106 oled display.

+ +
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h__dep__incl.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h__dep__incl.png new file mode 100644 index 0000000..072e06c Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/_s_s_d1306init_8h__dep__incl.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/annotated.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/annotated.html new file mode 100644 index 0000000..6b6d989 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/annotated.html @@ -0,0 +1,88 @@ + + + + + + + +SSD1306Ascii: Class List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + + + +
 CAvrI2cHardware I2C master class for AVR
 CDevTypeDevice initialization structure
 CDigitalOutputFaster version of digitalWrite()
 CSSD1306AsciiSSD1306 base class
 CSSD1306AsciiAvrI2cClass for I2C displays on AVR
 CSSD1306AsciiSoftSpiClass for SPI displays using software SPI
 CSSD1306AsciiSpiClass for SPI displays on the hardware SPI bus
 CSSD1306AsciiWireClass for I2C displays using Wire
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/bc_s.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/bc_s.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/bdwn.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/bdwn.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c-members.html new file mode 100644 index 0000000..afcb32c --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c-members.html @@ -0,0 +1,86 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
AvrI2c Member List
+
+
+ +

This is the complete list of members for AvrI2c, including all inherited members.

+ + + + + + + + +
begin(bool fastMode=true)AvrI2cinline
read(bool last)AvrI2cinline
repeatedStart(uint8_t addressRW)AvrI2cinline
start(uint8_t addressRW)AvrI2cinline
status(void)AvrI2cinline
stop(void)AvrI2cinline
write(uint8_t data)AvrI2cinline
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c.html new file mode 100644 index 0000000..a18c9ff --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_avr_i2c.html @@ -0,0 +1,343 @@ + + + + + + + +SSD1306Ascii: AvrI2c Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
AvrI2c Class Reference
+
+
+ +

Hardware I2C master class for AVR. + More...

+ +

#include <AvrI2c.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void begin (bool fastMode=true)
 Initialize prescalar and SLC clock rate. More...
 
uint8_t read (bool last)
 Read a byte and send Ack if more reads follow else Nak to terminate read. More...
 
bool repeatedStart (uint8_t addressRW)
 Issue a repeated start condition. More...
 
bool start (uint8_t addressRW)
 Issue a start condition. More...
 
uint8_t status (void)
 
void stop (void)
 
bool write (uint8_t data)
 Write a byte. More...
 
+

Detailed Description

+

Hardware I2C master class for AVR.

+

Uses ATmega TWI hardware port

+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + + +
void AvrI2c::begin (bool fastMode = true)
+
+inline
+
+ +

Initialize prescalar and SLC clock rate.

+
Parameters
+ + +
[in]fastModeFast 400 kHz mode if true else standard 100 kHz mode.
+
+
+ +
+
+ +

◆ read()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t AvrI2c::read (bool last)
+
+inline
+
+ +

Read a byte and send Ack if more reads follow else Nak to terminate read.

+
Parameters
+ + +
[in]lastSet true to terminate the read else false.
+
+
+
Returns
The byte read from the I2C bus.
+ +
+
+ +

◆ repeatedStart()

+ +
+
+ + + + + +
+ + + + + + + + +
bool AvrI2c::repeatedStart (uint8_t addressRW)
+
+inline
+
+ +

Issue a repeated start condition.

+

same as start with no stop. Included to document intention.

+
Parameters
+ + +
[in]addressRWI2C address with read/write bit.
+
+
+
Returns
The value true, 1, for success or false, 0, for failure.
+ +
+
+ +

◆ start()

+ +
+
+ + + + + +
+ + + + + + + + +
bool AvrI2c::start (uint8_t addressRW)
+
+inline
+
+ +

Issue a start condition.

+
Parameters
+ + +
[in]addressRWI2C address with read/write bit.
+
+
+
Returns
The value true for success or false for failure.
+ +
+
+ +

◆ status()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t AvrI2c::status (void )
+
+inline
+
+
Returns
status from last TWI command - useful for library debug
+ +
+
+ +

◆ stop()

+ +
+
+ + + + + +
+ + + + + + + + +
void AvrI2c::stop (void )
+
+inline
+
+

Issue a stop condition.

+ +
+
+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + +
bool AvrI2c::write (uint8_t data)
+
+inline
+
+ +

Write a byte.

+
Parameters
+ + +
[in]dataThe byte to send.
+
+
+
Returns
The value true, 1, if the slave returned an Ack or false for Nak.
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • Arduino/libraries/SSD1306Ascii/src/utility/AvrI2c.h
  • +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output-members.html new file mode 100644 index 0000000..ea0caca --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output-members.html @@ -0,0 +1,81 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
DigitalOutput Member List
+
+
+ +

This is the complete list of members for DigitalOutput, including all inherited members.

+ + + +
begin(uint8_t pin)DigitalOutputinline
write(bool level)DigitalOutputinline
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output.html new file mode 100644 index 0000000..5fae219 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_digital_output.html @@ -0,0 +1,168 @@ + + + + + + + +SSD1306Ascii: DigitalOutput Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
DigitalOutput Class Reference
+
+
+ +

Faster version of digitalWrite(). + More...

+ +

#include <DigitalOutput.h>

+ + + + + + + + +

+Public Member Functions

void begin (uint8_t pin)
 initialize the digital pin. More...
 
void write (bool level)
 Set the level of a digital pin. More...
 
+

Detailed Description

+

Faster version of digitalWrite().

+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + + +
void DigitalOutput::begin (uint8_t pin)
+
+inline
+
+ +

initialize the digital pin.

+
Parameters
+ + +
[in]pinThe Arduino pin number.
+
+
+ +
+
+ +

◆ write()

+ +
+
+ + + + + +
+ + + + + + + + +
void DigitalOutput::write (bool level)
+
+inline
+
+ +

Set the level of a digital pin.

+
Parameters
+ + +
[in]levelThe value to be set.
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii-members.html new file mode 100644 index 0000000..b6a4cdb --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii-members.html @@ -0,0 +1,117 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
SSD1306Ascii Member List
+
+
+ +

This is the complete list of members for SSD1306Ascii, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
charWidth(uint8_t c)SSD1306Ascii
clear()SSD1306Ascii
clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)SSD1306Ascii
clearField(uint8_t col, uint8_t row, uint8_t n)SSD1306Ascii
clearToEOL()SSD1306Ascii
col()SSD1306Asciiinline
displayHeight()SSD1306Asciiinline
displayRemap(bool mode)SSD1306Ascii
displayRows()SSD1306Asciiinline
displayWidth()SSD1306Asciiinline
fieldWidth(uint8_t n)SSD1306Ascii
font()SSD1306Asciiinline
fontCharCount()SSD1306Ascii
fontFirstChar()SSD1306Ascii
fontHeight()SSD1306Ascii
fontRows()SSD1306Asciiinline
fontWidth()SSD1306Ascii
home()SSD1306Asciiinline
init(const DevType *dev)SSD1306Ascii
letterSpacing()SSD1306Asciiinline
magFactor()SSD1306Asciiinline
row()SSD1306Asciiinline
set1X()SSD1306Asciiinline
set2X()SSD1306Asciiinline
setCol(uint8_t col)SSD1306Ascii
setContrast(uint8_t value)SSD1306Ascii
setCursor(uint8_t col, uint8_t row)SSD1306Ascii
setFont(const uint8_t *font)SSD1306Ascii
setLetterSpacing(uint8_t pixels)SSD1306Asciiinline
setRow(uint8_t row)SSD1306Ascii
setScroll(bool enable)SSD1306Ascii
SSD1306Ascii() (defined in SSD1306Ascii)SSD1306Asciiinline
ssd1306WriteCmd(uint8_t c)SSD1306Asciiinline
ssd1306WriteRam(uint8_t c)SSD1306Ascii
ssd1306WriteRamBuf(uint8_t c)SSD1306Ascii
strWidth(const char *str)SSD1306Ascii
write(uint8_t c)SSD1306Ascii
write(const char *s)SSD1306Ascii
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii.html new file mode 100644 index 0000000..689d1c9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii.html @@ -0,0 +1,1117 @@ + + + + + + + +SSD1306Ascii: SSD1306Ascii Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
SSD1306Ascii Class Referenceabstract
+
+
+ +

SSD1306 base class. + More...

+ +

#include <SSD1306Ascii.h>

+
+Inheritance diagram for SSD1306Ascii:
+
+
Inheritance graph
+ + + + + + +
[legend]
+
+Collaboration diagram for SSD1306Ascii:
+
+
Collaboration graph
+ + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
+void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
+void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
+void set1X ()
 Set the character magnification factor to one.
 
+void set2X ()
 Set the character magnification factor to two.
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 
+

Detailed Description

+

SSD1306 base class.

+

Member Function Documentation

+ +

◆ charWidth()

+ +
+
+ + + + + + + + +
uint8_t SSD1306Ascii::charWidth (uint8_t c)
+
+ +

Determine the width of a character.

+
Parameters
+ + +
[in]cCharacter code.
+
+
+
Returns
Width of the character in pixels.
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clear (uint8_t c0,
uint8_t c1,
uint8_t r0,
uint8_t r1 
)
+
+ +

Clear a region of the display.

+
Parameters
+ + + + + +
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
+
+
+
Note
The final cursor position will be (c0, r0).
+ +
+
+ +

◆ clearField()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clearField (uint8_t col,
uint8_t row,
uint8_t n 
)
+
+ +

Clear a field of n fieldWidth() characters.

+
Parameters
+ + + + +
[in]colField start column.
+
[in]rowField start row.
+
[in]nNumber of characters in the field.
+
+
+ +
+
+ +

◆ clearToEOL()

+ +
+
+ + + + + + + +
void SSD1306Ascii::clearToEOL ()
+
+ +

Clear the display to the end of the current line.

+
Note
The number of rows cleared will be determined by the height of the current font.
+
+The cursor will be returned to the original position.
+ +
+
+ +

◆ col()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::col ()
+
+inline
+
+
Returns
The current column in pixels.
+ +
+
+ +

◆ displayHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayHeight ()
+
+inline
+
+
Returns
The display hight in pixels.
+ +
+
+ +

◆ displayRemap()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::displayRemap (bool mode)
+
+ +

Set display to normal or 180 degree remap mode.

+
Parameters
+ + +
[in]modetrue for normal mode, false for remap mode.
+
+
+
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.
+ +
+
+ +

◆ displayRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayRows ()
+
+inline
+
+
Returns
The display height in rows with eight pixels to a row.
+ +
+
+ +

◆ displayWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayWidth ()
+
+inline
+
+
Returns
The display width in pixels.
+ +
+
+ +

◆ fieldWidth()

+ +
+
+ + + + + + + + +
size_t SSD1306Ascii::fieldWidth (uint8_t n)
+
+ +

Width of a field in pixels.

+
Parameters
+ + +
[in]nNumber of characters in the field.
+
+
+
Returns
Width of the field.
+ +
+
+ +

◆ font()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* SSD1306Ascii::font ()
+
+inline
+
+
Returns
The current font pointer.
+ +
+
+ +

◆ fontCharCount()

+ +
+
+ + + + + + + +
uint8_t SSD1306Ascii::fontCharCount ()
+
+
Returns
The count of characters in a font.
+ +
+
+ +

◆ fontFirstChar()

+ +
+
+ + + + + + + +
char SSD1306Ascii::fontFirstChar ()
+
+
Returns
The first character in a font.
+ +
+
+ +

◆ fontHeight()

+ +
+
+ + + + + + + +
uint8_t SSD1306Ascii::fontHeight ()
+
+
Returns
The current font height in pixels.
+ +
+
+ +

◆ fontRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontRows ()
+
+inline
+
+
Returns
The number of eight pixel rows required to display a character in the current font.
+ +
+
+ +

◆ fontWidth()

+ +
+
+ + + + + + + +
uint8_t SSD1306Ascii::fontWidth ()
+
+
Returns
The maximum width of characters in the current font.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::init (const DevTypedev)
+
+ +

Initialize the display controller.

+
Parameters
+ + +
[in]devA display initialization structure.
+
+
+ +
+
+ +

◆ letterSpacing()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::letterSpacing ()
+
+inline
+
+
Returns
letter-spacing in pixels with magnification factor.
+ +
+
+ +

◆ magFactor()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::magFactor ()
+
+inline
+
+
Returns
The character magnification factor.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::row ()
+
+inline
+
+
Returns
the current row number with eight pixels to a row.
+ +
+
+ +

◆ setCol()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::setCol (uint8_t col)
+
+ +

Set the current column number.

+
Parameters
+ + +
[in]colThe desired column number in pixels.
+
+
+ +
+
+ +

◆ setContrast()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::setContrast (uint8_t value)
+
+ +

Set the display contrast.

+
Parameters
+ + +
[in]valueThe contrast level in th range 0 to 255.
+
+
+ +
+
+ +

◆ setCursor()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::setCursor (uint8_t col,
uint8_t row 
)
+
+ +

Set the cursor position.

+
Parameters
+ + + +
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::setFont (const uint8_t * font)
+
+ +

Set the current font.

+
Parameters
+ + +
[in]fontPointer to a font table.
+
+
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setLetterSpacing (uint8_t pixels)
+
+inline
+
+ +

Set letter-spacing. setFont() will restore default letter-spacing.

+
Parameters
+ + +
[in]pixelsletter-spacing in pixels before magnification.
+
+
+ +
+
+ +

◆ setRow()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::setRow (uint8_t row)
+
+ +

Set the current row number.

+
Parameters
+ + +
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setScroll()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::setScroll (bool enable)
+
+ +

Enable or disable scroll mode.

+
Parameters
+ + +
[in]enabletrue enable scroll on new line false disable scroll.
+
+
+
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.
+ +
+
+ +

◆ ssd1306WriteCmd()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteCmd (uint8_t c)
+
+inline
+
+ +

Write a command byte to the display controller.

+
Parameters
+ + +
[in]cThe command byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRam()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRam (uint8_t c)
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRamBuf()

+ +
+
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRamBuf (uint8_t c)
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.
+ +
+
+ +

◆ strWidth()

+ +
+
+ + + + + + + + +
size_t SSD1306Ascii::strWidth (const char * str)
+
+
Parameters
+ + +
[in]strThe pointer to string.
+
+
+
Returns
the width of the string in pixels.
+ +
+
+ +

◆ write() [1/2]

+ +
+
+ + + + + + + + +
size_t SSD1306Ascii::write (uint8_t c)
+
+ +

Display a character.

+
Parameters
+ + +
[in]cThe character to display.
+
+
+
Returns
the value one.
+ +
+
+ +

◆ write() [2/2]

+ +
+
+ + + + + + + + +
size_t SSD1306Ascii::write (const char * s)
+
+ +

Display a string.

+
Parameters
+ + +
[in]sThe string to display.
+
+
+
Returns
The length of the string.
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • Arduino/libraries/SSD1306Ascii/src/SSD1306Ascii.h
  • +
  • Arduino/libraries/SSD1306Ascii/src/SSD1306Ascii.cpp
  • +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__coll__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__coll__graph.png new file mode 100644 index 0000000..3bb2bd2 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__coll__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__inherit__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__inherit__graph.png new file mode 100644 index 0000000..26c1231 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii__inherit__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c-members.html new file mode 100644 index 0000000..0fb2a34 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c-members.html @@ -0,0 +1,119 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
SSD1306AsciiAvrI2c Member List
+
+
+ +

This is the complete list of members for SSD1306AsciiAvrI2c, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(const DevType *dev, uint8_t i2cAddr)SSD1306AsciiAvrI2cinline
begin(const DevType *dev, uint8_t i2cAddr, uint8_t rst)SSD1306AsciiAvrI2cinline
charWidth(uint8_t c)SSD1306Ascii
clear()SSD1306Ascii
clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)SSD1306Ascii
clearField(uint8_t col, uint8_t row, uint8_t n)SSD1306Ascii
clearToEOL()SSD1306Ascii
col()SSD1306Asciiinline
displayHeight()SSD1306Asciiinline
displayRemap(bool mode)SSD1306Ascii
displayRows()SSD1306Asciiinline
displayWidth()SSD1306Asciiinline
fieldWidth(uint8_t n)SSD1306Ascii
font()SSD1306Asciiinline
fontCharCount()SSD1306Ascii
fontFirstChar()SSD1306Ascii
fontHeight()SSD1306Ascii
fontRows()SSD1306Asciiinline
fontWidth()SSD1306Ascii
home()SSD1306Asciiinline
init(const DevType *dev)SSD1306Ascii
letterSpacing()SSD1306Asciiinline
magFactor()SSD1306Asciiinline
row()SSD1306Asciiinline
set1X()SSD1306Asciiinline
set2X()SSD1306Asciiinline
setCol(uint8_t col)SSD1306Ascii
setContrast(uint8_t value)SSD1306Ascii
setCursor(uint8_t col, uint8_t row)SSD1306Ascii
setFont(const uint8_t *font)SSD1306Ascii
setLetterSpacing(uint8_t pixels)SSD1306Asciiinline
setRow(uint8_t row)SSD1306Ascii
setScroll(bool enable)SSD1306Ascii
SSD1306Ascii() (defined in SSD1306Ascii)SSD1306Asciiinline
ssd1306WriteCmd(uint8_t c)SSD1306Asciiinline
ssd1306WriteRam(uint8_t c)SSD1306Ascii
ssd1306WriteRamBuf(uint8_t c)SSD1306Ascii
strWidth(const char *str)SSD1306Ascii
write(uint8_t c)SSD1306Ascii
write(const char *s)SSD1306Ascii
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c.html new file mode 100644 index 0000000..126552f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c.html @@ -0,0 +1,1394 @@ + + + + + + + +SSD1306Ascii: SSD1306AsciiAvrI2c Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
SSD1306AsciiAvrI2c Class Reference
+
+
+ +

Class for I2C displays on AVR. + More...

+ +

#include <SSD1306AsciiAvrI2c.h>

+
+Inheritance diagram for SSD1306AsciiAvrI2c:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for SSD1306AsciiAvrI2c:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void begin (const DevType *dev, uint8_t i2cAddr)
 Initialize the display controller. More...
 
void begin (const DevType *dev, uint8_t i2cAddr, uint8_t rst)
 Initialize the display controller. More...
 
uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
+void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
+void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
+void set1X ()
 Set the character magnification factor to one.
 
+void set2X ()
 Set the character magnification factor to two.
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 
+

Detailed Description

+

Class for I2C displays on AVR.

+

Uses the AvrI2c class that is smaller and faster than the Wire library.

+

Member Function Documentation

+ +

◆ begin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306AsciiAvrI2c::begin (const DevTypedev,
uint8_t i2cAddr 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + +
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.
+
+
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiAvrI2c::begin (const DevTypedev,
uint8_t i2cAddr,
uint8_t rst 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + +
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.
[in]rstThe display controller reset pin.
+
+
+ +
+
+ +

◆ charWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t SSD1306Ascii::charWidth (uint8_t c)
+
+inherited
+
+ +

Determine the width of a character.

+
Parameters
+ + +
[in]cCharacter code.
+
+
+
Returns
Width of the character in pixels.
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clear (uint8_t c0,
uint8_t c1,
uint8_t r0,
uint8_t r1 
)
+
+inherited
+
+ +

Clear a region of the display.

+
Parameters
+ + + + + +
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
+
+
+
Note
The final cursor position will be (c0, r0).
+ +
+
+ +

◆ clearField()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clearField (uint8_t col,
uint8_t row,
uint8_t n 
)
+
+inherited
+
+ +

Clear a field of n fieldWidth() characters.

+
Parameters
+ + + + +
[in]colField start column.
+
[in]rowField start row.
+
[in]nNumber of characters in the field.
+
+
+ +
+
+ +

◆ clearToEOL()

+ +
+
+ + + + + +
+ + + + + + + +
void SSD1306Ascii::clearToEOL ()
+
+inherited
+
+ +

Clear the display to the end of the current line.

+
Note
The number of rows cleared will be determined by the height of the current font.
+
+The cursor will be returned to the original position.
+ +
+
+ +

◆ col()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::col ()
+
+inlineinherited
+
+
Returns
The current column in pixels.
+ +
+
+ +

◆ displayHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayHeight ()
+
+inlineinherited
+
+
Returns
The display hight in pixels.
+ +
+
+ +

◆ displayRemap()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::displayRemap (bool mode)
+
+inherited
+
+ +

Set display to normal or 180 degree remap mode.

+
Parameters
+ + +
[in]modetrue for normal mode, false for remap mode.
+
+
+
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.
+ +
+
+ +

◆ displayRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayRows ()
+
+inlineinherited
+
+
Returns
The display height in rows with eight pixels to a row.
+ +
+
+ +

◆ displayWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayWidth ()
+
+inlineinherited
+
+
Returns
The display width in pixels.
+ +
+
+ +

◆ fieldWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::fieldWidth (uint8_t n)
+
+inherited
+
+ +

Width of a field in pixels.

+
Parameters
+ + +
[in]nNumber of characters in the field.
+
+
+
Returns
Width of the field.
+ +
+
+ +

◆ font()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* SSD1306Ascii::font ()
+
+inlineinherited
+
+
Returns
The current font pointer.
+ +
+
+ +

◆ fontCharCount()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontCharCount ()
+
+inherited
+
+
Returns
The count of characters in a font.
+ +
+
+ +

◆ fontFirstChar()

+ +
+
+ + + + + +
+ + + + + + + +
char SSD1306Ascii::fontFirstChar ()
+
+inherited
+
+
Returns
The first character in a font.
+ +
+
+ +

◆ fontHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontHeight ()
+
+inherited
+
+
Returns
The current font height in pixels.
+ +
+
+ +

◆ fontRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontRows ()
+
+inlineinherited
+
+
Returns
The number of eight pixel rows required to display a character in the current font.
+ +
+
+ +

◆ fontWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontWidth ()
+
+inherited
+
+
Returns
The maximum width of characters in the current font.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::init (const DevTypedev)
+
+inherited
+
+ +

Initialize the display controller.

+
Parameters
+ + +
[in]devA display initialization structure.
+
+
+ +
+
+ +

◆ letterSpacing()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::letterSpacing ()
+
+inlineinherited
+
+
Returns
letter-spacing in pixels with magnification factor.
+ +
+
+ +

◆ magFactor()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::magFactor ()
+
+inlineinherited
+
+
Returns
The character magnification factor.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::row ()
+
+inlineinherited
+
+
Returns
the current row number with eight pixels to a row.
+ +
+
+ +

◆ setCol()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setCol (uint8_t col)
+
+inherited
+
+ +

Set the current column number.

+
Parameters
+ + +
[in]colThe desired column number in pixels.
+
+
+ +
+
+ +

◆ setContrast()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setContrast (uint8_t value)
+
+inherited
+
+ +

Set the display contrast.

+
Parameters
+ + +
[in]valueThe contrast level in th range 0 to 255.
+
+
+ +
+
+ +

◆ setCursor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::setCursor (uint8_t col,
uint8_t row 
)
+
+inherited
+
+ +

Set the cursor position.

+
Parameters
+ + + +
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setFont (const uint8_t * font)
+
+inherited
+
+ +

Set the current font.

+
Parameters
+ + +
[in]fontPointer to a font table.
+
+
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setLetterSpacing (uint8_t pixels)
+
+inlineinherited
+
+ +

Set letter-spacing. setFont() will restore default letter-spacing.

+
Parameters
+ + +
[in]pixelsletter-spacing in pixels before magnification.
+
+
+ +
+
+ +

◆ setRow()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setRow (uint8_t row)
+
+inherited
+
+ +

Set the current row number.

+
Parameters
+ + +
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setScroll()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setScroll (bool enable)
+
+inherited
+
+ +

Enable or disable scroll mode.

+
Parameters
+ + +
[in]enabletrue enable scroll on new line false disable scroll.
+
+
+
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.
+ +
+
+ +

◆ ssd1306WriteCmd()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteCmd (uint8_t c)
+
+inlineinherited
+
+ +

Write a command byte to the display controller.

+
Parameters
+ + +
[in]cThe command byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRam()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRam (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRamBuf()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRamBuf (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.
+ +
+
+ +

◆ strWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::strWidth (const char * str)
+
+inherited
+
+
Parameters
+ + +
[in]strThe pointer to string.
+
+
+
Returns
the width of the string in pixels.
+ +
+
+ +

◆ write() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (uint8_t c)
+
+inherited
+
+ +

Display a character.

+
Parameters
+ + +
[in]cThe character to display.
+
+
+
Returns
the value one.
+ +
+
+ +

◆ write() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (const char * s)
+
+inherited
+
+ +

Display a string.

+
Parameters
+ + +
[in]sThe string to display.
+
+
+
Returns
The length of the string.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__coll__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__coll__graph.png new file mode 100644 index 0000000..6f88a02 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__coll__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__inherit__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__inherit__graph.png new file mode 100644 index 0000000..6f88a02 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_avr_i2c__inherit__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi-members.html new file mode 100644 index 0000000..7bb6184 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi-members.html @@ -0,0 +1,119 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
SSD1306AsciiSoftSpi Member List
+
+
+ +

This is the complete list of members for SSD1306AsciiSoftSpi, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(const DevType *dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data)SSD1306AsciiSoftSpiinline
begin(const DevType *dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data, uint8_t rst)SSD1306AsciiSoftSpiinline
charWidth(uint8_t c)SSD1306Ascii
clear()SSD1306Ascii
clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)SSD1306Ascii
clearField(uint8_t col, uint8_t row, uint8_t n)SSD1306Ascii
clearToEOL()SSD1306Ascii
col()SSD1306Asciiinline
displayHeight()SSD1306Asciiinline
displayRemap(bool mode)SSD1306Ascii
displayRows()SSD1306Asciiinline
displayWidth()SSD1306Asciiinline
fieldWidth(uint8_t n)SSD1306Ascii
font()SSD1306Asciiinline
fontCharCount()SSD1306Ascii
fontFirstChar()SSD1306Ascii
fontHeight()SSD1306Ascii
fontRows()SSD1306Asciiinline
fontWidth()SSD1306Ascii
home()SSD1306Asciiinline
init(const DevType *dev)SSD1306Ascii
letterSpacing()SSD1306Asciiinline
magFactor()SSD1306Asciiinline
row()SSD1306Asciiinline
set1X()SSD1306Asciiinline
set2X()SSD1306Asciiinline
setCol(uint8_t col)SSD1306Ascii
setContrast(uint8_t value)SSD1306Ascii
setCursor(uint8_t col, uint8_t row)SSD1306Ascii
setFont(const uint8_t *font)SSD1306Ascii
setLetterSpacing(uint8_t pixels)SSD1306Asciiinline
setRow(uint8_t row)SSD1306Ascii
setScroll(bool enable)SSD1306Ascii
SSD1306Ascii() (defined in SSD1306Ascii)SSD1306Asciiinline
ssd1306WriteCmd(uint8_t c)SSD1306Asciiinline
ssd1306WriteRam(uint8_t c)SSD1306Ascii
ssd1306WriteRamBuf(uint8_t c)SSD1306Ascii
strWidth(const char *str)SSD1306Ascii
write(uint8_t c)SSD1306Ascii
write(const char *s)SSD1306Ascii
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi.html new file mode 100644 index 0000000..0df53e5 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi.html @@ -0,0 +1,1435 @@ + + + + + + + +SSD1306Ascii: SSD1306AsciiSoftSpi Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
SSD1306AsciiSoftSpi Class Reference
+
+
+ +

Class for SPI displays using software SPI. + More...

+ +

#include <SSD1306AsciiSoftSpi.h>

+
+Inheritance diagram for SSD1306AsciiSoftSpi:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for SSD1306AsciiSoftSpi:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void begin (const DevType *dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data)
 Initialize the display controller. More...
 
void begin (const DevType *dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data, uint8_t rst)
 Initialize the display controller. More...
 
uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
+void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
+void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
+void set1X ()
 Set the character magnification factor to one.
 
+void set2X ()
 Set the character magnification factor to two.
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 
+

Detailed Description

+

Class for SPI displays using software SPI.

+

Member Function Documentation

+ +

◆ begin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiSoftSpi::begin (const DevTypedev,
uint8_t cs,
uint8_t dc,
uint8_t clk,
uint8_t data 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + + + +
[in]devA device initialization structure.
[in]csThe display controller chip select pin.
[in]dcThe display controller cdata/command pin.
[in]clkThe SPI clock pin.
[in]dataThe SPI MOSI pin.
+
+
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiSoftSpi::begin (const DevTypedev,
uint8_t cs,
uint8_t dc,
uint8_t clk,
uint8_t data,
uint8_t rst 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + + + + +
[in]devA device initialization structure.
[in]csThe display controller chip select pin.
[in]dcThe display controller cdata/command pin.
[in]clkThe SPI clock pin.
[in]dataThe SPI MOSI pin.
[in]rstThe display controller reset pin.
+
+
+ +
+
+ +

◆ charWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t SSD1306Ascii::charWidth (uint8_t c)
+
+inherited
+
+ +

Determine the width of a character.

+
Parameters
+ + +
[in]cCharacter code.
+
+
+
Returns
Width of the character in pixels.
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clear (uint8_t c0,
uint8_t c1,
uint8_t r0,
uint8_t r1 
)
+
+inherited
+
+ +

Clear a region of the display.

+
Parameters
+ + + + + +
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
+
+
+
Note
The final cursor position will be (c0, r0).
+ +
+
+ +

◆ clearField()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clearField (uint8_t col,
uint8_t row,
uint8_t n 
)
+
+inherited
+
+ +

Clear a field of n fieldWidth() characters.

+
Parameters
+ + + + +
[in]colField start column.
+
[in]rowField start row.
+
[in]nNumber of characters in the field.
+
+
+ +
+
+ +

◆ clearToEOL()

+ +
+
+ + + + + +
+ + + + + + + +
void SSD1306Ascii::clearToEOL ()
+
+inherited
+
+ +

Clear the display to the end of the current line.

+
Note
The number of rows cleared will be determined by the height of the current font.
+
+The cursor will be returned to the original position.
+ +
+
+ +

◆ col()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::col ()
+
+inlineinherited
+
+
Returns
The current column in pixels.
+ +
+
+ +

◆ displayHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayHeight ()
+
+inlineinherited
+
+
Returns
The display hight in pixels.
+ +
+
+ +

◆ displayRemap()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::displayRemap (bool mode)
+
+inherited
+
+ +

Set display to normal or 180 degree remap mode.

+
Parameters
+ + +
[in]modetrue for normal mode, false for remap mode.
+
+
+
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.
+ +
+
+ +

◆ displayRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayRows ()
+
+inlineinherited
+
+
Returns
The display height in rows with eight pixels to a row.
+ +
+
+ +

◆ displayWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayWidth ()
+
+inlineinherited
+
+
Returns
The display width in pixels.
+ +
+
+ +

◆ fieldWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::fieldWidth (uint8_t n)
+
+inherited
+
+ +

Width of a field in pixels.

+
Parameters
+ + +
[in]nNumber of characters in the field.
+
+
+
Returns
Width of the field.
+ +
+
+ +

◆ font()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* SSD1306Ascii::font ()
+
+inlineinherited
+
+
Returns
The current font pointer.
+ +
+
+ +

◆ fontCharCount()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontCharCount ()
+
+inherited
+
+
Returns
The count of characters in a font.
+ +
+
+ +

◆ fontFirstChar()

+ +
+
+ + + + + +
+ + + + + + + +
char SSD1306Ascii::fontFirstChar ()
+
+inherited
+
+
Returns
The first character in a font.
+ +
+
+ +

◆ fontHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontHeight ()
+
+inherited
+
+
Returns
The current font height in pixels.
+ +
+
+ +

◆ fontRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontRows ()
+
+inlineinherited
+
+
Returns
The number of eight pixel rows required to display a character in the current font.
+ +
+
+ +

◆ fontWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontWidth ()
+
+inherited
+
+
Returns
The maximum width of characters in the current font.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::init (const DevTypedev)
+
+inherited
+
+ +

Initialize the display controller.

+
Parameters
+ + +
[in]devA display initialization structure.
+
+
+ +
+
+ +

◆ letterSpacing()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::letterSpacing ()
+
+inlineinherited
+
+
Returns
letter-spacing in pixels with magnification factor.
+ +
+
+ +

◆ magFactor()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::magFactor ()
+
+inlineinherited
+
+
Returns
The character magnification factor.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::row ()
+
+inlineinherited
+
+
Returns
the current row number with eight pixels to a row.
+ +
+
+ +

◆ setCol()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setCol (uint8_t col)
+
+inherited
+
+ +

Set the current column number.

+
Parameters
+ + +
[in]colThe desired column number in pixels.
+
+
+ +
+
+ +

◆ setContrast()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setContrast (uint8_t value)
+
+inherited
+
+ +

Set the display contrast.

+
Parameters
+ + +
[in]valueThe contrast level in th range 0 to 255.
+
+
+ +
+
+ +

◆ setCursor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::setCursor (uint8_t col,
uint8_t row 
)
+
+inherited
+
+ +

Set the cursor position.

+
Parameters
+ + + +
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setFont (const uint8_t * font)
+
+inherited
+
+ +

Set the current font.

+
Parameters
+ + +
[in]fontPointer to a font table.
+
+
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setLetterSpacing (uint8_t pixels)
+
+inlineinherited
+
+ +

Set letter-spacing. setFont() will restore default letter-spacing.

+
Parameters
+ + +
[in]pixelsletter-spacing in pixels before magnification.
+
+
+ +
+
+ +

◆ setRow()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setRow (uint8_t row)
+
+inherited
+
+ +

Set the current row number.

+
Parameters
+ + +
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setScroll()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setScroll (bool enable)
+
+inherited
+
+ +

Enable or disable scroll mode.

+
Parameters
+ + +
[in]enabletrue enable scroll on new line false disable scroll.
+
+
+
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.
+ +
+
+ +

◆ ssd1306WriteCmd()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteCmd (uint8_t c)
+
+inlineinherited
+
+ +

Write a command byte to the display controller.

+
Parameters
+ + +
[in]cThe command byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRam()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRam (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRamBuf()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRamBuf (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.
+ +
+
+ +

◆ strWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::strWidth (const char * str)
+
+inherited
+
+
Parameters
+ + +
[in]strThe pointer to string.
+
+
+
Returns
the width of the string in pixels.
+ +
+
+ +

◆ write() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (uint8_t c)
+
+inherited
+
+ +

Display a character.

+
Parameters
+ + +
[in]cThe character to display.
+
+
+
Returns
the value one.
+ +
+
+ +

◆ write() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (const char * s)
+
+inherited
+
+ +

Display a string.

+
Parameters
+ + +
[in]sThe string to display.
+
+
+
Returns
The length of the string.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__coll__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__coll__graph.png new file mode 100644 index 0000000..e45a9b6 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__coll__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__inherit__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__inherit__graph.png new file mode 100644 index 0000000..e45a9b6 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_soft_spi__inherit__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi-members.html new file mode 100644 index 0000000..a72bf91 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi-members.html @@ -0,0 +1,119 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
SSD1306AsciiSpi Member List
+
+
+ +

This is the complete list of members for SSD1306AsciiSpi, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(const DevType *dev, uint8_t cs, uint8_t dc)SSD1306AsciiSpiinline
begin(const DevType *dev, uint8_t cs, uint8_t dc, uint8_t rst)SSD1306AsciiSpiinline
charWidth(uint8_t c)SSD1306Ascii
clear()SSD1306Ascii
clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)SSD1306Ascii
clearField(uint8_t col, uint8_t row, uint8_t n)SSD1306Ascii
clearToEOL()SSD1306Ascii
col()SSD1306Asciiinline
displayHeight()SSD1306Asciiinline
displayRemap(bool mode)SSD1306Ascii
displayRows()SSD1306Asciiinline
displayWidth()SSD1306Asciiinline
fieldWidth(uint8_t n)SSD1306Ascii
font()SSD1306Asciiinline
fontCharCount()SSD1306Ascii
fontFirstChar()SSD1306Ascii
fontHeight()SSD1306Ascii
fontRows()SSD1306Asciiinline
fontWidth()SSD1306Ascii
home()SSD1306Asciiinline
init(const DevType *dev)SSD1306Ascii
letterSpacing()SSD1306Asciiinline
magFactor()SSD1306Asciiinline
row()SSD1306Asciiinline
set1X()SSD1306Asciiinline
set2X()SSD1306Asciiinline
setCol(uint8_t col)SSD1306Ascii
setContrast(uint8_t value)SSD1306Ascii
setCursor(uint8_t col, uint8_t row)SSD1306Ascii
setFont(const uint8_t *font)SSD1306Ascii
setLetterSpacing(uint8_t pixels)SSD1306Asciiinline
setRow(uint8_t row)SSD1306Ascii
setScroll(bool enable)SSD1306Ascii
SSD1306Ascii() (defined in SSD1306Ascii)SSD1306Asciiinline
ssd1306WriteCmd(uint8_t c)SSD1306Asciiinline
ssd1306WriteRam(uint8_t c)SSD1306Ascii
ssd1306WriteRamBuf(uint8_t c)SSD1306Ascii
strWidth(const char *str)SSD1306Ascii
write(uint8_t c)SSD1306Ascii
write(const char *s)SSD1306Ascii
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi.html new file mode 100644 index 0000000..6af52f7 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi.html @@ -0,0 +1,1407 @@ + + + + + + + +SSD1306Ascii: SSD1306AsciiSpi Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
SSD1306AsciiSpi Class Reference
+
+
+ +

Class for SPI displays on the hardware SPI bus. + More...

+ +

#include <SSD1306AsciiSpi.h>

+
+Inheritance diagram for SSD1306AsciiSpi:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for SSD1306AsciiSpi:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void begin (const DevType *dev, uint8_t cs, uint8_t dc)
 Initialize the display controller. More...
 
void begin (const DevType *dev, uint8_t cs, uint8_t dc, uint8_t rst)
 Initialize the display controller. More...
 
uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
+void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
+void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
+void set1X ()
 Set the character magnification factor to one.
 
+void set2X ()
 Set the character magnification factor to two.
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 
+

Detailed Description

+

Class for SPI displays on the hardware SPI bus.

+

Member Function Documentation

+ +

◆ begin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiSpi::begin (const DevTypedev,
uint8_t cs,
uint8_t dc 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + +
[in]devA device initialization structure.
[in]csThe display controller chip select pin.
[in]dcThe display controller data/command pin.
+
+
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiSpi::begin (const DevTypedev,
uint8_t cs,
uint8_t dc,
uint8_t rst 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + + +
[in]devA device initialization structure.
[in]csThe display controller chip select pin.
[in]dcThe display controller cdata/command pin.
[in]rstThe display controller reset pin.
+
+
+ +
+
+ +

◆ charWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t SSD1306Ascii::charWidth (uint8_t c)
+
+inherited
+
+ +

Determine the width of a character.

+
Parameters
+ + +
[in]cCharacter code.
+
+
+
Returns
Width of the character in pixels.
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clear (uint8_t c0,
uint8_t c1,
uint8_t r0,
uint8_t r1 
)
+
+inherited
+
+ +

Clear a region of the display.

+
Parameters
+ + + + + +
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
+
+
+
Note
The final cursor position will be (c0, r0).
+ +
+
+ +

◆ clearField()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clearField (uint8_t col,
uint8_t row,
uint8_t n 
)
+
+inherited
+
+ +

Clear a field of n fieldWidth() characters.

+
Parameters
+ + + + +
[in]colField start column.
+
[in]rowField start row.
+
[in]nNumber of characters in the field.
+
+
+ +
+
+ +

◆ clearToEOL()

+ +
+
+ + + + + +
+ + + + + + + +
void SSD1306Ascii::clearToEOL ()
+
+inherited
+
+ +

Clear the display to the end of the current line.

+
Note
The number of rows cleared will be determined by the height of the current font.
+
+The cursor will be returned to the original position.
+ +
+
+ +

◆ col()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::col ()
+
+inlineinherited
+
+
Returns
The current column in pixels.
+ +
+
+ +

◆ displayHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayHeight ()
+
+inlineinherited
+
+
Returns
The display hight in pixels.
+ +
+
+ +

◆ displayRemap()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::displayRemap (bool mode)
+
+inherited
+
+ +

Set display to normal or 180 degree remap mode.

+
Parameters
+ + +
[in]modetrue for normal mode, false for remap mode.
+
+
+
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.
+ +
+
+ +

◆ displayRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayRows ()
+
+inlineinherited
+
+
Returns
The display height in rows with eight pixels to a row.
+ +
+
+ +

◆ displayWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayWidth ()
+
+inlineinherited
+
+
Returns
The display width in pixels.
+ +
+
+ +

◆ fieldWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::fieldWidth (uint8_t n)
+
+inherited
+
+ +

Width of a field in pixels.

+
Parameters
+ + +
[in]nNumber of characters in the field.
+
+
+
Returns
Width of the field.
+ +
+
+ +

◆ font()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* SSD1306Ascii::font ()
+
+inlineinherited
+
+
Returns
The current font pointer.
+ +
+
+ +

◆ fontCharCount()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontCharCount ()
+
+inherited
+
+
Returns
The count of characters in a font.
+ +
+
+ +

◆ fontFirstChar()

+ +
+
+ + + + + +
+ + + + + + + +
char SSD1306Ascii::fontFirstChar ()
+
+inherited
+
+
Returns
The first character in a font.
+ +
+
+ +

◆ fontHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontHeight ()
+
+inherited
+
+
Returns
The current font height in pixels.
+ +
+
+ +

◆ fontRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontRows ()
+
+inlineinherited
+
+
Returns
The number of eight pixel rows required to display a character in the current font.
+ +
+
+ +

◆ fontWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontWidth ()
+
+inherited
+
+
Returns
The maximum width of characters in the current font.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::init (const DevTypedev)
+
+inherited
+
+ +

Initialize the display controller.

+
Parameters
+ + +
[in]devA display initialization structure.
+
+
+ +
+
+ +

◆ letterSpacing()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::letterSpacing ()
+
+inlineinherited
+
+
Returns
letter-spacing in pixels with magnification factor.
+ +
+
+ +

◆ magFactor()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::magFactor ()
+
+inlineinherited
+
+
Returns
The character magnification factor.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::row ()
+
+inlineinherited
+
+
Returns
the current row number with eight pixels to a row.
+ +
+
+ +

◆ setCol()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setCol (uint8_t col)
+
+inherited
+
+ +

Set the current column number.

+
Parameters
+ + +
[in]colThe desired column number in pixels.
+
+
+ +
+
+ +

◆ setContrast()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setContrast (uint8_t value)
+
+inherited
+
+ +

Set the display contrast.

+
Parameters
+ + +
[in]valueThe contrast level in th range 0 to 255.
+
+
+ +
+
+ +

◆ setCursor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::setCursor (uint8_t col,
uint8_t row 
)
+
+inherited
+
+ +

Set the cursor position.

+
Parameters
+ + + +
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setFont (const uint8_t * font)
+
+inherited
+
+ +

Set the current font.

+
Parameters
+ + +
[in]fontPointer to a font table.
+
+
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setLetterSpacing (uint8_t pixels)
+
+inlineinherited
+
+ +

Set letter-spacing. setFont() will restore default letter-spacing.

+
Parameters
+ + +
[in]pixelsletter-spacing in pixels before magnification.
+
+
+ +
+
+ +

◆ setRow()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setRow (uint8_t row)
+
+inherited
+
+ +

Set the current row number.

+
Parameters
+ + +
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setScroll()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setScroll (bool enable)
+
+inherited
+
+ +

Enable or disable scroll mode.

+
Parameters
+ + +
[in]enabletrue enable scroll on new line false disable scroll.
+
+
+
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.
+ +
+
+ +

◆ ssd1306WriteCmd()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteCmd (uint8_t c)
+
+inlineinherited
+
+ +

Write a command byte to the display controller.

+
Parameters
+ + +
[in]cThe command byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRam()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRam (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRamBuf()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRamBuf (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.
+ +
+
+ +

◆ strWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::strWidth (const char * str)
+
+inherited
+
+
Parameters
+ + +
[in]strThe pointer to string.
+
+
+
Returns
the width of the string in pixels.
+ +
+
+ +

◆ write() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (uint8_t c)
+
+inherited
+
+ +

Display a character.

+
Parameters
+ + +
[in]cThe character to display.
+
+
+
Returns
the value one.
+ +
+
+ +

◆ write() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (const char * s)
+
+inherited
+
+ +

Display a string.

+
Parameters
+ + +
[in]sThe string to display.
+
+
+
Returns
The length of the string.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__coll__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__coll__graph.png new file mode 100644 index 0000000..2993306 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__coll__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__inherit__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__inherit__graph.png new file mode 100644 index 0000000..2993306 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_spi__inherit__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire-members.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire-members.html new file mode 100644 index 0000000..7957b63 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire-members.html @@ -0,0 +1,120 @@ + + + + + + + +SSD1306Ascii: Member List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
SSD1306AsciiWire Member List
+
+
+ +

This is the complete list of members for SSD1306AsciiWire, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
begin(const DevType *dev, uint8_t i2cAddr)SSD1306AsciiWireinline
begin(const DevType *dev, uint8_t i2cAddr, uint8_t rst)SSD1306AsciiWireinline
charWidth(uint8_t c)SSD1306Ascii
clear()SSD1306Ascii
clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)SSD1306Ascii
clearField(uint8_t col, uint8_t row, uint8_t n)SSD1306Ascii
clearToEOL()SSD1306Ascii
col()SSD1306Asciiinline
displayHeight()SSD1306Asciiinline
displayRemap(bool mode)SSD1306Ascii
displayRows()SSD1306Asciiinline
displayWidth()SSD1306Asciiinline
fieldWidth(uint8_t n)SSD1306Ascii
font()SSD1306Asciiinline
fontCharCount()SSD1306Ascii
fontFirstChar()SSD1306Ascii
fontHeight()SSD1306Ascii
fontRows()SSD1306Asciiinline
fontWidth()SSD1306Ascii
home()SSD1306Asciiinline
init(const DevType *dev)SSD1306Ascii
letterSpacing()SSD1306Asciiinline
magFactor()SSD1306Asciiinline
row()SSD1306Asciiinline
set1X()SSD1306Asciiinline
set2X()SSD1306Asciiinline
set400kHz()SSD1306AsciiWireinline
setCol(uint8_t col)SSD1306Ascii
setContrast(uint8_t value)SSD1306Ascii
setCursor(uint8_t col, uint8_t row)SSD1306Ascii
setFont(const uint8_t *font)SSD1306Ascii
setLetterSpacing(uint8_t pixels)SSD1306Asciiinline
setRow(uint8_t row)SSD1306Ascii
setScroll(bool enable)SSD1306Ascii
SSD1306Ascii() (defined in SSD1306Ascii)SSD1306Asciiinline
ssd1306WriteCmd(uint8_t c)SSD1306Asciiinline
ssd1306WriteRam(uint8_t c)SSD1306Ascii
ssd1306WriteRamBuf(uint8_t c)SSD1306Ascii
strWidth(const char *str)SSD1306Ascii
write(uint8_t c)SSD1306Ascii
write(const char *s)SSD1306Ascii
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire.html new file mode 100644 index 0000000..26d7598 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire.html @@ -0,0 +1,1397 @@ + + + + + + + +SSD1306Ascii: SSD1306AsciiWire Class Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
SSD1306AsciiWire Class Reference
+
+
+ +

Class for I2C displays using Wire. + More...

+ +

#include <SSD1306AsciiWire.h>

+
+Inheritance diagram for SSD1306AsciiWire:
+
+
Inheritance graph
+ + + +
[legend]
+
+Collaboration diagram for SSD1306AsciiWire:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void begin (const DevType *dev, uint8_t i2cAddr)
 Initialize the display controller. More...
 
void begin (const DevType *dev, uint8_t i2cAddr, uint8_t rst)
 Initialize the display controller. More...
 
uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
+void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
+void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
+void set1X ()
 Set the character magnification factor to one.
 
+void set2X ()
 Set the character magnification factor to two.
 
+void set400kHz ()
 Set the I2C clock rate to 400 kHz. Deprecated use Wire.setClock(400000L)
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 
+

Detailed Description

+

Class for I2C displays using Wire.

+

Member Function Documentation

+ +

◆ begin() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306AsciiWire::begin (const DevTypedev,
uint8_t i2cAddr 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + +
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.
+
+
+ +
+
+ +

◆ begin() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306AsciiWire::begin (const DevTypedev,
uint8_t i2cAddr,
uint8_t rst 
)
+
+inline
+
+ +

Initialize the display controller.

+
Parameters
+ + + + +
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.
[in]rstThe display controller reset pin.
+
+
+ +
+
+ +

◆ charWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
uint8_t SSD1306Ascii::charWidth (uint8_t c)
+
+inherited
+
+ +

Determine the width of a character.

+
Parameters
+ + +
[in]cCharacter code.
+
+
+
Returns
Width of the character in pixels.
+ +
+
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clear (uint8_t c0,
uint8_t c1,
uint8_t r0,
uint8_t r1 
)
+
+inherited
+
+ +

Clear a region of the display.

+
Parameters
+ + + + + +
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
+
+
+
Note
The final cursor position will be (c0, r0).
+ +
+
+ +

◆ clearField()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::clearField (uint8_t col,
uint8_t row,
uint8_t n 
)
+
+inherited
+
+ +

Clear a field of n fieldWidth() characters.

+
Parameters
+ + + + +
[in]colField start column.
+
[in]rowField start row.
+
[in]nNumber of characters in the field.
+
+
+ +
+
+ +

◆ clearToEOL()

+ +
+
+ + + + + +
+ + + + + + + +
void SSD1306Ascii::clearToEOL ()
+
+inherited
+
+ +

Clear the display to the end of the current line.

+
Note
The number of rows cleared will be determined by the height of the current font.
+
+The cursor will be returned to the original position.
+ +
+
+ +

◆ col()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::col ()
+
+inlineinherited
+
+
Returns
The current column in pixels.
+ +
+
+ +

◆ displayHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayHeight ()
+
+inlineinherited
+
+
Returns
The display hight in pixels.
+ +
+
+ +

◆ displayRemap()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::displayRemap (bool mode)
+
+inherited
+
+ +

Set display to normal or 180 degree remap mode.

+
Parameters
+ + +
[in]modetrue for normal mode, false for remap mode.
+
+
+
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.
+ +
+
+ +

◆ displayRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayRows ()
+
+inlineinherited
+
+
Returns
The display height in rows with eight pixels to a row.
+ +
+
+ +

◆ displayWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::displayWidth ()
+
+inlineinherited
+
+
Returns
The display width in pixels.
+ +
+
+ +

◆ fieldWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::fieldWidth (uint8_t n)
+
+inherited
+
+ +

Width of a field in pixels.

+
Parameters
+ + +
[in]nNumber of characters in the field.
+
+
+
Returns
Width of the field.
+ +
+
+ +

◆ font()

+ +
+
+ + + + + +
+ + + + + + + +
const uint8_t* SSD1306Ascii::font ()
+
+inlineinherited
+
+
Returns
The current font pointer.
+ +
+
+ +

◆ fontCharCount()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontCharCount ()
+
+inherited
+
+
Returns
The count of characters in a font.
+ +
+
+ +

◆ fontFirstChar()

+ +
+
+ + + + + +
+ + + + + + + +
char SSD1306Ascii::fontFirstChar ()
+
+inherited
+
+
Returns
The first character in a font.
+ +
+
+ +

◆ fontHeight()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontHeight ()
+
+inherited
+
+
Returns
The current font height in pixels.
+ +
+
+ +

◆ fontRows()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontRows ()
+
+inlineinherited
+
+
Returns
The number of eight pixel rows required to display a character in the current font.
+ +
+
+ +

◆ fontWidth()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::fontWidth ()
+
+inherited
+
+
Returns
The maximum width of characters in the current font.
+ +
+
+ +

◆ init()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::init (const DevTypedev)
+
+inherited
+
+ +

Initialize the display controller.

+
Parameters
+ + +
[in]devA display initialization structure.
+
+
+ +
+
+ +

◆ letterSpacing()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::letterSpacing ()
+
+inlineinherited
+
+
Returns
letter-spacing in pixels with magnification factor.
+ +
+
+ +

◆ magFactor()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::magFactor ()
+
+inlineinherited
+
+
Returns
The character magnification factor.
+ +
+
+ +

◆ row()

+ +
+
+ + + + + +
+ + + + + + + +
uint8_t SSD1306Ascii::row ()
+
+inlineinherited
+
+
Returns
the current row number with eight pixels to a row.
+ +
+
+ +

◆ setCol()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setCol (uint8_t col)
+
+inherited
+
+ +

Set the current column number.

+
Parameters
+ + +
[in]colThe desired column number in pixels.
+
+
+ +
+
+ +

◆ setContrast()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setContrast (uint8_t value)
+
+inherited
+
+ +

Set the display contrast.

+
Parameters
+ + +
[in]valueThe contrast level in th range 0 to 255.
+
+
+ +
+
+ +

◆ setCursor()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void SSD1306Ascii::setCursor (uint8_t col,
uint8_t row 
)
+
+inherited
+
+ +

Set the cursor position.

+
Parameters
+ + + +
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setFont()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setFont (const uint8_t * font)
+
+inherited
+
+ +

Set the current font.

+
Parameters
+ + +
[in]fontPointer to a font table.
+
+
+ +
+
+ +

◆ setLetterSpacing()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setLetterSpacing (uint8_t pixels)
+
+inlineinherited
+
+ +

Set letter-spacing. setFont() will restore default letter-spacing.

+
Parameters
+ + +
[in]pixelsletter-spacing in pixels before magnification.
+
+
+ +
+
+ +

◆ setRow()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setRow (uint8_t row)
+
+inherited
+
+ +

Set the current row number.

+
Parameters
+ + +
[in]rowthe row number in eight pixel rows.
+
+
+ +
+
+ +

◆ setScroll()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::setScroll (bool enable)
+
+inherited
+
+ +

Enable or disable scroll mode.

+
Parameters
+ + +
[in]enabletrue enable scroll on new line false disable scroll.
+
+
+
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.
+ +
+
+ +

◆ ssd1306WriteCmd()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteCmd (uint8_t c)
+
+inlineinherited
+
+ +

Write a command byte to the display controller.

+
Parameters
+ + +
[in]cThe command byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRam()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRam (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte will immediately be sent to the controller.
+ +
+
+ +

◆ ssd1306WriteRamBuf()

+ +
+
+ + + + + +
+ + + + + + + + +
void SSD1306Ascii::ssd1306WriteRamBuf (uint8_t c)
+
+inherited
+
+ +

Write a byte to RAM in the display controller.

+
Parameters
+ + +
[in]cThe data byte.
+
+
+
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.
+ +
+
+ +

◆ strWidth()

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::strWidth (const char * str)
+
+inherited
+
+
Parameters
+ + +
[in]strThe pointer to string.
+
+
+
Returns
the width of the string in pixels.
+ +
+
+ +

◆ write() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (uint8_t c)
+
+inherited
+
+ +

Display a character.

+
Parameters
+ + +
[in]cThe character to display.
+
+
+
Returns
the value one.
+ +
+
+ +

◆ write() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
size_t SSD1306Ascii::write (const char * s)
+
+inherited
+
+ +

Display a string.

+
Parameters
+ + +
[in]sThe string to display.
+
+
+
Returns
The length of the string.
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__coll__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__coll__graph.png new file mode 100644 index 0000000..d063557 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__coll__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__inherit__graph.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__inherit__graph.png new file mode 100644 index 0000000..d063557 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/class_s_s_d1306_ascii_wire__inherit__graph.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/classes.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/classes.html new file mode 100644 index 0000000..edbfd76 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/classes.html @@ -0,0 +1,88 @@ + + + + + + + +SSD1306Ascii: Class Index + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
a | d | s
+ + + + + + +
  a  
+
  d  
+
DigitalOutput   SSD1306AsciiAvrI2c   SSD1306AsciiWire   
  s  
+
SSD1306AsciiSoftSpi   
AvrI2c   DevType   SSD1306AsciiSpi   
SSD1306Ascii   
+
a | d | s
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/closed.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/closed.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_000005_000006.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_000005_000006.html new file mode 100644 index 0000000..2e1d596 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_000005_000006.html @@ -0,0 +1,76 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src -> utility Relation + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

src → utility Relation

File in Arduino/libraries/SSD1306Ascii/srcIncludes file in Arduino/libraries/SSD1306Ascii/src/utility
SSD1306AsciiAvrI2c.hAvrI2c.h
SSD1306AsciiSoftSpi.hDigitalOutput.h
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160.html new file mode 100644 index 0000000..f32976c --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160.html @@ -0,0 +1,90 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
libraries Directory Reference
+
+
+
+Directory dependency graph for libraries:
+
+
Arduino/libraries
+ + + + + +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160_dep.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160_dep.png new file mode 100644 index 0000000..dcae430 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_481cc946b8a81b8d9363a4aad6201160_dep.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_517b237d4747437c31f65ca648893511.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_517b237d4747437c31f65ca648893511.html new file mode 100644 index 0000000..e35fa00 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_517b237d4747437c31f65ca648893511.html @@ -0,0 +1,90 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src/utility Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
utility Directory Reference
+
+
+ + + + + + + + +

+Files

file  AvrI2c.h
 Small fast I2C class for AVR.
 
file  DigitalOutput.h
 Faster version of digitalWrite().
 
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307.html new file mode 100644 index 0000000..0162315 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307.html @@ -0,0 +1,97 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
SSD1306Ascii Directory Reference
+
+
+
+Directory dependency graph for SSD1306Ascii:
+
+
Arduino/libraries/SSD1306Ascii
+ + + + + + +
+ + + + +

+Directories

directory  doc
 
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307_dep.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307_dep.png new file mode 100644 index 0000000..95660a3 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_520de49418287da36eb793ef32ea6307_dep.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_5ce56dff155b426144e2267e6314e254.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_5ce56dff155b426144e2267e6314e254.html new file mode 100644 index 0000000..7d3f0aa --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_5ce56dff155b426144e2267e6314e254.html @@ -0,0 +1,84 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/doc Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
doc Directory Reference
+
+
+ + +

+Directories

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2.html new file mode 100644 index 0000000..3450c0f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2.html @@ -0,0 +1,89 @@ + + + + + + + +SSD1306Ascii: Arduino Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Arduino Directory Reference
+
+
+
+Directory dependency graph for Arduino:
+
+
Arduino
+ + + + +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2_dep.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2_dep.png new file mode 100644 index 0000000..d3e8747 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_a991eec27578c865874ede3d8ec657c2_dep.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f407cfa5a083ea3a86bed2005dcb9a5e.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f407cfa5a083ea3a86bed2005dcb9a5e.html new file mode 100644 index 0000000..7b78411 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f407cfa5a083ea3a86bed2005dcb9a5e.html @@ -0,0 +1,80 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/doc/MainPage Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
MainPage Directory Reference
+
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d.html new file mode 100644 index 0000000..5ec5130 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d.html @@ -0,0 +1,116 @@ + + + + + + + +SSD1306Ascii: Arduino/libraries/SSD1306Ascii/src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
Arduino/libraries/SSD1306Ascii/src
+ + + + + + +
+ + +

+Directories

+ + + + + + + + + + + + + + + + + + + +

+Files

file  SSD1306Ascii.h
 Base class for ssd1306 displays.
 
file  SSD1306AsciiAvrI2c.h
 Class for I2C displays using AvrI2c.
 
file  SSD1306AsciiSoftSpi.h
 Class for software SPI displays.
 
file  SSD1306AsciiSpi.h
 Class for hardware SPI displays.
 
file  SSD1306AsciiWire.h
 Class for I2C displays using Wire.
 
file  SSD1306init.h
 Display controller initialization commands.
 
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d_dep.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d_dep.png new file mode 100644 index 0000000..1a4f255 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/dir_f52a68bbba56f2c8881f0d9135f8ef6d_dep.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/doc.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/doc.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.css b/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.css new file mode 100644 index 0000000..266c8b3 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.14 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/doxygen.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/dynsections.js b/Arduino_Libs/SSD1306Ascii-master/doc/html/dynsections.js new file mode 100644 index 0000000..c1ce122 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/dynsections.js @@ -0,0 +1,120 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + 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, or + (at your option) any later version. + + 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +SSD1306Ascii: File List + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123456]
+ + + + + + + + + + + + + +
  Arduino
  libraries
  SSD1306Ascii
  src
  utility
 AvrI2c.hSmall fast I2C class for AVR
 DigitalOutput.hFaster version of digitalWrite()
 SSD1306Ascii.hBase class for ssd1306 displays
 SSD1306AsciiAvrI2c.hClass for I2C displays using AvrI2c
 SSD1306AsciiSoftSpi.hClass for software SPI displays
 SSD1306AsciiSpi.hClass for hardware SPI displays
 SSD1306AsciiWire.hClass for I2C displays using Wire
 SSD1306init.hDisplay controller initialization commands
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/folderclosed.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/folderclosed.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/folderopen.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/folderopen.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/functions.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions.html new file mode 100644 index 0000000..548f4ef --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions.html @@ -0,0 +1,264 @@ + + + + + + + +SSD1306Ascii: Class Members + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_func.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_func.html new file mode 100644 index 0000000..cd19b47 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_func.html @@ -0,0 +1,249 @@ + + + + + + + +SSD1306Ascii: Class Members - Functions + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_vars.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_vars.html new file mode 100644 index 0000000..12071ef --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/functions_vars.html @@ -0,0 +1,89 @@ + + + + + + + +SSD1306Ascii: Class Members - Variables + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/globals.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals.html new file mode 100644 index 0000000..0da968e --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals.html @@ -0,0 +1,249 @@ + + + + + + + +SSD1306Ascii: File Members + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented file members with links to the documentation:
+ +

- a -

+ + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_defs.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_defs.html new file mode 100644 index 0000000..f3e13e6 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_defs.html @@ -0,0 +1,193 @@ + + + + + + + +SSD1306Ascii: File Members + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+ + +

- m -

+ + +

- o -

+ + +

- s -

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_func.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_func.html new file mode 100644 index 0000000..5c8d174 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_func.html @@ -0,0 +1,77 @@ + + + + + + + +SSD1306Ascii: File Members + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_vars.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_vars.html new file mode 100644 index 0000000..a894f35 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/globals_vars.html @@ -0,0 +1,119 @@ + + + + + + + +SSD1306Ascii: File Members + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.html new file mode 100644 index 0000000..073684e --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.html @@ -0,0 +1,105 @@ + + + + + + + +SSD1306Ascii: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.png new file mode 100644 index 0000000..c0d711b Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/graph_legend.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/hierarchy.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/hierarchy.html new file mode 100644 index 0000000..30ec505 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/hierarchy.html @@ -0,0 +1,91 @@ + + + + + + + +SSD1306Ascii: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 123]
+ + + + + + + + + +
 CAvrI2cHardware I2C master class for AVR
 CDevTypeDevice initialization structure
 CDigitalOutputFaster version of digitalWrite()
 CPrint
 CSSD1306AsciiSSD1306 base class
 CSSD1306AsciiAvrI2cClass for I2C displays on AVR
 CSSD1306AsciiSoftSpiClass for SPI displays using software SPI
 CSSD1306AsciiSpiClass for SPI displays on the hardware SPI bus
 CSSD1306AsciiWireClass for I2C displays using Wire
+
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/index.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/index.html new file mode 100644 index 0000000..c7669cb --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/index.html @@ -0,0 +1,178 @@ + + + + + + + +SSD1306Ascii: Arduino SSD1306Ascii Library + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Arduino SSD1306Ascii Library
+
+
+
Copyright © 2015 by William Greiman

+Introduction

+

This library is in early development so the API and features may change. The library is likely to have bugs and be unstable. The purpose for this release is to get feedback for future development.

+

The Arduino SSD1306Ascii Library is designed to display text on small monochrome OLED displays. These displays are available on ebay at very low cost.

+

The library is being developed using 0.96" and 1.3" displays with SSD1306 controllers. An initialization sequence for SH1106 controllers is included.

+

There are many existing full featured graphics libraries for these displays. The goal for this library is to only display text with minimum use of RAM and flash.

+

Here are key design goals:

+

Small size is the highest priority. Speed and features are lower priority.

+

Support multiple fonts. More than 40 fonts are included with this release. Fonts are only loaded if you reference them.

+

Support fixed width and proportional fonts.

+

Optionally magnify fonts by a factor of two.

+

Support 128x32 and 128x64 displays with I2C and SPI interfaces.
+ Use the standard Wire library for I2C. An optimization option is available to increase I2C performance.

+

Use the standard SPI library for hardware SPI. An optimization option is available for AVR to increase performance and reduce code size.

+

Provide software SPI so the display can be connected to any digital pins.

+

+Installation

+

You can manually install the SSD1306Ascii library by copying the SSD1306Ascii folder from the download package to the Arduino libraries folder in your sketch folder.

+

See the Manual installation section of this guide.

+

http://arduino.cc/en/Guide/Libraries

+

The library will be added to the Arduino Library Manager soon.

+

+Scroll Mode

+

Scroll mode causes the display to scroll up when a new line is written to the display.

+

Scroll mode is configured by editing SSD1306Ascii.h.

+

If INCLUDE_SCROLLING is defined to be zero, new line will not scroll the display and code for scrolling will not be included. This option will save some code space and one byte of RAM.

+

If INCLUDE_SCROLLING is defined to be one, the scroll feature will be included but not enabled. A call to setScroll() will be required to enable scrolling.

+

If INCLUDE_SCROLLING is defined to be two, the scroll feature will be included and enabled. A call to setScroll() will be required to disable scrolling.

+

Scroll mode is only supported on 64 pixel high displays.

+

Call setScroll() to enable or disable scroll mode.

+

Calls to setCursor(), setRow() and other cursor positioning functions will be unpredictable in scroll mode.

+

The clear() call will erase the display and start at the top of the display.

+

See the ScrollSpi and ScrollWire examples.

+

+Fonts

+

Fonts are defined by .h files in the SSD1306Ascii/src/fonts folder. The fonts folder contains all fonts from openGLCD plus a number of extra fonts.

+

To select a font, call the setFont() member function like this.

// Select the font used in the Adafruit GFX Graphics Library.
oled.setFont(Adafruit5x7);

Only fonts referenced in your program will be loaded into flash.

+

Here are symbols for fixed width fonts.

Adafruit5x7
+cp437font8x8
+fixed_bold10x15
+fixednums15x31
+fixednums7x15
+fixednums8x16
+font5x7
+font8x8
+lcd5x7
+lcdnums12x16
+lcdnums14x24
+newbasic3x5
+Stang5x7
+System5x7
+Wendy3x5
+X11fixed7x14
+X11fixed7x14B
+ZevvPeep8x16  
+

Here are symbols for proportional fonts. Note that Iain5x7 and utf8font10x16 are proportional.

Arial14
+Arial_bold_14
+CalBlk36
+CalLite24
+Callibri10
+Callibri11
+Callibri11_bold
+Callibri11_italic
+Callibri14
+Callibri15
+Cooper19
+Cooper21
+Cooper26
+Corsiva_12
+Iain5x7
+Roosewood22
+Roosewood26
+TimesNewRoman13
+TimesNewRoman13_italic
+TimesNewRoman16
+TimesNewRoman16_bold
+TimesNewRoman16_italic
+utf8font10x16
+Verdana12
+Verdana12_bold
+Verdana12_italic
+Verdana_digits_24
+

See allFonts.h for more information on adding a font.

+

The set2X() call doubles the size of characters. Each pixel becomes a 2x2 square. To return to standard size characters call set1X();

oled.set2X();
// Display double height and width characters.
...
// Return to standard size.
oled.set1X();

+SSD1306Ascii Configuration

+

Several configuration options may be changed by editing the SSD1306Ascii.h file in the SSD1306Ascii/src folder.

+

These options are at the start of the file.

+
// Configuration options.
/* Set Scrolling mode for new line.
* If INCLUDE_SCROLLING is defined to be zero, new line will not scroll
* the display and code for scrolling will not be included. This option
* will save some code space and one byte of RAM.
* If INCLUDE_SCROLLING is defined to be one, the scroll feature will
* be included but not enabled. A call to setScroll() will be required
* to enable scrolling.
* If INCLUDE_SCROLLING is defined to be two, the scroll feature will
* be included and enabled. A call to setScroll() will be required
* to disable scrolling.
*/
#define INCLUDE_SCROLLING 1
/* Use larger faster I2C code. */
#define OPTIMIZE_I2C 1
/* Define OPTIMIZE_AVR_SPI non-zero for a faster smaller AVR SPI code.
* Warning AVR will not use SPI transactions.
*/
#define OPTIMIZE_AVR_SPI 1

+Documentation

+

Please see the Classes tab for more information.

+

For I2C displays using the wire library Wire see the SSD1306AsciiWire class.

+

For I2C displays using the small AvrI2c class see the SSD1306AsciiAvrI2c class.

+

For SPI displays connected to the Arduino hardware SPI pins see the SSD1306AsciiSpi class.

+

See the SSD1306AsciiSoftSpi class for use of Software SPI.

+

+Bugs and Comments

+

If you wish to report bugs or have comments, open an issue on GitHub or send email to fat16.nosp@m.lib@.nosp@m.sbcgl.nosp@m.obal.nosp@m..net. If possible, include a simple program that illustrates the bug or problem.

+

+Examples

+

A number of examples are provided in the SSD1306Ascii/examples folder.

+

To access these examples from the Arduino development environment go to: File -> Examples -> SSD1306Ascii -> <program Name>

+

Compile and upload to your Arduino to run the example.

+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_0.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_0.png new file mode 100644 index 0000000..30f5d5a Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_0.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_1.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_1.png new file mode 100644 index 0000000..33b00f3 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_1.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_2.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_2.png new file mode 100644 index 0000000..7519c16 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_2.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_3.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_3.png new file mode 100644 index 0000000..4458f32 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherit_graph_3.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/inherits.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherits.html new file mode 100644 index 0000000..da9d9f4 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/inherits.html @@ -0,0 +1,104 @@ + + + + + + + +SSD1306Ascii: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + +
+ + + +
+ + + +
+ + + +
+ + + + + + + +
+
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/jquery.js b/Arduino_Libs/SSD1306Ascii-master/doc/html/jquery.js new file mode 100644 index 0000000..2771c74 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/jquery.js @@ -0,0 +1,115 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + + +
+
+
DevType Member List
+
+
+ +

This is the complete list of members for DevType, including all inherited members.

+
+ + + + + +
colOffsetDevType
initcmdsDevType
initSizeDevType
lcdHeightDevType
lcdWidthDevType
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/struct_dev_type.html b/Arduino_Libs/SSD1306Ascii-master/doc/html/struct_dev_type.html new file mode 100644 index 0000000..d7908d2 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/struct_dev_type.html @@ -0,0 +1,179 @@ + + + + + + + +SSD1306Ascii: DevType Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
SSD1306Ascii +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
DevType Struct Reference
+
+
+ +

Device initialization structure. + More...

+ +

#include <SSD1306init.h>

+ + + + + + + + + + + + +

+Public Attributes

const uint8_t colOffset
 
const uint8_t * initcmds
 
const uint8_t initSize
 
const uint8_t lcdHeight
 
const uint8_t lcdWidth
 
+

Detailed Description

+

Device initialization structure.

+

Member Data Documentation

+ +

◆ colOffset

+ +
+
+ + + + +
const uint8_t DevType::colOffset
+
+

Column offset RAM to display. Used to pick start column of SH1106.

+ +
+
+ +

◆ initcmds

+ +
+
+ + + + +
const uint8_t* DevType::initcmds
+
+

Pointer to initialization command bytes.

+ +
+
+ +

◆ initSize

+ +
+
+ + + + +
const uint8_t DevType::initSize
+
+

Number of initialization bytes.

+ +
+
+ +

◆ lcdHeight

+ +
+
+ + + + +
const uint8_t DevType::lcdHeight
+
+

Height of the display in pixels.

+ +
+
+ +

◆ lcdWidth

+ +
+
+ + + + +
const uint8_t DevType::lcdWidth
+
+

Width of the diaplay in pixels.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_off.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_off.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_on.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/sync_on.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_a.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_a.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_b.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_b.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_h.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_h.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_s.png b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/html/tab_s.png differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/html/tabs.css b/Arduino_Libs/SSD1306Ascii-master/doc/html/tabs.css new file mode 100644 index 0000000..a28614b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/doc/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/sd1306test.jpg b/Arduino_Libs/SSD1306Ascii-master/doc/sd1306test.jpg new file mode 100644 index 0000000..ba22a46 Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/sd1306test.jpg differ diff --git a/Arduino_Libs/SSD1306Ascii-master/doc/ssd1306sample.jpg b/Arduino_Libs/SSD1306Ascii-master/doc/ssd1306sample.jpg new file mode 100644 index 0000000..d9539ba Binary files /dev/null and b/Arduino_Libs/SSD1306Ascii-master/doc/ssd1306sample.jpg differ diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x32/AvrI2c128x32.ino b/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x32/AvrI2c128x32.ino new file mode 100644 index 0000000..1888cd2 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x32/AvrI2c128x32.ino @@ -0,0 +1,42 @@ +// Simple I2C test for 128x32 oled. +// Use smaller faster AvrI2c class in place of Wire. +// +#include "SSD1306Ascii.h" +#include "SSD1306AsciiAvrI2c.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiAvrI2c oled; +//------------------------------------------------------------------------------ +void setup() { + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x32, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x32, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + + oled.clear(); + + // first row + oled.println("set1X test"); + + // second row + oled.set2X(); + oled.println("set2X test"); + + // third row + oled.set1X(); + oled.print("micros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x64/AvrI2c128x64.ino b/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x64/AvrI2c128x64.ino new file mode 100644 index 0000000..132c57c --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/AvrI2c128x64/AvrI2c128x64.ino @@ -0,0 +1,37 @@ +// Simple I2C test for ebay 128x64 oled. +// Use smaller faster AvrI2c class in place of Wire. +// +#include "SSD1306Ascii.h" +#include "SSD1306AsciiAvrI2c.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiAvrI2c oled; +//------------------------------------------------------------------------------ +void setup() { + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.println(); + oled.set2X(); + oled.println("2X demo"); + oled.set1X(); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationSpi/DisplayRotationSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationSpi/DisplayRotationSpi.ino new file mode 100644 index 0000000..628f347 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationSpi/DisplayRotationSpi.ino @@ -0,0 +1,30 @@ +// Set display remap mode. +// displayRemap(bool mode) selects normal mode or 180 degree rotation mode. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + + // Use true, normal mode, since default for Adafruit display is remap mode. + oled.displayRemap(true); + + oled.clear(); + oled.println("Hello world!"); + oled.println("displayRemap(false)"); + oled.print("for other mode."); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationWire/DisplayRotationWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationWire/DisplayRotationWire.ino new file mode 100644 index 0000000..47911d3 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/DisplayRotationWire/DisplayRotationWire.ino @@ -0,0 +1,36 @@ +// Set display remap mode. +// displayRemap(bool mode) selects normal mode or 180 degree rotation mode. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + oled.setFont(Adafruit5x7); + + // Use true, normal mode, since default for Adafruit display is remap mode. + oled.displayRemap(true); + + oled.clear(); + oled.println("Hello world!"); + oled.println("displayRemap(false)"); + oled.print("for other mode."); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesSpi/FontSamplesSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesSpi/FontSamplesSpi.ino new file mode 100644 index 0000000..3ffa2ab --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesSpi/FontSamplesSpi.ino @@ -0,0 +1,86 @@ +// Display samples of fonts. +// +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +const char* fontName[] = { + "Arial14", + "Arial_bold_14", + "Callibri11", + "Callibri11_bold", + "Callibri11_italic", + "Callibri15", + "Corsiva_12", + "fixed_bold10x15", + "font5x7", + "font8x8", + "Iain5x7", + "lcd5x7", + "Stang5x7", + "System5x7", + "TimesNewRoman16", + "TimesNewRoman16_bold", + "TimesNewRoman16_italic", + "utf8font10x16", + "Verdana12", + "Verdana12_bold", + "Verdana12_italic", + "X11fixed7x14", + "X11fixed7x14B", + "ZevvPeep8x16" +}; +const uint8_t* fontList[] = { + Arial14, + Arial_bold_14, + Callibri11, + Callibri11_bold, + Callibri11_italic, + Callibri15, + Corsiva_12, + fixed_bold10x15, + font5x7, + font8x8, + Iain5x7, + lcd5x7, + Stang5x7, + System5x7, + TimesNewRoman16, + TimesNewRoman16_bold, + TimesNewRoman16_italic, + utf8font10x16, + Verdana12, + Verdana12_bold, + Verdana12_italic, + X11fixed7x14, + X11fixed7x14B, + ZevvPeep8x16 +}; +uint8_t nFont = sizeof(fontList)/sizeof(uint8_t*); + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + for (uint8_t i = 0; i < nFont; i++) { + oled.setFont(System5x7); + oled.clear(); + oled.println(fontName[i]); + oled.println(); + oled.setFont(fontList[i]); + oled.println("*+,-./0123456789:"); + oled.println("abcdefghijklmno"); + oled.println("ABCDEFGHIJKLMNO"); + delay(10000); + } + oled.clear(); + oled.print("Done!"); +} +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesWire/FontSamplesWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesWire/FontSamplesWire.ino new file mode 100644 index 0000000..6da6a15 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/FontSamplesWire/FontSamplesWire.ino @@ -0,0 +1,93 @@ +// Display samples of fonts. +// +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +const char* fontName[] = { + "Arial14", + "Arial_bold_14", + "Callibri11", + "Callibri11_bold", + "Callibri11_italic", + "Callibri15", + "Corsiva_12", + "fixed_bold10x15", + "font5x7", + "font8x8", + "Iain5x7", + "lcd5x7", + "Stang5x7", + "System5x7", + "TimesNewRoman16", + "TimesNewRoman16_bold", + "TimesNewRoman16_italic", + "utf8font10x16", + "Verdana12", + "Verdana12_bold", + "Verdana12_italic", + "X11fixed7x14", + "X11fixed7x14B", + "ZevvPeep8x16" +}; +const uint8_t* fontList[] = { + Arial14, + Arial_bold_14, + Callibri11, + Callibri11_bold, + Callibri11_italic, + Callibri15, + Corsiva_12, + fixed_bold10x15, + font5x7, + font8x8, + Iain5x7, + lcd5x7, + Stang5x7, + System5x7, + TimesNewRoman16, + TimesNewRoman16_bold, + TimesNewRoman16_italic, + utf8font10x16, + Verdana12, + Verdana12_bold, + Verdana12_italic, + X11fixed7x14, + X11fixed7x14B, + ZevvPeep8x16 +}; +uint8_t nFont = sizeof(fontList)/sizeof(uint8_t*); + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + for (uint8_t i = 0; i < nFont; i++) { + oled.setFont(System5x7); + oled.clear(); + oled.println(fontName[i]); + oled.println(); + oled.setFont(fontList[i]); + oled.println("*+,-./0123456789:"); + oled.println("abcdefghijklmno"); + oled.println("ABCDEFGHIJKLMNO"); + delay(10000); + } + oled.clear(); + oled.print("Done!"); +} +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldAvrI2c/HelloWorldAvrI2c.ino b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldAvrI2c/HelloWorldAvrI2c.ino new file mode 100644 index 0000000..1014eb9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldAvrI2c/HelloWorldAvrI2c.ino @@ -0,0 +1,27 @@ +// Test for minimum program size. + +#include "SSD1306Ascii.h" +#include "SSD1306AsciiAvrI2c.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiAvrI2c oled; +//------------------------------------------------------------------------------ +void setup() { + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSH1106Spi/HelloWorldSH1106Spi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSH1106Spi/HelloWorldSH1106Spi.ino new file mode 100644 index 0000000..1288fc6 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSH1106Spi/HelloWorldSH1106Spi.ino @@ -0,0 +1,23 @@ +// Test for minimum program size. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&SH1106_128x64, CS_PIN, DC_PIN); + oled.begin(&SH1106_128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSoftSpi/HelloWorldSoftSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSoftSpi/HelloWorldSoftSpi.ino new file mode 100644 index 0000000..1bb888e --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSoftSpi/HelloWorldSoftSpi.ino @@ -0,0 +1,25 @@ +// Test for minimum program size. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSoftSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 +#define MOSI_PIN 11 +#define CLK_PIN 13 + +SSD1306AsciiSoftSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, CLK_PIN, MOSI_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, CLK_PIN, MOSI_PIN, RST_PIN); + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSpi/HelloWorldSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSpi/HelloWorldSpi.ino new file mode 100644 index 0000000..34085df --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldSpi/HelloWorldSpi.ino @@ -0,0 +1,23 @@ +// Test for minimum program size. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldWire/HelloWorldWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldWire/HelloWorldWire.ino new file mode 100644 index 0000000..46faf07 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/HelloWorldWire/HelloWorldWire.ino @@ -0,0 +1,30 @@ +// Test for minimum program size. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingSpi/LetterSpacingSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingSpi/LetterSpacingSpi.ino new file mode 100644 index 0000000..ed67adc --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingSpi/LetterSpacingSpi.ino @@ -0,0 +1,24 @@ +// LetterSpacing() example. +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(Callibri11_bold); + oled.clear(); + oled.println("Hello world!"); + oled.setLetterSpacing(2); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingWire/LetterSpacingWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingWire/LetterSpacingWire.ino new file mode 100644 index 0000000..2cd76f7 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/LetterSpacingWire/LetterSpacingWire.ino @@ -0,0 +1,32 @@ +// LetterSpacing() example. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Callibri11_bold); + oled.clear(); + oled.println("Hello world!"); + oled.setLetterSpacing(2); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormSpi/ProportionalFormSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormSpi/ProportionalFormSpi.ino new file mode 100644 index 0000000..bf56c5d --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormSpi/ProportionalFormSpi.ino @@ -0,0 +1,73 @@ +// Form with proportional font. +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; + +uint8_t col0 = 0; // First value column +uint8_t col1 = 0; // Last value column. +uint8_t rows; // Rows per line. +//------------------------------------------------------------------------------ +void setup() { + const char* label[] = {"Voltage:", "Load:", "Runtime:"}; + const char* units[] = {"volts", "watts", "mins"}; + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + + oled.setFont(Callibri15); +// oled.setFont(Arial14); +// oled.setFont(Callibri11_bold); +// oled.setFont(TimesNewRoman13); + + // Increase space between letters. + oled.setLetterSpacing(2); + + oled.clear(); + + // Setup form and find longest label. + for (uint8_t i = 0; i < 3; i++) { + oled.println(label[i]); + uint8_t w = oled.strWidth(label[i]); + col0 = col0 < w ? w : col0; + } + // Three pixels after label. + col0 += 3; + // Allow two or more pixels after value. + col1 = col0 + oled.strWidth("99.9") + 2; + // Line height in rows. + rows = oled.fontRows(); + + // Print units. + for ( uint8_t i = 0; i < 3; i++) { + oled.setCursor(col1 + 1, i*rows); + oled.print(units[i]); + } + delay(3000); +} +//------------------------------------------------------------------------------ +void clearValue(uint8_t row) { + oled.clear(col0, col1, row, row + rows - 1); +} +//------------------------------------------------------------------------------ +void loop() { + // Fake system model. + double volts = 0.1*random(110, 130); + double watts = 0.1*random(200, 500); + // 100 Wh battery. + int run = 100*60/(int)watts; + clearValue(0); + oled.print(volts, 1); + clearValue(rows); + oled.print(watts, 1); + clearValue(2*rows); + oled.print(run); + delay(1000); +} + diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormWire/ProportionalFormWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormWire/ProportionalFormWire.ino new file mode 100644 index 0000000..940f634 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/ProportionalFormWire/ProportionalFormWire.ino @@ -0,0 +1,78 @@ +// Form with proportional font. +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; + +uint8_t col0 = 0; // First value column +uint8_t col1 = 0; // Last value column. +uint8_t rows; // Rows per line. +//------------------------------------------------------------------------------ +void setup() { + const char* label[] = {"Voltage:", "Load:", "Runtime:"}; + const char* units[] = {"volts", "watts", "mins"}; + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Callibri15); +// oled.setFont(Arial14); +// oled.setFont(Callibri11_bold); +// oled.setFont(TimesNewRoman13); + + // Increase space between letters. + oled.setLetterSpacing(2); + + oled.clear(); + + // Setup form and find longest label. + for (uint8_t i = 0; i < 3; i++) { + oled.println(label[i]); + uint8_t w = oled.strWidth(label[i]); + col0 = col0 < w ? w : col0; + } + // Three pixels after label. + col0 += 3; + // Allow two or more pixels after value. + col1 = col0 + oled.strWidth("99.9") + 2; + // Line height in rows. + rows = oled.fontRows(); + + // Print units. + for ( uint8_t i = 0; i < 3; i++) { + oled.setCursor(col1 + 1, i*rows); + oled.print(units[i]); + } + delay(3000); +} +//------------------------------------------------------------------------------ +void clearValue(uint8_t row) { + oled.clear(col0, col1, row, row + rows - 1); +} +//------------------------------------------------------------------------------ +void loop() { + // Fake system model. + double volts = 0.1*random(110, 130); + double watts = 0.1*random(200, 500); + // 100 Wh battery. + int run = 100*60/(int)watts; + clearValue(0); + oled.print(volts, 1); + clearValue(rows); + oled.print(watts, 1); + clearValue(2*rows); + oled.print(run); + delay(1000); +} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingSpi/ScrollingSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingSpi/ScrollingSpi.ino new file mode 100644 index 0000000..e2e3f2b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingSpi/ScrollingSpi.ino @@ -0,0 +1,41 @@ +// Example scrolling display for 64 pixel high display. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + + #if INCLUDE_SCROLLING == 0 + #error INCLUDE_SCROLLING must be non-zero. Edit SSD1306Ascii.h + #elif INCLUDE_SCROLLING == 1 + // Scrolling is not enable by default for INCLUDE_SCROLLING set to one. + oled.setScroll(true); + #else // INCLUDE_SCROLLING + // Scrolling is enable by default for INCLUDE_SCROLLING greater than one. + #endif + + for (int i = 0; i <= 20; i++) { + if (i == 10) { + oled.clear(); + } + oled.print("Line "); + oled.println(i); + delay(500); + } + // don't scroll last line. + oled.print("Done"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingWire/ScrollingWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingWire/ScrollingWire.ino new file mode 100644 index 0000000..1ff5768 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/ScrollingWire/ScrollingWire.ino @@ -0,0 +1,48 @@ +// Example scrolling display for 64 pixel high display. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(System5x7); + + #if INCLUDE_SCROLLING == 0 + #error INCLUDE_SCROLLING must be non-zero. Edit SSD1306Ascii.h + #elif INCLUDE_SCROLLING == 1 + // Scrolling is not enable by default for INCLUDE_SCROLLING set to one. + oled.setScroll(true); + #else // INCLUDE_SCROLLING + // Scrolling is enable by default for INCLUDE_SCROLLING greater than one. + #endif + + for (int i = 0; i <= 20; i++) { + if (i == 10) { + oled.clear(); + } + oled.print("Line "); + oled.println(i); + delay(500); + } + // don't scroll last line. + oled.print("Done"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsSpi/SixAdcFieldsSpi.ino b/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsSpi/SixAdcFieldsSpi.ino new file mode 100644 index 0000000..0cb2ea9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsSpi/SixAdcFieldsSpi.ino @@ -0,0 +1,42 @@ +// Display values for six ADCs. +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; + +uint8_t col[2]; // Columns for ADC values. +uint8_t rows; // Rows per line. +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + oled.clear(); + + // Setup form. Could use F() macro to save RAM on AVR. + oled.println("ADC0: 9999 ADC1: 9999"); + oled.println("ADC2: 9999 ADC3: 9999"); + oled.println("ADC4: 9999 ADC5: 9999"); + + // Calculate columns for ADC values. No RAM is used by the strings. + // The gcc compiler replaces strlen() with 6 and 17. + col[0] = oled.fieldWidth(strlen("ADC0: ")); + col[1] = oled.fieldWidth(strlen("ADC0: 9999 ADC1: ")); + rows = oled.fontRows(); + delay(3000); +} +//------------------------------------------------------------------------------ +void loop() { + for (uint8_t i = 0; i < 6; i++) { + oled.clearField(col[i%2], rows*(i/2), 4); + oled.print(analogRead(i)); + } + delay(1000); +} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsWire/SixAdcFieldsWire.ino b/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsWire/SixAdcFieldsWire.ino new file mode 100644 index 0000000..411359c --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/SixAdcFieldsWire/SixAdcFieldsWire.ino @@ -0,0 +1,51 @@ +// Display values for six ADCs. +// On Uno, ADC4 and ADC5 are I2C pins. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; + +uint8_t col[2]; // Columns for ADC values. +uint8_t rows; // Rows per line. +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(System5x7); + oled.clear(); + + // Setup form. Could use F() macro to save RAM on AVR. + oled.println("ADC0: 9999 ADC1: 9999"); + oled.println("ADC2: 9999 ADC3: 9999"); + oled.println("ADC4: 9999 ADC5: 9999"); + + // Calculate columns for ADC values. No RAM is used by strings. + // Compiler replaces strlen() calc with 6 and 17. + col[0] = oled.fieldWidth(strlen("ADC0: ")); + col[1] = oled.fieldWidth(strlen("ADC0: 9999 ADC1: ")); + rows = oled.fontRows(); + delay(3000); +} +//------------------------------------------------------------------------------ +void loop() { + for (uint8_t i = 0; i < 6; i++) { + oled.clearField(col[i%2], rows*(i/2), 4); + oled.print(analogRead(i)); + } + delay(1000); +} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x32/SoftSpi128x32.ino b/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x32/SoftSpi128x32.ino new file mode 100644 index 0000000..b1b338a --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x32/SoftSpi128x32.ino @@ -0,0 +1,28 @@ +// Simple software SPI test for Adafruit 128x32 oled. +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSoftSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 +#define OLED_DATA 11 +#define OLED_CLK 13 + +SSD1306AsciiSoftSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x32, CS_PIN, DC_PIN, OLED_CLK, OLED_DATA); + oled.begin(&Adafruit128x32, CS_PIN, DC_PIN, OLED_CLK, OLED_DATA, RST_PIN); + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x64/SoftSpi128x64.ino b/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x64/SoftSpi128x64.ino new file mode 100644 index 0000000..99ba680 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/SoftSpi128x64/SoftSpi128x64.ino @@ -0,0 +1,33 @@ +// Simple software SPI test for ebay 128x64 oled. + +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSoftSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 +#define MOSI_PIN 11 +#define CLK_PIN 13 + +SSD1306AsciiSoftSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, CLK_PIN, MOSI_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, CLK_PIN, MOSI_PIN, RST_PIN); + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.println(); + oled.set2X(); + oled.println("2X demo"); + oled.set1X(); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x32/Spi128x32.ino b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x32/Spi128x32.ino new file mode 100644 index 0000000..9866bc7 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x32/Spi128x32.ino @@ -0,0 +1,28 @@ +// Simple SPI test for Adafruit 128x32 oled. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x32, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x32, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64/Spi128x64.ino b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64/Spi128x64.ino new file mode 100644 index 0000000..76b20ed --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64/Spi128x64.ino @@ -0,0 +1,33 @@ +// Simple SPI test for ebay 128x64 oled. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions + +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.println(); + oled.set2X(); + oled.println("2X demo"); + oled.set1X(); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64SH1106/Spi128x64SH1106.ino b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64SH1106/Spi128x64SH1106.ino new file mode 100644 index 0000000..df8fe72 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/Spi128x64SH1106/Spi128x64SH1106.ino @@ -0,0 +1,23 @@ +// Test for minimum program size. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&SH1106_128x64, CS_PIN, DC_PIN); + oled.begin(&SH1106_128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(System5x7); + oled.clear(); + oled.print("Hello world!"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x32/WireI2c128x32.ino b/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x32/WireI2c128x32.ino new file mode 100644 index 0000000..5c333f4 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x32/WireI2c128x32.ino @@ -0,0 +1,42 @@ +// Simple I2C test for ebay 128x32 oled. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x32, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x32, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + // first row + oled.println("set1X test"); + + // second row + oled.set2X(); + oled.println("set2X test"); + + // third row + oled.set1X(); + oled.print("micros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x64/WireI2c128x64.ino b/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x64/WireI2c128x64.ino new file mode 100644 index 0000000..4f3d4c0 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/WireI2c128x64/WireI2c128x64.ino @@ -0,0 +1,39 @@ +// Simple I2C test for ebay 128x64 oled. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiWire.h" + +// 0X3C+SA0 - 0x3C or 0x3D +#define I2C_ADDRESS 0x3C + +// Define proper RST_PIN if required. +#define RST_PIN -1 + +SSD1306AsciiWire oled; +//------------------------------------------------------------------------------ +void setup() { + Wire.begin(); + Wire.setClock(400000L); + +#if RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); +#else // RST_PIN >= 0 + oled.begin(&Adafruit128x64, I2C_ADDRESS); +#endif // RST_PIN >= 0 + + oled.setFont(Adafruit5x7); + + uint32_t m = micros(); + oled.clear(); + oled.println("Hello world!"); + oled.println("A long line may be truncated"); + oled.println(); + oled.set2X(); + oled.println("2X demo"); + oled.set1X(); + oled.print("\nmicros: "); + oled.print(micros() - m); +} +//------------------------------------------------------------------------------ +void loop() {} diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/cmp5x7Fonts/cmp5x7Fonts.ino b/Arduino_Libs/SSD1306Ascii-master/examples/cmp5x7Fonts/cmp5x7Fonts.ino new file mode 100644 index 0000000..62c2f69 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/cmp5x7Fonts/cmp5x7Fonts.ino @@ -0,0 +1,113 @@ +// Display differences in 5x7 fonts. + +#include +#include "SSD1306Ascii.h" +#include "SSD1306AsciiSpi.h" + +// pin definitions +#define CS_PIN 7 +#define RST_PIN 8 +#define DC_PIN 9 + +SSD1306AsciiSpi oled; + +const char* fontName[] = { + "Adafruit5x7", + "font5x7", + "lcd5x7", + "System5x7" +}; +const uint8_t* fontList[] = { + Adafruit5x7, + font5x7, + lcd5x7, + System5x7 +}; +const uint8_t nFont = sizeof(fontList)/sizeof(const char*); +//------------------------------------------------------------------------------ +// Assume fonts start with ' ' and have 96 chars +void checkFont(const uint8_t* font, const char* name) { + if (pgm_read_byte(font++) || + pgm_read_byte(font++) || + pgm_read_byte(font++) != 5 || + pgm_read_byte(font++) != 7 || + pgm_read_byte(font++) != ' ' || + pgm_read_byte(font++) < 96) { + oled.clear(); + oled.print("Bad: "); + oled.print(name); + while(1); + } +} +//------------------------------------------------------------------------------ +void cmp5x7Fonts(const uint8_t* font1, const char* name1, + const uint8_t* font2, const char* name2) { + uint8_t diff[96]; + uint8_t nDiff = 0; + uint8_t w = 5; + for (uint8_t i = 0; i < 96; i++) { + const uint8_t* base1 = font1 + i*w + 6; + const uint8_t* base2 = font2 + i*w + 6; + for (uint8_t j = 0; j < w; j++) { + uint8_t b1 = pgm_read_byte(base1 + j); + uint8_t b2 = pgm_read_byte(base2 + j); + if (b1 != b2) { + diff[nDiff++] = ' ' + i; + break; + } + } + } + oled.clear(); + delay(200); + oled.setFont(font1); + oled.print(name1); + oled.setCol(78); + oled.print("nDiff "); + oled.println(nDiff); + oled.setFont(font2); + oled.println(name2); + + const uint8_t lineCount = 21; + if (nDiff > 3*lineCount) nDiff = 3*lineCount; + for (uint8_t i = 0; i < nDiff; i += lineCount) { + oled.setFont(font1); + for (uint8_t j = 0; j < lineCount && (j + i) < nDiff; j++) { + oled.write(diff[i + j]); + } + oled.println(); + oled.setFont(font2); + uint8_t nc = (nDiff - i) > lineCount ? lineCount : nDiff - i; + for (uint8_t j = 0; j < nc; j++) { + oled.write(diff[i + j]); + } + oled.println(); + } + delay(2000 + 500*nDiff); +} +//------------------------------------------------------------------------------ +void setup() { + // Use next line if no RST_PIN or reset is not required. + // oled.begin(&Adafruit128x64, CS_PIN, DC_PIN); + oled.begin(&Adafruit128x64, CS_PIN, DC_PIN, RST_PIN); + oled.setFont(Adafruit5x7); + oled.clear(); + + oled.print("Start"); + + checkFont(Stang5x7, "Stang5x7"); + for (uint8_t i = 0; i < nFont; i++) { + checkFont(fontList[i], fontName[i]); + } + + for (uint8_t i = 0; i < nFont; i++) { + for (uint8_t j = i + 1; j < nFont; j++) { + cmp5x7Fonts(fontList[i], fontName[i], fontList[j], fontName[j]); + } + } + // System5x7 derived from Stang5x7? + cmp5x7Fonts(Stang5x7, "Stang5x7", System5x7, "System5x7"); + + oled.print("\nDone"); +} +//------------------------------------------------------------------------------ +void loop() {} \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/examples/print5x7Fonts/print5x7Fonts.ino b/Arduino_Libs/SSD1306Ascii-master/examples/print5x7Fonts/print5x7Fonts.ino new file mode 100644 index 0000000..e3e1d64 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/examples/print5x7Fonts/print5x7Fonts.ino @@ -0,0 +1,73 @@ +// This example is a development tool and does not use the display. +// Print simple representation of ASCII characters for 5x7 fixed fonts. +// +#include "SdFat.h" +#include "SSD1306Ascii.h" +const char* fontName[] = { + "Adafruit5x7", + "font5x7", + "lcd5x7", + "Stang5x7", + "System5x7" +}; +const uint8_t* fontList[] = { + Adafruit5x7, + font5x7, + lcd5x7, + Stang5x7, + System5x7 +}; +const uint8_t nFont = sizeof(fontList)/sizeof(const char*); +SdFat sd; +SdFile file; +//------------------------------------------------------------------------------ +// return bitmap for a character +void charBitmap(const uint8_t* font, uint8_t c, uint8_t* bits) { + c -= 32; + const uint8_t *base = font + 6 + 5 * c; + for (uint8_t i =0; i < 5; i++ ) { + bits[i] = pgm_read_byte(base + i); + } +} +//------------------------------------------------------------------------------ +void printChar(const uint8_t*font, uint8_t c) { + uint8_t bits[192]; + // get bit maps + for (uint8_t i = 0; i < 32; i++) { + charBitmap(font, c + i, bits + 6*i); + bits[6*i + 5] = 0; + } + // print characters + for (uint8_t m = 1; m; m <<= 1) { + for (uint8_t i = 0; i < 192; i++) { + file.write(bits[i] & m ? 'X' : ' '); + } + file.println(); + } +} +//------------------------------------------------------------------------------ +void setup() { + Serial.begin(9600); + if (!sd.begin()) { + Serial.println("begin error"); + return; + } + char name[] = "5x7fonts.txt"; + if (!file.open(name, O_CREAT | O_WRITE |O_TRUNC)) { + Serial.println("OPEN ERROR"); + return; + } + for (uint8_t i = 0; i < nFont; i++) { + file.println(); + file.println(fontName[i]); + for (uint8_t c = 32; c < 128; c += 32) { + file.println(); + printChar(fontList[i], c); + } + file.println(); + } + file.close(); + Serial.println("DONE"); +} +//------------------------------------------------------------------------------ +void loop(){ } \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/library.properties b/Arduino_Libs/SSD1306Ascii-master/library.properties new file mode 100644 index 0000000..d74db50 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/library.properties @@ -0,0 +1,9 @@ +name=SSD1306Ascii +version=1.1.3 +author=Bill Greiman +maintainer=Bill Greiman +sentence=Text display on small momochrome OLED modules. +paragraph=A basic SSD1306 text only library optimized for minimum memory usage. +category=Display +url=https://github.com/greiman/SSD1306Ascii +architectures=* diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.cpp b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.cpp new file mode 100644 index 0000000..841ac63 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.cpp @@ -0,0 +1,277 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +#include "SSD1306Ascii.h" +//------------------------------------------------------------------------------ +uint8_t SSD1306Ascii::charWidth(uint8_t c) { + if (!m_font) { + return 0; + } + uint8_t first = readFontByte(m_font + FONT_FIRST_CHAR); + uint8_t count = readFontByte(m_font + FONT_CHAR_COUNT); + if (c < first || c >= (first + count)) { + return 0; + } + if (fontSize() > 1) { + // Proportional font. + return m_magFactor*readFontByte(m_font + FONT_WIDTH_TABLE + c - first); + } + // Fixed width font. + return m_magFactor*readFontByte(m_font + FONT_WIDTH); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::clear() { + clear(0, displayWidth() - 1, 0 , displayRows() - 1); + #if INCLUDE_SCROLLING + m_scroll = m_scroll ? 1 : 0; + ssd1306WriteCmd(SSD1306_SETSTARTLINE | 0); + #endif //INCLUDE_SCROLLING +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1) { + if (r1 >= displayRows()) r1 = displayRows() - 1; + for (uint8_t r = r0; r <= r1; r++) { + setCursor(c0, r); + for (uint8_t c = c0; c <= c1; c++) { + ssd1306WriteRamBuf(0); + } + } + setCursor(c0, r0); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::clearToEOL() { + clear (m_col, displayWidth() - 1, m_row, m_row + fontRows() - 1); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::clearField(uint8_t col, uint8_t row, uint8_t n) { + clear(col, col + fieldWidth(n) - 1, row, row + fontRows() - 1); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::displayRemap(bool mode) { + ssd1306WriteCmd(mode ? SSD1306_SEGREMAP : SSD1306_SEGREMAP | 1); + ssd1306WriteCmd(mode ? SSD1306_COMSCANINC : SSD1306_COMSCANDEC); +} +//------------------------------------------------------------------------------ +size_t SSD1306Ascii::fieldWidth(uint8_t n) { + return n*(fontWidth() + letterSpacing()); +} +//------------------------------------------------------------------------------ +uint8_t SSD1306Ascii::fontCharCount() { + return m_font ? readFontByte(m_font + FONT_CHAR_COUNT) : 0; +} +//------------------------------------------------------------------------------ +char SSD1306Ascii::fontFirstChar() { + return m_font ? readFontByte(m_font + FONT_FIRST_CHAR) : 0; +} +//------------------------------------------------------------------------------ +uint8_t SSD1306Ascii::fontHeight() { + return m_font ? m_magFactor*readFontByte(m_font + FONT_HEIGHT) : 0; +} +//------------------------------------------------------------------------------ +uint16_t SSD1306Ascii::fontSize() { + return (readFontByte(m_font) << 8) | readFontByte(m_font + 1); +} +//------------------------------------------------------------------------------ +uint8_t SSD1306Ascii::fontWidth() { + return m_font ? m_magFactor*readFontByte(m_font + FONT_WIDTH) : 0; +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::init(const DevType* dev) { + m_col = 0; + m_row = 0; + #ifdef __AVR__ + const uint8_t* table = (const uint8_t*)pgm_read_word(&dev->initcmds); + #else // __AVR__ + const uint8_t* table = dev->initcmds; + #endif // __AVR + uint8_t size = readFontByte(&dev->initSize); + m_displayWidth = readFontByte(&dev->lcdWidth); + m_displayHeight = readFontByte(&dev->lcdHeight); + m_colOffset = readFontByte(&dev->colOffset); + for (uint8_t i = 0; i < size; i++) { + ssd1306WriteCmd(readFontByte(table + i)); + } + #if INCLUDE_SCROLLING + m_scroll = m_displayHeight != 64 || INCLUDE_SCROLLING < 2 ? 0 : 1; + #endif //INCLUDE_SCROLLING + clear(); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::setCol(uint8_t col) { + if (col >= m_displayWidth) return; + m_col = col; + col += m_colOffset; + ssd1306WriteCmd(SSD1306_SETLOWCOLUMN | (col & 0XF)); + ssd1306WriteCmd(SSD1306_SETHIGHCOLUMN | (col >> 4)); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::setContrast(uint8_t value) { + ssd1306WriteCmd(SSD1306_SETCONTRAST); + ssd1306WriteCmd(value); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::setCursor(uint8_t col, uint8_t row) { + setCol(col); + setRow(row); +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::setFont(const uint8_t* font) { + m_font = font; + if (font && fontSize() == 1) { + m_letterSpacing = 0; + } else { + m_letterSpacing = 1; + } +} +//------------------------------------------------------------------------------ +void SSD1306Ascii::setRow(uint8_t row) { + if (row >= m_displayHeight/8) return; + m_row = row; + ssd1306WriteCmd(SSD1306_SETSTARTPAGE | row); +} +//------------------------------------------------------------------------------ +#if INCLUDE_SCROLLING +void SSD1306Ascii::setScroll(bool enable) { + if (m_displayHeight != 64) return; + clear(); + m_scroll = enable ? 1 : 0; +} +#endif // INCLUDE_SCROLLING +//----------------------------------------------------------------------------- +void SSD1306Ascii::ssd1306WriteRam(uint8_t c) { + if (m_col >= m_displayWidth) return; + writeDisplay(c, SSD1306_MODE_RAM); + m_col++; +} +//----------------------------------------------------------------------------- +void SSD1306Ascii::ssd1306WriteRamBuf(uint8_t c) { + if (m_col >= m_displayWidth) return; + writeDisplay(c, SSD1306_MODE_RAM_BUF); + m_col++; +} +//------------------------------------------------------------------------------ +GLCDFONTDECL(scaledNibble) = { + 0X00, 0X03, 0X0C, 0X0F, + 0X30, 0X33, 0X3C, 0X3F, + 0XC0, 0XC3, 0XCC, 0XCF, + 0XF0, 0XF3, 0XFC, 0XFF +}; +//------------------------------------------------------------------------------ +size_t SSD1306Ascii::strWidth(const char* str) { + size_t sw = 0; + while (*str) { + uint8_t cw = charWidth(*str++); + if (cw == 0) { + return 0; + } + sw += cw + letterSpacing(); + } + return sw; +} +//------------------------------------------------------------------------------ +size_t SSD1306Ascii::write(uint8_t ch) { + if (!m_font) { + return 0; + } + uint8_t w = readFontByte(m_font + FONT_WIDTH); + uint8_t h = readFontByte(m_font + FONT_HEIGHT); + uint8_t nr = (h + 7)/8; + uint8_t first = readFontByte(m_font + FONT_FIRST_CHAR); + uint8_t count = readFontByte(m_font + FONT_CHAR_COUNT); + const uint8_t* base = m_font + FONT_WIDTH_TABLE; + + if (ch < first || ch >= (first + count)) { + if (ch == '\r') { + setCol(0); + return 1; + } + if (ch == '\n') { + #if INCLUDE_SCROLLING == 0 + setCursor(0, m_row + m_magFactor*nr); + #else // INCLUDE_SCROLLING + uint8_t tmp = m_row + m_magFactor*nr; + if (tmp >= m_displayHeight/8 && m_scroll) { + tmp = 0; + m_scroll = 2; + } + setCursor(0, tmp); + if (m_scroll > 1) { + clearToEOL(); + tmp += m_magFactor*nr; + tmp *= 8; + if (tmp > m_displayHeight) { + tmp = 0; + } + ssd1306WriteCmd(SSD1306_SETSTARTLINE | tmp); + } + #endif // INCLUDE_SCROLLING + return 1; + } + return 0; + } + ch -= first; + uint8_t s = letterSpacing(); + uint8_t thieleShift = 0; + if (fontSize() < 2) { + // Fixed width font. + base += nr*w*ch; + } else { + if (h & 7) { + thieleShift = 8 - (h & 7); + } + uint16_t index = 0; + for (uint8_t i = 0; i < ch; i++) { + index += readFontByte(base + i); + } + w = readFontByte(base + ch); + base += nr*index + count; + } + uint8_t scol = m_col; + uint8_t srow = m_row; + for (uint8_t r = 0; r < nr; r++) { + for (uint8_t m = 0; m < m_magFactor; m++) { + if (r || m) setCursor(scol, m_row + 1); + for (uint8_t c = 0; c < w; c++) { + uint8_t b = readFontByte(base + c + r*w); + if (thieleShift && (r + 1) == nr) { + b >>= thieleShift; + } + if (m_magFactor == 2) { + b = m ? b >> 4 : b & 0XF; + b = readFontByte(scaledNibble + b); + ssd1306WriteRamBuf(b); + } + ssd1306WriteRamBuf(b); + } + for (uint8_t i = 0; i < s; i++) { + ssd1306WriteRamBuf(0); + } + } + } + setRow(srow); + return 1; +} +//------------------------------------------------------------------------------ +size_t SSD1306Ascii::write(const char* s) { + size_t n = strlen(s); + for (size_t i = 0; i < n; i++) { + write(s[i]); + } + return n; +} diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.h new file mode 100644 index 0000000..d6e658e --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306Ascii.h @@ -0,0 +1,319 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306Ascii.h + * @brief Base class for ssd1306 displays. + */ +#ifndef SSD1306Ascii_h +#define SSD1306Ascii_h +#include "Arduino.h" +#include "SSD1306init.h" +#include "fonts/allFonts.h" +//------------------------------------------------------------------------------ +/** SSD1306Ascii version */ +#define SDD1306_ASCII_VERSION 1.1.0 +//------------------------------------------------------------------------------ +// Configuration options. +/** Set Scrolling mode for new line. + * + * If INCLUDE_SCROLLING is defined to be zero, new line will not scroll + * the display and code for scrolling will not be included. This option + * will save some code space and one byte of RAM. + * + * If INCLUDE_SCROLLING is defined to be one, the scroll feature will + * be included but not enabled. A call to setScroll() will be required + * to enable scrolling. + * + * If INCLUDE_SCROLLING is defined to be two, the scroll feature will + * be included and enabled. A call to setScroll() will be required + * to disable scrolling. + */ +#define INCLUDE_SCROLLING 1 + +/** Use larger faster I2C code. */ +#define OPTIMIZE_I2C 1 + +/** Define OPTIMIZE_AVR_SPI non-zero for a faster smaller AVR SPI code. + * Warning AVR will not use SPI transactions. + */ +#define OPTIMIZE_AVR_SPI 1 +//------------------------------------------------------------------------------ +// Values for writeDisplay() mode parameter. +/** Write to Command register. */ +#define SSD1306_MODE_CMD 0 +/** Write one byte to display RAM. */ +#define SSD1306_MODE_RAM 1 +/** Write to display RAM with possible buffering. */ +#define SSD1306_MODE_RAM_BUF 2 +//----------------------------------------------------------------------------- +/** + * @brief Reset the display controller. + * + * @param[in] rst Reset pin number. + */ +inline void oledReset(uint8_t rst) { + pinMode(rst, OUTPUT); + digitalWrite(rst, LOW); + delay(10); + digitalWrite(rst, HIGH); + delay(10); +} +//------------------------------------------------------------------------------ +/** + * @class SSD1306Ascii + * @brief SSD1306 base class + */ +class SSD1306Ascii : public Print { + public: + SSD1306Ascii() : m_magFactor(1), m_font(0) {} + /** + * @brief Determine the width of a character. + * + * @param[in] c Character code. + * @return Width of the character in pixels. + */ + uint8_t charWidth(uint8_t c); + /** + * @brief Clear the display and set the cursor to (0, 0). + */ + void clear(); + /** + * @brief Clear a region of the display. + * + * @param[in] c0 Starting column. + * @param[in] c1 Ending column. + * @param[in] r0 Starting row; + * @param[in] r1 Ending row; + * @note The final cursor position will be (c0, r0). + */ + void clear(uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1); + /** + * @brief Clear a field of n fieldWidth() characters. + * + * @param[in] col Field start column. + * + * @param[in] row Field start row. + * + * @param[in] n Number of characters in the field. + * + */ + void clearField(uint8_t col, uint8_t row, uint8_t n); + /** + * @brief Clear the display to the end of the current line. + * @note The number of rows cleared will be determined by the height + * of the current font. + * @note The cursor will be returned to the original position. + */ + void clearToEOL(); + /** + * @return The current column in pixels. + */ + uint8_t col() {return m_col;} + /** + * @return The display hight in pixels. + */ + uint8_t displayHeight() {return m_displayHeight;} + /** + * @brief Set display to normal or 180 degree remap mode. + * + * @param[in] mode true for normal mode, false for remap mode. + * + * @note Adafruit and many ebay displays use remap mode. + * Use normal mode to rotate these displays 180 degrees. + */ + void displayRemap(bool mode); + /** + * @return The display height in rows with eight pixels to a row. + */ + uint8_t displayRows() {return m_displayHeight/8;} + /** + * @return The display width in pixels. + */ + uint8_t displayWidth() {return m_displayWidth;} + /** + * @brief Width of a field in pixels. + * + * @param[in] n Number of characters in the field. + * + * @return Width of the field. + */ + size_t fieldWidth(uint8_t n); + /** + * @return The current font pointer. + */ + const uint8_t* font() {return m_font;} + /** + * @return The count of characters in a font. + */ + uint8_t fontCharCount(); + /** + * @return The first character in a font. + */ + char fontFirstChar(); + /** + * @return The current font height in pixels. + */ + uint8_t fontHeight(); + /** + * @return The number of eight pixel rows required to display a character + * in the current font. + */ + uint8_t fontRows() {return (fontHeight() + 7)/8;} + /** + * @return The maximum width of characters in the current font. + */ + uint8_t fontWidth(); + /** + * @brief Set the cursor position to (0, 0). + */ + void home() {setCursor(0, 0);} + /** + * @brief Initialize the display controller. + * + * @param[in] dev A display initialization structure. + */ + void init(const DevType* dev); + /** + * @return letter-spacing in pixels with magnification factor. + */ + uint8_t letterSpacing() {return m_magFactor*m_letterSpacing;} + /** + * @return The character magnification factor. + */ + uint8_t magFactor() {return m_magFactor;} + /** + * @return the current row number with eight pixels to a row. + */ + uint8_t row() {return m_row;} + /** + * @brief Set the character magnification factor to one. + */ + void set1X() {m_magFactor = 1;} + /** + * @brief Set the character magnification factor to two. + */ + void set2X() {m_magFactor = 2;} + /** + * @brief Set the current column number. + * + * @param[in] col The desired column number in pixels. + */ + void setCol(uint8_t col); + /** + * @brief Set the display contrast. + * + * @param[in] value The contrast level in th range 0 to 255. + */ + void setContrast(uint8_t value); + /** + * @brief Set the cursor position. + * + * @param[in] col The column number in pixels. + * @param[in] row the row number in eight pixel rows. + */ + void setCursor(uint8_t col, uint8_t row); + /** + * @brief Set the current font. + * + * @param[in] font Pointer to a font table. + */ + void setFont(const uint8_t* font); + /** + * @brief Set letter-spacing. setFont() will restore default letter-spacing. + * + * @param[in] pixels letter-spacing in pixels before magnification. + */ + void setLetterSpacing(uint8_t pixels) {m_letterSpacing = pixels;} + /** + * @brief Set the current row number. + * + * @param[in] row the row number in eight pixel rows. + */ + void setRow(uint8_t row); +#if INCLUDE_SCROLLING + /** + * @brief Enable or disable scroll mode. + * + * @param[in] enable true enable scroll on new line false disable scroll. + * @note Scroll mode is only supported on 64 pixel high displays. + * Using setRow() or setCursor() will be unpredictable in scroll mode. + * You must use a font with an integral number of line on + * the display. + */ + void setScroll(bool enable); +#endif // INCLUDE_SCROLLING + /** + * @brief Write a command byte to the display controller. + * + * @param[in] c The command byte. + * @note The byte will immediately be sent to the controller. + */ + void ssd1306WriteCmd(uint8_t c) {writeDisplay(c, SSD1306_MODE_CMD);} + /** + * @brief Write a byte to RAM in the display controller. + * + * @param[in] c The data byte. + * @note The byte will immediately be sent to the controller. + */ + void ssd1306WriteRam(uint8_t c); + /** + * @brief Write a byte to RAM in the display controller. + * + * @param[in] c The data byte. + * @note The byte may be buffered until a call to ssd1306WriteCmd + * or ssd1306WriteRam. + */ + void ssd1306WriteRamBuf(uint8_t c); + /** + * @param[in] str The pointer to string. + * @return the width of the string in pixels. + */ + size_t strWidth(const char* str); + /** + * @brief Display a character. + * + * @param[in] c The character to display. + * @return the value one. + */ + size_t write(uint8_t c); + /** + * @brief Display a string. + * + * @param[in] s The string to display. + * @return The length of the string. + */ + size_t write(const char* s); + + private: + uint16_t fontSize(); + virtual void writeDisplay(uint8_t b, uint8_t mode) = 0; + uint8_t m_col; // Cursor column. + uint8_t m_row; // Cursor RAM row. + uint8_t m_displayWidth; // Display width. + uint8_t m_displayHeight; // Display height. + uint8_t m_colOffset; // Column offset RAM to SEG. + uint8_t m_letterSpacing; // lerret-spacing in pixels. + uint8_t m_magFactor; // Magnification factor. +#if INCLUDE_SCROLLING + uint8_t m_scroll; // Scroll mode +#endif // INCLUDE_SCROLLING + const uint8_t* m_font; // Current font. +}; +#endif // SSD1306Ascii_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiAvrI2c.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiAvrI2c.h new file mode 100644 index 0000000..bc1ff58 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiAvrI2c.h @@ -0,0 +1,84 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306AsciiAvrI2c.h + * @brief Class for I2C displays using AvrI2c. + */ +#ifndef SSD1306AsciiAvrI2c_h +#define SSD1306AsciiAvrI2c_h +#include "utility/AvrI2c.h" +#include "SSD1306Ascii.h" +/** + * @class SSD1306AsciiAvrI2c + * @brief Class for I2C displays on AVR. + * + * Uses the AvrI2c class that is smaller and faster than the + * Wire library. + */ +class SSD1306AsciiAvrI2c : public SSD1306Ascii { + public: + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] i2cAddr The I2C address of the display controller. + */ + void begin(const DevType* dev, uint8_t i2cAddr) { + m_nData = 0; + m_i2cAddr = i2cAddr; + + m_i2c.begin(true); + init(dev); + } + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] i2cAddr The I2C address of the display controller. + * @param[in] rst The display controller reset pin. + */ + void begin(const DevType* dev, uint8_t i2cAddr, uint8_t rst) { + oledReset(rst); + begin(dev, i2cAddr); + } + protected: + void writeDisplay(uint8_t b, uint8_t mode) { + if ((m_nData && mode == SSD1306_MODE_CMD)) { + m_i2c.stop(); + m_nData = 0; + } + if (m_nData == 0) { + m_i2c.start((m_i2cAddr << 1) | I2C_WRITE); + m_i2c.write(mode == SSD1306_MODE_CMD ? 0X00 : 0X40); + } + m_i2c.write(b); + if (mode == SSD1306_MODE_RAM_BUF) { + m_nData++; + }else { + m_i2c.stop(); + m_nData = 0; + } + } + private: + AvrI2c m_i2c; + uint8_t m_i2cAddr; + uint8_t m_nData; +}; +#endif // SSD1306AsciiAvrI2c_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSoftSpi.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSoftSpi.h new file mode 100644 index 0000000..2097d0a --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSoftSpi.h @@ -0,0 +1,86 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306AsciiSoftSpi.h + * @brief Class for software SPI displays. + */ +#ifndef SSD1306AsciiSoftSpi_h +#define SSD1306AsciiSoftSpi_h + +#include "SSD1306Ascii.h" +#include "utility/DigitalOutput.h" +/** + * @class SSD1306AsciiSoftSpi + * @brief Class for SPI displays using software SPI. + */ +class SSD1306AsciiSoftSpi : public SSD1306Ascii { + public: + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller cdata/command pin. + * @param[in] clk The SPI clock pin. + * @param[in] data The SPI MOSI pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data) { + m_csPin.begin(cs); + m_dcPin.begin(dc); + m_clkPin.begin(clk); + m_dataPin.begin(data); + init(dev); + } + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller cdata/command pin. + * @param[in] clk The SPI clock pin. + * @param[in] data The SPI MOSI pin. + * @param[in] rst The display controller reset pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc, uint8_t clk, uint8_t data, uint8_t rst) { + pinMode(rst, OUTPUT); + digitalWrite(rst, LOW); + delay(10); + digitalWrite(rst, HIGH); + delay(10); + begin(dev, cs, dc, clk, data); + } + protected: + void writeDisplay(uint8_t b, uint8_t mode) { + m_dcPin.write(mode != SSD1306_MODE_CMD); + m_csPin.write(LOW); + for (uint8_t m = 0X80; m; m >>= 1) { + m_clkPin.write(LOW); + m_dataPin.write(m & b); + m_clkPin.write(HIGH); + } + m_csPin.write(HIGH); + } + private: + DigitalOutput m_csPin; + DigitalOutput m_dcPin; + DigitalOutput m_clkPin; + DigitalOutput m_dataPin; +}; +#endif // SSD1306AsciiSoftSpi_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSpi.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSpi.h new file mode 100644 index 0000000..55acfe5 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiSpi.h @@ -0,0 +1,139 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306AsciiSpi.h + * @brief Class for hardware SPI displays. + */ +#ifndef SSD1306AsciiSpi_h +#define SSD1306AsciiSpi_h +#include +#include "SSD1306Ascii.h" + +#if !defined(__AVR__) || OPTIMIZE_AVR_SPI == 0 +//------------------------------------------------------------------------------ +/** + * @class SSD1306AsciiSpi + * @brief Class for SPI displays on the hardware SPI bus. + */ +class SSD1306AsciiSpi : public SSD1306Ascii { + public: + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller data/command pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc) { + m_cs = cs; + m_dc = dc; + pinMode(m_cs, OUTPUT); + pinMode(m_dc, OUTPUT); + SPI.begin(); + init(dev); + } + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller cdata/command pin. + * @param[in] rst The display controller reset pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc, uint8_t rst) { + oledReset(rst); + begin(dev, cs, dc); + } + + protected: + void writeDisplay(uint8_t b, uint8_t mode) { + digitalWrite(m_dc, mode != SSD1306_MODE_CMD); + SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0)); + digitalWrite(m_cs, LOW); + SPI.transfer(b); + digitalWrite(m_cs, HIGH); + SPI.endTransaction(); + } + + private: + int8_t m_cs; + int8_t m_dc; +}; +//------------------------------------------------------------------------------ +#else // OPTIMIZE_AVR_SPI +#include "utility/DigitalOutput.h" +/** + * @class SSD1306AsciiSpi + * @brief Class for SPI displays on the hardware SPI bus. + */ +class SSD1306AsciiSpi : public SSD1306Ascii { + public: + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller cdata/command pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc) { + m_csPin.begin(cs); + m_dcPin.begin(dc); +#ifdef __AVR_ATmega328P__ + // Save a few bytes for 328 CPU - gcc optimizes single bit '|' to sbi. + PORTB |= 1 << 2; // SS high + DDRB |= 1 << 2; // SS output mode + DDRB |= 1 << 3; // MOSI output mode + DDRB |= 1 << 5; // SCK output mode +#else // __AVR_ATmega328P__ + SPI.begin(); +#endif // __AVR_ATmega328P__ + init(dev); + } + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] cs The display controller chip select pin. + * @param[in] dc The display controller cdata/command pin. + * @param[in] rst The display controller reset pin. + */ + void begin(const DevType* dev, uint8_t cs, uint8_t dc, uint8_t rst) { + oledReset(rst); + begin(dev, cs, dc); + } + + protected: + //---------------------------------------------------------------------------- + void writeDisplay(uint8_t b, uint8_t mode) { + m_dcPin.write(mode != SSD1306_MODE_CMD); + // 8 MHz, SPI_MODE0, MSBFIRST + SPCR = (1 << SPE) | (1 << MSTR); + SPSR = 1 << SPI2X; + m_csPin.write(LOW); + SPI.transfer(b); + m_csPin.write(HIGH); + } + + private: + DigitalOutput m_csPin; + DigitalOutput m_dcPin; +}; +#endif // OPTIMIZE_AVR_SPI +#endif // SSD1306AsciiSpi_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiWire.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiWire.h new file mode 100644 index 0000000..b287d1b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306AsciiWire.h @@ -0,0 +1,97 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306AsciiWire.h + * @brief Class for I2C displays using Wire. + */ +#ifndef SSD1306AsciiWire_h +#define SSD1306AsciiWire_h +#include +#include "SSD1306Ascii.h" +/** + * @class SSD1306AsciiWire + * @brief Class for I2C displays using Wire. + */ +class SSD1306AsciiWire : public SSD1306Ascii { + public: + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] i2cAddr The I2C address of the display controller. + */ + void begin(const DevType* dev, uint8_t i2cAddr) { +#if OPTIMIZE_I2C + m_nData = 0; +#endif // OPTIMIZE_I2C + m_i2cAddr = i2cAddr; + init(dev); + } + /** + * @brief Initialize the display controller. + * + * @param[in] dev A device initialization structure. + * @param[in] i2cAddr The I2C address of the display controller. + * @param[in] rst The display controller reset pin. + */ + void begin(const DevType* dev, uint8_t i2cAddr, uint8_t rst) { + oledReset(rst); + begin(dev, i2cAddr); + } + /** + * @brief Set the I2C clock rate to 400 kHz. + * Deprecated use Wire.setClock(400000L) + */ + void set400kHz() __attribute__ ((deprecated("use Wire.setClock(400000L)"))) { + Wire.setClock(400000L); + } + + protected: + void writeDisplay(uint8_t b, uint8_t mode) { +#if OPTIMIZE_I2C + if (m_nData > 16 || (m_nData && mode == SSD1306_MODE_CMD)) { + Wire.endTransmission(); + m_nData = 0; + } + if (m_nData == 0) { + Wire.beginTransmission(m_i2cAddr); + Wire.write(mode == SSD1306_MODE_CMD ? 0X00 : 0X40); + } + Wire.write(b); + if (mode == SSD1306_MODE_RAM_BUF) { + m_nData++; + }else { + Wire.endTransmission(); + m_nData = 0; + } +#else // OPTIMIZE_I2C + Wire.beginTransmission(m_i2cAddr); + Wire.write(mode == SSD1306_MODE_CMD ? 0X00: 0X40); + Wire.write(b); + Wire.endTransmission(); +#endif // OPTIMIZE_I2C + } + private: + uint8_t m_i2cAddr; +#if OPTIMIZE_I2C + uint8_t m_nData; +#endif // OPTIMIZE_I2C +}; +#endif // SSD1306AsciiWire_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/SSD1306init.h b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306init.h new file mode 100644 index 0000000..d29254f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/SSD1306init.h @@ -0,0 +1,232 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file SSD1306init.h + * @brief Display controller initialization commands. + */ +#ifndef SSD1306init_h +#define SSD1306init_h +//------------------------------------------------------------------------------ +#ifndef __AVR__ +/** Handle AVR flash addressing. */ +#define MEM_TYPE +#else // __AVR__ +#define MEM_TYPE __attribute__ ((progmem)) +#endif // __AVR__ +//------------------------------------------------------------------------------ +/** Set Lower Column Start Address for Page Addressing Mode. */ +#define SSD1306_SETLOWCOLUMN 0x00 +/** Set Higher Column Start Address for Page Addressing Mode. */ +#define SSD1306_SETHIGHCOLUMN 0x10 +/** Set Memory Addressing Mode. */ +#define SSD1306_MEMORYMODE 0x20 +/** Set display RAM display start line register from 0 - 63. */ +#define SSD1306_SETSTARTLINE 0x40 +/** Set Display Contrast to one of 256 steps. */ +#define SSD1306_SETCONTRAST 0x81 +/** Enable or disable charge pump. Follow with 0X14 enable, 0X10 disable. */ +#define SSD1306_CHARGEPUMP 0x8D +/** Set Segment Re-map between data column and the segment driver. */ +#define SSD1306_SEGREMAP 0xA0 +/** Resume display from GRAM content. */ +#define SSD1306_DISPLAYALLON_RESUME 0xA4 +/** Force display on regardless of GRAM content. */ +#define SSD1306_DISPLAYALLON 0xA5 +/** Set Normal Display. */ +#define SSD1306_NORMALDISPLAY 0xA6 +/** Set Inverse Display. */ +#define SSD1306_INVERTDISPLAY 0xA7 +/** Set Multiplex Ratio from 16 to 63. */ +#define SSD1306_SETMULTIPLEX 0xA8 +/** Set Display off. */ +#define SSD1306_DISPLAYOFF 0xAE +/** Set Display on. */ +#define SSD1306_DISPLAYON 0xAF +/**Set GDDRAM Page Start Address. */ +#define SSD1306_SETSTARTPAGE 0XB0 +/** Set COM output scan direction normal. */ +#define SSD1306_COMSCANINC 0xC0 +/** Set COM output scan direction reversed. */ +#define SSD1306_COMSCANDEC 0xC8 +/** Set Display Offset. */ +#define SSD1306_SETDISPLAYOFFSET 0xD3 +/** Sets COM signals pin configuration to match the OLED panel layout. */ +#define SSD1306_SETCOMPINS 0xDA +/** This command adjusts the VCOMH regulator output. */ +#define SSD1306_SETVCOMDETECT 0xDB +/** Set Display Clock Divide Ratio/ Oscillator Frequency. */ +#define SSD1306_SETDISPLAYCLOCKDIV 0xD5 +/** Set Pre-charge Period */ +#define SSD1306_SETPRECHARGE 0xD9 +/** No Operation Command. */ +#define SSD1306_NOP 0XE3 +//------------------------------------------------------------------------------ +/** Set Pump voltage value: (30H~33H) 6.4, 7.4, 8.0 (POR), 9.0. */ +#define SH1106_SET_PUMP_VOLTAGE 0X30 +/** First byte of set charge pump mode */ +#define SH1106_SET_PUMP_MODE 0XAD +/** Second byte charge pump on. */ +#define SH1106_PUMP_ON 0X8B +/** Second byte charge pump off. */ +#define SH1106_PUMP_OFF 0X8A +//------------------------------------------------------------------------------ +/** + * @struct DevType + * @brief Device initialization structure. + */ +struct DevType { + /** + * Pointer to initialization command bytes. + */ + const uint8_t* initcmds; + /** + * Number of initialization bytes. + */ + const uint8_t initSize; + /** + * Width of the diaplay in pixels. + */ + const uint8_t lcdWidth; + /** + * Height of the display in pixels. + */ + const uint8_t lcdHeight; + /** + * Column offset RAM to display. Used to pick start column of SH1106. + */ + const uint8_t colOffset; +}; +//------------------------------------------------------------------------------ +/** Initialization commands for a 64x48 Micro OLED display (by r7) */ +static const uint8_t MEM_TYPE MicroOLED64x48init[] = { + // Init sequence for 64x48 Micro OLED module + SSD1306_DISPLAYOFF, + SSD1306_SETDISPLAYCLOCKDIV, 0x80, // the suggested ratio 0x80 + SSD1306_SETMULTIPLEX, 0x2F, // + SSD1306_SETDISPLAYOFFSET,0x0, // no offset + SSD1306_SETSTARTLINE | 0x0, // line #0 + SSD1306_CHARGEPUMP, 0x14, // internal vcc + SSD1306_NORMALDISPLAY, + SSD1306_DISPLAYALLON_RESUME, + SSD1306_SEGREMAP | 0x1, // column 127 mapped to SEG0 + SSD1306_COMSCANDEC, // column scan direction reversed + SSD1306_SETCOMPINS, 0x12, // 0x12 if height > 32 else 0x02 + SSD1306_SETCONTRAST, 0x7F, // contrast level 127 + SSD1306_SETPRECHARGE, 0xF1, // pre-charge period (1, 15) + SSD1306_SETVCOMDETECT, 0x40, // vcomh regulator level + SSD1306_DISPLAYON +}; +/** Initialize a 64x48 Micro OLED display. */ +static const DevType MEM_TYPE MicroOLED64x48 = { + MicroOLED64x48init, + sizeof(MicroOLED64x48init), + 64, + 48, + 32 +}; +//------------------------------------------------------------------------------ +// this section is based on https://github.com/adafruit/Adafruit_SSD1306 +/** Initialization commands for a 128x32 SSD1306 oled display. */ +static const uint8_t MEM_TYPE Adafruit128x32init[] = { + // Init sequence for Adafruit 128x32 OLED module + SSD1306_DISPLAYOFF, + SSD1306_SETDISPLAYCLOCKDIV, 0x80, // the suggested ratio 0x80 + SSD1306_SETMULTIPLEX, 0x1F, // ratio 32 + SSD1306_SETDISPLAYOFFSET,0x0, // no offset + SSD1306_SETSTARTLINE | 0x0, // line #0 + SSD1306_CHARGEPUMP, 0x14, // internal vcc + SSD1306_MEMORYMODE, 0x02, // page mode + SSD1306_SEGREMAP | 0x1, // column 127 mapped to SEG0 + SSD1306_COMSCANDEC, // column scan direction reversed + SSD1306_SETCOMPINS, 0x02, // sequential COM pins, disable remap + SSD1306_SETCONTRAST, 0x7F, // contrast level 127 + SSD1306_SETPRECHARGE, 0xF1, // pre-charge period (1, 15) + SSD1306_SETVCOMDETECT, 0x40, // vcomh regulator level + SSD1306_DISPLAYALLON_RESUME, + SSD1306_NORMALDISPLAY, + SSD1306_DISPLAYON +}; +/** Initialize a 128x32 SSD1306 oled display. */ +static const DevType MEM_TYPE Adafruit128x32 = { + Adafruit128x32init, + sizeof(Adafruit128x32init), + 128, + 32, + 0 +}; +//------------------------------------------------------------------------------ +// This section is based on https://github.com/adafruit/Adafruit_SSD1306 +/** Initialization commands for a 128x64 SSD1306 oled display. */ +static const uint8_t MEM_TYPE Adafruit128x64init[] = { + // Init sequence for Adafruit 128x64 OLED module + SSD1306_DISPLAYOFF, + SSD1306_SETDISPLAYCLOCKDIV, 0x80, // the suggested ratio 0x80 + SSD1306_SETMULTIPLEX, 0x3F, // ratio 64 + SSD1306_SETDISPLAYOFFSET, 0x0, // no offset + SSD1306_SETSTARTLINE | 0x0, // line #0 + SSD1306_CHARGEPUMP, 0x14, // internal vcc + SSD1306_MEMORYMODE, 0x02, // page mode + SSD1306_SEGREMAP | 0x1, // column 127 mapped to SEG0 + SSD1306_COMSCANDEC, // column scan direction reversed + SSD1306_SETCOMPINS, 0x12, // alt COM pins, disable remap + SSD1306_SETCONTRAST, 0x7F, // contrast level 127 + SSD1306_SETPRECHARGE, 0xF1, // pre-charge period (1, 15) + SSD1306_SETVCOMDETECT, 0x40, // vcomh regulator level + SSD1306_DISPLAYALLON_RESUME, + SSD1306_NORMALDISPLAY, + SSD1306_DISPLAYON +}; +/** Initialize a 128x64 oled display. */ +static const DevType MEM_TYPE Adafruit128x64 = { + Adafruit128x64init, + sizeof(Adafruit128x64init), + 128, + 64, + 0 +}; +//------------------------------------------------------------------------------ +// This section is based on https://github.com/stanleyhuangyc/MultiLCD +/** Initialization commands for a 128x64 SH1106 oled display. */ +static const uint8_t MEM_TYPE SH1106_128x64init[] = { + SSD1306_DISPLAYOFF, + SSD1306_SETSTARTPAGE | 0X0, // set page address + SSD1306_SETCONTRAST, 0x80, // 128 + SSD1306_SEGREMAP | 0X1, // set segment remap + SSD1306_NORMALDISPLAY, // normal / reverse + SSD1306_SETMULTIPLEX, 0x3F, // ratio 64 + SH1106_SET_PUMP_MODE, SH1106_PUMP_ON, // set charge pump enable + SH1106_SET_PUMP_VOLTAGE | 0X2, // 8.0 volts + SSD1306_COMSCANDEC, // Com scan direction + SSD1306_SETDISPLAYOFFSET, 0X00, // set display offset + SSD1306_SETDISPLAYCLOCKDIV, 0X80, // set osc division + SSD1306_SETPRECHARGE, 0X1F, // set pre-charge period + SSD1306_SETCOMPINS, 0X12, // set COM pins + SSD1306_SETVCOMDETECT, 0x40, // set vcomh + SSD1306_DISPLAYON +}; +/** Initialize a 128x64 oled SH1106 display. */ +static const DevType MEM_TYPE SH1106_128x64 = { + SH1106_128x64init, + sizeof(SH1106_128x64init), + 128, + 64, + 2 // SH1106 is a 132x64 controller. Use middle 128 columns. +}; +#endif // SSD1306init_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Adafruit5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Adafruit5x7.h new file mode 100644 index 0000000..5950cf6 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Adafruit5x7.h @@ -0,0 +1,276 @@ +#ifndef glcdfont_h +#define glcdfont_h + +// standard ascii 5x7 font +// Restrict to 96 characters +#define ADAFRUIT_ASCII96 +GLCDFONTDECL(Adafruit5x7) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 0x05, // width + 0x07, // height +#ifdef ADAFRUIT_ASCII96 + 0x20, // first char + 0x60, // char count +#else // ADAFRUIT_ASCII96 + 0x00, // first char + 0xFE, // char count + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, + 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, + 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, + 0x18, 0x3C, 0x7E, 0x3C, 0x18, + 0x1C, 0x57, 0x7D, 0x57, 0x1C, + 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, + 0x00, 0x18, 0x3C, 0x18, 0x00, + 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, + 0x00, 0x18, 0x24, 0x18, 0x00, + 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, + 0x30, 0x48, 0x3A, 0x06, 0x0E, + 0x26, 0x29, 0x79, 0x29, 0x26, + 0x40, 0x7F, 0x05, 0x05, 0x07, + 0x40, 0x7F, 0x05, 0x25, 0x3F, + 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, + 0x7F, 0x3E, 0x1C, 0x1C, 0x08, + 0x08, 0x1C, 0x1C, 0x3E, 0x7F, + 0x14, 0x22, 0x7F, 0x22, 0x14, + 0x5F, 0x5F, 0x00, 0x5F, 0x5F, + 0x06, 0x09, 0x7F, 0x01, 0x7F, + 0x00, 0x66, 0x89, 0x95, 0x6A, + 0x60, 0x60, 0x60, 0x60, 0x60, + 0x94, 0xA2, 0xFF, 0xA2, 0x94, + 0x08, 0x04, 0x7E, 0x04, 0x08, + 0x10, 0x20, 0x7E, 0x20, 0x10, + 0x08, 0x08, 0x2A, 0x1C, 0x08, + 0x08, 0x1C, 0x2A, 0x08, 0x08, + 0x1E, 0x10, 0x10, 0x10, 0x10, + 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, + 0x30, 0x38, 0x3E, 0x38, 0x30, + 0x06, 0x0E, 0x3E, 0x0E, 0x06, +#endif // ADAFRUIT_ASCII96 + 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x5F, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x07, 0x00, + 0x14, 0x7F, 0x14, 0x7F, 0x14, + 0x24, 0x2A, 0x7F, 0x2A, 0x12, + 0x23, 0x13, 0x08, 0x64, 0x62, + 0x36, 0x49, 0x56, 0x20, 0x50, + 0x00, 0x08, 0x07, 0x03, 0x00, + 0x00, 0x1C, 0x22, 0x41, 0x00, + 0x00, 0x41, 0x22, 0x1C, 0x00, + 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, + 0x08, 0x08, 0x3E, 0x08, 0x08, + 0x00, 0x80, 0x70, 0x30, 0x00, + 0x08, 0x08, 0x08, 0x08, 0x08, + 0x00, 0x00, 0x60, 0x60, 0x00, + 0x20, 0x10, 0x08, 0x04, 0x02, + 0x3E, 0x51, 0x49, 0x45, 0x3E, + 0x00, 0x42, 0x7F, 0x40, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, + 0x21, 0x41, 0x49, 0x4D, 0x33, + 0x18, 0x14, 0x12, 0x7F, 0x10, + 0x27, 0x45, 0x45, 0x45, 0x39, + 0x3C, 0x4A, 0x49, 0x49, 0x31, + 0x41, 0x21, 0x11, 0x09, 0x07, + 0x36, 0x49, 0x49, 0x49, 0x36, + 0x46, 0x49, 0x49, 0x29, 0x1E, + 0x00, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x40, 0x34, 0x00, 0x00, + 0x00, 0x08, 0x14, 0x22, 0x41, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x00, 0x41, 0x22, 0x14, 0x08, + 0x02, 0x01, 0x59, 0x09, 0x06, + 0x3E, 0x41, 0x5D, 0x59, 0x4E, + 0x7C, 0x12, 0x11, 0x12, 0x7C, + 0x7F, 0x49, 0x49, 0x49, 0x36, + 0x3E, 0x41, 0x41, 0x41, 0x22, + 0x7F, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x49, 0x49, 0x49, 0x41, + 0x7F, 0x09, 0x09, 0x09, 0x01, + 0x3E, 0x41, 0x41, 0x51, 0x73, + 0x7F, 0x08, 0x08, 0x08, 0x7F, + 0x00, 0x41, 0x7F, 0x41, 0x00, + 0x20, 0x40, 0x41, 0x3F, 0x01, + 0x7F, 0x08, 0x14, 0x22, 0x41, + 0x7F, 0x40, 0x40, 0x40, 0x40, + 0x7F, 0x02, 0x1C, 0x02, 0x7F, + 0x7F, 0x04, 0x08, 0x10, 0x7F, + 0x3E, 0x41, 0x41, 0x41, 0x3E, + 0x7F, 0x09, 0x09, 0x09, 0x06, + 0x3E, 0x41, 0x51, 0x21, 0x5E, + 0x7F, 0x09, 0x19, 0x29, 0x46, + 0x26, 0x49, 0x49, 0x49, 0x32, + 0x03, 0x01, 0x7F, 0x01, 0x03, + 0x3F, 0x40, 0x40, 0x40, 0x3F, + 0x1F, 0x20, 0x40, 0x20, 0x1F, + 0x3F, 0x40, 0x38, 0x40, 0x3F, + 0x63, 0x14, 0x08, 0x14, 0x63, + 0x03, 0x04, 0x78, 0x04, 0x03, + 0x61, 0x59, 0x49, 0x4D, 0x43, + 0x00, 0x7F, 0x41, 0x41, 0x41, + 0x02, 0x04, 0x08, 0x10, 0x20, + 0x00, 0x41, 0x41, 0x41, 0x7F, + 0x04, 0x02, 0x01, 0x02, 0x04, + 0x40, 0x40, 0x40, 0x40, 0x40, + 0x00, 0x03, 0x07, 0x08, 0x00, + 0x20, 0x54, 0x54, 0x78, 0x40, + 0x7F, 0x28, 0x44, 0x44, 0x38, + 0x38, 0x44, 0x44, 0x44, 0x28, + 0x38, 0x44, 0x44, 0x28, 0x7F, + 0x38, 0x54, 0x54, 0x54, 0x18, + 0x00, 0x08, 0x7E, 0x09, 0x02, + 0x18, 0xA4, 0xA4, 0x9C, 0x78, + 0x7F, 0x08, 0x04, 0x04, 0x78, + 0x00, 0x44, 0x7D, 0x40, 0x00, + 0x20, 0x40, 0x40, 0x3D, 0x00, + 0x7F, 0x10, 0x28, 0x44, 0x00, + 0x00, 0x41, 0x7F, 0x40, 0x00, + 0x7C, 0x04, 0x78, 0x04, 0x78, + 0x7C, 0x08, 0x04, 0x04, 0x78, + 0x38, 0x44, 0x44, 0x44, 0x38, + 0xFC, 0x18, 0x24, 0x24, 0x18, + 0x18, 0x24, 0x24, 0x18, 0xFC, + 0x7C, 0x08, 0x04, 0x04, 0x08, + 0x48, 0x54, 0x54, 0x54, 0x24, + 0x04, 0x04, 0x3F, 0x44, 0x24, + 0x3C, 0x40, 0x40, 0x20, 0x7C, + 0x1C, 0x20, 0x40, 0x20, 0x1C, + 0x3C, 0x40, 0x30, 0x40, 0x3C, + 0x44, 0x28, 0x10, 0x28, 0x44, + 0x4C, 0x90, 0x90, 0x90, 0x7C, + 0x44, 0x64, 0x54, 0x4C, 0x44, + 0x00, 0x08, 0x36, 0x41, 0x00, + 0x00, 0x00, 0x77, 0x00, 0x00, + 0x00, 0x41, 0x36, 0x08, 0x00, + 0x02, 0x01, 0x02, 0x04, 0x02, + 0x3C, 0x26, 0x23, 0x26, 0x3C, +#ifndef ADAFRUIT_ASCII96 + 0x1E, 0xA1, 0xA1, 0x61, 0x12, + 0x3A, 0x40, 0x40, 0x20, 0x7A, + 0x38, 0x54, 0x54, 0x55, 0x59, + 0x21, 0x55, 0x55, 0x79, 0x41, + 0x21, 0x54, 0x54, 0x78, 0x41, + 0x21, 0x55, 0x54, 0x78, 0x40, + 0x20, 0x54, 0x55, 0x79, 0x40, + 0x0C, 0x1E, 0x52, 0x72, 0x12, + 0x39, 0x55, 0x55, 0x55, 0x59, + 0x39, 0x54, 0x54, 0x54, 0x59, + 0x39, 0x55, 0x54, 0x54, 0x58, + 0x00, 0x00, 0x45, 0x7C, 0x41, + 0x00, 0x02, 0x45, 0x7D, 0x42, + 0x00, 0x01, 0x45, 0x7C, 0x40, + 0xF0, 0x29, 0x24, 0x29, 0xF0, + 0xF0, 0x28, 0x25, 0x28, 0xF0, + 0x7C, 0x54, 0x55, 0x45, 0x00, + 0x20, 0x54, 0x54, 0x7C, 0x54, + 0x7C, 0x0A, 0x09, 0x7F, 0x49, + 0x32, 0x49, 0x49, 0x49, 0x32, + 0x32, 0x48, 0x48, 0x48, 0x32, + 0x32, 0x4A, 0x48, 0x48, 0x30, + 0x3A, 0x41, 0x41, 0x21, 0x7A, + 0x3A, 0x42, 0x40, 0x20, 0x78, + 0x00, 0x9D, 0xA0, 0xA0, 0x7D, + 0x39, 0x44, 0x44, 0x44, 0x39, + 0x3D, 0x40, 0x40, 0x40, 0x3D, + 0x3C, 0x24, 0xFF, 0x24, 0x24, + 0x48, 0x7E, 0x49, 0x43, 0x66, + 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, + 0xFF, 0x09, 0x29, 0xF6, 0x20, + 0xC0, 0x88, 0x7E, 0x09, 0x03, + 0x20, 0x54, 0x54, 0x79, 0x41, + 0x00, 0x00, 0x44, 0x7D, 0x41, + 0x30, 0x48, 0x48, 0x4A, 0x32, + 0x38, 0x40, 0x40, 0x22, 0x7A, + 0x00, 0x7A, 0x0A, 0x0A, 0x72, + 0x7D, 0x0D, 0x19, 0x31, 0x7D, + 0x26, 0x29, 0x29, 0x2F, 0x28, + 0x26, 0x29, 0x29, 0x29, 0x26, + 0x30, 0x48, 0x4D, 0x40, 0x20, + 0x38, 0x08, 0x08, 0x08, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x38, + 0x2F, 0x10, 0xC8, 0xAC, 0xBA, + 0x2F, 0x10, 0x28, 0x34, 0xFA, + 0x00, 0x00, 0x7B, 0x00, 0x00, + 0x08, 0x14, 0x2A, 0x14, 0x22, + 0x22, 0x14, 0x2A, 0x14, 0x08, + 0xAA, 0x00, 0x55, 0x00, 0xAA, + 0xAA, 0x55, 0xAA, 0x55, 0xAA, + 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x10, 0x10, 0x10, 0xFF, 0x00, + 0x14, 0x14, 0x14, 0xFF, 0x00, + 0x10, 0x10, 0xFF, 0x00, 0xFF, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x14, 0x14, 0x14, 0xFC, 0x00, + 0x14, 0x14, 0xF7, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x14, 0x14, 0xF4, 0x04, 0xFC, + 0x14, 0x14, 0x17, 0x10, 0x1F, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0x1F, 0x00, + 0x10, 0x10, 0x10, 0xF0, 0x00, + 0x00, 0x00, 0x00, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0x1F, 0x10, + 0x10, 0x10, 0x10, 0xF0, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x10, + 0x10, 0x10, 0x10, 0x10, 0x10, + 0x10, 0x10, 0x10, 0xFF, 0x10, + 0x00, 0x00, 0x00, 0xFF, 0x14, + 0x00, 0x00, 0xFF, 0x00, 0xFF, + 0x00, 0x00, 0x1F, 0x10, 0x17, + 0x00, 0x00, 0xFC, 0x04, 0xF4, + 0x14, 0x14, 0x17, 0x10, 0x17, + 0x14, 0x14, 0xF4, 0x04, 0xF4, + 0x00, 0x00, 0xFF, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x14, 0x14, + 0x14, 0x14, 0xF7, 0x00, 0xF7, + 0x14, 0x14, 0x14, 0x17, 0x14, + 0x10, 0x10, 0x1F, 0x10, 0x1F, + 0x14, 0x14, 0x14, 0xF4, 0x14, + 0x10, 0x10, 0xF0, 0x10, 0xF0, + 0x00, 0x00, 0x1F, 0x10, 0x1F, + 0x00, 0x00, 0x00, 0x1F, 0x14, + 0x00, 0x00, 0x00, 0xFC, 0x14, + 0x00, 0x00, 0xF0, 0x10, 0xF0, + 0x10, 0x10, 0xFF, 0x10, 0xFF, + 0x14, 0x14, 0x14, 0xFF, 0x14, + 0x10, 0x10, 0x10, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x10, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, + 0x38, 0x44, 0x44, 0x38, 0x44, + 0x7C, 0x2A, 0x2A, 0x3E, 0x14, + 0x7E, 0x02, 0x02, 0x06, 0x06, + 0x02, 0x7E, 0x02, 0x7E, 0x02, + 0x63, 0x55, 0x49, 0x41, 0x63, + 0x38, 0x44, 0x44, 0x3C, 0x04, + 0x40, 0x7E, 0x20, 0x1E, 0x20, + 0x06, 0x02, 0x7E, 0x02, 0x02, + 0x99, 0xA5, 0xE7, 0xA5, 0x99, + 0x1C, 0x2A, 0x49, 0x2A, 0x1C, + 0x4C, 0x72, 0x01, 0x72, 0x4C, + 0x30, 0x4A, 0x4D, 0x4D, 0x30, + 0x30, 0x48, 0x78, 0x48, 0x30, + 0xBC, 0x62, 0x5A, 0x46, 0x3D, + 0x3E, 0x49, 0x49, 0x49, 0x00, + 0x7E, 0x01, 0x01, 0x01, 0x7E, + 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, + 0x44, 0x44, 0x5F, 0x44, 0x44, + 0x40, 0x51, 0x4A, 0x44, 0x40, + 0x40, 0x44, 0x4A, 0x51, 0x40, + 0x00, 0x00, 0xFF, 0x01, 0x03, + 0xE0, 0x80, 0xFF, 0x00, 0x00, + 0x08, 0x08, 0x6B, 0x6B, 0x08, + 0x36, 0x12, 0x36, 0x24, 0x36, + 0x06, 0x0F, 0x09, 0x0F, 0x06, + 0x00, 0x00, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x10, 0x10, 0x00, + 0x30, 0x40, 0xFF, 0x01, 0x01, + 0x00, 0x1F, 0x01, 0x01, 0x1E, + 0x00, 0x19, 0x1D, 0x17, 0x12, + 0x00, 0x3C, 0x3C, 0x3C, 0x3C, +// 0x00, 0x00, 0x00, 0x00, 0x00, +#endif // ADAFRUIT_ASCII96 +}; +#endif // glcdfont_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial14.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial14.h new file mode 100644 index 0000000..2c93dc1 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial14.h @@ -0,0 +1,168 @@ +/* + * + * Arial_14 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Arial14.h + * Date : 02.05.2008 + * Font size in bytes : 7788 + * Font width : 13 + * Font height : 14 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef ARIAL_14_H +#define ARIAL_14_H + +#define ARIAL_14_WIDTH 13 +#define ARIAL_14_HEIGHT 14 + +/* + * added for backward compability + */ + +#define Arial_14 Arial14 + +GLCDFONTDECL(Arial14) = { + 0x1E, 0x6C, // size + 0x0D, // width + 0x0E, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x03, 0x08, 0x07, 0x0A, 0x08, 0x01, 0x03, 0x03, + 0x05, 0x07, 0x01, 0x04, 0x01, 0x04, 0x06, 0x03, 0x06, 0x06, + 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x06, 0x06, + 0x06, 0x06, 0x0D, 0x09, 0x07, 0x08, 0x08, 0x07, 0x07, 0x09, + 0x07, 0x01, 0x05, 0x08, 0x07, 0x09, 0x07, 0x09, 0x07, 0x09, + 0x08, 0x07, 0x07, 0x07, 0x09, 0x0D, 0x08, 0x09, 0x08, 0x02, + 0x04, 0x02, 0x05, 0x08, 0x02, 0x06, 0x06, 0x05, 0x06, 0x06, + 0x04, 0x06, 0x06, 0x01, 0x02, 0x06, 0x01, 0x09, 0x06, 0x06, + 0x06, 0x06, 0x04, 0x05, 0x04, 0x06, 0x07, 0x09, 0x06, 0x07, + 0x06, 0x03, 0x01, 0x03, 0x07, 0x07, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x14, // 33 + 0x1E, 0x00, 0x1E, 0x00, 0x00, 0x00, // 34 + 0x90, 0x90, 0xF8, 0x96, 0x90, 0xF8, 0x96, 0x90, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 35 + 0x18, 0x24, 0x22, 0xFF, 0x42, 0x42, 0x84, 0x08, 0x10, 0x10, 0x3C, 0x10, 0x08, 0x04, // 36 + 0x1C, 0x22, 0x22, 0x1C, 0xC0, 0x30, 0x8C, 0x42, 0x40, 0x80, 0x00, 0x00, 0x10, 0x0C, 0x00, 0x00, 0x0C, 0x10, 0x10, 0x0C, // 37 + 0x80, 0x5C, 0x22, 0x62, 0x92, 0x0C, 0x80, 0x00, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x08, 0x10, // 38 + 0x1E, 0x00, // 39 + 0xF0, 0x0C, 0x02, 0x1C, 0x60, 0x80, // 40 + 0x02, 0x0C, 0xF0, 0x80, 0x60, 0x1C, // 41 + 0x04, 0x14, 0x0E, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0xF8, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // 43 + 0x00, 0x70, // 44 + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x10, // 46 + 0x00, 0xC0, 0x38, 0x06, 0x18, 0x04, 0x00, 0x00, // 47 + 0xFC, 0x02, 0x02, 0x02, 0x02, 0xFC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 48 + 0x08, 0x04, 0xFE, 0x00, 0x00, 0x1C, // 49 + 0x0C, 0x02, 0x02, 0x82, 0x42, 0x3C, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, // 50 + 0x0C, 0x02, 0x22, 0x22, 0x22, 0xDC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 51 + 0x80, 0x40, 0x30, 0x08, 0x04, 0xFE, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x04, // 52 + 0x38, 0x16, 0x12, 0x12, 0x12, 0xE2, 0x0C, 0x10, 0x10, 0x10, 0x18, 0x04, // 53 + 0xF8, 0x44, 0x22, 0x22, 0x22, 0xC4, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 54 + 0x02, 0x02, 0x02, 0xE2, 0x1A, 0x06, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 55 + 0xDC, 0x22, 0x22, 0x22, 0x22, 0xDC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 56 + 0x3C, 0x42, 0x42, 0x42, 0x22, 0xFC, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, // 57 + 0x08, 0x10, // 58 + 0x08, 0x70, // 59 + 0x40, 0xA0, 0xA0, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, // 60 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x08, 0x10, 0x10, 0xA0, 0xA0, 0x40, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, // 62 + 0x0C, 0x02, 0x82, 0x42, 0x22, 0x1C, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0x04, 0xC4, 0x22, 0x12, 0x12, 0x12, 0xA2, 0x72, 0x04, 0x08, 0xF0, 0x0C, 0x30, 0x40, 0x4C, 0x90, 0x90, 0x90, 0x88, 0x9C, 0x90, 0x50, 0x4C, 0x20, // 64 + 0x00, 0x80, 0xE0, 0x9C, 0x82, 0x9C, 0xE0, 0x80, 0x00, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, // 65 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0xDC, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, // 66 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 67 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 68 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 69 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x42, 0x42, 0x44, 0xC8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 71 + 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0xFE, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, // 72 + 0xFE, 0x1C, // 73 + 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0C, 0x10, 0x10, 0x10, 0x0C, // 74 + 0xFE, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, // 75 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 76 + 0xFE, 0x0C, 0x30, 0xC0, 0x00, 0xC0, 0x30, 0x0C, 0xFE, 0x1C, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x1C, // 77 + 0xFE, 0x04, 0x18, 0x60, 0x80, 0x00, 0xFE, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x08, 0x1C, // 78 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 79 + 0xFE, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x14, 0x08, 0x1C, 0x10, // 81 + 0xFE, 0x42, 0x42, 0x42, 0xC2, 0x42, 0x42, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, // 82 + 0x1C, 0x22, 0x22, 0x22, 0x42, 0x42, 0x8C, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, // 83 + 0x02, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 84 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, // 85 + 0x06, 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x06, 0x00, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, // 86 + 0x06, 0x38, 0xC0, 0x00, 0xC0, 0x3C, 0x02, 0x3C, 0xC0, 0x00, 0xC0, 0x38, 0x06, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, // 87 + 0x02, 0x0C, 0x90, 0x60, 0x60, 0x90, 0x0C, 0x02, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x10, // 88 + 0x02, 0x04, 0x18, 0x20, 0xC0, 0x20, 0x18, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0x02, 0x82, 0x42, 0x22, 0x1A, 0x06, 0x02, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, // 90 + 0xFE, 0x02, 0xFC, 0x80, // 91 + 0x06, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x04, 0x18, // 92 + 0x02, 0xFE, 0x80, 0xFC, // 93 + 0x20, 0x1C, 0x02, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x04, 0x00, 0x00, // 96 + 0x10, 0x88, 0x48, 0x48, 0x48, 0xF0, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 97 + 0xFE, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x08, 0x10, 0x10, 0x10, 0x0C, // 98 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0x0C, 0x10, 0x10, 0x10, 0x08, // 99 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xFE, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 100 + 0xF0, 0x48, 0x48, 0x48, 0x48, 0x70, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x08, // 101 + 0x08, 0xFC, 0x0A, 0x0A, 0x00, 0x1C, 0x00, 0x00, // 102 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xF8, 0x4C, 0x90, 0x90, 0x90, 0x88, 0x7C, // 103 + 0xFE, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, // 104 + 0xFA, 0x1C, // 105 + 0x00, 0xFA, 0x80, 0x7C, // 106 + 0xFE, 0x80, 0x40, 0xA0, 0x10, 0x08, 0x1C, 0x00, 0x00, 0x00, 0x0C, 0x10, // 107 + 0xFE, 0x1C, // 108 + 0xF8, 0x10, 0x08, 0x08, 0xF0, 0x10, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, // 109 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, // 110 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 111 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0xFC, 0x08, 0x10, 0x10, 0x10, 0x0C, // 112 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xF8, 0x0C, 0x10, 0x10, 0x10, 0x08, 0xFC, // 113 + 0xF8, 0x10, 0x08, 0x08, 0x1C, 0x00, 0x00, 0x00, // 114 + 0x30, 0x48, 0x48, 0x48, 0x90, 0x08, 0x10, 0x10, 0x10, 0x0C, // 115 + 0x08, 0xFE, 0x08, 0x08, 0x00, 0x1C, 0x10, 0x10, // 116 + 0xF8, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 117 + 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, // 118 + 0x18, 0xE0, 0x00, 0xE0, 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x00, 0x04, 0x18, 0x04, 0x00, 0x04, 0x18, 0x04, 0x00, // 119 + 0x08, 0x30, 0xC0, 0xC0, 0x30, 0x08, 0x10, 0x0C, 0x00, 0x00, 0x0C, 0x10, // 120 + 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x00, 0x80, 0x8C, 0x70, 0x0C, 0x00, 0x00, // 121 + 0x08, 0x08, 0x88, 0x68, 0x18, 0x08, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, // 122 + 0x80, 0x7C, 0x02, 0x00, 0x7C, 0x80, // 123 + 0xFE, 0xFC, // 124 + 0x02, 0x7C, 0x80, 0x80, 0x7C, 0x00, // 125 + 0x40, 0x20, 0x20, 0x60, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0x04, 0xFC, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial_bold_14.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial_bold_14.h new file mode 100644 index 0000000..aa0a009 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Arial_bold_14.h @@ -0,0 +1,162 @@ +/* + * + * Arial Bold 14 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : arial_bold_14 + * Date : 29.01.2005 + * Font size in bytes : 8712 + * Font width : 10 + * Font height : 14 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef ARIAL_BOLD_14_H +#define ARIAL_BOLD_14_H + +#define ARIAL_BOLD_14_WIDTH 13 +#define ARIAL_BOLD_14_HEIGHT 14 + +GLCDFONTDECL(Arial_bold_14) = { + 0x22, 0x08, // size + 0x0D, // width + 0x0E, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x04, 0x02, 0x05, 0x06, 0x07, 0x08, 0x09, 0x02, 0x03, 0x03, + 0x05, 0x08, 0x02, 0x04, 0x02, 0x04, 0x07, 0x04, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x02, 0x07, 0x07, + 0x07, 0x08, 0x0E, 0x09, 0x08, 0x08, 0x08, 0x07, 0x07, 0x09, + 0x08, 0x02, 0x07, 0x08, 0x07, 0x0B, 0x08, 0x09, 0x07, 0x09, + 0x09, 0x07, 0x08, 0x08, 0x09, 0x0D, 0x07, 0x08, 0x08, 0x04, + 0x04, 0x04, 0x06, 0x08, 0x03, 0x07, 0x07, 0x06, 0x07, 0x07, + 0x05, 0x07, 0x07, 0x02, 0x03, 0x06, 0x02, 0x0A, 0x07, 0x07, + 0x07, 0x07, 0x05, 0x06, 0x05, 0x07, 0x07, 0x0B, 0x06, 0x07, + 0x05, 0x05, 0x01, 0x05, 0x07, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 32 + 0xFE, 0xFE, 0x18, 0x18, // 33 + 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x90, 0xF8, 0x9E, 0x90, 0xF8, 0x9E, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, // 35 + 0x18, 0x3C, 0x26, 0xFF, 0x66, 0xCC, 0x88, 0x04, 0x0C, 0x18, 0x3C, 0x18, 0x0C, 0x04, // 36 + 0x1C, 0x22, 0x1C, 0xC0, 0x30, 0x8E, 0x40, 0x80, 0x00, 0x00, 0x18, 0x04, 0x00, 0x0C, 0x10, 0x0C, // 37 + 0x80, 0xCC, 0x7E, 0x72, 0xF2, 0xDE, 0x0C, 0x80, 0x00, 0x0C, 0x1C, 0x10, 0x10, 0x10, 0x1C, 0x0C, 0x1C, 0x10, // 38 + 0x1E, 0x1E, 0x00, 0x00, // 39 + 0xF0, 0xFC, 0x06, 0x1C, 0x7C, 0xC0, // 40 + 0x06, 0xFC, 0xF0, 0xC0, 0x7C, 0x1C, // 41 + 0x14, 0x14, 0x0E, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x60, 0x60, 0x60, 0xFC, 0xFC, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x58, 0x38, // 44 + 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x18, 0x18, // 46 + 0x00, 0xC0, 0x38, 0x06, 0x18, 0x04, 0x00, 0x00, // 47 + 0xF8, 0xFC, 0x0E, 0x06, 0x0E, 0xFC, 0xF8, 0x04, 0x0C, 0x1C, 0x18, 0x1C, 0x0C, 0x04, // 48 + 0x18, 0x0C, 0xFE, 0xFE, 0x00, 0x00, 0x1C, 0x1C, // 49 + 0x18, 0x1C, 0x86, 0xC6, 0x66, 0x3E, 0x1C, 0x18, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x18, // 50 + 0x88, 0x8C, 0x06, 0x26, 0x26, 0xFE, 0xDC, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x0C, 0x04, // 51 + 0xC0, 0xE0, 0xB8, 0x8C, 0xFE, 0xFE, 0x80, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x1C, 0x04, // 52 + 0x70, 0x7E, 0x3E, 0x36, 0x36, 0xF6, 0xC6, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x0C, 0x04, // 53 + 0xF8, 0xFC, 0x6E, 0x66, 0x66, 0xEE, 0xCC, 0x04, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 54 + 0x06, 0x06, 0x06, 0xE6, 0x76, 0x1E, 0x06, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 55 + 0x9C, 0xFE, 0x66, 0x66, 0x66, 0xFE, 0x9C, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 56 + 0x3C, 0x7E, 0x66, 0x66, 0x66, 0xFC, 0xF8, 0x0C, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 57 + 0x18, 0x18, 0x18, 0x18, // 58 + 0x18, 0x18, 0x58, 0x38, // 59 + 0x60, 0x60, 0xF0, 0xF0, 0x98, 0x98, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x0C, // 60 + 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x0C, 0x98, 0x98, 0xF0, 0xF0, 0x60, 0x60, 0x0C, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, // 62 + 0x08, 0x0C, 0x06, 0xC6, 0xE6, 0x76, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x30, 0x08, 0xC4, 0xF6, 0x3A, 0x1A, 0x1A, 0xF2, 0xFA, 0x7E, 0x04, 0x08, 0xF0, 0x0C, 0x30, 0x60, 0x4C, 0x9C, 0x98, 0x98, 0x8C, 0x9C, 0x9C, 0x90, 0x48, 0x4C, 0x20, // 64 + 0x00, 0xC0, 0xF8, 0xBE, 0x86, 0xBE, 0xF8, 0xC0, 0x00, 0x18, 0x1C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x18, // 65 + 0xFE, 0xFE, 0x66, 0x66, 0x66, 0x66, 0xFE, 0xDC, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 66 + 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x0E, 0x9C, 0x08, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 67 + 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 68 + 0xFE, 0xFE, 0x66, 0x66, 0x66, 0x66, 0x66, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, // 69 + 0xFE, 0xFE, 0x66, 0x66, 0x66, 0x66, 0x06, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0xC6, 0xCE, 0xDC, 0xC8, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x0C, 0x04, // 71 + 0xFE, 0xFE, 0x60, 0x60, 0x60, 0x60, 0xFE, 0xFE, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, // 72 + 0xFE, 0xFE, 0x1C, 0x1C, // 73 + 0x80, 0x80, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 74 + 0xFE, 0xFE, 0x60, 0x30, 0x78, 0xEC, 0x86, 0x02, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x1C, 0x18, // 75 + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, // 76 + 0xFE, 0xFE, 0x0E, 0x7C, 0xE0, 0x00, 0xE0, 0x7C, 0x0E, 0xFE, 0xFE, 0x1C, 0x1C, 0x00, 0x00, 0x0C, 0x1C, 0x0C, 0x00, 0x00, 0x1C, 0x1C, // 77 + 0xFE, 0xFE, 0x1C, 0x78, 0xE0, 0x80, 0xFE, 0xFE, 0x1C, 0x1C, 0x00, 0x00, 0x04, 0x0C, 0x1C, 0x1C, // 78 + 0xF8, 0xFC, 0x0E, 0x06, 0x06, 0x06, 0x0E, 0xFC, 0xF8, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 79 + 0xFE, 0xFE, 0x66, 0x66, 0x66, 0x7E, 0x3C, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF8, 0xFC, 0x0E, 0x06, 0x86, 0x06, 0x0E, 0xFC, 0xF8, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x1C, 0x24, // 81 + 0xFE, 0xFE, 0x66, 0x66, 0xE6, 0xE6, 0xBE, 0x1C, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x0C, 0x1C, 0x18, 0x10, // 82 + 0x3C, 0x7E, 0x66, 0x66, 0x66, 0xEE, 0xCC, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 83 + 0x06, 0x06, 0x06, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 84 + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x04, 0x0C, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 85 + 0x02, 0x1E, 0xFC, 0xE0, 0x00, 0xE0, 0xFC, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 86 + 0x06, 0xFE, 0xF8, 0x00, 0xF0, 0xFE, 0x0E, 0xFE, 0xF0, 0x00, 0xF8, 0xFE, 0x06, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, // 87 + 0x06, 0x0E, 0xF8, 0xF0, 0xF8, 0x0E, 0x06, 0x18, 0x1C, 0x04, 0x00, 0x04, 0x1C, 0x18, // 88 + 0x06, 0x0E, 0x38, 0xF0, 0xF0, 0x38, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 89 + 0x06, 0x06, 0x86, 0xE6, 0x76, 0x1E, 0x0E, 0x06, 0x18, 0x1C, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, // 90 + 0xFE, 0xFE, 0x06, 0x06, 0xFC, 0xFC, 0xC0, 0xC0, // 91 + 0x06, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x04, 0x18, // 92 + 0x06, 0x06, 0xFE, 0xFE, 0xC0, 0xC0, 0xFC, 0xFC, // 93 + 0x20, 0x38, 0x0E, 0x0E, 0x38, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x06, 0x04, 0x00, 0x00, 0x00, // 96 + 0x10, 0x98, 0xD8, 0x58, 0xF8, 0xF0, 0x00, 0x0C, 0x1C, 0x18, 0x18, 0x0C, 0x1C, 0x10, // 97 + 0xFE, 0xFE, 0x30, 0x18, 0x38, 0xF0, 0xE0, 0x1C, 0x1C, 0x0C, 0x18, 0x1C, 0x0C, 0x04, // 98 + 0xE0, 0xF0, 0x18, 0x18, 0x38, 0x30, 0x04, 0x0C, 0x18, 0x18, 0x1C, 0x0C, // 99 + 0xE0, 0xF0, 0x38, 0x18, 0x30, 0xFE, 0xFE, 0x04, 0x0C, 0x1C, 0x18, 0x0C, 0x1C, 0x1C, // 100 + 0xE0, 0xF0, 0xD8, 0xD8, 0xD8, 0xF0, 0xE0, 0x04, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x08, // 101 + 0x18, 0xFC, 0xFE, 0x1A, 0x1A, 0x00, 0x1C, 0x1C, 0x00, 0x00, // 102 + 0xE0, 0xF0, 0x38, 0x18, 0x30, 0xF8, 0xF8, 0x64, 0xEC, 0xDC, 0xD8, 0xCC, 0xFC, 0x7C, // 103 + 0xFE, 0xFE, 0x30, 0x18, 0x18, 0xF8, 0xF0, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x1C, // 104 + 0xFA, 0xFA, 0x1C, 0x1C, // 105 + 0x00, 0xFA, 0xFA, 0xC0, 0xFC, 0x7C, // 106 + 0xFE, 0xFE, 0xE0, 0xF0, 0x98, 0x08, 0x1C, 0x1C, 0x00, 0x04, 0x1C, 0x18, // 107 + 0xFE, 0xFE, 0x1C, 0x1C, // 108 + 0xF8, 0xF8, 0x10, 0x18, 0xF8, 0xF0, 0x18, 0x18, 0xF8, 0xF0, 0x1C, 0x1C, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x1C, 0x1C, // 109 + 0xF8, 0xF8, 0x30, 0x18, 0x18, 0xF8, 0xF0, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x1C, // 110 + 0xE0, 0xF0, 0x38, 0x18, 0x38, 0xF0, 0xE0, 0x04, 0x0C, 0x1C, 0x18, 0x1C, 0x0C, 0x04, // 111 + 0xF8, 0xF8, 0x30, 0x18, 0x38, 0xF0, 0xE0, 0xFC, 0xFC, 0x0C, 0x18, 0x1C, 0x0C, 0x04, // 112 + 0xE0, 0xF0, 0x38, 0x18, 0x30, 0xF8, 0xF8, 0x04, 0x0C, 0x1C, 0x18, 0x0C, 0xFC, 0xFC, // 113 + 0xF8, 0xF8, 0x30, 0x18, 0x18, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 114 + 0x70, 0xF8, 0xD8, 0xD8, 0xD8, 0x90, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, // 115 + 0x18, 0xFC, 0xFE, 0x18, 0x18, 0x00, 0x0C, 0x1C, 0x18, 0x18, // 116 + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x0C, 0x1C, 0x18, 0x18, 0x0C, 0x1C, 0x1C, // 117 + 0x38, 0xF8, 0xC0, 0x00, 0xC0, 0xF8, 0x38, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x00, 0x00, // 118 + 0x18, 0xF8, 0xE0, 0x00, 0xF0, 0x38, 0xF0, 0x00, 0xE0, 0xF8, 0x18, 0x00, 0x00, 0x1C, 0x1C, 0x0C, 0x00, 0x0C, 0x1C, 0x1C, 0x00, 0x00, // 119 + 0x18, 0x38, 0xE0, 0xE0, 0x38, 0x18, 0x18, 0x1C, 0x04, 0x04, 0x1C, 0x18, // 120 + 0x18, 0xF8, 0xE0, 0x00, 0xE0, 0xF8, 0x18, 0x00, 0x84, 0xFC, 0xF8, 0x3C, 0x04, 0x00, // 121 + 0x18, 0x98, 0xD8, 0x78, 0x38, 0x1C, 0x1C, 0x18, 0x18, 0x18, // 122 + 0x80, 0xFC, 0x7E, 0x06, 0x06, 0x00, 0x7C, 0xFC, 0xC0, 0xC0, // 123 + 0xFE, 0xFC, // 124 + 0x06, 0x06, 0x7E, 0xFC, 0x80, 0xC0, 0xC0, 0xFC, 0x7C, 0x00, // 125 + 0x60, 0x30, 0x30, 0x70, 0x60, 0x60, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalBlk36.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalBlk36.h new file mode 100644 index 0000000..cc328a9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalBlk36.h @@ -0,0 +1,184 @@ +/* + * + * CalBlk36 Font + * + * + * Copyright (C) 2010 by Integrated Mapping Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : CalBlk36.h + * Date : 19.05.2011 + * Font size in bytes : 65586 + * Font width : 10 + * Font height : 36 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef CalBlk36_H +#define CalBlk32_H + +#define CalBlk36_WIDTH 28 +#define CalBlk36_HEIGHT 36 + +GLCDFONTDECL(CalBlk36) = { + 0x00, 0x32, // size + 0x1C, // width + 0x24, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x08, 0x08, 0x10, 0x16, 0x16, 0x20, 0x1B, 0x08, 0x0A, 0x0A, + 0x0E, 0x13, 0x08, 0x0A, 0x08, 0x0A, 0x15, 0x0F, 0x15, 0x14, + 0x16, 0x15, 0x15, 0x14, 0x14, 0x15, 0x08, 0x08, 0x14, 0x13, + 0x14, 0x14, 0x1B, 0x1C, 0x17, 0x18, 0x17, 0x15, 0x13, 0x1A, + 0x18, 0x08, 0x14, 0x1B, 0x14, 0x1D, 0x18, 0x1A, 0x15, 0x1B, + 0x19, 0x17, 0x18, 0x18, 0x1C, 0x24, 0x1C, 0x1C, 0x18, 0x0B, + 0x0A, 0x0B, 0x13, 0x12, 0x08, 0x16, 0x15, 0x15, 0x15, 0x16, + 0x0E, 0x15, 0x14, 0x08, 0x0A, 0x16, 0x08, 0x20, 0x14, 0x16, + 0x15, 0x15, 0x0E, 0x14, 0x0E, 0x14, 0x16, 0x22, 0x16, 0x16, + 0x12, 0x0E, 0x04, 0x0E, 0x14, 0x00, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xC0, 0xC7, 0xCF, 0xCF, 0xCF, 0xCF, 0xC7, 0xC0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 33 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x01, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1F, 0x1F, 0x1F, 0x3E, 0x3E, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x3E, 0x3E, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E, 0x3C, 0x00, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x0F, 0x0F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0x7C, 0x7C, 0xFF, 0xFF, 0x7C, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xFF, 0xFF, 0xF0, 0xF0, 0xF1, 0xE1, 0xE1, 0xC1, 0xC1, 0x81, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE1, 0x81, 0x83, 0xFF, 0xFF, 0x87, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x03, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0xFF, 0xFF, 0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0xC0, 0xF0, 0xF8, 0xFC, 0x7C, 0x1C, 0x1C, 0x1C, 0x7C, 0xFC, 0xF8, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0x7C, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x3F, 0x7F, 0x7C, 0x70, 0x70, 0x70, 0x7C, 0x7F, 0x3F, 0x3F, 0x07, 0x00, 0x80, 0xE0, 0xF8, 0xFE, 0x3F, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF8, 0xFE, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0xF0, 0xFE, 0xFE, 0xFF, 0x1F, 0x07, 0x07, 0x07, 0x1F, 0xFF, 0xFE, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1C, 0x1F, 0x1F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x1F, 0x1F, 0x1C, 0x1C, 0x1C, 0x1F, 0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x3C, 0x3C, 0x3C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC7, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFC, 0xFC, 0xFE, 0xBF, 0x1F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x83, 0x03, 0x03, 0x07, 0x0F, 0x9F, 0xBF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x80, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x03, 0x07, 0x0F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0x38, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 + 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0x7C, 0x1C, 0xC0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x70, 0xF0, 0xF0, 0xF0, 0xE0, // 40 + 0x0C, 0x7C, 0xFC, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0x07, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, // 41 + 0x00, 0xE0, 0xE0, 0xE0, 0xC0, 0xDC, 0xFC, 0xFC, 0xDC, 0xC0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x19, 0x3D, 0x3F, 0x1F, 0x07, 0x0F, 0x3F, 0x3D, 0x3D, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x0F, 0x8F, 0x8F, 0xEF, 0xFF, 0xFF, 0xFF, 0x1F, 0x30, 0x70, 0x70, 0x30, 0x30, 0x10, 0x00, 0x00, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFC, 0xFC, 0x0C, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xFF, 0x1F, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0x00, 0xC0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x3F, 0x3F, 0x3F, 0x1F, 0x1F, 0x0F, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x00, 0x80, 0xC0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xCF, 0xC7, 0xC7, 0xC3, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x7C, 0x3C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xC0, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0xF0, 0xF0, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0x8F, 0x87, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x80, 0x01, 0x01, 0x01, 0x01, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xFC, 0xFE, 0xFF, 0x7F, 0x1F, 0x0F, 0x07, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7D, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x78, 0x78, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xE0, 0x80, 0x00, 0x00, 0xE0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x1E, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 + 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x3C, 0x3C, 0x3C, 0x7C, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xF0, 0x78, 0x78, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFE, 0xFF, 0xFF, 0x7F, 0x1F, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x3C, 0x3C, 0x3C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x03, 0x0F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF0, 0xF0, 0xF0, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x0F, 0x03, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0x01, 0x00, 0x00, 0x01, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x3C, 0x3C, 0x7C, 0x7C, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xC0, 0xC1, 0xC3, 0xC3, 0xC7, 0xC7, 0xC7, 0x87, 0x07, 0x07, 0x07, 0x83, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 58 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x0F, 0x8F, 0x8F, 0xEF, 0xFF, 0xFF, 0xFF, 0x1F, 0x10, 0x70, 0x70, 0x30, 0x30, 0x10, 0x00, 0x00, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0x3E, 0x3F, 0x3F, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7E, 0x7E, 0x7E, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7E, 0x7E, 0x3E, 0x3F, 0x3F, 0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x00, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x81, 0xC0, 0xE0, 0xF0, 0xF8, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCE, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0xCF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x78, 0x38, 0x18, 0x1C, 0x9C, 0x9C, 0x8C, 0x0C, 0x1C, 0x1C, 0x1C, 0x1C, 0x38, 0x78, 0x70, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0x0F, 0x03, 0xC0, 0xF0, 0xFC, 0xFE, 0x3F, 0x0F, 0x07, 0x03, 0x03, 0x07, 0xDE, 0xFE, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x01, 0x07, 0xFF, 0xFE, 0xF0, 0x3F, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xF0, 0xFF, 0xFF, 0xFF, 0x87, 0x80, 0xC0, 0xE0, 0xF0, 0x7C, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1C, 0x38, 0x71, 0x71, 0x63, 0xE3, 0xE3, 0xE3, 0xE1, 0xE0, 0xE1, 0xE3, 0xE3, 0x63, 0x73, 0x71, 0x39, 0x38, 0x1C, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x03, 0x07, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x9F, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE1, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE3, 0xE0, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0x87, 0x87, 0xC7, 0xC7, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x3C, 0x1C, 0x0C, 0x04, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x0F, 0x07, 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x03, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF0, 0xE0, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0xC0, 0xC0, 0xCC, 0xDC, 0xFC, 0xFC, 0xF8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x0F, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, 0x07, 0x0F, 0x1F, 0x1F, 0x3F, 0x3E, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 81 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF8, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0x00, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x07, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF3, 0xF3, 0xF3, 0xE3, 0xE3, 0xC3, 0x83, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xE1, 0xC1, 0x81, 0x83, 0x83, 0x83, 0x87, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x04, 0x3C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x0C, 0x00, 0x00, 0x01, 0x07, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF0, 0x80, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x01, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x01, 0x00, 0x00, 0x01, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x00, 0x04, 0x1C, 0x3C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7C, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x1F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x04, 0x0C, 0x3C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x3C, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xCF, 0xC7, 0xC3, 0xC1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, // 91 + 0x0C, 0xFC, 0xFC, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1F, 0xFF, 0xFF, 0xFC, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 92 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, // 93 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0x1F, 0x07, 0x00, 0x01, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 95 + 0x04, 0x0C, 0x1C, 0x3C, 0x7C, 0x7C, 0x70, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x78, 0x7C, 0x7C, 0x7E, 0x7E, 0x3E, 0x1E, 0x1E, 0x1E, 0x1E, 0x3E, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0x1E, 0x0E, 0x0E, 0x0F, 0x8F, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x7C, 0x7C, 0x3E, 0x3E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFC, 0xF8, 0xF8, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0x7E, 0x7E, 0x3E, 0x3E, 0x3E, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF0, 0xE0, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xC0, 0x80, 0x80, 0x00, 0x80, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x80, 0xE0, 0xF8, 0xF8, 0xFC, 0xFE, 0xFE, 0xFE, 0x7E, 0x3E, 0x3E, 0x7C, 0x7C, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0x3E, 0x3E, 0x1E, 0x1E, 0x1E, 0x3E, 0xFE, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xE0, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8E, 0x0E, 0x0E, 0x0E, 0x0E, 0x8E, 0x8E, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x0F, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0x7C, 0x7C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0x7E, 0x3E, 0x3E, 0x3C, 0x7C, 0xF8, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xE0, 0xE1, 0xE3, 0xE3, 0xE7, 0xE7, 0xE7, 0xC7, 0x87, 0x87, 0x83, 0x83, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x10, 0x30, 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x70, 0x30, 0x30, 0x10, 0x00, 0x00, // 103 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x78, 0x7C, 0x7C, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 105 + 0x00, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x30, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x30, 0x10, 0x00, // 106 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, 0x3E, 0x1E, 0x0E, 0x06, 0x02, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 108 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF8, 0x78, 0x7C, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xF0, 0xF0, 0xF8, 0x7C, 0x7E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF0, 0x78, 0x7C, 0x7C, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE, 0x7E, 0x3E, 0x3E, 0x3E, 0x3E, 0x7E, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xC0, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xC0, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF8, 0x7C, 0x3C, 0x3E, 0x3E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0x7E, 0x3E, 0x3E, 0x3C, 0x7C, 0xF8, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xC0, 0x80, 0x80, 0x80, 0xC0, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, // 113 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF8, 0xFC, 0x7E, 0x7E, 0x3E, 0x3E, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0x9F, 0x9F, 0x1F, 0x1F, 0x1F, 0x3F, 0x3F, 0x3E, 0x3C, 0x3C, 0x38, 0x20, 0x00, 0xC0, 0xC1, 0xC3, 0xC7, 0xCF, 0xCF, 0xCF, 0x8F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFE, 0xFE, 0xFC, 0xF8, 0x60, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x7E, 0x7E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7E, 0x7E, 0x7E, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xC0, 0x80, 0x80, 0xC0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFE, 0xFE, 0xFE, 0xFE, 0x7E, 0x1E, 0x06, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF8, 0x80, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x3E, 0x06, 0x00, 0x00, 0x00, 0x07, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x03, 0x03, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x1E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xF0, 0xC0, 0xC0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFE, 0x7E, 0x1E, 0x0E, 0x06, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x7E, 0xFE, 0xFE, 0xFE, 0xFE, 0xFC, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xF8, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x3E, 0x06, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x80, 0xC0, 0xC1, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x70, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0xBE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x7E, 0x3E, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xBF, 0x9F, 0x8F, 0x87, 0x83, 0x81, 0x80, 0x80, 0x80, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x80, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x70, 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, // 123 + 0xFC, 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x70, 0x70, // 124 + 0x78, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x3F, 0x1F, 0xC0, 0xC0, 0xC0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF0, 0xF0, 0xF0, 0x70, 0x70, 0x70, 0x70, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xF0, 0xF8, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalLite24.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalLite24.h new file mode 100644 index 0000000..fb59a2f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/CalLite24.h @@ -0,0 +1,182 @@ +/* + * + * CalLite24 Font + * + * Copyright (C) 2010 by Integrated Mapping Ltd + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : CalLite24.h + * Date : 21.11.2010 + * Font size in bytes : 27002 + * Font width : 10 + * Font height : 25 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _CalLite24_H +#define _CalLite24_H + +#define CalLite24_WIDTH 10 +#define CalLite24_HEIGHT 25 + +GLCDFONTDECL(CalLite24) = { + 0x69, 0x7A, // size + 0x15, // width + 0x19, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x07, 0x03, 0x07, 0x0F, 0x0C, 0x16, 0x10, 0x02, 0x07, 0x07, + 0x0B, 0x0F, 0x04, 0x07, 0x03, 0x0A, 0x0C, 0x0A, 0x0C, 0x0B, + 0x0D, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x03, 0x04, 0x0D, 0x0E, + 0x0E, 0x0A, 0x14, 0x10, 0x0D, 0x0F, 0x0F, 0x0C, 0x0B, 0x10, + 0x0E, 0x06, 0x08, 0x0E, 0x0B, 0x10, 0x0E, 0x11, 0x0C, 0x11, + 0x0E, 0x0D, 0x0F, 0x0D, 0x0F, 0x15, 0x0E, 0x0D, 0x0E, 0x06, + 0x0A, 0x06, 0x0E, 0x0F, 0x04, 0x0B, 0x0C, 0x0B, 0x0C, 0x0C, + 0x07, 0x0C, 0x0B, 0x03, 0x06, 0x0C, 0x02, 0x13, 0x0B, 0x0C, + 0x0C, 0x0C, 0x08, 0x0A, 0x08, 0x0B, 0x0C, 0x11, 0x0C, 0x0C, + 0x0B, 0x0B, 0x02, 0x0B, 0x0F, 0x00, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 32 + 0x38, 0xF8, 0xF8, 0x00, 0x7F, 0x7F, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, // 33 + 0xFC, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xF0, 0xB8, 0x80, 0x80, 0x80, 0xF8, 0x98, 0x80, 0x80, 0x40, 0x60, 0x61, 0x61, 0xF1, 0x7F, 0x43, 0x41, 0xE1, 0xF9, 0x7F, 0x61, 0x61, 0x61, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x03, 0x00, 0x00, 0x08, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x80, 0xC0, 0xE0, 0x60, 0x60, 0xFC, 0x60, 0x60, 0x60, 0x60, 0xE0, 0x00, 0x07, 0x0F, 0x1C, 0x18, 0x18, 0xFF, 0x38, 0x30, 0x30, 0xE0, 0xE0, 0x80, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0xFF, 0x0C, 0x0C, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0xF0, 0xF8, 0x18, 0x0C, 0x0C, 0x1C, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0C, 0x08, 0x08, 0x0C, 0x0F, 0x07, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0x00, 0xF8, 0xF8, 0x0C, 0x0C, 0x0C, 0x1C, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0C, 0x08, 0x0C, 0x0C, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x00, 0x60, 0xF8, 0xF8, 0x0C, 0x0C, 0x0C, 0x0C, 0xF8, 0xF8, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF9, 0x0F, 0x07, 0x06, 0x0E, 0x1B, 0x31, 0x71, 0xE0, 0xC0, 0xFC, 0x3C, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0x03, 0x03, 0x07, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0xFC, 0xFC, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, // 39 + 0x00, 0x80, 0xE0, 0x78, 0x1C, 0x0C, 0x04, 0xFC, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x3F, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, // 40 + 0x04, 0x0C, 0x1C, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xFF, 0xFC, 0x00, 0x80, 0xE0, 0x78, 0x3F, 0x0F, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, // 41 + 0x10, 0x30, 0x20, 0x60, 0xC0, 0xFC, 0xC0, 0x60, 0x20, 0x30, 0x10, 0x02, 0x02, 0x03, 0x01, 0x01, 0x1F, 0x01, 0x01, 0x03, 0x02, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0x3E, 0x0E, 0x00, 0x00, 0x00, 0x00, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x3C, 0x04, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x3F, 0x07, 0x00, 0x00, 0x00, 0xE0, 0x78, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0xC0, 0xF0, 0x78, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x38, 0xF0, 0xE0, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xFF, 0x3F, 0x01, 0x07, 0x07, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x00, 0x60, 0x60, 0x70, 0xF8, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0x00, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0x78, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0F, 0x07, 0x01, 0x00, 0x0E, 0x0F, 0x0F, 0x0D, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0x00, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x0C, 0x1C, 0x38, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0E, 0x0E, 0x0E, 0x1B, 0xF9, 0xF0, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x70, 0x78, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, 0xFF, 0xFF, 0xFF, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x00, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x0E, 0x0C, 0xFC, 0xF8, 0xE0, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 + 0x80, 0xE0, 0xF0, 0x30, 0x18, 0x18, 0x08, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0xFF, 0xFF, 0x0C, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0E, 0xBC, 0xF8, 0xF0, 0x01, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x98, 0xF8, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 + 0xE0, 0xF0, 0xB8, 0x1C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0xF8, 0xF0, 0x00, 0xF1, 0xF3, 0x1F, 0x0E, 0x06, 0x0C, 0x0C, 0x1C, 0x1E, 0xF3, 0xF1, 0xC0, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x08, 0x08, 0x0C, 0x0C, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x80, 0xE0, 0xF0, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x38, 0xF0, 0xE0, 0xC0, 0x01, 0x0F, 0x1F, 0x18, 0x38, 0x30, 0x30, 0x30, 0x10, 0x98, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 + 0x80, 0x80, 0x80, 0x03, 0x03, 0x03, 0x0E, 0x0E, 0x0E, 0x00, 0x00, 0x00, // 58 + 0x00, 0x80, 0x80, 0x80, 0x00, 0x03, 0x03, 0x03, 0xE0, 0xFC, 0x3E, 0x06, 0x00, 0x00, 0x00, 0x00, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0x18, 0x38, 0x38, 0x6C, 0x6C, 0xC6, 0xC6, 0xC3, 0x83, 0x81, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x83, 0x83, 0xC3, 0xC6, 0x66, 0x6C, 0x3C, 0x38, 0x38, 0x10, 0x06, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x78, 0x78, 0x0C, 0x0E, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x18, 0x88, 0x88, 0x8C, 0x8C, 0x8C, 0x88, 0x88, 0x18, 0x30, 0x70, 0xE0, 0x80, 0x00, 0x7C, 0xFF, 0x01, 0x00, 0x00, 0xFC, 0xFF, 0x83, 0x01, 0x01, 0x01, 0x01, 0x81, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7C, 0x00, 0x03, 0x07, 0x0C, 0x18, 0x30, 0x31, 0x23, 0x23, 0x63, 0x63, 0x63, 0x61, 0x23, 0x03, 0x02, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x38, 0x38, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x7F, 0x6F, 0x61, 0x60, 0x60, 0x60, 0x67, 0x7F, 0xFC, 0xE0, 0x00, 0x00, 0x08, 0x0E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xB8, 0xF0, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x0E, 0x0F, 0x1D, 0xF8, 0xF0, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x00, 0x80, 0xE0, 0xF0, 0x38, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0x18, 0x38, 0x30, 0x1E, 0xFF, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x70, 0xE0, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF3, 0xFF, 0x3F, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFF, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x00, 0x80, 0xE0, 0xF0, 0x30, 0x18, 0x18, 0x08, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x38, 0x30, 0x1E, 0xFF, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x38, 0xF8, 0xF8, 0x00, 0x00, 0x03, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x08, 0x08, 0xF8, 0xF8, 0x08, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0C, 0x0C, 0x0F, 0x0F, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x08, 0x08, 0x08, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x18, 0x08, 0x00, 0xFF, 0xFF, 0xFF, 0x1C, 0x1E, 0x1F, 0x7F, 0xF1, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0E, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0xF8, 0xF8, 0xF8, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x78, 0x38, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x07, 0x1E, 0x78, 0x70, 0x3E, 0x07, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0xF8, 0xF8, 0xF8, 0x38, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x0F, 0x3E, 0xF8, 0xE0, 0x80, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x00, 0xC0, 0xE0, 0xF0, 0x38, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x38, 0xF0, 0xE0, 0x80, 0x00, 0x1E, 0xFF, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF3, 0xFF, 0x3E, 0x00, 0x00, 0x03, 0x07, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38, 0x70, 0xE0, 0xC0, 0xFF, 0xFF, 0xFF, 0x10, 0x10, 0x18, 0x18, 0x18, 0x1C, 0x0E, 0x07, 0x03, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x00, 0xC0, 0xE0, 0xF0, 0x38, 0x18, 0x18, 0x0C, 0x0C, 0x0C, 0x18, 0x18, 0x38, 0xF0, 0xE0, 0x80, 0x00, 0x1E, 0xFF, 0xF3, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE7, 0xFF, 0x1E, 0x00, 0x00, 0x03, 0x07, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x1C, 0x7C, 0xFE, 0xC6, 0xC7, 0x83, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, // 81 + 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0xF0, 0xC0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x38, 0x78, 0xEC, 0xC7, 0x87, 0x01, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0xE0, 0xF0, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x0C, 0x1C, 0x18, 0x18, 0x18, 0x00, 0x03, 0x07, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x78, 0xF0, 0xE0, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xF8, 0xF8, 0xF8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x38, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x78, 0x08, 0x00, 0x01, 0x07, 0x3F, 0xFC, 0xE0, 0x00, 0x00, 0xC0, 0xF0, 0x7E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x0E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x08, 0xF8, 0xF8, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x78, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x78, 0x00, 0x00, 0x0F, 0x7F, 0xF8, 0x80, 0x00, 0xF0, 0x7F, 0x07, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xC0, 0xFC, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x00, 0x18, 0x38, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x78, 0x38, 0x18, 0x00, 0x00, 0x00, 0x80, 0xE1, 0x77, 0x3F, 0x1E, 0x7F, 0xF3, 0xC0, 0x80, 0x00, 0x00, 0x08, 0x0C, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x18, 0x78, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0x38, 0x08, 0x00, 0x00, 0x00, 0x03, 0x07, 0xFE, 0xFC, 0xFE, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x98, 0xF8, 0xF8, 0x38, 0x18, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x3C, 0x0E, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x0F, 0x0D, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFC, 0xFC, 0x04, 0x04, 0x04, 0x04, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 91 + 0x0C, 0x3C, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x3E, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3F, 0x78, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 92 + 0x04, 0x04, 0x04, 0x04, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 93 + 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x38, 0x18, 0x38, 0x70, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 95 + 0x03, 0x0F, 0x1C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0xE1, 0xE1, 0x31, 0x31, 0x31, 0x11, 0x19, 0x19, 0xFF, 0xFF, 0x03, 0x07, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0xFC, 0xFC, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x8F, 0xFE, 0xF8, 0x0F, 0x0F, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xF8, 0xFE, 0x8F, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0xFC, 0xFC, 0xF8, 0xFE, 0x8F, 0x03, 0x01, 0x00, 0x00, 0x01, 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x78, 0xFE, 0xFF, 0x33, 0x31, 0x31, 0x30, 0x31, 0x31, 0x33, 0x3F, 0x3C, 0x00, 0x03, 0x07, 0x06, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0x80, 0xE0, 0xF8, 0xBC, 0x8C, 0x8C, 0x8C, 0x01, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x78, 0xFE, 0xCF, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0xFF, 0xFE, 0x00, 0x03, 0xC7, 0x86, 0x8E, 0x8C, 0x8C, 0x86, 0xC6, 0xF7, 0x7F, 0x0F, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, // 103 + 0xFC, 0xFC, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0xFF, 0xFE, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x9C, 0x9C, 0x00, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, // 105 + 0x00, 0x80, 0x80, 0x80, 0x9C, 0x9C, 0x00, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0xC0, 0xFF, 0x7F, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, // 106 + 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0xFF, 0xFF, 0xE0, 0x70, 0x78, 0xFC, 0xCE, 0x87, 0x03, 0x01, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0E, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0xFC, 0xFC, 0xFF, 0xFF, 0x0F, 0x0F, 0x00, 0x00, // 108 + 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x07, 0xFF, 0xFF, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0xFF, 0xFF, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0xFF, 0xFF, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x03, 0xFF, 0xFE, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xF8, 0xFE, 0x8F, 0x03, 0x01, 0x00, 0x00, 0x01, 0x01, 0x07, 0xFF, 0xFC, 0x00, 0x03, 0x07, 0x0E, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x8F, 0xFE, 0x78, 0xFF, 0xFF, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0x01, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x78, 0xFE, 0xCF, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x03, 0x07, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, // 113 + 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xFF, 0xFF, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x1F, 0x3F, 0x31, 0x31, 0x71, 0x61, 0x61, 0xE1, 0xC3, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0x80, 0xF8, 0xF8, 0x80, 0x80, 0x80, 0x80, 0x80, 0x01, 0xFF, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x03, 0x07, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x03, 0x07, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x01, 0x07, 0x3F, 0xF8, 0xE0, 0x00, 0x00, 0xC0, 0xF8, 0x3E, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x01, 0x1F, 0xFF, 0xF0, 0x00, 0x80, 0xF8, 0x3F, 0x07, 0x0F, 0x7E, 0xF0, 0x80, 0x80, 0xF8, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x03, 0x8F, 0xDC, 0xF8, 0xF8, 0xFC, 0x8E, 0x07, 0x01, 0x00, 0x08, 0x0C, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x01, 0x07, 0x3F, 0xFC, 0xE0, 0x80, 0x00, 0xE0, 0xF8, 0x3E, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x80, 0xF3, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x01, 0x01, 0x81, 0xC1, 0xE1, 0x71, 0x1D, 0x0F, 0x07, 0x03, 0x00, 0x0C, 0x0E, 0x0F, 0x0D, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x0C, 0x0C, 0x04, 0x04, 0x30, 0x30, 0x30, 0x78, 0xCE, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7F, 0xFE, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, // 123 + 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, // 124 + 0x04, 0x04, 0x0C, 0x0C, 0x3C, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xCF, 0x58, 0x70, 0x30, 0x30, 0x80, 0x80, 0x80, 0xC0, 0xF0, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x1C, 0x06, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x60, 0x60, 0x60, 0x3E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri10.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri10.h new file mode 100644 index 0000000..fb6283a --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri10.h @@ -0,0 +1,161 @@ +/* + * + * Callibri10 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Callibri10.h + * Date : 10.11.2012 + * Font size in bytes : 3742 + * Font width : 10 + * Font height : 10 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Callibri10_H +#define _Callibri10_H + +#define Callibri10_WIDTH 10 +#define Callibri10_HEIGHT 10 + +GLCDFONTDECL(Callibri10) = { + 0x0E, 0x9E, // size + 0x0A, // width + 0x0A, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x02, 0x05, 0x05, 0x07, 0x05, 0x01, 0x02, 0x02, + 0x03, 0x05, 0x02, 0x02, 0x01, 0x04, 0x05, 0x04, 0x04, 0x04, + 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x02, 0x04, 0x04, + 0x05, 0x03, 0x07, 0x05, 0x04, 0x05, 0x05, 0x03, 0x03, 0x05, + 0x05, 0x01, 0x03, 0x04, 0x03, 0x07, 0x05, 0x06, 0x04, 0x07, + 0x04, 0x04, 0x05, 0x05, 0x06, 0x09, 0x05, 0x05, 0x04, 0x02, + 0x04, 0x02, 0x03, 0x05, 0x02, 0x04, 0x04, 0x03, 0x04, 0x04, + 0x03, 0x04, 0x04, 0x01, 0x02, 0x04, 0x01, 0x07, 0x04, 0x05, + 0x04, 0x04, 0x02, 0x03, 0x03, 0x04, 0x04, 0x06, 0x04, 0x04, + 0x03, 0x03, 0x01, 0x02, 0x04, 0x04, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xBE, 0x00, // 33 + 0x06, 0x06, 0x00, 0x00, // 34 + 0x28, 0x7C, 0x28, 0xFC, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x88, 0x94, 0x96, 0xA4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0x1E, 0x92, 0x7E, 0x10, 0xFC, 0x92, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0xFC, 0x92, 0xAA, 0x44, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0x06, 0x00, // 39 + 0xFC, 0x02, 0x40, 0x80, // 40 + 0x02, 0xFC, 0x80, 0x40, // 41 + 0x0C, 0x1E, 0x0C, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x80, 0x80, 0x40, // 44 + 0x20, 0x20, 0x00, 0x00, // 45 + 0x80, 0x00, // 46 + 0x80, 0x60, 0x1C, 0x02, 0x40, 0x00, 0x00, 0x00, // 47 + 0x78, 0x84, 0x84, 0x84, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x88, 0x84, 0xFC, 0x80, 0x00, 0x00, 0x00, 0x00, // 49 + 0x84, 0xC4, 0xA4, 0x9C, 0x00, 0x00, 0x00, 0x00, // 50 + 0x84, 0x94, 0x94, 0x6C, 0x00, 0x00, 0x00, 0x00, // 51 + 0x60, 0x50, 0x4C, 0xFC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x9C, 0x94, 0x94, 0x64, 0x00, 0x00, 0x00, 0x00, // 53 + 0x78, 0x94, 0x94, 0x74, 0x00, 0x00, 0x00, 0x00, // 54 + 0x04, 0xC4, 0x34, 0x0C, 0x00, 0x00, 0x00, 0x00, // 55 + 0xEC, 0x94, 0xB4, 0xEC, 0x00, 0x00, 0x00, 0x00, // 56 + 0xB8, 0xA4, 0xA4, 0x78, 0x00, 0x00, 0x00, 0x00, // 57 + 0x88, 0x00, // 58 + 0x00, 0x90, 0x80, 0x40, // 59 + 0x10, 0x28, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, // 60 + 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, // 61 + 0x88, 0x88, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x02, 0x92, 0x1E, 0x00, 0x00, 0x00, // 63 + 0xF0, 0x08, 0x74, 0x54, 0x74, 0x44, 0x38, 0x00, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, // 64 + 0x80, 0x70, 0x4C, 0x5C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0xFC, 0x94, 0x94, 0x6C, 0x00, 0x00, 0x00, 0x00, // 66 + 0x78, 0xCC, 0x84, 0x84, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0xFC, 0x84, 0x84, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0xFC, 0x94, 0x94, 0x00, 0x00, 0x00, // 69 + 0xFC, 0x14, 0x14, 0x00, 0x00, 0x00, // 70 + 0x78, 0xCC, 0x84, 0xA4, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0xFC, 0x10, 0x10, 0x10, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0xFC, 0x00, // 73 + 0x80, 0x80, 0xFC, 0x00, 0x00, 0x00, // 74 + 0xFC, 0x30, 0x48, 0x84, 0x00, 0x00, 0x00, 0x00, // 75 + 0xFC, 0x80, 0x80, 0x00, 0x00, 0x00, // 76 + 0xFC, 0x0C, 0x70, 0x80, 0x70, 0x0C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0xFC, 0x0C, 0x30, 0xC0, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x78, 0x8C, 0x84, 0x84, 0xC4, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0xFC, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, // 80 + 0x78, 0xCC, 0x84, 0x84, 0xC4, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, // 81 + 0xFC, 0x24, 0x24, 0xD8, 0x00, 0x00, 0x00, 0x00, // 82 + 0x98, 0x94, 0xA4, 0x64, 0x00, 0x00, 0x00, 0x00, // 83 + 0x04, 0x04, 0xFC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x7C, 0x80, 0x80, 0x80, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x04, 0x38, 0xC0, 0xE0, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x04, 0x38, 0xC0, 0x70, 0x0C, 0x70, 0xC0, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x84, 0x48, 0x30, 0x68, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x04, 0x18, 0xE0, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x84, 0xE4, 0x94, 0x8C, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFE, 0x02, 0xC0, 0x80, // 91 + 0x06, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, // 92 + 0x02, 0xFE, 0x80, 0xC0, // 93 + 0x18, 0x04, 0x38, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0xE8, 0xA8, 0xA8, 0xF8, 0x00, 0x00, 0x00, 0x00, // 97 + 0xFE, 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, // 98 + 0x70, 0x88, 0x88, 0x00, 0x00, 0x00, // 99 + 0x70, 0x88, 0x88, 0xFE, 0x00, 0x00, 0x00, 0x00, // 100 + 0x70, 0xA8, 0xA8, 0xB0, 0x00, 0x00, 0x00, 0x00, // 101 + 0x08, 0xFE, 0x0A, 0x00, 0x00, 0x00, // 102 + 0x78, 0xA8, 0xA8, 0xB8, 0xC0, 0x80, 0x80, 0xC0, // 103 + 0xFE, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, // 104 + 0xFA, 0x00, // 105 + 0x00, 0xFA, 0x80, 0xC0, // 106 + 0xFE, 0x20, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, // 107 + 0xFE, 0x00, // 108 + 0xF8, 0x08, 0x08, 0xF8, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0xF8, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, // 110 + 0x70, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0xF8, 0x88, 0x88, 0x70, 0xC0, 0x00, 0x00, 0x00, // 112 + 0x70, 0x88, 0x88, 0xF8, 0x00, 0x00, 0x00, 0xC0, // 113 + 0xF8, 0x08, 0x00, 0x00, // 114 + 0x98, 0xA8, 0xE8, 0x00, 0x00, 0x00, // 115 + 0x08, 0xFC, 0x88, 0x00, 0x00, 0x00, // 116 + 0xF8, 0x80, 0x80, 0xF8, 0x00, 0x00, 0x00, 0x00, // 117 + 0x18, 0xE0, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, // 118 + 0x38, 0xC0, 0x30, 0x78, 0x80, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x88, 0x70, 0x70, 0x88, 0x00, 0x00, 0x00, 0x00, // 120 + 0x08, 0x70, 0xC0, 0x38, 0x00, 0x80, 0x40, 0x00, // 121 + 0xC8, 0xA8, 0x98, 0x00, 0x00, 0x00, // 122 + 0x20, 0xDE, 0x02, 0x00, 0xC0, 0x80, // 123 + 0xFE, 0xC0, // 124 + 0xDE, 0x20, 0xC0, 0x00, // 125 + 0x0C, 0x04, 0x08, 0x0C, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x94, 0xB4, 0xFC, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11.h new file mode 100644 index 0000000..3c8170b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11.h @@ -0,0 +1,162 @@ +/* + * + * Callibri11 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Callibri11.h + * Date : 10.11.2012 + * Font size in bytes : 4898 + * Font width : 10 + * Font height : 11 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + + +#ifndef _Callibri11_H +#define _Callibri11_H + +#define Callibri11_WIDTH 10 +#define Callibri11_HEIGHT 11 + +GLCDFONTDECL(Callibri11) = { + 0x13, 0x22, // size + 0x0A, // width + 0x0B, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x03, 0x06, 0x04, 0x08, 0x07, 0x01, 0x02, 0x02, + 0x05, 0x05, 0x02, 0x03, 0x01, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x01, 0x02, 0x05, 0x05, + 0x05, 0x04, 0x09, 0x07, 0x05, 0x05, 0x06, 0x04, 0x04, 0x06, + 0x06, 0x01, 0x03, 0x05, 0x04, 0x08, 0x06, 0x06, 0x05, 0x07, + 0x05, 0x04, 0x05, 0x06, 0x07, 0x0B, 0x06, 0x05, 0x06, 0x02, + 0x05, 0x02, 0x05, 0x06, 0x02, 0x05, 0x05, 0x04, 0x05, 0x05, + 0x04, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x08, 0x05, 0x05, + 0x05, 0x05, 0x03, 0x04, 0x04, 0x05, 0x05, 0x09, 0x05, 0x05, + 0x03, 0x03, 0x01, 0x03, 0x05, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x7E, 0x20, // 33 + 0x0E, 0x00, 0x0E, 0x00, 0x00, 0x00, // 34 + 0x40, 0xE8, 0x5E, 0xE8, 0x5E, 0x08, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, // 35 + 0x8C, 0x12, 0x23, 0xC4, 0x00, 0x60, 0x20, 0x00, // 36 + 0x0C, 0x12, 0xD2, 0x2C, 0xD0, 0x2C, 0x22, 0xC0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, // 37 + 0xC0, 0x2C, 0x12, 0x32, 0xCC, 0xC0, 0x20, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x20, // 38 + 0x0E, 0x00, // 39 + 0xF8, 0x06, 0x20, 0xC0, // 40 + 0x06, 0xF8, 0xC0, 0x20, // 41 + 0x14, 0x08, 0x3E, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x80, 0x60, // 44 + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 45 + 0x00, 0x20, // 46 + 0x00, 0x80, 0x70, 0x0C, 0x03, 0xC0, 0x20, 0x00, 0x00, 0x00, // 47 + 0xFC, 0x02, 0x02, 0x02, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x00, // 48 + 0x04, 0x02, 0xFE, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, // 49 + 0x04, 0x82, 0x42, 0x22, 0x1C, 0x20, 0x20, 0x20, 0x20, 0x20, // 50 + 0x84, 0x12, 0x12, 0x12, 0xEC, 0x00, 0x20, 0x20, 0x20, 0x00, // 51 + 0x60, 0x58, 0x46, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, // 52 + 0x9E, 0x12, 0x12, 0x12, 0xE2, 0x00, 0x20, 0x20, 0x20, 0x00, // 53 + 0xF8, 0x14, 0x12, 0x12, 0xE2, 0x00, 0x20, 0x20, 0x20, 0x00, // 54 + 0x02, 0x82, 0x62, 0x1A, 0x06, 0x00, 0x20, 0x00, 0x00, 0x00, // 55 + 0xEC, 0x12, 0x12, 0x12, 0xEC, 0x00, 0x20, 0x20, 0x20, 0x00, // 56 + 0x1C, 0x22, 0x22, 0xA2, 0x7C, 0x20, 0x20, 0x20, 0x00, 0x00, // 57 + 0x08, 0x20, // 58 + 0x00, 0x08, 0x80, 0x60, // 59 + 0x20, 0x20, 0x50, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x88, 0x50, 0x50, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x02, 0x72, 0x12, 0x0C, 0x00, 0x20, 0x00, 0x00, // 63 + 0xF0, 0x08, 0x64, 0x92, 0x8A, 0x4A, 0xBA, 0x84, 0x78, 0x00, 0x20, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, // 64 + 0x80, 0x60, 0x58, 0x46, 0x58, 0x60, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, // 65 + 0xFE, 0x12, 0x12, 0x1C, 0xE0, 0x20, 0x20, 0x20, 0x20, 0x00, // 66 + 0xFC, 0x02, 0x02, 0x02, 0x84, 0x00, 0x20, 0x20, 0x20, 0x00, // 67 + 0xFE, 0x02, 0x02, 0x02, 0x84, 0x78, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 68 + 0xFE, 0x12, 0x12, 0x12, 0x20, 0x20, 0x20, 0x20, // 69 + 0xFE, 0x12, 0x12, 0x12, 0x20, 0x00, 0x00, 0x00, // 70 + 0x78, 0x84, 0x02, 0x22, 0x22, 0xE4, 0x00, 0x00, 0x20, 0x20, 0x20, 0x00, // 71 + 0xFE, 0x10, 0x10, 0x10, 0x10, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, // 72 + 0xFE, 0x20, // 73 + 0x00, 0x00, 0xFE, 0x20, 0x20, 0x00, // 74 + 0xFE, 0x10, 0x28, 0xC4, 0x02, 0x20, 0x00, 0x00, 0x00, 0x20, // 75 + 0xFE, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, // 76 + 0xFE, 0x06, 0x78, 0x80, 0x80, 0x78, 0x06, 0xFE, 0x20, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, // 77 + 0xFE, 0x06, 0x18, 0x60, 0x80, 0xFE, 0x20, 0x00, 0x00, 0x00, 0x20, 0x20, // 78 + 0xFC, 0x02, 0x02, 0x02, 0x02, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, // 79 + 0xFE, 0x22, 0x22, 0x22, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, // 80 + 0xFC, 0x02, 0x02, 0x02, 0x02, 0xFC, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, // 81 + 0xFE, 0x22, 0x22, 0x62, 0x9C, 0x20, 0x00, 0x00, 0x00, 0x20, // 82 + 0x8C, 0x12, 0x22, 0xC4, 0x00, 0x20, 0x20, 0x00, // 83 + 0x02, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, // 84 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, // 85 + 0x06, 0x18, 0x60, 0x80, 0x60, 0x18, 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // 86 + 0x06, 0x78, 0x80, 0x60, 0x18, 0x06, 0x18, 0x60, 0x80, 0x78, 0x06, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // 87 + 0x02, 0xCC, 0x30, 0x30, 0xCC, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, // 88 + 0x06, 0x18, 0xE0, 0x18, 0x06, 0x00, 0x00, 0x20, 0x00, 0x00, // 89 + 0x82, 0x42, 0x22, 0x12, 0x0A, 0x06, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 90 + 0xFE, 0x02, 0xE0, 0x80, // 91 + 0x03, 0x0C, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0xC0, // 92 + 0x02, 0xFE, 0x80, 0xE0, // 93 + 0x10, 0x0C, 0x02, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0xC8, 0x28, 0x28, 0x28, 0xF0, 0x00, 0x20, 0x20, 0x20, 0x20, // 97 + 0xFE, 0x08, 0x08, 0x08, 0xF0, 0x20, 0x20, 0x20, 0x20, 0x00, // 98 + 0xF0, 0x08, 0x08, 0x08, 0x00, 0x20, 0x20, 0x20, // 99 + 0xF0, 0x08, 0x08, 0x08, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, // 100 + 0xF0, 0x28, 0x28, 0x28, 0x30, 0x00, 0x20, 0x20, 0x20, 0x20, // 101 + 0x08, 0xFC, 0x0A, 0x0A, 0x00, 0x20, 0x00, 0x00, // 102 + 0xB0, 0x48, 0x48, 0x38, 0x08, 0xC0, 0xA0, 0xA0, 0xA0, 0x40, // 103 + 0xFE, 0x10, 0x08, 0x08, 0xF0, 0x20, 0x00, 0x00, 0x00, 0x20, // 104 + 0xFA, 0x20, // 105 + 0x00, 0xFA, 0x80, 0x60, // 106 + 0xFE, 0x20, 0xD0, 0x08, 0x20, 0x00, 0x00, 0x20, // 107 + 0xFE, 0x20, // 108 + 0xF8, 0x10, 0x08, 0x08, 0xF0, 0x08, 0x08, 0xF0, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, // 109 + 0xF8, 0x10, 0x08, 0x08, 0xF0, 0x20, 0x00, 0x00, 0x00, 0x20, // 110 + 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x20, 0x20, 0x20, 0x00, // 111 + 0xF8, 0x08, 0x08, 0x08, 0xF0, 0xE0, 0x20, 0x20, 0x20, 0x00, // 112 + 0xF0, 0x08, 0x08, 0x08, 0xF8, 0x00, 0x20, 0x20, 0x20, 0xE0, // 113 + 0xF8, 0x08, 0x08, 0x20, 0x00, 0x00, // 114 + 0x30, 0x28, 0x48, 0xC8, 0x20, 0x20, 0x20, 0x00, // 115 + 0x08, 0xFC, 0x08, 0x08, 0x00, 0x00, 0x20, 0x20, // 116 + 0xF8, 0x00, 0x00, 0x80, 0xF8, 0x00, 0x20, 0x20, 0x00, 0x20, // 117 + 0x18, 0x60, 0x80, 0x60, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, // 118 + 0x18, 0x60, 0x80, 0x60, 0x18, 0x60, 0x80, 0x60, 0x18, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // 119 + 0x08, 0x90, 0x60, 0x90, 0x08, 0x20, 0x00, 0x00, 0x00, 0x20, // 120 + 0x18, 0x60, 0x80, 0x60, 0x18, 0x00, 0xC0, 0x20, 0x00, 0x00, // 121 + 0x88, 0x68, 0x18, 0x20, 0x20, 0x20, // 122 + 0x20, 0xDC, 0x02, 0x00, 0x60, 0x80, // 123 + 0xFE, 0xE0, // 124 + 0x02, 0xDC, 0x20, 0x80, 0x60, 0x00, // 125 + 0x10, 0x08, 0x18, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x0A, 0x7A, 0x02, 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_bold.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_bold.h new file mode 100644 index 0000000..9b5ecf5 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_bold.h @@ -0,0 +1,161 @@ +/* + * + * Callibri11_bold + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Callibri11_bold.h + * Date : 10.11.2012 + * Font size in bytes : 5217 + * Font width : 10 + * Font height : 11 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Callibri11_bold_H +#define _Callibri11_bold_H + +#define Callibri11_bold_WIDTH 10 +#define Callibri11_bold_HEIGHT 11 + +GLCDFONTDECL(Callibri11_bold) = { + 0x14, 0x61, // size + 0x0A, // width + 0x0B, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x02, 0x03, 0x06, 0x05, 0x08, 0x08, 0x01, 0x03, 0x03, + 0x05, 0x05, 0x02, 0x03, 0x02, 0x05, 0x05, 0x06, 0x05, 0x05, + 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x05, 0x05, + 0x05, 0x05, 0x0A, 0x06, 0x06, 0x05, 0x07, 0x05, 0x05, 0x07, + 0x07, 0x02, 0x03, 0x06, 0x04, 0x09, 0x07, 0x07, 0x05, 0x08, + 0x06, 0x05, 0x06, 0x07, 0x06, 0x0A, 0x06, 0x06, 0x05, 0x03, + 0x05, 0x03, 0x05, 0x06, 0x02, 0x05, 0x05, 0x04, 0x05, 0x05, + 0x03, 0x06, 0x05, 0x02, 0x02, 0x05, 0x02, 0x08, 0x05, 0x05, + 0x05, 0x05, 0x03, 0x04, 0x03, 0x05, 0x05, 0x08, 0x05, 0x05, + 0x04, 0x03, 0x01, 0x04, 0x05, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xBE, 0xBE, 0x20, 0x20, // 33 + 0x0E, 0x00, 0x0E, 0x00, 0x00, 0x00, // 34 + 0x48, 0xE8, 0x5E, 0xE8, 0x5E, 0x48, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, // 35 + 0x9C, 0x3E, 0x33, 0xF2, 0xE4, 0x00, 0x20, 0x60, 0x20, 0x00, // 36 + 0x0C, 0x12, 0x8C, 0x60, 0x18, 0xC6, 0x20, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, // 37 + 0xC0, 0xEC, 0x3E, 0x32, 0x7E, 0xCC, 0xE0, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x20, 0x20, // 38 + 0x0E, 0x00, // 39 + 0xF0, 0xFC, 0x06, 0x00, 0x60, 0xC0, // 40 + 0x06, 0xFC, 0xF0, 0xC0, 0x60, 0x00, // 41 + 0x12, 0x0C, 0x3F, 0x0C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0xF8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x80, 0x80, 0xE0, 0x60, // 44 + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 45 + 0x80, 0x80, 0x20, 0x20, // 46 + 0x00, 0x80, 0x70, 0x0C, 0x03, 0xC0, 0x20, 0x00, 0x00, 0x00, // 47 + 0xFC, 0xFE, 0x02, 0xFE, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x00, // 48 + 0x08, 0x04, 0xFE, 0xFE, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 49 + 0x84, 0xC2, 0x62, 0x3E, 0x1C, 0x20, 0x20, 0x20, 0x20, 0x20, // 50 + 0x84, 0x12, 0x12, 0xFE, 0xEC, 0x00, 0x20, 0x20, 0x20, 0x00, // 51 + 0x60, 0x58, 0x46, 0xFE, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, // 52 + 0x1E, 0x1E, 0x12, 0xF2, 0xE2, 0x20, 0x20, 0x20, 0x20, 0x00, // 53 + 0xFC, 0xFE, 0x12, 0xF2, 0xE2, 0x00, 0x20, 0x20, 0x20, 0x00, // 54 + 0x02, 0xC2, 0xFA, 0x3E, 0x06, 0x00, 0x20, 0x20, 0x00, 0x00, // 55 + 0xEC, 0xFE, 0x12, 0xFE, 0xEC, 0x00, 0x20, 0x20, 0x20, 0x00, // 56 + 0x1C, 0x3E, 0x22, 0xFE, 0xFC, 0x20, 0x20, 0x20, 0x20, 0x00, // 57 + 0x98, 0x98, 0x20, 0x20, // 58 + 0x98, 0x98, 0xE0, 0x60, // 59 + 0x20, 0x50, 0x50, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x88, 0x88, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x02, 0xB2, 0xB2, 0x1E, 0x0C, 0x00, 0x20, 0x20, 0x00, 0x00, // 63 + 0xF0, 0x08, 0x64, 0x92, 0x8A, 0x4A, 0xF2, 0x9A, 0x84, 0x78, 0x00, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, // 64 + 0xE0, 0xF8, 0x4E, 0x4E, 0xF8, 0xE0, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, // 65 + 0xFE, 0xFE, 0x12, 0x12, 0xFE, 0xEC, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 66 + 0xFC, 0xFE, 0x02, 0x02, 0x84, 0x00, 0x20, 0x20, 0x20, 0x00, // 67 + 0xFE, 0xFE, 0x02, 0x02, 0x86, 0xFC, 0x78, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 68 + 0xFE, 0xFE, 0x12, 0x12, 0x12, 0x20, 0x20, 0x20, 0x20, 0x20, // 69 + 0xFE, 0xFE, 0x12, 0x12, 0x12, 0x20, 0x20, 0x00, 0x00, 0x00, // 70 + 0xFC, 0xFE, 0x02, 0x02, 0x22, 0xE2, 0xE4, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 71 + 0xFE, 0xFE, 0x10, 0x10, 0x10, 0xFE, 0xFE, 0x20, 0x20, 0x00, 0x00, 0x00, 0x20, 0x20, // 72 + 0xFE, 0xFE, 0x20, 0x20, // 73 + 0x00, 0xFE, 0xFE, 0x20, 0x20, 0x00, // 74 + 0xFE, 0xFE, 0x30, 0xFC, 0xCE, 0x02, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, // 75 + 0xFE, 0xFE, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, // 76 + 0xFE, 0xFE, 0x1C, 0x70, 0xC0, 0x70, 0x1C, 0xFE, 0xFE, 0x20, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x20, // 77 + 0xFE, 0xFE, 0x0C, 0x30, 0xC0, 0xFE, 0xFE, 0x20, 0x20, 0x00, 0x00, 0x00, 0x20, 0x20, // 78 + 0xFC, 0xFE, 0x02, 0x02, 0x02, 0xFE, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 79 + 0xFE, 0xFE, 0x22, 0x3E, 0x1C, 0x20, 0x20, 0x00, 0x00, 0x00, // 80 + 0xFC, 0xFE, 0x02, 0x02, 0x02, 0xFE, 0xFC, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, 0x40, // 81 + 0xFE, 0xFE, 0x12, 0x32, 0xFE, 0xCC, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, // 82 + 0x9C, 0x3E, 0x32, 0xF2, 0xE4, 0x00, 0x20, 0x20, 0x20, 0x00, // 83 + 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, // 84 + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 85 + 0x0E, 0x7E, 0xE0, 0xE0, 0x7E, 0x0E, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, // 86 + 0x06, 0x3E, 0xF8, 0xC0, 0x3E, 0x3E, 0xC0, 0xF8, 0x3E, 0x06, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, // 87 + 0x86, 0xCE, 0x78, 0x78, 0xCE, 0x86, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, // 88 + 0x06, 0x1E, 0xF8, 0xF8, 0x1E, 0x06, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, // 89 + 0x82, 0xE2, 0x7A, 0x1E, 0x06, 0x20, 0x20, 0x20, 0x20, 0x20, // 90 + 0xFE, 0xFE, 0x02, 0xE0, 0xE0, 0x80, // 91 + 0x03, 0x0C, 0x70, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0xC0, // 92 + 0x02, 0xFE, 0xFE, 0x80, 0xE0, 0xE0, // 93 + 0x10, 0x0C, 0x02, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0xC8, 0xE8, 0x28, 0xF8, 0xF0, 0x00, 0x20, 0x20, 0x20, 0x20, // 97 + 0xFE, 0xFE, 0x08, 0xF8, 0xF0, 0x20, 0x20, 0x20, 0x20, 0x00, // 98 + 0xF0, 0xF8, 0x08, 0x08, 0x00, 0x20, 0x20, 0x20, // 99 + 0xF0, 0xF8, 0x08, 0xFE, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, // 100 + 0xF0, 0xF8, 0x28, 0x38, 0x30, 0x00, 0x20, 0x20, 0x20, 0x20, // 101 + 0xFC, 0xFE, 0x0A, 0x20, 0x20, 0x00, // 102 + 0xB0, 0xF8, 0x48, 0x78, 0x38, 0x08, 0xC0, 0xE0, 0xA0, 0xE0, 0x60, 0x00, // 103 + 0xFE, 0xFE, 0x08, 0xF8, 0xF0, 0x20, 0x20, 0x00, 0x20, 0x20, // 104 + 0xFB, 0xFB, 0x20, 0x20, // 105 + 0xFB, 0xFB, 0xE0, 0x60, // 106 + 0xFE, 0xFE, 0x60, 0xF8, 0x98, 0x20, 0x20, 0x00, 0x20, 0x20, // 107 + 0xFE, 0xFE, 0x20, 0x20, // 108 + 0xF8, 0xF8, 0x08, 0xF8, 0xF0, 0x08, 0xF8, 0xF0, 0x20, 0x20, 0x00, 0x20, 0x20, 0x00, 0x20, 0x20, // 109 + 0xF8, 0xF8, 0x08, 0xF8, 0xF0, 0x20, 0x20, 0x00, 0x20, 0x20, // 110 + 0xF0, 0xF8, 0x08, 0xF8, 0xF0, 0x00, 0x20, 0x20, 0x20, 0x00, // 111 + 0xF8, 0xF8, 0x08, 0xF8, 0xF0, 0xE0, 0xE0, 0x20, 0x20, 0x00, // 112 + 0xF0, 0xF8, 0x08, 0xF8, 0xF8, 0x00, 0x20, 0x20, 0xE0, 0xE0, // 113 + 0xF8, 0xF8, 0x08, 0x20, 0x20, 0x00, // 114 + 0x30, 0x78, 0xE8, 0xC8, 0x20, 0x20, 0x20, 0x00, // 115 + 0xFC, 0xFC, 0x08, 0x00, 0x20, 0x20, // 116 + 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x00, 0x20, 0x20, 0x20, 0x20, // 117 + 0x38, 0xF8, 0x80, 0xF8, 0x38, 0x00, 0x20, 0x20, 0x20, 0x00, // 118 + 0x38, 0xF8, 0xC0, 0x38, 0x38, 0xC0, 0xF8, 0x38, 0x00, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x00, // 119 + 0x98, 0xF8, 0x60, 0xF8, 0x98, 0x20, 0x20, 0x00, 0x20, 0x20, // 120 + 0x38, 0xF8, 0x80, 0xF8, 0x38, 0x00, 0xC0, 0xE0, 0x20, 0x00, // 121 + 0x88, 0xE8, 0x78, 0x18, 0x20, 0x20, 0x20, 0x20, // 122 + 0xFC, 0xDE, 0x02, 0x60, 0xE0, 0x80, // 123 + 0xFE, 0xE0, // 124 + 0x02, 0xDE, 0xFC, 0x20, 0x80, 0xE0, 0x60, 0x00, // 125 + 0x10, 0x08, 0x18, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x6A, 0x3A, 0x02, 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_italic.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_italic.h new file mode 100644 index 0000000..b8ccc2d --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri11_italic.h @@ -0,0 +1,161 @@ +/* + * + * Callibri11_italic + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Callibri11_italic.h + * Date : 10.11.2012 + * Font size in bytes : 5184 + * Font width : 10 + * Font height : 11 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Callibri11_italic_H +#define _Callibri11_italic_H + +#define Callibri11_italic_WIDTH 10 +#define Callibri11_italic_HEIGHT 11 + +GLCDFONTDECL(Callibri11_italic) = { + 0x14, 0x40, // size + 0x0A, // width + 0x0B, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x02, 0x03, 0x06, 0x06, 0x08, 0x07, 0x01, 0x03, 0x03, + 0x04, 0x06, 0x02, 0x03, 0x01, 0x05, 0x05, 0x05, 0x06, 0x06, + 0x05, 0x06, 0x05, 0x05, 0x05, 0x06, 0x02, 0x03, 0x05, 0x05, + 0x06, 0x04, 0x0A, 0x07, 0x06, 0x05, 0x06, 0x05, 0x05, 0x07, + 0x06, 0x02, 0x04, 0x05, 0x04, 0x09, 0x07, 0x07, 0x05, 0x07, + 0x06, 0x05, 0x05, 0x07, 0x05, 0x09, 0x06, 0x05, 0x06, 0x03, + 0x03, 0x03, 0x04, 0x05, 0x02, 0x05, 0x05, 0x04, 0x05, 0x05, + 0x04, 0x05, 0x05, 0x02, 0x03, 0x04, 0x02, 0x09, 0x05, 0x05, + 0x05, 0x05, 0x03, 0x05, 0x03, 0x05, 0x04, 0x08, 0x05, 0x05, + 0x05, 0x03, 0x03, 0x04, 0x05, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x60, 0x1E, 0x20, 0x00, // 33 + 0x08, 0x06, 0x08, 0x00, 0x00, 0x00, // 34 + 0xC8, 0x78, 0x4E, 0xC8, 0x78, 0x4E, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, // 35 + 0x80, 0x0C, 0x12, 0x22, 0xC3, 0x04, 0x00, 0x60, 0x20, 0x20, 0x00, 0x00, // 36 + 0x0C, 0x92, 0x52, 0x2C, 0xD0, 0x28, 0x24, 0xC2, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, // 37 + 0xC0, 0x20, 0x1C, 0x32, 0xCA, 0xC4, 0x20, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x20, // 38 + 0x08, 0x00, // 39 + 0xE0, 0x1C, 0x02, 0x60, 0x80, 0x00, // 40 + 0x00, 0x82, 0x7C, 0x80, 0x60, 0x00, // 41 + 0x14, 0x38, 0x0E, 0x14, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0xE0, 0x38, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x80, 0x60, // 44 + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 45 + 0x00, 0x20, // 46 + 0x80, 0x60, 0x18, 0x06, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, // 47 + 0xF0, 0x0C, 0x02, 0xC2, 0x3C, 0x00, 0x20, 0x20, 0x00, 0x00, // 48 + 0x00, 0x04, 0xE2, 0x1E, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, // 49 + 0x00, 0x80, 0x44, 0x22, 0x12, 0x0C, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 50 + 0x80, 0x00, 0x14, 0x12, 0xF2, 0x0C, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, // 51 + 0x60, 0x50, 0x48, 0xE4, 0x5E, 0x00, 0x00, 0x00, 0x20, 0x00, // 52 + 0x80, 0x18, 0x16, 0x12, 0xE2, 0x02, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, // 53 + 0xE0, 0x18, 0x14, 0x92, 0x62, 0x00, 0x20, 0x20, 0x00, 0x00, // 54 + 0x02, 0xC2, 0x32, 0x0A, 0x06, 0x20, 0x00, 0x00, 0x00, 0x00, // 55 + 0xE0, 0x1C, 0x12, 0xF2, 0x0C, 0x00, 0x20, 0x20, 0x00, 0x00, // 56 + 0x00, 0x18, 0x24, 0xA2, 0x62, 0x1C, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 57 + 0x00, 0x08, 0x20, 0x00, // 58 + 0x00, 0x00, 0x08, 0x80, 0x60, 0x00, // 59 + 0x20, 0x50, 0x50, 0x50, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x80, 0x88, 0x50, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x62, 0x12, 0x12, 0x0C, 0x20, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0x04, 0x24, 0x52, 0x4A, 0x7A, 0x4A, 0x22, 0x1C, 0x00, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, // 64 + 0x00, 0xC0, 0x70, 0x4C, 0x42, 0x7C, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, // 65 + 0xE0, 0x1E, 0x12, 0x12, 0x12, 0xEC, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 66 + 0xF0, 0x0C, 0x02, 0x02, 0x82, 0x00, 0x20, 0x20, 0x20, 0x00, // 67 + 0xE0, 0x1E, 0x02, 0x02, 0xC2, 0x3C, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 68 + 0xE0, 0x1E, 0x12, 0x12, 0x12, 0x20, 0x20, 0x20, 0x20, 0x20, // 69 + 0xE0, 0x1E, 0x12, 0x12, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x0C, 0x02, 0x02, 0x12, 0xD2, 0x34, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 71 + 0xE0, 0x1E, 0x10, 0x10, 0xF0, 0x1E, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, // 72 + 0xE0, 0x1E, 0x20, 0x00, // 73 + 0x00, 0x00, 0xE0, 0x1E, 0x20, 0x20, 0x00, 0x00, // 74 + 0xE0, 0x1E, 0x30, 0xC8, 0x04, 0x20, 0x00, 0x00, 0x00, 0x20, // 75 + 0xE0, 0x1E, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, // 76 + 0xE0, 0x1E, 0x06, 0x78, 0x80, 0x60, 0x18, 0xE6, 0x1E, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, // 77 + 0xE0, 0x1E, 0x0C, 0x30, 0xC0, 0xE0, 0x1E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, // 78 + 0xF0, 0x0C, 0x02, 0x02, 0x02, 0xC2, 0x3C, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 79 + 0xE0, 0x3E, 0x22, 0x22, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF0, 0x0C, 0x02, 0x02, 0x02, 0xC2, 0x3C, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x40, // 81 + 0xE0, 0x1E, 0x12, 0x32, 0xD2, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, // 82 + 0x80, 0x0C, 0x12, 0x22, 0xC2, 0x00, 0x20, 0x20, 0x20, 0x00, // 83 + 0x02, 0xE2, 0x1E, 0x02, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, // 84 + 0xE0, 0x1E, 0x00, 0x00, 0x00, 0xE0, 0x1E, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 85 + 0xFE, 0x80, 0x60, 0x10, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, // 86 + 0x3E, 0xC0, 0x60, 0x18, 0x0E, 0xF0, 0x40, 0x30, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // 87 + 0x00, 0x80, 0x46, 0x78, 0x88, 0x04, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, // 88 + 0x06, 0xD8, 0x20, 0x18, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, // 89 + 0x80, 0x42, 0x22, 0x12, 0x0A, 0x06, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 90 + 0xC0, 0x3E, 0x02, 0xE0, 0x80, 0x00, // 91 + 0x07, 0xF8, 0x00, 0x00, 0x00, 0xE0, // 92 + 0x00, 0xC2, 0x3E, 0x80, 0xE0, 0x00, // 93 + 0x10, 0x0C, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0xE0, 0x10, 0x08, 0xC8, 0x38, 0x00, 0x20, 0x20, 0x20, 0x00, // 97 + 0xC0, 0x3E, 0x08, 0x88, 0x70, 0x20, 0x20, 0x20, 0x00, 0x00, // 98 + 0xE0, 0x10, 0x08, 0x88, 0x00, 0x20, 0x20, 0x00, // 99 + 0xE0, 0x10, 0x08, 0xC8, 0x3E, 0x00, 0x20, 0x20, 0x20, 0x00, // 100 + 0xE0, 0x30, 0x28, 0x28, 0x10, 0x00, 0x20, 0x20, 0x20, 0x00, // 101 + 0x00, 0x88, 0x78, 0x0C, 0x80, 0x60, 0x00, 0x00, // 102 + 0xE0, 0x10, 0x08, 0xC8, 0x38, 0x80, 0xA0, 0xA0, 0x60, 0x00, // 103 + 0xC0, 0x3E, 0x08, 0xC8, 0x30, 0x20, 0x00, 0x00, 0x20, 0x00, // 104 + 0xC0, 0x3A, 0x20, 0x00, // 105 + 0x00, 0xC0, 0x3A, 0x80, 0x60, 0x00, // 106 + 0xC0, 0x3E, 0xE0, 0x10, 0x20, 0x00, 0x00, 0x20, // 107 + 0xC0, 0x3E, 0x20, 0x00, // 108 + 0xC0, 0x38, 0x10, 0x08, 0xC8, 0x30, 0x08, 0xC8, 0x30, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, // 109 + 0xC0, 0x38, 0x08, 0xC8, 0x30, 0x20, 0x00, 0x00, 0x20, 0x00, // 110 + 0xE0, 0x10, 0x08, 0x88, 0x70, 0x00, 0x20, 0x20, 0x00, 0x00, // 111 + 0xC0, 0x38, 0x08, 0x88, 0x70, 0xE0, 0x20, 0x20, 0x00, 0x00, // 112 + 0xE0, 0x10, 0x08, 0xC8, 0x38, 0x00, 0x20, 0x20, 0xE0, 0x00, // 113 + 0xC0, 0x38, 0x08, 0x20, 0x00, 0x00, // 114 + 0x00, 0x10, 0x28, 0xC8, 0x08, 0x20, 0x20, 0x20, 0x00, 0x00, // 115 + 0xC8, 0x3C, 0x08, 0x00, 0x20, 0x20, // 116 + 0xC0, 0x38, 0x00, 0xC0, 0x38, 0x00, 0x20, 0x20, 0x20, 0x00, // 117 + 0xF8, 0x80, 0x40, 0x30, 0x20, 0x00, 0x00, 0x00, // 118 + 0xF8, 0x80, 0x60, 0x10, 0xF8, 0x80, 0x40, 0x30, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, // 119 + 0x00, 0x88, 0x70, 0xE0, 0x10, 0x20, 0x00, 0x00, 0x00, 0x20, // 120 + 0x00, 0xF8, 0x00, 0xC0, 0x30, 0x80, 0x40, 0x20, 0x00, 0x00, // 121 + 0x00, 0x88, 0x48, 0x28, 0x18, 0x20, 0x20, 0x20, 0x20, 0x20, // 122 + 0x20, 0xE0, 0x1E, 0x00, 0xE0, 0x80, // 123 + 0x00, 0xF0, 0x0E, 0xE0, 0x00, 0x00, // 124 + 0x00, 0xC2, 0x3E, 0x20, 0x80, 0x60, 0x00, 0x00, // 125 + 0x10, 0x08, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x5A, 0x0A, 0x02, 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri14.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri14.h new file mode 100644 index 0000000..bafcd28 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri14.h @@ -0,0 +1,163 @@ + + +/* + * + * new Font + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : callibri_size14.h + * Date : 10.11.2012 + * Font size in bytes : 7102 + * Font width : 10 + * Font height : 14 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Callibri14_H +#define _Callibri14_H + +#define Callibri14_WIDTH 10 +#define Callibri14_HEIGHT 14 + +GLCDFONTDECL(Callibri14) = { + 0x1B, 0xBE, // size + 0x0A, // width + 0x0E, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x04, 0x07, 0x05, 0x09, 0x08, 0x01, 0x02, 0x02, + 0x05, 0x07, 0x03, 0x03, 0x01, 0x05, 0x07, 0x05, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x02, 0x06, 0x06, + 0x05, 0x05, 0x0A, 0x08, 0x06, 0x06, 0x07, 0x05, 0x05, 0x07, + 0x06, 0x01, 0x03, 0x05, 0x05, 0x0A, 0x07, 0x08, 0x05, 0x08, + 0x06, 0x05, 0x07, 0x07, 0x08, 0x0C, 0x07, 0x05, 0x06, 0x03, + 0x05, 0x02, 0x05, 0x07, 0x02, 0x05, 0x06, 0x05, 0x06, 0x06, + 0x04, 0x06, 0x05, 0x01, 0x02, 0x05, 0x01, 0x09, 0x05, 0x06, + 0x06, 0x06, 0x04, 0x04, 0x04, 0x05, 0x06, 0x0A, 0x06, 0x06, + 0x04, 0x03, 0x01, 0x03, 0x06, 0x07, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x18, // 33 + 0x1E, 0x00, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, // 34 + 0x80, 0xD0, 0xBC, 0x90, 0xD0, 0xBC, 0x10, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, // 35 + 0x38, 0x64, 0x47, 0x44, 0x88, 0x18, 0x70, 0x10, 0x10, 0x0C, // 36 + 0x38, 0x44, 0x44, 0x38, 0x80, 0xC0, 0x70, 0x48, 0x84, 0x00, 0x00, 0x10, 0x08, 0x04, 0x0C, 0x10, 0x10, 0x0C, // 37 + 0xC0, 0x7E, 0x62, 0xF2, 0x9E, 0x04, 0xC0, 0x00, 0x0C, 0x10, 0x10, 0x10, 0x1C, 0x0C, 0x1C, 0x10, // 38 + 0x1E, 0x00, // 39 + 0xF0, 0x0E, 0x1C, 0xE0, // 40 + 0x0E, 0xF0, 0xE0, 0x1C, // 41 + 0x14, 0x14, 0x3E, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x40, 0x38, 0x08, // 44 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, // 45 + 0x00, 0x18, // 46 + 0x00, 0x00, 0xC0, 0x38, 0x0E, 0x60, 0x38, 0x04, 0x00, 0x00, // 47 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x0C, 0xF0, 0x04, 0x18, 0x10, 0x10, 0x10, 0x08, 0x04, // 48 + 0x08, 0x04, 0xFC, 0x00, 0x00, 0x10, 0x10, 0x1C, 0x10, 0x10, // 49 + 0x08, 0x04, 0x04, 0x84, 0x44, 0x38, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, // 50 + 0x08, 0x44, 0x44, 0x44, 0xE4, 0xB8, 0x08, 0x10, 0x10, 0x10, 0x10, 0x0C, // 51 + 0x80, 0x60, 0x30, 0x0C, 0xFC, 0x00, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x04, // 52 + 0x3C, 0x24, 0x24, 0x24, 0x64, 0xC0, 0x18, 0x10, 0x10, 0x10, 0x18, 0x0C, // 53 + 0xF0, 0x28, 0x24, 0x24, 0x24, 0xC4, 0x0C, 0x18, 0x10, 0x10, 0x18, 0x0C, // 54 + 0x04, 0x04, 0x04, 0xC4, 0x3C, 0x0C, 0x00, 0x10, 0x1C, 0x04, 0x00, 0x00, // 55 + 0x98, 0xA4, 0x44, 0x44, 0xA4, 0x98, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 56 + 0x38, 0x44, 0x44, 0x44, 0x4C, 0xF8, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 57 + 0x30, 0x18, // 58 + 0x00, 0x60, 0x40, 0x38, // 59 + 0x40, 0xE0, 0xA0, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, // 60 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, // 61 + 0x10, 0x20, 0x20, 0xC0, 0xC0, 0x08, 0x04, 0x04, 0x00, 0x00, // 62 + 0x06, 0xE2, 0x22, 0x36, 0x1C, 0x00, 0x18, 0x18, 0x00, 0x00, // 63 + 0xC0, 0x30, 0xC8, 0x64, 0x24, 0xE4, 0x64, 0x04, 0x08, 0xF0, 0x1C, 0x20, 0x4C, 0x48, 0x48, 0x44, 0x48, 0x08, 0x0C, 0x00, // 64 + 0x00, 0x80, 0xF0, 0x1C, 0x1C, 0xF0, 0x80, 0x00, 0x10, 0x1C, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x10, // 65 + 0xFC, 0x44, 0x44, 0x44, 0x78, 0x80, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 66 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x08, 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, // 67 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 68 + 0xFC, 0x44, 0x44, 0x44, 0x04, 0x1C, 0x10, 0x10, 0x10, 0x10, // 69 + 0xFC, 0x44, 0x44, 0x44, 0x44, 0x1C, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x08, 0x04, 0x04, 0x44, 0x44, 0xC8, 0x04, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x1C, // 71 + 0xFC, 0x40, 0x40, 0x40, 0x40, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, // 72 + 0xFC, 0x1C, // 73 + 0x00, 0x00, 0xFC, 0x10, 0x10, 0x0C, // 74 + 0xFC, 0x40, 0xB0, 0x18, 0x04, 0x1C, 0x00, 0x00, 0x0C, 0x18, // 75 + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x10, 0x10, 0x10, 0x10, // 76 + 0xFC, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0xFC, 0x1C, 0x00, 0x00, 0x04, 0x1C, 0x1C, 0x04, 0x00, 0x00, 0x1C, // 77 + 0xFC, 0x0C, 0x30, 0x60, 0x80, 0x00, 0xFC, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x1C, 0x1C, // 78 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 79 + 0xFC, 0x84, 0x84, 0xC4, 0x78, 0x1C, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x18, 0x34, // 81 + 0xFC, 0x44, 0x44, 0xC4, 0x38, 0x00, 0x1C, 0x00, 0x00, 0x04, 0x1C, 0x10, // 82 + 0x38, 0x24, 0x44, 0xC4, 0x88, 0x08, 0x10, 0x10, 0x10, 0x0C, // 83 + 0x04, 0x04, 0x04, 0xFC, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 84 + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0C, 0x18, 0x10, 0x10, 0x10, 0x08, 0x0C, // 85 + 0x04, 0x3C, 0xE0, 0x00, 0x00, 0xE0, 0x3C, 0x04, 0x00, 0x00, 0x04, 0x1C, 0x1C, 0x04, 0x00, 0x00, // 86 + 0x04, 0x3C, 0xE0, 0x00, 0xC0, 0x7C, 0x1C, 0xE0, 0x00, 0x80, 0xF0, 0x0C, 0x00, 0x00, 0x0C, 0x18, 0x0C, 0x00, 0x00, 0x04, 0x1C, 0x1C, 0x00, 0x00, // 87 + 0x00, 0x0C, 0xB8, 0x60, 0xB0, 0x1C, 0x04, 0x10, 0x18, 0x04, 0x00, 0x04, 0x1C, 0x10, // 88 + 0x0C, 0x30, 0xC0, 0x30, 0x0C, 0x00, 0x00, 0x1C, 0x00, 0x00, // 89 + 0x04, 0x04, 0x84, 0x64, 0x3C, 0x0C, 0x10, 0x1C, 0x14, 0x10, 0x10, 0x10, // 90 + 0xFE, 0x02, 0x02, 0x7C, 0x40, 0x40, // 91 + 0x02, 0x1C, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x70, // 92 + 0x02, 0xFE, 0x40, 0x7C, // 93 + 0x60, 0x18, 0x04, 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x04, 0x00, 0x00, // 96 + 0x20, 0x90, 0x90, 0x90, 0xE0, 0x0C, 0x10, 0x10, 0x10, 0x1C, // 97 + 0xFE, 0x20, 0x10, 0x10, 0x30, 0xE0, 0x1C, 0x08, 0x10, 0x10, 0x18, 0x0C, // 98 + 0xE0, 0x30, 0x10, 0x10, 0x20, 0x0C, 0x18, 0x10, 0x10, 0x08, // 99 + 0xE0, 0x30, 0x10, 0x10, 0x20, 0xFE, 0x0C, 0x18, 0x10, 0x10, 0x08, 0x1C, // 100 + 0xE0, 0xB0, 0x90, 0x90, 0xB0, 0xE0, 0x0C, 0x18, 0x10, 0x10, 0x10, 0x10, // 101 + 0x10, 0xFC, 0x12, 0x12, 0x00, 0x1C, 0x00, 0x00, // 102 + 0xE0, 0x10, 0x10, 0x10, 0xF0, 0x10, 0x6C, 0x94, 0x94, 0x94, 0x90, 0x60, // 103 + 0xFE, 0x20, 0x10, 0x10, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x1C, // 104 + 0xF4, 0x1C, // 105 + 0x00, 0xF4, 0x80, 0xFC, // 106 + 0xFE, 0xC0, 0x60, 0x30, 0x10, 0x1C, 0x00, 0x04, 0x18, 0x10, // 107 + 0xFE, 0x1C, // 108 + 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x20, 0x10, 0x10, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, // 109 + 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x1C, 0x00, 0x00, 0x00, 0x1C, // 110 + 0xE0, 0x30, 0x10, 0x10, 0x30, 0xE0, 0x0C, 0x18, 0x10, 0x10, 0x18, 0x0C, // 111 + 0xF0, 0x20, 0x10, 0x10, 0x30, 0xE0, 0xFC, 0x08, 0x10, 0x10, 0x18, 0x0C, // 112 + 0xE0, 0x30, 0x10, 0x10, 0x20, 0xF0, 0x0C, 0x18, 0x10, 0x10, 0x08, 0xFC, // 113 + 0xF0, 0x20, 0x10, 0x10, 0x1C, 0x00, 0x00, 0x00, // 114 + 0x60, 0x90, 0x90, 0x10, 0x10, 0x10, 0x10, 0x0C, // 115 + 0x10, 0xFC, 0x10, 0x10, 0x00, 0x1C, 0x10, 0x10, // 116 + 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x0C, 0x10, 0x10, 0x08, 0x1C, // 117 + 0x30, 0xE0, 0x00, 0x00, 0xE0, 0x10, 0x00, 0x04, 0x1C, 0x1C, 0x00, 0x00, // 118 + 0x10, 0xF0, 0x00, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0x10, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, // 119 + 0x00, 0x30, 0xC0, 0xC0, 0x30, 0x10, 0x10, 0x18, 0x04, 0x04, 0x18, 0x10, // 120 + 0x10, 0xF0, 0x80, 0x00, 0xC0, 0x30, 0x00, 0x00, 0xDC, 0x38, 0x04, 0x00, // 121 + 0x10, 0x90, 0x70, 0x30, 0x18, 0x14, 0x10, 0x10, // 122 + 0x40, 0xBE, 0x02, 0x00, 0x7C, 0x40, // 123 + 0xFE, 0xFC, // 124 + 0x02, 0xBE, 0x40, 0x40, 0x7C, 0x00, // 125 + 0x30, 0x08, 0x18, 0x20, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x14, 0x54, 0x74, 0x04, 0xFC, 0x1C, 0x10, 0x10, 0x14, 0x10, 0x10, 0x1C // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri15.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri15.h new file mode 100644 index 0000000..4189e9d --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Callibri15.h @@ -0,0 +1,161 @@ +/* + * + * Callibri15 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Callibri15.h + * Date : 10.11.2012 + * Font size in bytes : 8277 + * Font width : 10 + * Font height : 15 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Callibri15_H +#define _Callibri15_H + +#define Callibri15_WIDTH 10 +#define Callibri15_HEIGHT 15 + +GLCDFONTDECL(Callibri15) = { + 0x20, 0x55, // size + 0x0A, // width + 0x0F, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x04, 0x08, 0x06, 0x0A, 0x09, 0x01, 0x03, 0x03, + 0x05, 0x07, 0x02, 0x03, 0x01, 0x06, 0x06, 0x05, 0x06, 0x06, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x02, 0x06, 0x07, + 0x06, 0x05, 0x0C, 0x09, 0x07, 0x08, 0x08, 0x06, 0x05, 0x08, + 0x08, 0x01, 0x04, 0x06, 0x06, 0x0B, 0x08, 0x09, 0x06, 0x0A, + 0x07, 0x05, 0x07, 0x08, 0x09, 0x0B, 0x08, 0x07, 0x07, 0x03, + 0x06, 0x03, 0x07, 0x08, 0x03, 0x06, 0x06, 0x05, 0x06, 0x06, + 0x04, 0x07, 0x06, 0x01, 0x02, 0x05, 0x01, 0x09, 0x06, 0x06, + 0x06, 0x06, 0x04, 0x05, 0x04, 0x06, 0x05, 0x09, 0x05, 0x05, + 0x04, 0x04, 0x01, 0x04, 0x07, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x1A, // 33 + 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, // 34 + 0x20, 0xA0, 0x7C, 0x20, 0x20, 0xA0, 0x7C, 0x20, 0x02, 0x1E, 0x02, 0x02, 0x02, 0x1E, 0x02, 0x02, // 35 + 0x38, 0x44, 0x44, 0x87, 0x84, 0x08, 0x08, 0x10, 0x70, 0x10, 0x10, 0x0E, // 36 + 0x38, 0x44, 0x44, 0x38, 0x80, 0x60, 0x10, 0x8C, 0x80, 0x00, 0x00, 0x00, 0x18, 0x04, 0x02, 0x00, 0x0E, 0x10, 0x10, 0x0E, // 37 + 0x80, 0x5C, 0x22, 0x62, 0x92, 0x0C, 0x00, 0xC0, 0x00, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x0A, 0x04, 0x0A, 0x10, // 38 + 0x1E, 0x00, // 39 + 0xF0, 0x0C, 0x02, 0x1E, 0x60, 0x80, // 40 + 0x02, 0x0C, 0xF0, 0x80, 0x60, 0x1E, // 41 + 0x24, 0x18, 0x7E, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x40, 0x38, // 44 + 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, // 45 + 0x00, 0x18, // 46 + 0x00, 0x00, 0x80, 0x60, 0x18, 0x06, 0x60, 0x18, 0x06, 0x00, 0x00, 0x00, // 47 + 0xF8, 0x04, 0x04, 0x04, 0x04, 0xF8, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x0E, // 48 + 0x10, 0x08, 0xFC, 0x00, 0x00, 0x10, 0x10, 0x1E, 0x10, 0x10, // 49 + 0x08, 0x04, 0x04, 0x04, 0xC4, 0x38, 0x10, 0x18, 0x14, 0x12, 0x10, 0x10, // 50 + 0x08, 0x44, 0x44, 0x44, 0x44, 0xB8, 0x08, 0x10, 0x10, 0x10, 0x10, 0x0E, // 51 + 0x00, 0xC0, 0x30, 0x0C, 0xFC, 0x00, 0x06, 0x04, 0x04, 0x04, 0x1E, 0x04, // 52 + 0x00, 0x7C, 0x44, 0x44, 0x44, 0x84, 0x08, 0x10, 0x10, 0x10, 0x10, 0x0E, // 53 + 0xF0, 0x88, 0x44, 0x44, 0x44, 0x84, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x0E, // 54 + 0x04, 0x04, 0x04, 0xC4, 0x34, 0x0C, 0x00, 0x10, 0x0C, 0x02, 0x00, 0x00, // 55 + 0xB8, 0x44, 0x44, 0x44, 0x44, 0xB8, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x0E, // 56 + 0x78, 0x84, 0x84, 0x84, 0x44, 0xF8, 0x10, 0x10, 0x10, 0x10, 0x08, 0x06, // 57 + 0x60, 0x18, // 58 + 0x00, 0x60, 0x40, 0x38, // 59 + 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x00, 0x02, 0x02, 0x04, 0x04, 0x08, // 60 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, // 61 + 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x08, 0x04, 0x04, 0x02, 0x02, 0x00, // 62 + 0x04, 0x02, 0xC2, 0x42, 0x3C, 0x00, 0x00, 0x1A, 0x00, 0x00, // 63 + 0xC0, 0x30, 0x08, 0x88, 0x44, 0x24, 0x24, 0x44, 0xE4, 0x04, 0x08, 0xF0, 0x0E, 0x30, 0x20, 0x46, 0x48, 0x48, 0x44, 0x46, 0x48, 0x08, 0x04, 0x02, // 64 + 0x00, 0x00, 0xC0, 0x30, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x18, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x06, 0x18, // 65 + 0xFC, 0x44, 0x44, 0x44, 0x44, 0xB8, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0E, // 66 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x06, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, // 67 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x06, // 68 + 0xFC, 0x44, 0x44, 0x44, 0x44, 0x04, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, // 69 + 0xFC, 0x44, 0x44, 0x44, 0x44, 0x1E, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x08, 0x04, 0x04, 0x84, 0x84, 0x84, 0x88, 0x06, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0E, // 71 + 0xFC, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0xFC, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, // 72 + 0xFC, 0x1E, // 73 + 0x00, 0x00, 0x00, 0xFC, 0x10, 0x10, 0x10, 0x0E, // 74 + 0xFC, 0x40, 0xA0, 0x10, 0x08, 0x04, 0x1E, 0x00, 0x00, 0x06, 0x08, 0x10, // 75 + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, // 76 + 0xFC, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0xFC, 0x1E, 0x00, 0x00, 0x00, 0x06, 0x18, 0x06, 0x00, 0x00, 0x00, 0x1E, // 77 + 0xFC, 0x04, 0x18, 0x60, 0x80, 0x00, 0x00, 0xFC, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x0C, 0x10, 0x1E, // 78 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x06, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x06, // 79 + 0xFC, 0x84, 0x84, 0x84, 0x84, 0x78, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF0, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0xF0, 0x00, 0x06, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x18, 0x26, 0x20, // 81 + 0xFC, 0x84, 0x84, 0x84, 0x84, 0x78, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x0C, 0x10, // 82 + 0x38, 0x44, 0x44, 0x84, 0x08, 0x08, 0x10, 0x10, 0x10, 0x0E, // 83 + 0x04, 0x04, 0x04, 0xFC, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, // 84 + 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x06, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x06, // 85 + 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0x00, 0x00, 0x00, 0x06, 0x18, 0x06, 0x00, 0x00, 0x00, // 86 + 0x1C, 0xE0, 0x00, 0x00, 0xE0, 0x1C, 0xE0, 0x00, 0x00, 0xE0, 0x1C, 0x00, 0x02, 0x1C, 0x06, 0x00, 0x00, 0x00, 0x06, 0x1C, 0x02, 0x00, // 87 + 0x04, 0x08, 0x30, 0xC0, 0xC0, 0x30, 0x08, 0x04, 0x10, 0x08, 0x06, 0x00, 0x00, 0x06, 0x08, 0x10, // 88 + 0x04, 0x18, 0x60, 0x80, 0x60, 0x18, 0x04, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, // 89 + 0x04, 0x04, 0x04, 0xC4, 0x24, 0x14, 0x0C, 0x18, 0x14, 0x12, 0x10, 0x10, 0x10, 0x10, // 90 + 0xFE, 0x02, 0x02, 0xFE, 0x80, 0x80, // 91 + 0x06, 0x18, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x60, // 92 + 0x02, 0x02, 0xFE, 0x80, 0x80, 0xFE, // 93 + 0x80, 0x60, 0x18, 0x04, 0x18, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, // 96 + 0x40, 0x20, 0x20, 0x20, 0x20, 0xC0, 0x0C, 0x12, 0x12, 0x12, 0x0A, 0x1E, // 97 + 0xFE, 0x40, 0x20, 0x20, 0x20, 0xC0, 0x1E, 0x08, 0x10, 0x10, 0x10, 0x0E, // 98 + 0xC0, 0x20, 0x20, 0x20, 0x40, 0x0E, 0x10, 0x10, 0x10, 0x08, // 99 + 0xC0, 0x20, 0x20, 0x20, 0x40, 0xFE, 0x0E, 0x10, 0x10, 0x10, 0x08, 0x1E, // 100 + 0xC0, 0x20, 0x20, 0x20, 0x20, 0xC0, 0x0E, 0x12, 0x12, 0x12, 0x12, 0x12, // 101 + 0x20, 0xFC, 0x22, 0x22, 0x00, 0x1E, 0x00, 0x00, // 102 + 0xC0, 0x20, 0x20, 0x20, 0x20, 0xE0, 0x20, 0x6A, 0x94, 0x94, 0x94, 0x94, 0x92, 0x60, // 103 + 0xFE, 0x40, 0x20, 0x20, 0x20, 0xC0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x1E, // 104 + 0xE8, 0x1E, // 105 + 0x00, 0xE8, 0x80, 0x7E, // 106 + 0xFE, 0x00, 0x80, 0x40, 0x20, 0x1E, 0x02, 0x04, 0x08, 0x10, // 107 + 0xFE, 0x1E, // 108 + 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x40, 0x20, 0x20, 0xC0, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, // 109 + 0xE0, 0x40, 0x20, 0x20, 0x20, 0xC0, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x1E, // 110 + 0xC0, 0x20, 0x20, 0x20, 0x20, 0xC0, 0x0E, 0x10, 0x10, 0x10, 0x10, 0x0E, // 111 + 0xE0, 0x40, 0x20, 0x20, 0x20, 0xC0, 0xFE, 0x08, 0x10, 0x10, 0x10, 0x0E, // 112 + 0xC0, 0x20, 0x20, 0x20, 0x40, 0xE0, 0x0E, 0x10, 0x10, 0x10, 0x08, 0xFE, // 113 + 0xE0, 0x40, 0x20, 0x20, 0x1E, 0x00, 0x00, 0x00, // 114 + 0xC0, 0x20, 0x20, 0x20, 0x20, 0x10, 0x12, 0x12, 0x12, 0x0C, // 115 + 0x20, 0xF8, 0x20, 0x20, 0x00, 0x0E, 0x10, 0x10, // 116 + 0xE0, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0E, 0x10, 0x10, 0x10, 0x08, 0x1E, // 117 + 0x60, 0x80, 0x00, 0x80, 0x60, 0x00, 0x06, 0x18, 0x06, 0x00, // 118 + 0x60, 0x80, 0x00, 0x80, 0x60, 0x80, 0x00, 0x80, 0x60, 0x00, 0x06, 0x18, 0x06, 0x00, 0x06, 0x18, 0x06, 0x00, // 119 + 0x20, 0xC0, 0x00, 0xC0, 0x20, 0x10, 0x0C, 0x02, 0x0C, 0x10, // 120 + 0x60, 0x80, 0x00, 0x80, 0x60, 0x00, 0xC6, 0x38, 0x06, 0x00, // 121 + 0x20, 0x20, 0xA0, 0x60, 0x18, 0x16, 0x10, 0x10, // 122 + 0x80, 0x7C, 0x02, 0x02, 0x00, 0x7E, 0x80, 0x80, // 123 + 0xFE, 0xFE, // 124 + 0x02, 0x02, 0x7C, 0x80, 0x80, 0x80, 0x7E, 0x00, // 125 + 0x30, 0x08, 0x08, 0x10, 0x20, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x14, 0x94, 0x94, 0x64, 0x04, 0xFC, 0x1E, 0x10, 0x10, 0x14, 0x10, 0x10, 0x10, 0x1E // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper19.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper19.h new file mode 100644 index 0000000..0f45bf5 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper19.h @@ -0,0 +1,162 @@ +/* + * + * Cooper19 + * Cooper std black size20 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : cooper_std_black_size18.h + * Date : 10.11.2012 + * Font size in bytes : 19140 + * Font width : 10 + * Font height : 19 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Cooper19_H +#define _Cooper19_H + +#define Cooper19_WIDTH 10 +#define Cooper19_HEIGHT 19 + +GLCDFONTDECL(Cooper19) = { + 0x4A, 0xC4, // size + 0x0A, // width + 0x13, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x04, 0x04, 0x09, 0x07, 0x0A, 0x0F, 0x11, 0x04, 0x08, 0x08, + 0x08, 0x08, 0x05, 0x05, 0x04, 0x09, 0x0B, 0x0A, 0x0B, 0x0B, + 0x0B, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x04, 0x05, 0x09, 0x09, + 0x09, 0x09, 0x0C, 0x0F, 0x0C, 0x0D, 0x0F, 0x0D, 0x0D, 0x0F, + 0x0D, 0x06, 0x0C, 0x0F, 0x0C, 0x10, 0x10, 0x0E, 0x0D, 0x0E, + 0x0E, 0x0B, 0x0C, 0x0E, 0x10, 0x14, 0x0F, 0x0F, 0x0D, 0x06, + 0x09, 0x06, 0x09, 0x09, 0x05, 0x0A, 0x0C, 0x09, 0x0B, 0x0A, + 0x08, 0x0B, 0x0D, 0x06, 0x06, 0x0D, 0x06, 0x12, 0x0D, 0x0B, + 0x0B, 0x0B, 0x0A, 0x09, 0x09, 0x0D, 0x0C, 0x13, 0x0C, 0x0B, + 0x09, 0x07, 0x02, 0x07, 0x08, 0x09, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x78, 0xFC, 0xFC, 0x78, 0x30, 0x7B, 0x79, 0x30, 0x00, 0x00, 0x00, 0x00, // 33 + 0x78, 0xFC, 0xFC, 0x78, 0x00, 0x78, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0xE0, 0x20, 0xE0, 0x60, 0x00, 0x08, 0x69, 0x3F, 0x49, 0x7F, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0xC0, 0xE0, 0xF0, 0xF8, 0xB8, 0x30, 0x20, 0x70, 0xE0, 0xC0, 0x7B, 0xE7, 0xE7, 0xCF, 0xCF, 0xCF, 0xFF, 0x7E, 0x7E, 0x38, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0x30, 0x78, 0xFC, 0xE4, 0xCC, 0xFC, 0x78, 0x38, 0xC0, 0x30, 0x1C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x38, 0x0C, 0x03, 0x18, 0x3C, 0x7E, 0x62, 0x7E, 0x3E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x00, 0xB0, 0xF8, 0xFC, 0xFC, 0xCC, 0xCC, 0x1C, 0x08, 0x80, 0xC0, 0xC0, 0xD8, 0xF8, 0xF8, 0x78, 0x30, 0x07, 0x1F, 0x3F, 0x3F, 0x7F, 0x78, 0x70, 0x60, 0x67, 0x63, 0x33, 0x3F, 0x3F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0x78, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 + 0xC0, 0xF8, 0xFC, 0xFE, 0x0F, 0x07, 0x03, 0x03, 0x07, 0x3F, 0x7F, 0xFF, 0xE0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, // 40 + 0x03, 0x03, 0x07, 0x0F, 0xFE, 0xFC, 0xF8, 0xC0, 0x80, 0x80, 0xC0, 0xE0, 0xFF, 0x7F, 0x3F, 0x07, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 41 + 0x20, 0xB0, 0xF0, 0xFC, 0xFC, 0xF0, 0xB0, 0x30, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x3F, 0x3F, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x7C, 0xF8, 0xF8, 0x70, 0x00, 0x40, 0x60, 0x20, 0x00, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x0E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x38, 0x78, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x3C, 0x0C, 0x80, 0xC0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0x80, 0xC0, 0xE0, 0xF0, 0x70, 0x70, 0xF0, 0xE0, 0xE0, 0xC0, 0x00, 0x07, 0x1F, 0x3F, 0x3F, 0x78, 0x70, 0x70, 0x3F, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x00, 0x60, 0x60, 0xE0, 0xF0, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x20, 0x20, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0xC0, 0xE0, 0x60, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x60, 0x70, 0x78, 0x7E, 0x7F, 0x7F, 0x7F, 0x77, 0xF3, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0xC0, 0x40, 0x60, 0x60, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x80, 0x80, 0x8C, 0x8E, 0x8F, 0xCF, 0xFF, 0xFF, 0xFC, 0x7C, 0x38, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0x00, 0x78, 0x7C, 0x76, 0x73, 0x71, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, // 52 + 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x8E, 0x8F, 0x8F, 0x9E, 0xFE, 0xFE, 0xFC, 0xFC, 0x7C, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 53 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x88, 0x80, 0x80, 0x80, 0x00, 0x07, 0x1F, 0x3F, 0x7F, 0x79, 0x73, 0x7F, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0xE0, 0xF0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x60, 0x01, 0x01, 0x00, 0x00, 0xC0, 0xF0, 0xFC, 0xFF, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 55 + 0x00, 0xE0, 0xF0, 0xF8, 0xF8, 0xD8, 0x98, 0x98, 0xF8, 0xF0, 0x60, 0x1C, 0x3E, 0x3F, 0x73, 0x63, 0x67, 0x67, 0x7F, 0x3F, 0x3F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x80, 0xE0, 0xE0, 0xF0, 0x70, 0x70, 0xF0, 0xF0, 0xE0, 0xE0, 0x80, 0x07, 0x0F, 0x1F, 0x9F, 0xDC, 0xF8, 0xF8, 0xFF, 0x7F, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 57 + 0x80, 0xC0, 0xC0, 0x80, 0x31, 0x7B, 0x7B, 0x31, 0x00, 0x00, 0x00, 0x00, // 58 + 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x38, 0x7D, 0xFB, 0xFB, 0x71, 0x00, 0x40, 0x60, 0x20, 0x00, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0x06, 0x0E, 0x0F, 0x1F, 0x1B, 0x19, 0x31, 0x31, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x31, 0x31, 0x19, 0x1B, 0x1F, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x20, 0x78, 0x78, 0x3C, 0xCC, 0xFC, 0xFC, 0xF8, 0x70, 0x00, 0x00, 0x30, 0x7A, 0x7B, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0xC0, 0x30, 0x18, 0x88, 0x84, 0xC4, 0x44, 0xC4, 0xC4, 0x68, 0x18, 0xE0, 0x0F, 0x38, 0x2E, 0x2F, 0x4F, 0x44, 0x4E, 0x4F, 0x2F, 0x34, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x7C, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x78, 0x7F, 0x6F, 0x0D, 0x0C, 0x0D, 0x6F, 0x7F, 0x7F, 0x7F, 0x7C, 0x70, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x8C, 0x8C, 0xFC, 0xFC, 0xF8, 0x38, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x61, 0x61, 0x7F, 0x7F, 0x3F, 0x3F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x3C, 0x1C, 0x1C, 0x1C, 0x3C, 0x78, 0xF8, 0xF0, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x7E, 0x78, 0x70, 0x70, 0x70, 0x30, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0x00, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0x1C, 0x3C, 0xFC, 0xF8, 0xF8, 0xF0, 0xC0, 0x40, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x70, 0x3F, 0x3F, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x8C, 0x8C, 0xEC, 0xCC, 0x1C, 0x1C, 0x10, 0x40, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x61, 0x61, 0x67, 0x63, 0x70, 0x78, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0x00, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0xCC, 0x9C, 0x1C, 0x7C, 0x30, 0x40, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x63, 0x43, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0x1C, 0x0C, 0x0C, 0x0C, 0x1C, 0x3C, 0x3C, 0x38, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, 0x7E, 0x78, 0x70, 0x73, 0x7F, 0x3F, 0x3F, 0x0F, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0x08, 0xFC, 0xFC, 0xFC, 0xFC, 0x8C, 0x80, 0x8C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x21, 0x01, 0x61, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x08, 0x1C, 0x3C, 0x7C, 0x7C, 0x60, 0x70, 0x7F, 0x3F, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xCC, 0xE0, 0xFC, 0xFC, 0x1C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x67, 0x07, 0x0F, 0x3F, 0x7F, 0x7E, 0x7C, 0x70, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x70, 0x7C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xC0, 0x80, 0xC0, 0xF0, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x60, 0x7C, 0x7F, 0x7F, 0x61, 0x07, 0x1F, 0x7F, 0x1F, 0x07, 0x61, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x8C, 0xFC, 0xFC, 0x0C, 0x08, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x61, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x1C, 0x1C, 0x3C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, 0x7E, 0x78, 0x70, 0x70, 0x3F, 0x3F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0x9C, 0xFC, 0xF8, 0xF8, 0xF0, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x63, 0x23, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x1C, 0x1C, 0x3C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x87, 0xDF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xF0, 0xBF, 0x9F, 0x9F, 0x8F, 0x87, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x60, 0x60, 0x60, 0x60, 0x60, 0x20, 0x00, // 81 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x8C, 0x8C, 0xFC, 0xFC, 0xFC, 0x78, 0x30, 0x00, 0x00, 0x70, 0x7F, 0x7F, 0x7F, 0x7F, 0x61, 0x01, 0x0F, 0x3F, 0x7F, 0x7F, 0x7E, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0xF0, 0xF8, 0xF8, 0xFC, 0xFC, 0xCC, 0xCC, 0x98, 0x98, 0x38, 0x30, 0x3C, 0x39, 0x73, 0x63, 0x67, 0x67, 0x7F, 0x7F, 0x3F, 0x3F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0x78, 0x3C, 0x1C, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x1C, 0x3C, 0x38, 0x00, 0x00, 0x20, 0x70, 0x7F, 0x7F, 0x7F, 0x7F, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0xFC, 0xFC, 0xFC, 0x0C, 0x00, 0x0F, 0x1F, 0x3F, 0x3F, 0x78, 0x70, 0x70, 0x70, 0x38, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x08, 0x0C, 0x3C, 0xFC, 0xFC, 0xFC, 0xFC, 0xC8, 0x00, 0x00, 0xC8, 0xFC, 0x7C, 0x1C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x7F, 0x7F, 0x7F, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x08, 0x3C, 0xFC, 0xFC, 0xFC, 0xFC, 0x80, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xCC, 0x80, 0x8C, 0xFC, 0xFC, 0x1C, 0x0C, 0x00, 0x00, 0x01, 0x07, 0x3F, 0x7F, 0x7F, 0x3F, 0x0F, 0x01, 0x03, 0x0F, 0x3F, 0x7F, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x08, 0x1C, 0x3C, 0x7C, 0xFC, 0xFC, 0xFC, 0xE8, 0xEC, 0x7C, 0x3C, 0x1C, 0x0C, 0x0C, 0x00, 0x60, 0x60, 0x70, 0x78, 0x7F, 0x2F, 0x07, 0x7F, 0x7F, 0x7F, 0x7E, 0x7C, 0x78, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x08, 0x18, 0x3C, 0x7C, 0xFC, 0xFC, 0xF8, 0xE8, 0xC0, 0xF8, 0xFC, 0x3C, 0x1C, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x20, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x70, 0x7C, 0x1C, 0x0C, 0x88, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0x3C, 0x0C, 0x00, 0x40, 0x70, 0x7C, 0x7F, 0x7F, 0x7F, 0x7F, 0x67, 0x61, 0x60, 0x70, 0x7C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 91 + 0x0C, 0x1C, 0x78, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0x7C, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, // 92 + 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 93 + 0x00, 0x00, 0xC0, 0xF8, 0x38, 0xF8, 0xC0, 0x00, 0x00, 0x0C, 0x0F, 0x07, 0x01, 0x00, 0x01, 0x07, 0x0F, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, // 95 + 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x38, 0x7B, 0x7D, 0x7D, 0x64, 0x3F, 0x7F, 0x7F, 0x7F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0x10, 0xF8, 0xF8, 0xF8, 0xFC, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x61, 0x61, 0x63, 0x3F, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x0E, 0x3F, 0x3F, 0x7F, 0x78, 0x70, 0x71, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC8, 0xF8, 0xFC, 0xFC, 0xFC, 0x00, 0x0E, 0x3F, 0x7F, 0x7F, 0x61, 0x20, 0x7F, 0x7F, 0x7F, 0x7F, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x0E, 0x3F, 0x3F, 0x7F, 0x76, 0x66, 0x66, 0x67, 0x37, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0x30, 0xF8, 0xFC, 0xEC, 0xCC, 0x9C, 0xB8, 0x98, 0x00, 0x61, 0x7F, 0x7F, 0x7F, 0x7F, 0x71, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0xC0, 0x60, 0x9B, 0xFF, 0xFF, 0x77, 0x74, 0x74, 0x74, 0xF7, 0xF3, 0xF1, 0x60, 0x00, 0x20, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x20, 0x20, 0x00, // 103 + 0x18, 0xF8, 0xFC, 0xFC, 0xFC, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x41, 0x01, 0x43, 0x7F, 0x7F, 0x7F, 0x7F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x98, 0x98, 0xDC, 0xDC, 0xC8, 0x00, 0x61, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 105 + 0x18, 0x98, 0x9C, 0xDC, 0xC8, 0xC0, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x60, 0x60, 0x60, 0x20, 0x20, // 106 + 0x10, 0xF8, 0xF8, 0xF8, 0xFC, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x2F, 0x1F, 0x7F, 0x7F, 0x78, 0x70, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0x18, 0xF8, 0xFC, 0xFC, 0xFC, 0x00, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 108 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x41, 0x7F, 0x7F, 0x7F, 0x7F, 0x63, 0x41, 0x7F, 0x7F, 0x7F, 0x7F, 0x63, 0x01, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x61, 0x7F, 0x7F, 0x7F, 0x7F, 0x41, 0x01, 0x63, 0x7F, 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x1E, 0x3F, 0x3F, 0x7F, 0x78, 0x60, 0x61, 0x3F, 0x3F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xC0, 0xC0, 0x00, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x21, 0x61, 0x7F, 0x7F, 0x3F, 0x0F, 0x20, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x1E, 0x3F, 0x7F, 0x7F, 0x70, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0x60, 0x60, 0x60, 0x60, // 113 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x60, 0x7F, 0x7F, 0x7F, 0x7F, 0x61, 0x23, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x18, 0x73, 0x67, 0x6F, 0x7F, 0x7E, 0x3C, 0x1D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x7F, 0x70, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x7F, 0x60, 0x20, 0x20, 0x7F, 0x7F, 0x7F, 0x7F, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0x40, 0x00, 0x00, 0x03, 0x0F, 0x3F, 0x7F, 0x7E, 0x1C, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x01, 0x07, 0x1F, 0x3F, 0x7F, 0x7E, 0x1E, 0x07, 0x0F, 0x3F, 0x7F, 0x7E, 0x1C, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0x40, 0x40, 0x60, 0x71, 0x7F, 0x0F, 0x7F, 0x7F, 0x7E, 0x7B, 0x71, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0xC3, 0x8F, 0x3F, 0xFF, 0xFF, 0x7C, 0x1E, 0x07, 0x00, 0x00, 0x20, 0x60, 0x60, 0x60, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x61, 0x71, 0x7C, 0x7F, 0x7F, 0x7F, 0x67, 0x71, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x02, 0x02, 0x01, 0x01, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, // 123 + 0xFE, 0xFE, 0xFF, 0xFF, 0xE0, 0xE0, // 124 + 0x02, 0x02, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x01, 0x01, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0E, 0x06, 0x06, 0x0C, 0x0C, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x1C, 0x24, 0xC4, 0x04, 0xC4, 0x24, 0x1C, 0xFC, 0x7F, 0x70, 0x48, 0x46, 0x41, 0x46, 0x48, 0x70, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper21.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper21.h new file mode 100644 index 0000000..a50f4be --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper21.h @@ -0,0 +1,162 @@ +/* + * + * Cooper21 + * Cooper std black size20 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : cooper21.h + * Date : 10.11.2012 + * Font size in bytes : 23979 + * Font width : 10 + * Font height : 21 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Cooper21_H +#define _Cooper21_H + +#define Cooper21_WIDTH 10 +#define Cooper21_HEIGHT 21 + +GLCDFONTDECL(Cooper21) = { + 0x5D, 0xAB, // size + 0x0A, // width + 0x15, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x05, 0x05, 0x0A, 0x09, 0x0B, 0x11, 0x12, 0x05, 0x0A, 0x09, + 0x08, 0x0A, 0x05, 0x06, 0x05, 0x0A, 0x0C, 0x0B, 0x0C, 0x0C, + 0x0C, 0x0B, 0x0D, 0x0C, 0x0C, 0x0C, 0x05, 0x05, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0F, 0x12, 0x0F, 0x0E, 0x10, 0x0F, 0x0E, 0x10, + 0x10, 0x09, 0x0E, 0x12, 0x0D, 0x12, 0x12, 0x0F, 0x0E, 0x0F, + 0x10, 0x0C, 0x0F, 0x11, 0x11, 0x16, 0x10, 0x10, 0x0E, 0x08, + 0x0A, 0x08, 0x0A, 0x0A, 0x05, 0x0C, 0x0D, 0x0B, 0x0E, 0x0B, + 0x09, 0x0C, 0x0E, 0x07, 0x06, 0x10, 0x08, 0x14, 0x0E, 0x0D, + 0x0E, 0x0E, 0x0B, 0x09, 0x0A, 0x0E, 0x0D, 0x15, 0x0D, 0x0D, + 0x0B, 0x08, 0x02, 0x08, 0x0A, 0x0A, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x60, 0xF1, 0xF3, 0xF1, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, // 33 + 0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0x00, 0xE0, 0x20, 0x00, 0xE0, 0x60, 0x00, 0x1B, 0xDB, 0xFF, 0x1F, 0x9B, 0xFF, 0x1F, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0xC0, 0xE0, 0xF0, 0xF0, 0xFC, 0xBC, 0x30, 0x70, 0x70, 0xF0, 0x40, 0x79, 0x77, 0xE7, 0xCF, 0xCF, 0xCF, 0xFF, 0xFF, 0x7E, 0x7E, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0x70, 0xF8, 0xF8, 0xCC, 0x9C, 0xFC, 0xF8, 0x70, 0x80, 0xC0, 0x70, 0x38, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x81, 0xC1, 0x71, 0x18, 0x0E, 0x03, 0x39, 0x7C, 0xFC, 0xE6, 0xCE, 0xFE, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x70, 0xF8, 0xF8, 0xFC, 0xFC, 0x8C, 0x8C, 0x1C, 0x18, 0x80, 0x80, 0xC0, 0xE8, 0xFC, 0xFC, 0xFC, 0x7C, 0x38, 0x0E, 0x3F, 0x7F, 0x7F, 0xFF, 0xF1, 0xE1, 0xCE, 0xCF, 0xC7, 0xE7, 0x7F, 0x7F, 0x7F, 0x3D, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0x78, 0xFC, 0xFC, 0xFC, 0x78, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 + 0xC0, 0xF0, 0xFC, 0xFE, 0xFE, 0x1F, 0x07, 0x03, 0x03, 0x02, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, 0x18, 0x10, // 40 + 0x03, 0x03, 0x07, 0x1F, 0xFE, 0xFE, 0xFC, 0xF0, 0xC0, 0x00, 0x00, 0x80, 0xE0, 0xFF, 0xFF, 0xFF, 0x3F, 0x0F, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x00, 0x00, 0x00, // 41 + 0x10, 0xB0, 0xF0, 0xFC, 0xFC, 0xF0, 0xB0, 0x30, 0x00, 0x01, 0x01, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0xFF, 0xFF, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x60, 0x78, 0x38, 0x08, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1E, 0x1E, 0x1E, 0x1E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xFC, 0x3C, 0x0C, 0x00, 0x80, 0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x30, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x00, 0x0F, 0x3F, 0x7F, 0x7F, 0xFF, 0xF0, 0xE0, 0xFF, 0x7F, 0x7F, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x40, 0x40, 0x60, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0x30, 0x20, 0x00, 0x40, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x81, 0xC1, 0xE1, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0xE7, 0xE3, 0xF1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, // 50 + 0xC0, 0x40, 0x60, 0x60, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x0E, 0x0F, 0x9F, 0xFF, 0xFF, 0xFD, 0xFC, 0xF8, 0x70, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x08, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0x00, 0x70, 0x7C, 0x7E, 0x73, 0x71, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 52 + 0x00, 0xC0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x0E, 0x1F, 0x1F, 0x1F, 0x3E, 0xFE, 0xFC, 0xFC, 0xFC, 0xF8, 0x70, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, 0x08, 0x00, 0x00, // 53 + 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0x30, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x3F, 0x7F, 0x7F, 0xFF, 0xF3, 0xE3, 0xE7, 0xFF, 0x7F, 0x7F, 0x3F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0xE0, 0xF8, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x01, 0x01, 0x01, 0x00, 0x80, 0xE0, 0xF8, 0xFE, 0x7F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, // 55 + 0x00, 0xE0, 0xF0, 0xF0, 0xF8, 0xF8, 0x98, 0x98, 0xF8, 0xF0, 0xF0, 0xE0, 0x18, 0x7C, 0x7F, 0xE7, 0xC7, 0xCF, 0xCF, 0xFF, 0xFF, 0x7F, 0x7E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x80, 0xC0, 0xE0, 0xE0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x07, 0x0F, 0x1F, 0x1F, 0x9F, 0xDC, 0xF8, 0xFF, 0xFF, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // 57 + 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x71, 0xFB, 0xFB, 0xFB, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, // 58 + 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0xF1, 0xF3, 0xF3, 0xF3, 0xE1, 0x00, 0x60, 0x78, 0x38, 0x08, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0x0C, 0x0E, 0x1E, 0x1F, 0x3F, 0x33, 0x33, 0x71, 0x61, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x61, 0x71, 0x33, 0x33, 0x3F, 0x1F, 0x1E, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x70, 0x78, 0x78, 0x1C, 0xCC, 0xFC, 0xFC, 0xF8, 0xF8, 0x70, 0x00, 0x00, 0x60, 0xF3, 0xF3, 0xF3, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0x00, 0xC0, 0x30, 0x18, 0x88, 0xC8, 0xE4, 0xE4, 0x64, 0xC4, 0xEC, 0xE8, 0x18, 0xF0, 0xE0, 0x07, 0x3F, 0x70, 0x5E, 0x5F, 0x9F, 0x89, 0x8C, 0x9E, 0x9F, 0x5F, 0x68, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0x7C, 0xFE, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xFC, 0xFF, 0xCF, 0x0D, 0x0C, 0x0C, 0x4F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0x00, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0xFC, 0xFC, 0xFC, 0xF8, 0x70, 0x00, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xFF, 0xFF, 0xFF, 0x7F, 0x7E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x3C, 0x1C, 0x1C, 0x1C, 0x3C, 0x78, 0xF8, 0xF8, 0xF0, 0x07, 0x1F, 0x3F, 0x7F, 0x7F, 0xFE, 0xF8, 0xF8, 0xF0, 0xF0, 0x70, 0x70, 0x78, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0x00, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0x1C, 0x3C, 0xF8, 0xF8, 0xF8, 0xF0, 0xC0, 0x40, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xE0, 0xF0, 0x7F, 0x7F, 0x3F, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0xCC, 0xCC, 0x1C, 0x3C, 0x38, 0x00, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xC3, 0xCF, 0xC7, 0xE0, 0xF0, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0xCC, 0x9C, 0x1C, 0x7C, 0x78, 0x40, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x43, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x3C, 0x0C, 0x0C, 0x0C, 0x1C, 0x3C, 0x7C, 0x7C, 0x78, 0x00, 0x00, 0x07, 0x1F, 0x3F, 0x7F, 0x7F, 0x7C, 0xF0, 0xE0, 0xE4, 0xE6, 0x7E, 0x7E, 0x3E, 0x1E, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0x00, 0x18, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0x00, 0x18, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0x40, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0x03, 0x43, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x08, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0x08, 0x38, 0x78, 0x7C, 0xF8, 0xF8, 0xC0, 0xE0, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x8C, 0xC0, 0xF8, 0xFC, 0x3C, 0x1C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x0F, 0x1F, 0x3F, 0x7F, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xE0, 0xF0, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0x80, 0x00, 0xC0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0xC0, 0xE0, 0xFF, 0xFF, 0xFF, 0xC3, 0x0F, 0x3F, 0x7F, 0x3F, 0x0F, 0x43, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0xC0, 0x88, 0x0C, 0xFC, 0xFC, 0xFC, 0x1C, 0x08, 0x80, 0xE0, 0xFF, 0xFF, 0xFF, 0xE3, 0x43, 0x07, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x3C, 0x1C, 0x1C, 0x3C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x07, 0x1F, 0x3F, 0x7F, 0x7F, 0xFE, 0xF0, 0xE0, 0xE0, 0xF0, 0x7F, 0x7F, 0x3F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x1C, 0xFC, 0xFC, 0xF8, 0xF8, 0xE0, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x46, 0x06, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0x3C, 0x1C, 0x1C, 0x3C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x0F, 0xBF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF0, 0xE0, 0xE0, 0xE1, 0xFF, 0x7F, 0x3F, 0x3F, 0x0F, 0x08, 0x08, 0x08, 0x18, 0x18, 0x38, 0x38, 0x38, 0x78, 0x78, 0x78, 0x70, 0x70, 0x30, 0x10, // 81 + 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x0C, 0xFC, 0xFC, 0xFC, 0xF8, 0x70, 0x00, 0x00, 0x80, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x03, 0x1F, 0x7F, 0xFF, 0xFE, 0xFC, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0xE0, 0xF8, 0xF8, 0xFC, 0xFC, 0xCC, 0xCC, 0x8C, 0x9C, 0x3C, 0x3C, 0x30, 0x78, 0x73, 0xE3, 0xC7, 0xC7, 0xCF, 0xCF, 0xFF, 0x7F, 0x7F, 0x7F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0x60, 0x78, 0x7C, 0x3C, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x1C, 0x3C, 0x7C, 0x7C, 0x70, 0x00, 0x00, 0x00, 0x40, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x0C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x0C, 0x08, 0x00, 0x00, 0x08, 0x0C, 0xFC, 0xFC, 0xFC, 0x0C, 0x08, 0x00, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0xF8, 0xE0, 0xE0, 0xE0, 0x60, 0x70, 0x7F, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x08, 0x1C, 0x3C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x80, 0x00, 0x00, 0xC8, 0xFC, 0xFC, 0x3C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1F, 0x7F, 0xFF, 0xFF, 0x7E, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x08, 0x1C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0x80, 0x08, 0x9C, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xC8, 0x00, 0x8C, 0xFC, 0xFC, 0x3C, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x1F, 0x7F, 0xFF, 0xFF, 0x7F, 0x1F, 0x07, 0x03, 0x0F, 0x7F, 0xFF, 0xFF, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x08, 0x1C, 0x3C, 0x7C, 0xFC, 0xFC, 0xFC, 0xFC, 0xE8, 0xEC, 0x7C, 0x3C, 0x1C, 0x0C, 0x0C, 0x00, 0xC0, 0xC0, 0xE0, 0xF0, 0xF8, 0xFF, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xF0, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x0C, 0x0C, 0x1E, 0x7E, 0xFE, 0xFE, 0xFC, 0xFC, 0xE8, 0xC0, 0xFC, 0x7E, 0x3E, 0x1E, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x40, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x70, 0x7C, 0x3C, 0x1C, 0x8C, 0xCC, 0xFC, 0xFC, 0xFC, 0xFC, 0x7E, 0x1E, 0x0C, 0x00, 0x80, 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xDF, 0xC7, 0xC1, 0xE0, 0xF0, 0xF8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFE, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x10, // 91 + 0x0C, 0x3C, 0x7C, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0x7C, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0x38, // 92 + 0x02, 0x03, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x08, // 93 + 0x00, 0x00, 0x80, 0xF0, 0xF8, 0xF8, 0xF0, 0x80, 0x00, 0x00, 0x18, 0x1E, 0x0F, 0x03, 0x00, 0x00, 0x03, 0x0F, 0x1E, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 95 + 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x60, 0x73, 0xFB, 0xFB, 0xF9, 0xC8, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0x10, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xC1, 0xC3, 0xFF, 0x7F, 0x7F, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x1E, 0x3F, 0x7F, 0x7F, 0xFF, 0xF0, 0xE0, 0xE1, 0xE3, 0x77, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xD0, 0xD8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x1E, 0x7F, 0x7F, 0xFF, 0xFF, 0xE1, 0xC0, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x0E, 0x3F, 0x7F, 0x7F, 0xFF, 0xF6, 0xE6, 0xE7, 0x67, 0x77, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0x00, 0x70, 0xF8, 0xFC, 0xCC, 0x8C, 0x1C, 0x3C, 0x38, 0x83, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0xC0, 0xC0, 0xC0, 0xC0, 0x60, 0x63, 0xF7, 0xFF, 0xFF, 0xCF, 0xC8, 0xC8, 0xCF, 0xE7, 0xC7, 0xC3, 0x80, 0x10, 0x38, 0x78, 0x68, 0x68, 0x68, 0x68, 0x78, 0x38, 0x38, 0x18, 0x08, // 103 + 0x18, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x98, 0x98, 0xD8, 0xDC, 0xDC, 0xC8, 0x00, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 105 + 0x98, 0x98, 0xD8, 0xDC, 0xDC, 0xC8, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0x78, 0x78, 0x78, 0x38, 0x18, // 106 + 0x20, 0x10, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4E, 0x3F, 0x7F, 0xFF, 0xFD, 0xF8, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0x10, 0x18, 0xF8, 0xFC, 0xFC, 0xFC, 0xFC, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 108 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x41, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x81, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x43, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x41, 0x01, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x1C, 0x7F, 0x7F, 0xFF, 0xFF, 0xF0, 0xC0, 0xC3, 0xFF, 0x7F, 0x7F, 0x3F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xC0, 0xC0, 0x00, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE1, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x00, 0x38, 0x38, 0x78, 0x78, 0x78, 0x78, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x1E, 0x7F, 0x7F, 0xFF, 0xFF, 0xE1, 0x40, 0x41, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x78, 0x78, 0x78, 0x78, 0x78, 0x30, // 113 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x43, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x73, 0xEF, 0xCF, 0xDF, 0xFF, 0xFE, 0xFC, 0x7D, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0xC0, 0xC0, 0xE0, 0xE0, 0xF0, 0xF8, 0xF0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xC0, 0x40, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0x40, 0x00, 0x01, 0x07, 0x0F, 0x3F, 0xFF, 0xFE, 0x7C, 0x3E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x01, 0x03, 0x0F, 0x3F, 0x7F, 0xFF, 0xFC, 0x3C, 0x0F, 0x0F, 0x1F, 0x3F, 0xFF, 0xFE, 0x7C, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE1, 0xF3, 0xFF, 0x0F, 0xDF, 0xFF, 0xFE, 0xFF, 0xF1, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x03, 0x0F, 0x3F, 0xFF, 0xFF, 0xFE, 0xF8, 0x7C, 0x0F, 0x03, 0x00, 0x00, 0x38, 0x78, 0x78, 0x60, 0x60, 0x38, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x83, 0xE1, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF, 0xC3, 0xE1, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x01, 0x01, 0x03, 0x03, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0x18, 0x18, 0x10, 0x10, // 123 + 0xFE, 0xFE, 0xFF, 0xFF, 0xF8, 0xF8, // 124 + 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x10, 0x10, 0x18, 0x18, 0x18, 0x08, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1E, 0x1E, 0x0E, 0x0C, 0x0C, 0x1C, 0x1E, 0x1E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x1C, 0x34, 0xC4, 0x84, 0x84, 0xC4, 0x34, 0x1C, 0xFC, 0xFF, 0xE0, 0xB0, 0x8C, 0x87, 0x87, 0x8C, 0xB0, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper26.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper26.h new file mode 100644 index 0000000..2360306 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Cooper26.h @@ -0,0 +1,162 @@ +/* + * + * Cooper26 + * Cooper std black size24 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : cooper_std_black_size24.h + * Date : 10.11.2012 + * Font size in bytes : 34188 + * Font width : 10 + * Font height : 26 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Cooper26_H +#define _Cooper26_H + +#define Cooper26_WIDTH 10 +#define Cooper26_HEIGHT 26 + +GLCDFONTDECL(Cooper26) = { + 0x85, 0x8C, // size + 0x0A, // width + 0x1A, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x05, 0x05, 0x0C, 0x09, 0x0C, 0x14, 0x16, 0x05, 0x0A, 0x0A, + 0x09, 0x0B, 0x06, 0x07, 0x05, 0x0C, 0x0D, 0x0D, 0x0E, 0x0F, + 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0D, 0x05, 0x06, 0x0C, 0x0C, + 0x0C, 0x0B, 0x11, 0x14, 0x11, 0x11, 0x12, 0x10, 0x10, 0x13, + 0x13, 0x09, 0x0F, 0x14, 0x0F, 0x16, 0x14, 0x12, 0x10, 0x12, + 0x14, 0x0F, 0x12, 0x14, 0x15, 0x1A, 0x14, 0x13, 0x11, 0x09, + 0x0C, 0x09, 0x0C, 0x0C, 0x07, 0x0D, 0x0F, 0x0C, 0x0F, 0x0C, + 0x0A, 0x0E, 0x11, 0x08, 0x07, 0x12, 0x08, 0x18, 0x0F, 0x0E, + 0x10, 0x10, 0x0D, 0x0A, 0x0B, 0x10, 0x0F, 0x18, 0x0F, 0x0F, + 0x0D, 0x09, 0x03, 0x09, 0x0B, 0x0C, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0x01, 0x8F, 0x9F, 0x8F, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, // 33 + 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0x01, 0x07, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0x00, 0xC0, 0x40, 0x00, 0xC0, 0xC0, 0x00, 0xCC, 0xCC, 0xFC, 0xFF, 0xCC, 0xFC, 0xFF, 0xCD, 0xCC, 0x00, 0x0E, 0x0F, 0x00, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x00, 0x80, 0xC0, 0xC0, 0xF0, 0xF0, 0xF0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x8F, 0x3F, 0x3F, 0x7F, 0x7F, 0xFC, 0xFC, 0xF8, 0xF9, 0xF3, 0xE3, 0xC3, 0x07, 0x0F, 0x1E, 0x1C, 0x7C, 0x7C, 0x7C, 0x1F, 0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0xC0, 0xF0, 0xF0, 0xF8, 0x18, 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, 0x80, 0xE0, 0x70, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x87, 0xC7, 0x73, 0x3D, 0xCE, 0xF7, 0xF1, 0xF8, 0x18, 0x38, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x07, 0x01, 0x00, 0x00, 0x01, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x00, 0x00, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0x1C, 0x1C, 0x1C, 0x38, 0x38, 0x00, 0x00, 0x00, 0x20, 0xB0, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0x70, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x07, 0x02, 0x70, 0x3C, 0x1E, 0x1F, 0x9F, 0xFF, 0xFF, 0xFF, 0xF7, 0x63, 0x01, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0xF0, 0xF8, 0xF8, 0xF8, 0xF0, 0x01, 0x07, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 + 0x00, 0xE0, 0xF8, 0xFC, 0xFE, 0x7E, 0x0F, 0x07, 0x07, 0x07, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, 0x78, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 40 + 0x07, 0x07, 0x07, 0x0F, 0x7E, 0xFE, 0xFC, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x70, 0x70, 0x70, 0x78, 0x3F, 0x3F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 41 + 0x60, 0xE0, 0xE0, 0xF8, 0xF8, 0xC0, 0xE0, 0xE0, 0x40, 0x04, 0x0E, 0x07, 0x03, 0x07, 0x0F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x70, 0x70, 0x70, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x01, 0x07, 0xCF, 0xFF, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x80, 0x80, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x78, 0x18, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x7E, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x78, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0x03, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE, 0x78, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x40, 0x00, 0x00, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x06, 0x06, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x04, 0x07, 0x07, 0x83, 0xC3, 0xE3, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x1F, 0x87, 0x80, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0xE1, 0xE1, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xE0, 0xC0, 0x80, 0x20, 0x30, 0x70, 0x70, 0x70, 0x70, 0x70, 0x78, 0x7F, 0x3F, 0x3F, 0x3F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x70, 0x18, 0x0C, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x70, 0xFE, 0xFF, 0xFF, 0xFF, 0xFB, 0xF3, 0xF3, 0xF3, 0xF3, 0xE3, 0xE3, 0xC3, 0x81, 0x18, 0x30, 0x70, 0x70, 0x70, 0x79, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x1F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 + 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0xE0, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x1C, 0x1C, 0x3E, 0xFE, 0xFC, 0xFC, 0xF8, 0xF0, 0x00, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0E, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0x80, 0xC0, 0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x87, 0xE7, 0xFF, 0xFF, 0x7F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x7E, 0xFF, 0x7F, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 + 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0x70, 0x70, 0x70, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xE7, 0xFF, 0xFF, 0x3F, 0x3F, 0x3F, 0x3E, 0x7E, 0xFC, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE3, 0xC3, 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x00, 0x00, 0x00, 0x21, 0x31, 0x79, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 + 0x00, 0x80, 0x80, 0x80, 0x00, 0x0F, 0x9F, 0xDF, 0x9F, 0x0F, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, // 58 + 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0F, 0x9F, 0xDF, 0xDF, 0xCF, 0x02, 0x01, 0x07, 0xCF, 0xFF, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF0, 0xF0, 0xF8, 0xF8, 0xDC, 0x9C, 0x9C, 0x8E, 0x0E, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0E, 0x8E, 0x9C, 0x9C, 0xDC, 0xF8, 0xF8, 0xF0, 0xF0, 0x70, 0x0E, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0xC0, 0xE0, 0xF0, 0xF0, 0x78, 0x38, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x01, 0x03, 0x01, 0x81, 0x9C, 0xBE, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0x00, 0x80, 0xC0, 0x60, 0x30, 0x30, 0x10, 0x18, 0x18, 0x18, 0x18, 0x30, 0xB0, 0x30, 0xE0, 0xC0, 0x00, 0x7E, 0xFF, 0x80, 0xF0, 0xF8, 0xFE, 0xFE, 0x4F, 0xF3, 0xFE, 0xFF, 0x7F, 0x63, 0x70, 0x38, 0x1F, 0x07, 0x00, 0x01, 0x03, 0x07, 0x06, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x06, 0x06, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFF, 0xFF, 0xE3, 0xE3, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x04, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x78, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x1C, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xF0, 0xE0, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0x70, 0x38, 0x38, 0x38, 0x78, 0x78, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x83, 0x83, 0xC3, 0x81, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x38, 0x78, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x78, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x1C, 0x7F, 0x7F, 0x3E, 0x00, 0x00, 0xC0, 0x80, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x78, 0x38, 0x38, 0x38, 0x38, 0x78, 0x78, 0xF8, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x1C, 0x3C, 0x7F, 0x7F, 0x3E, 0x00, 0x01, 0x01, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0x78, 0x38, 0x38, 0x38, 0x78, 0x78, 0xF8, 0xF8, 0xF8, 0xE0, 0x00, 0x00, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x80, 0x00, 0x20, 0x30, 0x38, 0xF8, 0xF8, 0xF9, 0xF9, 0xF8, 0x38, 0x30, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0x20, 0x30, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x30, 0x00, 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x04, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x30, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x0E, 0x0E, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x20, 0x80, 0xF0, 0xF8, 0xF8, 0x78, 0x78, 0x38, 0x38, 0x30, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x7F, 0x7F, 0xFF, 0xFF, 0xFD, 0xF8, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0x30, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0x1F, 0x7F, 0xFF, 0xFF, 0xFE, 0xFC, 0x7E, 0x1F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x01, 0x07, 0x07, 0x01, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, 0xFE, 0xFE, 0xFC, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0x78, 0x78, 0xF8, 0xF8, 0xF0, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x1E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0x80, 0x00, 0x01, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0x30, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x38, 0x78, 0xF8, 0xF0, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x38, 0x38, 0x38, 0x3C, 0x3F, 0x1F, 0x1F, 0x0F, 0x03, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0x78, 0x78, 0xF8, 0xF8, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x80, 0x00, 0x00, 0x01, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x18, 0x1C, 0x1D, 0x1F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7E, 0xFE, 0xFF, 0xFF, 0xE7, 0xE3, 0x63, 0x61, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 81 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x38, 0x78, 0xF8, 0xF8, 0xF8, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1C, 0x1C, 0x1C, 0x3E, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xE1, 0xC0, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0x80, 0xE0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0x38, 0x38, 0x38, 0x78, 0xF8, 0xF8, 0xF0, 0xC0, 0xE3, 0xCF, 0x9F, 0x1F, 0x3F, 0x3F, 0x3F, 0x7F, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xF9, 0xF0, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0x80, 0xF0, 0xF8, 0xF8, 0x78, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0xF8, 0xF8, 0xF0, 0xE0, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0x00, 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0x38, 0x10, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x30, 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x10, 0x00, 0x00, 0x00, 0x10, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x18, 0x18, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0xFC, 0x7F, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x10, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x10, 0xF8, 0xF8, 0xF8, 0x78, 0x10, 0x00, 0x00, 0x03, 0x0F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFC, 0x7F, 0x1F, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFE, 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x10, 0x30, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x80, 0x90, 0xF8, 0xF8, 0x78, 0x38, 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xE3, 0xF7, 0xFF, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xF9, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x06, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x04, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x18, 0x38, 0x78, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0x38, 0x38, 0x18, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0xE0, 0xF0, 0xF8, 0x78, 0x38, 0x38, 0x38, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x3C, 0x08, 0x00, 0x01, 0x01, 0x81, 0xE0, 0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0x0F, 0x03, 0x00, 0xC0, 0xC0, 0xC0, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x70, 0x70, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 91 + 0x18, 0x78, 0xF8, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x3F, 0x7E, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0x7F, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 92 + 0x06, 0x07, 0x07, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x30, 0x70, 0x70, 0x70, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 93 + 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFE, 0x3F, 0x0F, 0x03, 0x03, 0x0F, 0x3F, 0xFE, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 95 + 0x08, 0x1C, 0x1C, 0x3C, 0x3C, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCE, 0xEE, 0xE7, 0x63, 0x63, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0x40, 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0x0F, 0x1F, 0xFF, 0xFF, 0xFE, 0xFE, 0x78, 0x00, 0x00, 0x03, 0x03, 0x03, 0x07, 0x0F, 0x0E, 0x0E, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, 0xFE, 0xFE, 0xCF, 0x87, 0x07, 0x1F, 0x3E, 0xBE, 0x1C, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x30, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0xF0, 0xFC, 0xFE, 0xFE, 0xFF, 0x0F, 0x07, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFE, 0xFF, 0x77, 0x77, 0x7F, 0x7E, 0x7E, 0x7C, 0x78, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x06, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0xC0, 0xF0, 0xF0, 0xF8, 0x38, 0x38, 0x78, 0xF8, 0xF0, 0xF0, 0x1D, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x1C, 0x1C, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x38, 0x7C, 0xFE, 0xFE, 0xFF, 0xC3, 0xC3, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F, 0x03, 0x30, 0x7F, 0x7F, 0xFF, 0xFF, 0xDE, 0xDE, 0xDE, 0xDE, 0xFE, 0x7E, 0x7E, 0x3E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 103 + 0x40, 0x70, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x04, 0x06, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x04, 0x00, 0x00, 0x0C, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x60, 0x70, 0x70, 0x70, 0x78, 0x70, 0x30, 0x00, 0x04, 0x0E, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 105 + 0x60, 0x70, 0x70, 0x70, 0x78, 0x70, 0x30, 0x08, 0x0E, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x60, 0xE0, 0xFF, 0xFF, 0xFF, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 106 + 0x40, 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x78, 0xF8, 0xFE, 0xFF, 0xFF, 0xFF, 0xC7, 0x87, 0x02, 0x00, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0x20, 0x70, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 108 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x06, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x0C, 0x06, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x04, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x06, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x0C, 0x0E, 0x1F, 0xFF, 0xFF, 0xFE, 0xFE, 0xF8, 0x00, 0x0C, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x04, 0x00, 0x0C, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFE, 0xFE, 0x87, 0x07, 0x0F, 0x1F, 0xFF, 0xFE, 0xFE, 0xFC, 0xF0, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1C, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0x20, 0x70, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x4E, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFE, 0xFE, 0xFE, 0xFF, 0x0F, 0x07, 0x07, 0x0F, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0x07, 0x07, 0x0F, 0x0F, 0x0F, 0x4E, 0x6E, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 113 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x0E, 0x04, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xBE, 0x7E, 0x7F, 0xFF, 0xF7, 0xE7, 0xEF, 0xDF, 0x9E, 0x07, 0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x04, 0x06, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x0F, 0x0E, 0x06, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xE0, 0x7B, 0x3F, 0x0F, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xF0, 0xE2, 0xF7, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE0, 0x7B, 0x1F, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x07, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xFF, 0xDF, 0x07, 0x03, 0x03, 0x0C, 0x0C, 0x0F, 0x0F, 0x0F, 0x00, 0x04, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x0F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0xE0, 0xF2, 0x7F, 0x0F, 0x07, 0x03, 0x10, 0x78, 0xF8, 0xF8, 0xF0, 0xE3, 0x7F, 0x7F, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1F, 0x8F, 0xC7, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x87, 0x80, 0x04, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0xFE, 0x06, 0x06, 0x18, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 123 + 0xFC, 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, // 124 + 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x18, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0x70, 0x70, 0x60, 0xE0, 0xE0, 0xF0, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xF8, 0x38, 0x68, 0x88, 0x08, 0x08, 0x08, 0x08, 0x88, 0x68, 0x38, 0xF8, 0xFF, 0x00, 0x00, 0xC1, 0x63, 0x1C, 0x1C, 0x63, 0xC1, 0x00, 0x00, 0xFF, 0x0F, 0x0E, 0x0B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0B, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Corsiva_12.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Corsiva_12.h new file mode 100644 index 0000000..3e744ba --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Corsiva_12.h @@ -0,0 +1,162 @@ +/* + * + * Corsiva_12 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : corsiva_12.h + * Date : 29.01.2005 + * Font size in bytes : 5690 + * Font width : 10 + * Font height : 11 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef CORSIVA_12_H +#define CORSIVA_12_H + +#define CORSIVA_12_WIDTH 10 +#define CORSIVA_12_HEIGHT 11 + +GLCDFONTDECL(Corsiva_12) = { + 0x16, 0x3A, // size + 0x0A, // width + 0x0B, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x03, 0x02, 0x02, 0x06, 0x05, 0x07, 0x09, 0x01, 0x03, 0x04, + 0x02, 0x05, 0x02, 0x03, 0x01, 0x05, 0x05, 0x04, 0x05, 0x04, + 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x02, 0x03, 0x05, 0x05, + 0x05, 0x04, 0x07, 0x07, 0x07, 0x06, 0x08, 0x07, 0x07, 0x07, + 0x0A, 0x05, 0x06, 0x09, 0x07, 0x09, 0x0A, 0x06, 0x07, 0x09, + 0x09, 0x06, 0x08, 0x08, 0x08, 0x0B, 0x09, 0x09, 0x07, 0x03, + 0x03, 0x04, 0x03, 0x06, 0x02, 0x04, 0x04, 0x04, 0x06, 0x04, + 0x06, 0x06, 0x04, 0x03, 0x04, 0x06, 0x03, 0x06, 0x04, 0x04, + 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x06, 0x08, 0x07, 0x05, + 0x06, 0x03, 0x01, 0x04, 0x05, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 32 + 0x80, 0x3E, 0x00, 0x00, // 33 + 0x08, 0x06, 0x00, 0x00, // 34 + 0xA0, 0x78, 0xAE, 0x78, 0x2E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x80, 0x8C, 0xF2, 0xBF, 0x62, 0x00, 0x20, 0x00, 0x00, 0x00, // 36 + 0x1C, 0x92, 0x7E, 0x0C, 0xE2, 0x90, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x70, 0xC8, 0xA8, 0xB8, 0x6C, 0xBE, 0x02, 0xC2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // 38 + 0x08, 0x00, // 39 + 0xE0, 0x18, 0x06, 0x60, 0x80, 0x00, // 40 + 0x00, 0x00, 0xC3, 0x3C, 0x40, 0x20, 0x00, 0x00, // 41 + 0x0C, 0x0F, 0x00, 0x00, // 42 + 0x10, 0x10, 0x7C, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x80, 0x40, 0x20, // 44 + 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, // 45 + 0x80, 0x00, // 46 + 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, // 47 + 0x78, 0x84, 0x82, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0x80, 0x88, 0xFC, 0x86, 0x00, 0x00, 0x00, 0x00, // 49 + 0xC0, 0xC4, 0xA2, 0x92, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0xC0, 0x80, 0xDA, 0x76, 0x00, 0x00, 0x00, 0x00, // 51 + 0x20, 0x30, 0xA8, 0x7E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x80, 0x80, 0x84, 0x4A, 0x32, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 + 0x70, 0xAC, 0x94, 0x72, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0xC4, 0x32, 0x0A, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 + 0xE0, 0xAC, 0x92, 0x6A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x80, 0x9C, 0x52, 0x72, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 + 0x80, 0x08, 0x00, 0x00, // 58 + 0x00, 0x80, 0x08, 0x40, 0x20, 0x00, // 59 + 0x30, 0x30, 0x48, 0x48, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x48, 0x48, 0x48, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x80, 0x36, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, // 63 + 0x70, 0xCC, 0xB4, 0xAA, 0xBA, 0x62, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x80, 0x4C, 0x32, 0x2E, 0xFE, 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0x38, 0x24, 0x86, 0xFA, 0x8E, 0x8A, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0xF0, 0x8C, 0x04, 0x02, 0x82, 0x0C, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, // 67 + 0x38, 0x4C, 0x86, 0xEA, 0x9A, 0x82, 0x46, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0x38, 0x84, 0xE2, 0x9E, 0x92, 0xBA, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0x1C, 0x86, 0xE2, 0x9E, 0x12, 0x3A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x70, 0x8C, 0x84, 0x82, 0xD2, 0x32, 0x16, 0x00, 0x80, 0x80, 0xC0, 0x20, 0x00, 0x00, // 71 + 0xC0, 0x8C, 0xC2, 0x3A, 0x16, 0x90, 0xF8, 0x86, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x80, 0xC0, 0xFA, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x0C, 0xC2, 0x3A, 0x06, 0x60, 0x40, 0x40, 0x20, 0x00, 0x00, // 74 + 0x8C, 0x82, 0xF2, 0x1E, 0x78, 0x88, 0x06, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x40, 0x40, // 75 + 0x80, 0xC0, 0xB8, 0x84, 0x82, 0x82, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0x80, 0x9C, 0x62, 0x1E, 0xF8, 0x60, 0x90, 0xFC, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0x80, 0x0C, 0xE2, 0x12, 0x0E, 0xF0, 0x70, 0x0C, 0x02, 0x02, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x78, 0xC4, 0x82, 0x82, 0x46, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0x38, 0xCC, 0x86, 0xFA, 0x92, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x78, 0xC4, 0x82, 0x82, 0x42, 0x26, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x60, 0xC0, 0x80, 0x80, 0x40, // 81 + 0x38, 0xA4, 0x86, 0xFA, 0x32, 0xD2, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x40, // 82 + 0x80, 0x00, 0x0C, 0x92, 0xE2, 0x0E, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, // 83 + 0x1C, 0x86, 0x82, 0xF2, 0x8E, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x0C, 0x7A, 0x86, 0x80, 0x80, 0x40, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x0C, 0x06, 0xFE, 0x42, 0x20, 0x10, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x0C, 0x06, 0xFE, 0x32, 0x08, 0x04, 0xFE, 0x20, 0x10, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x00, 0x80, 0x40, 0x22, 0x1E, 0xF4, 0x82, 0x01, 0x01, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x1C, 0x04, 0x82, 0xC6, 0xBC, 0x8C, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0x80, 0xC0, 0xA6, 0x92, 0x8A, 0x86, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0x00, 0xF0, 0x0F, 0xC0, 0xA0, 0x00, // 91 + 0x07, 0xFC, 0x80, 0x00, 0x00, 0x60, // 92 + 0x00, 0x00, 0xF1, 0x0F, 0x80, 0xE0, 0x00, 0x00, // 93 + 0x04, 0x02, 0x04, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0xE0, 0x90, 0xC8, 0xB8, 0x00, 0x00, 0x00, 0x00, // 97 + 0xE0, 0x9E, 0x49, 0x39, 0x00, 0x00, 0x00, 0x00, // 98 + 0xE0, 0x90, 0x88, 0x48, 0x00, 0x00, 0x00, 0x00, // 99 + 0xE0, 0x90, 0x48, 0xF8, 0x4E, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0xF0, 0xB0, 0xA8, 0x58, 0x00, 0x00, 0x00, 0x00, // 101 + 0x00, 0x90, 0x78, 0x16, 0x01, 0x01, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0xE0, 0x90, 0x88, 0xE8, 0x18, 0xE0, 0x80, 0x80, 0xC0, 0x60, 0x00, // 103 + 0xE0, 0x1E, 0xD1, 0xB9, 0x00, 0x00, 0x00, 0x00, // 104 + 0xE0, 0x38, 0x02, 0x00, 0x00, 0x00, // 105 + 0x00, 0x90, 0x78, 0x02, 0x80, 0x60, 0x00, 0x00, // 106 + 0xE0, 0x3E, 0xE9, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x40, 0x40, // 107 + 0xE0, 0x9C, 0x42, 0x00, 0x00, 0x00, // 108 + 0xC8, 0x38, 0xD0, 0x38, 0xF0, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0xE8, 0x18, 0xD0, 0xB8, 0x00, 0x00, 0x00, 0x00, // 110 + 0xF0, 0x88, 0xC8, 0x38, 0x00, 0x00, 0x00, 0x00, // 111 + 0x88, 0xF8, 0x90, 0x48, 0x38, 0xE0, 0x80, 0x00, 0x00, 0x00, // 112 + 0xE0, 0x90, 0x88, 0xE8, 0x18, 0x00, 0x80, 0xC0, 0xA0, 0x00, // 113 + 0xC8, 0x38, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, // 114 + 0xC0, 0x98, 0xE8, 0x08, 0x00, 0x00, 0x00, 0x00, // 115 + 0xE8, 0x9C, 0x88, 0x40, 0x00, 0x00, 0x00, 0x00, // 116 + 0xE8, 0x98, 0xE0, 0x98, 0x00, 0x00, 0x00, 0x00, // 117 + 0x10, 0x08, 0xF8, 0x88, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x10, 0x08, 0xF8, 0x88, 0x40, 0xF8, 0x40, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x80, 0xD0, 0x58, 0xF0, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x60, // 120 + 0x10, 0x18, 0xF0, 0xC0, 0x38, 0x80, 0x40, 0x20, 0x00, 0x00, // 121 + 0x80, 0xD8, 0xA8, 0x98, 0xD8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0xA0, 0xD8, 0x07, 0xE0, 0x80, 0x00, // 123 + 0xFF, 0xE0, // 124 + 0x00, 0x00, 0xD1, 0x2F, 0x80, 0xC0, 0x20, 0x00, // 125 + 0x08, 0x08, 0x18, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFF, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Iain5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Iain5x7.h new file mode 100644 index 0000000..ad824a1 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Iain5x7.h @@ -0,0 +1,175 @@ +/* + * + * Iain5x7 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Iain5x7.h + * Date : 28.12.2010 + * Font size in bytes : 2461 + * Font width : 5 + * Font height : 7 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef IAIN5X7_H_INCLUDED +#define IAIN5X7_H_INCLUDED + +#define IAIN5X7_WIDTH 5 +#define IAIN5X7_HEIGHT 7 + +//#define SUBFONT + +GLCDFONTDECL(Iain5x7) = { + 0x09, 0x9D, // size + 0x05, // width + 0x07, // height + +#ifdef SUBFONT + 'A', + 63, +#else + 0x20, // first char + 0x60, // char count +#endif + + // char widths +#ifndef SUBFONT + 0x01, 0x01, 0x03, 0x05, 0x05, 0x05, 0x05, 0x01, 0x02, 0x02, + 0x05, 0x03, 0x01, 0x02, 0x01, 0x03, 0x04, 0x02, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x01, 0x01, 0x03, 0x03, + + 0x03, 0x04, 0x05, +#endif + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x03, 0x04, 0x05, 0x03, 0x05, 0x05, 0x05, 0x04, 0x05, + 0x04, 0x04, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, + 0x03, 0x02, 0x03, 0x03, 0x01, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x01, 0x03, 0x04, 0x01, 0x05, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x05, 0x03, 0x04, + 0x04, 0x03, 0x01, 0x03, 0x05, 0x00, + + // font data +#ifndef SUBFONT + 0x00, // 32 + 0xBE, // 33 ! + 0x0E, 0x00, 0x0E, // 34 " + 0x28, 0xFE, 0x28, 0xFE, 0x28, // 35 # + 0x48, 0x54, 0xFE, 0x54, 0x24, // 36 $ + 0x46, 0x26, 0x10, 0xC8, 0xC4, // 37 % + 0x6C, 0x92, 0xAA, 0x44, 0xA0, // 38 & + 0x06, // 39 ' + 0x3C, 0x42, // 40 ( + 0x42, 0x3C, // 41 ) + 0x00, 0x54, 0x38, 0x54, 0x00, // 42 * + 0x10, 0x38, 0x10, // 43 + + 0xC0, // 44 , + 0x10, 0x10, // 45 - + 0x40, // 46 . + 0xC0, 0x38, 0x06, // 47 / + 0x7C, 0x82, 0x82, 0x7C, // 48 0 + 0x04, 0xFE, // 49 1 + 0xC4, 0xA2, 0x92, 0x8C, // 50 2 + 0x82, 0x92, 0x92, 0x6C, // 51 3 + 0x30, 0x28, 0x24, 0xFE, // 52 4 + 0x4E, 0x92, 0x92, 0x72, // 53 5 + 0x78, 0x94, 0x92, 0x60, // 54 6 + 0x02, 0xE2, 0x12, 0x0E, // 55 7 + 0x6C, 0x92, 0x92, 0x6C, // 56 8 + 0x0C, 0x92, 0x52, 0x3C, // 57 9 + 0x6C, // 58 : + 0x6C, // 59 ; + 0x10, 0x28, 0x44, // 60 < + 0x28, 0x28, 0x28, // 61 = + 0x44, 0x28, 0x10, // 62 > + 0x04, 0xA2, 0x12, 0x0C, // 63 ? + 0x64, 0x92, 0xF2, 0x82, 0x7C, // 64 @ +#endif + 0xFC, 0x22, 0x22, 0xFC, // 65 A + 0xFE, 0x92, 0x92, 0x6C, // 66 B + 0x7C, 0x82, 0x82, 0x44, // 67 C + 0xFE, 0x82, 0x82, 0x7C, // 68 D + 0xFE, 0x92, 0x92, 0x82, // 69 E + 0xFE, 0x12, 0x12, 0x02, // 70 F + 0x7C, 0x82, 0xA2, 0x64, // 71 G + 0xFE, 0x10, 0x10, 0xFE, // 72 H + 0x82, 0xFE, 0x82, // 73 I + 0x40, 0x80, 0x80, 0x7E, // 74 J + 0xFE, 0x10, 0x28, 0x44, 0x82, // 75 K + 0xFE, 0x80, 0x80, // 76 L + 0xFE, 0x04, 0x08, 0x04, 0xFE, // 77 M + 0xFE, 0x08, 0x10, 0x20, 0xFE, // 78 N + 0x7C, 0x82, 0x82, 0x82, 0x7C, // 79 O + 0xFE, 0x12, 0x12, 0x0C, // 80 P + 0x7C, 0x82, 0xA2, 0x42, 0xBC, // 81 Q + 0xFE, 0x32, 0x52, 0x8C, // 82 R + 0x4C, 0x92, 0x92, 0x64, // 83 S + 0x02, 0xFE, 0x02, // 84 T + 0x7E, 0x80, 0x80, 0x7E, // 85 U + 0x3E, 0x40, 0x80, 0x40, 0x3E, // 86 V + 0xFE, 0x40, 0x30, 0x40, 0xFE, // 87 W + 0xC6, 0x28, 0x10, 0x28, 0xC6, // 88 X + 0x06, 0x08, 0xF0, 0x08, 0x06, // 89 Y + 0xC2, 0xA2, 0x92, 0x8A, 0x86, // 90 Z + 0xFE, 0x82, // 91 [ + 0x06, 0x38, 0xC0, // 92 '\' + 0x82, 0xFE, // 93 ] + 0x04, 0x02, 0x04, // 94 ^ + 0x80, 0x80, 0x80, // 95 _ + 0x06, // 96 ` + 0x40, 0xA8, 0xA8, 0x70, // 97 a + 0x7E, 0x90, 0x88, 0x70, // 98 b + 0x70, 0x88, 0x88, 0x50, // 99 c + 0x70, 0x88, 0x90, 0x7E, // 100 d + 0x70, 0xA8, 0xA8, 0x30, // 101 e + 0x10, 0xFC, 0x12, 0x04, // 102 f + 0x10, 0xA8, 0xA8, 0x78, // 103 g + 0xFE, 0x10, 0x08, 0xF0, // 104 h + 0xFA, // 105 i + 0x40, 0x80, 0x7A, // 106 j + 0xFE, 0x20, 0x50, 0x88, // 107 k + 0xFE, // 108 l + 0xF8, 0x08, 0x30, 0x08, 0xF0, // 109 m + 0xF8, 0x10, 0x08, 0xF0, // 110 n + 0x70, 0x88, 0x88, 0x70, // 111 o + 0xF8, 0x28, 0x28, 0x10, // 112 p + 0x10, 0x28, 0x28, 0xF8, // 113 q + 0xF8, 0x10, 0x08, 0x10, // 114 r + 0x90, 0xA8, 0xA8, 0x48, // 115 s + 0x08, 0x7E, 0x88, 0x40, // 116 t + 0x78, 0x80, 0x40, 0xF8, // 117 u + 0x78, 0x80, 0x78, // 118 v + 0x78, 0x80, 0x60, 0x80, 0x78, // 119 w + 0xD8, 0x20, 0xD8, // 120 x + 0x18, 0xA0, 0xA0, 0x78, // 121 y + 0xC8, 0xA8, 0xA8, 0x98, // 122 z + 0x10, 0x6C, 0x82, // 123 { + 0xEE, // 124 | + 0x82, 0x6C, 0x10, // 125 } + 0x10, 0x08, 0x10, 0x20, 0x10, // 126 ~ + // no defintion for 127 + +}; +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood22.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood22.h new file mode 100644 index 0000000..ab9dac9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood22.h @@ -0,0 +1,162 @@ +/* + * + * new Font + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Rooswood22.h + * Date : 10.11.2012 + * Font size in bytes : 21024 + * Font width : 10 + * Font height : 22 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + + +#ifndef _Rooswood22_H +#define _Rooswood22_H + +#define _Rooswood22_WIDTH 10 +#define _Rooswood22_HEIGHT 22 + +GLCDFONTDECL(Roosewood22) = { + 0x52, 0x20, // size + 0x0A, // width + 0x16, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x06, 0x06, 0x07, 0x09, 0x0A, 0x10, 0x0D, 0x04, 0x05, 0x07, + 0x07, 0x09, 0x05, 0x04, 0x04, 0x08, 0x0A, 0x07, 0x0A, 0x0A, + 0x0A, 0x0A, 0x0A, 0x0C, 0x0B, 0x0B, 0x04, 0x04, 0x09, 0x09, + 0x09, 0x0A, 0x0E, 0x0C, 0x0C, 0x0B, 0x0C, 0x0B, 0x0A, 0x0B, + 0x0C, 0x08, 0x0A, 0x0D, 0x0B, 0x0E, 0x0C, 0x0B, 0x0B, 0x0D, + 0x0D, 0x0A, 0x0A, 0x0C, 0x0C, 0x0F, 0x0C, 0x0C, 0x0A, 0x06, + 0x05, 0x07, 0x09, 0x0A, 0x05, 0x0C, 0x0C, 0x0B, 0x0C, 0x0B, + 0x0A, 0x0B, 0x0C, 0x08, 0x0A, 0x0D, 0x0B, 0x0E, 0x0C, 0x0B, + 0x0B, 0x0D, 0x0D, 0x0A, 0x0A, 0x0C, 0x0C, 0x0F, 0x0C, 0x0C, + 0x0A, 0x08, 0x02, 0x06, 0x09, 0x0A, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xE0, 0xF0, 0xF0, 0x10, 0xE0, 0x80, 0xC1, 0x3F, 0x33, 0xFC, 0xFF, 0x07, 0x04, 0x08, 0x18, 0x1C, 0x1C, 0x00, // 33 + 0x70, 0xF8, 0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0x00, 0x03, 0x07, 0x03, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x80, 0x80, 0xC0, 0xB0, 0x80, 0xC0, 0xB0, 0x80, 0x18, 0x99, 0x7D, 0x1B, 0xD9, 0x3D, 0x1B, 0x19, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x80, 0xC0, 0xE0, 0xB8, 0xF8, 0xF0, 0x60, 0xC0, 0x80, 0x00, 0x73, 0x8F, 0x4F, 0x75, 0x87, 0x6B, 0x7B, 0x27, 0x8F, 0xFE, 0x00, 0x00, 0x04, 0x08, 0x30, 0x38, 0x38, 0x1C, 0x1C, 0x0C, // 36 + 0xC0, 0xE0, 0xF0, 0xF0, 0xD0, 0xF0, 0x20, 0xC0, 0xC0, 0xB0, 0xD0, 0x70, 0x20, 0x00, 0x00, 0x00, 0x03, 0x05, 0x0B, 0x8F, 0x7F, 0x1B, 0xC4, 0xF7, 0x0B, 0x06, 0xFF, 0xF6, 0x06, 0x0C, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x1C, 0x18, 0x1C, 0x00, 0x00, 0x04, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 37 + 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3E, 0x1F, 0x7D, 0x57, 0x76, 0x8F, 0x1B, 0x43, 0x72, 0x3A, 0xDC, 0x98, 0x00, 0x04, 0x08, 0x08, 0x18, 0x18, 0x1C, 0x18, 0x08, 0x18, 0x1C, 0x1C, 0x0C, // 38 + 0x70, 0xE8, 0x08, 0xF0, 0x01, 0x02, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, // 39 + 0x00, 0xF0, 0xE8, 0xF8, 0xF0, 0xFF, 0x95, 0x7F, 0xFF, 0x00, 0x00, 0x0C, 0x10, 0x3C, 0x3C, // 40 + 0x08, 0xF8, 0x68, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0xC0, 0x3F, 0xAD, 0xD5, 0xFF, 0xFE, 0x08, 0x14, 0x30, 0x38, 0x3C, 0x0C, 0x00, // 41 + 0xC0, 0xF0, 0xE8, 0xF8, 0xD8, 0x60, 0xE0, 0x00, 0x03, 0x05, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x80, 0x00, 0x34, 0x68, 0x70, 0x7C, 0x38, // 44 + 0x00, 0x00, 0x00, 0x00, 0x1C, 0x14, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x0C, 0x18, 0x1C, 0x1C, // 46 + 0x00, 0x00, 0x00, 0x80, 0xE0, 0x70, 0xF0, 0x60, 0xC0, 0x30, 0x8E, 0xE7, 0x7D, 0x1F, 0x03, 0x00, 0x0C, 0x18, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x00, // 47 + 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x3F, 0xFD, 0x07, 0x7F, 0xFF, 0x7F, 0x47, 0x3F, 0xC0, 0xFF, 0x00, 0x00, 0x04, 0x08, 0x18, 0x18, 0x1C, 0x1C, 0x0C, 0x04, // 48 + 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x80, 0x7F, 0x3E, 0x0A, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 49 + 0xC0, 0xA0, 0xE0, 0xF0, 0xF0, 0xB0, 0xE0, 0xA0, 0xC0, 0x80, 0xC1, 0x33, 0x5D, 0x2F, 0x36, 0x7F, 0x7A, 0x1D, 0xFF, 0xC7, 0x0C, 0x18, 0x1C, 0x1C, 0x08, 0x08, 0x18, 0x1C, 0x1C, 0x0C, // 50 + 0xC0, 0xA0, 0xD0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x00, 0xF1, 0x0B, 0x4E, 0xFF, 0x4E, 0x77, 0x39, 0x8F, 0xFF, 0xE7, 0x00, 0x04, 0x08, 0x08, 0x18, 0x18, 0x1C, 0x1C, 0x0C, 0x04, // 51 + 0x00, 0x00, 0x00, 0x80, 0xE0, 0x50, 0xF0, 0xF0, 0xF0, 0xE0, 0x38, 0x64, 0x63, 0x72, 0xFD, 0x7F, 0x3D, 0x0D, 0x6F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, // 52 + 0x00, 0xE0, 0x30, 0xB0, 0xB0, 0xB0, 0xB0, 0x90, 0xF0, 0xC0, 0xF0, 0x0F, 0x0A, 0xFF, 0x4F, 0x7D, 0x7D, 0x93, 0xFD, 0xF1, 0x00, 0x04, 0x08, 0x08, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 53 + 0x00, 0xC0, 0xE0, 0x60, 0xB0, 0xF0, 0xD0, 0xE0, 0xC0, 0x80, 0x7F, 0x84, 0x3F, 0x77, 0xFB, 0x72, 0x4F, 0xBF, 0xFF, 0xE7, 0x00, 0x00, 0x04, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 54 + 0xF0, 0xF0, 0x70, 0xA0, 0xB0, 0xF0, 0x60, 0xE0, 0xD0, 0xF0, 0xF0, 0xE0, 0x07, 0x0F, 0x0F, 0xE7, 0x5E, 0x3B, 0xE5, 0xFE, 0x3F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x00, // 55 + 0x80, 0xE0, 0xE0, 0xF0, 0x70, 0xF0, 0x30, 0xE0, 0xE0, 0xC0, 0x00, 0x73, 0x8F, 0x76, 0xF5, 0xB7, 0xAE, 0x7B, 0x7B, 0x85, 0xFF, 0xE7, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 56 + 0x80, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x00, 0xE7, 0x1B, 0x97, 0xFF, 0xBF, 0x7B, 0x47, 0x39, 0xC6, 0xFF, 0x7E, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x04, 0x00, // 57 + 0x00, 0x00, 0x00, 0x00, 0x8E, 0x71, 0xBE, 0x1C, 0x0C, 0x18, 0x1C, 0x1C, // 58 + 0x00, 0x00, 0x00, 0x00, 0x8E, 0x71, 0x7E, 0x98, 0x34, 0xF8, 0x70, 0x7C, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x18, 0x18, 0x3C, 0x24, 0x66, 0x42, 0xC3, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0xC3, 0x42, 0x66, 0x24, 0x3C, 0x38, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0xC0, 0xA0, 0xD0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x03, 0x05, 0xDF, 0x36, 0x2F, 0xFB, 0x3C, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x04, 0x08, 0x18, 0x1C, 0x1C, 0x00, 0x00, 0x00, // 63 + 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x78, 0xFE, 0x07, 0xF1, 0xF8, 0x8C, 0x44, 0x22, 0xFE, 0xFE, 0x82, 0x40, 0x63, 0x1E, 0x00, 0x04, 0x0C, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0xC0, 0x40, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x3C, 0x03, 0xE6, 0xE5, 0xEF, 0x77, 0x07, 0x3F, 0xF8, 0xC0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 65 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x00, 0x80, 0x80, 0x7F, 0x77, 0x0C, 0xFF, 0xFF, 0x77, 0x4F, 0xB5, 0xFF, 0xE7, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 66 + 0x80, 0x40, 0xE0, 0xB0, 0xF0, 0xB0, 0x60, 0xF0, 0xF0, 0xF0, 0xC0, 0x7F, 0xBD, 0x03, 0x7F, 0xFF, 0x80, 0x77, 0x1F, 0x9F, 0xFF, 0xCF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 67 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x80, 0x80, 0x82, 0x7F, 0x7F, 0x10, 0xFF, 0xFF, 0x60, 0x7F, 0x9F, 0xE0, 0xFF, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x04, // 68 + 0x30, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xB0, 0xF0, 0xF0, 0xC0, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0xFF, 0xFF, 0x7F, 0x17, 0xF7, 0xC7, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 69 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x7F, 0x77, 0x0C, 0x7F, 0xFF, 0x1F, 0x1F, 0x07, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x00, 0x00, 0x00, // 70 + 0x80, 0x40, 0xE0, 0xB0, 0xF0, 0xB0, 0xE0, 0xF0, 0xF0, 0xF0, 0xC0, 0x7F, 0xFD, 0x07, 0x7F, 0xFF, 0xB8, 0x6F, 0x0F, 0xEF, 0xEF, 0x7F, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x00, // 71 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0xFF, 0xFF, 0x7F, 0x6E, 0x16, 0xFF, 0xFF, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x1C, // 72 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xE0, 0x80, 0x80, 0x7F, 0x3F, 0x10, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, // 73 + 0x00, 0x00, 0x00, 0x00, 0x70, 0xB0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x88, 0x08, 0x70, 0x60, 0x3F, 0x77, 0x9B, 0xFF, 0xFF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x1C, 0x1C, 0x0C, 0x00, // 74 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x80, 0x80, 0x7F, 0x3F, 0x14, 0xFB, 0xED, 0xF3, 0x4E, 0x3F, 0x63, 0xC0, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 75 + 0x30, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x82, 0x7F, 0x7F, 0x10, 0x7F, 0xFF, 0x80, 0x60, 0xE0, 0xC0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 76 + 0x70, 0x50, 0xB0, 0xF0, 0x70, 0xF0, 0xE0, 0xA0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x80, 0x80, 0x7F, 0x07, 0xFF, 0x8C, 0x77, 0x87, 0xFE, 0x7D, 0x1D, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 77 + 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x80, 0x80, 0x7F, 0x01, 0xFF, 0xF2, 0xBF, 0x0B, 0x07, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x04, 0x18, 0x18, 0x1C, 0x1C, 0x00, // 78 + 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0x40, 0xC0, 0x00, 0x7F, 0xFA, 0x07, 0x7F, 0xFF, 0x7F, 0x87, 0x7D, 0x86, 0xFF, 0xFF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 79 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x82, 0x7D, 0x7F, 0x04, 0xF7, 0xF7, 0x37, 0x35, 0x3B, 0x1F, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x00, 0x00, 0x00, // 80 + 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x03, 0xEF, 0xEF, 0x5F, 0xC7, 0x3D, 0x06, 0xFF, 0x7E, 0xC0, 0x80, 0x00, 0x00, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x1C, 0x1C, 0x0C, // 81 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0x7F, 0xFF, 0xFF, 0x1D, 0x73, 0x3F, 0x17, 0xE0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x08, 0x08, 0x18, 0x18, 0x1C, // 82 + 0xC0, 0xE0, 0x30, 0xF0, 0xF0, 0x70, 0xD0, 0xF0, 0xF0, 0xC0, 0xF3, 0x2E, 0x4D, 0x9A, 0xB7, 0x6E, 0x5A, 0x35, 0x87, 0xFB, 0x0C, 0x1C, 0x18, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, // 83 + 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x07, 0x0C, 0x8F, 0x7F, 0x3D, 0x15, 0xFF, 0xFF, 0x05, 0x0F, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x00, // 84 + 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x00, 0x00, 0x7F, 0x8D, 0x7F, 0xFF, 0x80, 0x80, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, 0x00, // 85 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x3B, 0xCF, 0x74, 0x37, 0x0F, 0xE3, 0xFE, 0x7F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x04, 0x08, 0x18, 0x1C, 0x1C, 0x0C, 0x00, 0x00, 0x00, // 86 + 0x30, 0xF0, 0x30, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x07, 0x3B, 0xF4, 0x09, 0x87, 0xFF, 0xCC, 0x7F, 0x01, 0x07, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x1C, 0x1C, 0x04, 0x08, 0x18, 0x18, 0x0C, 0x00, 0x00, // 87 + 0x30, 0x30, 0x70, 0xF0, 0x70, 0xF0, 0xF0, 0x70, 0xF0, 0xB0, 0xD0, 0xF0, 0x00, 0x00, 0x80, 0x61, 0x1B, 0xED, 0xD7, 0x65, 0x1E, 0x67, 0xC1, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 88 + 0x30, 0x30, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x01, 0x82, 0x7F, 0x2F, 0x14, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x10, 0x00, // 89 + 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x61, 0x1B, 0x67, 0x1A, 0xE7, 0xFB, 0xBE, 0x77, 0xF1, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 90 + 0xF8, 0xF8, 0xF8, 0xF8, 0x68, 0x78, 0xFF, 0x7D, 0xFF, 0xFF, 0x00, 0x00, 0x1C, 0x30, 0x34, 0x34, 0x34, 0x38, // 91 + 0x30, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C, // 92 + 0x38, 0x78, 0x78, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x3D, 0xFF, 0xFF, 0x1C, 0x34, 0x34, 0x34, 0x30, 0x3C, 0x3C, // 93 + 0x00, 0x00, 0x80, 0xE0, 0x60, 0xE0, 0x80, 0x00, 0x00, 0x08, 0x0E, 0x03, 0x00, 0x00, 0x01, 0x07, 0x0E, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 95 + 0x06, 0x0B, 0x0E, 0x0E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x00, 0x00, 0xC0, 0x40, 0xF0, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x3C, 0x03, 0xE6, 0xE5, 0xEF, 0x77, 0x07, 0x3F, 0xF8, 0xC0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 97 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x00, 0x80, 0x80, 0x7F, 0x77, 0x0C, 0xFF, 0xFF, 0x77, 0x4F, 0xB5, 0xFF, 0xE7, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 98 + 0x80, 0x40, 0xE0, 0xB0, 0xF0, 0xB0, 0x60, 0xF0, 0xF0, 0xF0, 0xC0, 0x7F, 0xBD, 0x03, 0x7F, 0xFF, 0x80, 0x77, 0x1F, 0x9F, 0xFF, 0xCF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 99 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x80, 0x80, 0x82, 0x7F, 0x7F, 0x10, 0xFF, 0xFF, 0x60, 0x7F, 0x9F, 0xE0, 0xFF, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x04, // 100 + 0x30, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xB0, 0xF0, 0xF0, 0xC0, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0xFF, 0xFF, 0x7F, 0x17, 0xF7, 0xC7, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 101 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x7F, 0x77, 0x0C, 0x7F, 0xFF, 0x1F, 0x1F, 0x07, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x00, 0x00, 0x00, // 102 + 0x80, 0x40, 0xE0, 0xB0, 0xF0, 0xB0, 0xE0, 0xF0, 0xF0, 0xF0, 0xC0, 0x7F, 0xFD, 0x07, 0x7F, 0xFF, 0xB8, 0x6F, 0x0F, 0xEF, 0xEF, 0x7F, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x00, // 103 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0xFF, 0xFF, 0x7F, 0x6E, 0x16, 0xFF, 0xFF, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x1C, // 104 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xE0, 0x80, 0x80, 0x7F, 0x3F, 0x10, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, // 105 + 0x00, 0x00, 0x00, 0x00, 0x70, 0xB0, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0x88, 0x08, 0x70, 0x60, 0x3F, 0x77, 0x9B, 0xFF, 0xFF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x1C, 0x1C, 0x0C, 0x00, // 106 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x80, 0x80, 0x7F, 0x3F, 0x14, 0xFB, 0xED, 0xF3, 0x4E, 0x3F, 0x63, 0xC0, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 107 + 0x30, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x82, 0x7F, 0x7F, 0x10, 0x7F, 0xFF, 0x80, 0x60, 0xE0, 0xC0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 108 + 0x70, 0x50, 0xB0, 0xF0, 0x70, 0xF0, 0xE0, 0xA0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x80, 0x80, 0x7F, 0x07, 0xFF, 0x8C, 0x77, 0x87, 0xFE, 0x7D, 0x1D, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, // 109 + 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x80, 0x80, 0x7F, 0x01, 0xFF, 0xF2, 0xBF, 0x0B, 0x07, 0xFF, 0xFF, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x04, 0x18, 0x18, 0x1C, 0x1C, 0x00, // 110 + 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xD0, 0xA0, 0x40, 0xC0, 0x00, 0x7F, 0xFA, 0x07, 0x7F, 0xFF, 0x7F, 0x87, 0x7D, 0x86, 0xFF, 0xFF, 0x00, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, 0x00, // 111 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x82, 0x7D, 0x7F, 0x04, 0xF7, 0xF7, 0x37, 0x35, 0x3B, 0x1F, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x00, 0x00, 0x00, // 112 + 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xD0, 0xA0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x3F, 0xFE, 0x03, 0xEF, 0xEF, 0x5F, 0xC7, 0x3D, 0x06, 0xFF, 0x7E, 0xC0, 0x80, 0x00, 0x00, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x1C, 0x1C, 0x0C, // 113 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x80, 0x80, 0x7F, 0x7F, 0x14, 0x7F, 0xFF, 0xFF, 0x1D, 0x73, 0x3F, 0x17, 0xE0, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1C, 0x08, 0x08, 0x18, 0x18, 0x1C, // 114 + 0xC0, 0xE0, 0x30, 0xF0, 0xF0, 0x70, 0xD0, 0xF0, 0xF0, 0xC0, 0xF3, 0x2E, 0x4D, 0x9A, 0xB7, 0x6E, 0x5A, 0x35, 0x87, 0xFB, 0x0C, 0x1C, 0x18, 0x08, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x0C, // 115 + 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x07, 0x0C, 0x8F, 0x7F, 0x3D, 0x15, 0xFF, 0xFF, 0x05, 0x0F, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x00, // 116 + 0x70, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x00, 0x00, 0x7F, 0x8D, 0x7F, 0xFF, 0x80, 0x80, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x0C, 0x04, 0x00, // 117 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x3B, 0xCF, 0x74, 0x37, 0x0F, 0xE3, 0xFE, 0x7F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x04, 0x08, 0x18, 0x1C, 0x1C, 0x0C, 0x00, 0x00, 0x00, // 118 + 0x30, 0xF0, 0x30, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x07, 0x3B, 0xF4, 0x09, 0x87, 0xFF, 0xCC, 0x7F, 0x01, 0x07, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x1C, 0x1C, 0x04, 0x08, 0x18, 0x18, 0x0C, 0x00, 0x00, // 119 + 0x30, 0x30, 0x70, 0xF0, 0x70, 0xF0, 0xF0, 0x70, 0xF0, 0xB0, 0xD0, 0xF0, 0x00, 0x00, 0x80, 0x61, 0x1B, 0xED, 0xD7, 0x65, 0x1E, 0x67, 0xC1, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 120 + 0x30, 0x30, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x01, 0x82, 0x7F, 0x2F, 0x14, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x18, 0x10, 0x00, // 121 + 0x00, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x80, 0x61, 0x1B, 0x67, 0x1A, 0xE7, 0xFB, 0xBE, 0x77, 0xF1, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, // 122 + 0x00, 0x00, 0xE0, 0xF0, 0x98, 0xF8, 0xF8, 0x60, 0x0C, 0x1C, 0xFF, 0x1B, 0x7F, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, 0x14, 0x38, 0x20, // 123 + 0xFC, 0xFC, 0xFF, 0xFF, 0xFC, 0xFC, // 124 + 0x38, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0xF3, 0x1F, 0xF4, 0xF7, 0x3C, 0x1C, 0x30, 0x30, 0x1C, 0x0C, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x08, 0x08, 0x18, 0x10, 0x10, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xF8, 0x38, 0x68, 0x88, 0x08, 0x08, 0x88, 0x68, 0x38, 0xF8, 0xFF, 0xC0, 0x60, 0x19, 0x0F, 0x0F, 0x19, 0x60, 0xC0, 0xFF, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood26.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood26.h new file mode 100644 index 0000000..20e6ca7 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Roosewood26.h @@ -0,0 +1,162 @@ +/* + * + * new Font + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : roosewood_std_size24 + * Date : 10.11.2012 + * Font size in bytes : 28312 + * Font width : 10 + * Font height : 26 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + + +#ifndef _Roosewood26_H +#define _Roosewood26_H + +#define _Roosewood26_WIDTH 10 +#define _Roosewood26_HEIGHT 26 + +GLCDFONTDECL(Roosewood26) = { + 0x6E, 0x98, // size + 0x0A, // width + 0x1A, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x07, 0x07, 0x09, 0x0B, 0x0C, 0x12, 0x10, 0x05, 0x06, 0x07, + 0x08, 0x0A, 0x06, 0x05, 0x05, 0x09, 0x0C, 0x09, 0x0C, 0x0C, + 0x0C, 0x0C, 0x0B, 0x0E, 0x0D, 0x0D, 0x05, 0x05, 0x0A, 0x0A, + 0x0A, 0x0B, 0x10, 0x0E, 0x0E, 0x0D, 0x0D, 0x0B, 0x0C, 0x0D, + 0x0E, 0x08, 0x0B, 0x0E, 0x0C, 0x0F, 0x0D, 0x0D, 0x0D, 0x0F, + 0x0F, 0x0C, 0x0C, 0x0D, 0x0D, 0x11, 0x0D, 0x0D, 0x0C, 0x07, + 0x06, 0x08, 0x0A, 0x0C, 0x06, 0x0E, 0x0E, 0x0D, 0x0D, 0x0B, + 0x0C, 0x0D, 0x0E, 0x08, 0x0B, 0x0E, 0x0C, 0x0F, 0x0D, 0x0D, + 0x0D, 0x0F, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D, 0x11, 0x0D, 0x0D, + 0x0C, 0x07, 0x02, 0x07, 0x0B, 0x0C, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xE0, 0xE0, 0xF0, 0xD0, 0x20, 0xC0, 0x80, 0x03, 0x7F, 0xBD, 0x83, 0xFC, 0xFF, 0x1F, 0x06, 0x09, 0x10, 0x39, 0x3F, 0x3F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 33 + 0xE0, 0xF0, 0x10, 0xE0, 0xE0, 0xF0, 0x10, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x07, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x60, 0x66, 0xE6, 0x7E, 0x67, 0x66, 0xE6, 0x7E, 0x67, 0x66, 0x06, 0x00, 0x04, 0x07, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 35 + 0x80, 0x40, 0xA0, 0xE0, 0xD8, 0xF8, 0xD8, 0xD0, 0xA0, 0xC0, 0x00, 0x00, 0xC7, 0x2F, 0x3D, 0x3B, 0xCB, 0x1F, 0xAF, 0x2D, 0x6E, 0x9F, 0x3F, 0xDE, 0x03, 0x04, 0x0C, 0x19, 0x3B, 0x60, 0x73, 0x7B, 0x39, 0x38, 0x1C, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 36 + 0x80, 0xE0, 0xE0, 0xF0, 0xF0, 0x70, 0xE0, 0xE0, 0xC0, 0x00, 0x80, 0x60, 0x20, 0xE0, 0xE0, 0x40, 0x00, 0x00, 0x07, 0x1F, 0x3F, 0x37, 0x77, 0xF8, 0x7F, 0x1F, 0xCF, 0xE7, 0x39, 0x1E, 0xCF, 0xCB, 0x08, 0x10, 0x30, 0xE0, 0x00, 0x00, 0x00, 0x1C, 0x32, 0x31, 0x3C, 0x0F, 0x03, 0x03, 0x0C, 0x18, 0x17, 0x37, 0x30, 0x38, 0x3C, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 37 + 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xB0, 0xB0, 0x20, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0x7F, 0xBF, 0xC9, 0x1F, 0x6F, 0xD6, 0x3B, 0x67, 0x07, 0x04, 0xC4, 0xE4, 0x78, 0x60, 0x03, 0x05, 0x08, 0x11, 0x13, 0x33, 0x32, 0x38, 0x39, 0x30, 0x10, 0x33, 0x30, 0x38, 0x3F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 38 + 0xE0, 0xF0, 0x10, 0xE0, 0xC0, 0x00, 0x07, 0x0C, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 39 + 0x00, 0x80, 0xF0, 0xE8, 0xF8, 0xF8, 0xFF, 0xFC, 0x5F, 0xFF, 0xFF, 0x03, 0x03, 0x0F, 0x34, 0x47, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 40 + 0x28, 0xD8, 0xE8, 0xD8, 0x70, 0xE0, 0x80, 0x00, 0x01, 0xFE, 0x5B, 0xFF, 0x19, 0xFF, 0x18, 0x27, 0x60, 0x73, 0x7C, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 41 + 0x80, 0xE0, 0xA0, 0xD0, 0xF0, 0x70, 0xC0, 0xC0, 0x01, 0x03, 0x07, 0x0B, 0x1F, 0x1F, 0x16, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0xFE, 0xFE, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0xD1, 0xD1, 0xE2, 0xFE, 0x78, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // 44 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x58, 0x58, 0x58, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x11, 0x31, 0x3E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, // 46 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xB0, 0xF0, 0xE0, 0x00, 0xC0, 0x38, 0x16, 0xEF, 0xFD, 0x3F, 0x07, 0x00, 0x1E, 0x31, 0x38, 0x3F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 47 + 0x00, 0xC0, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xD0, 0xE0, 0xC0, 0xC0, 0x00, 0xFC, 0x0F, 0xF1, 0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x0F, 0xFF, 0x8D, 0xFF, 0x00, 0x03, 0x0D, 0x08, 0x11, 0x13, 0x33, 0x38, 0x3A, 0x1D, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 48 + 0xC0, 0x40, 0xC0, 0xF0, 0xF0, 0x10, 0xF0, 0xC0, 0x00, 0x03, 0x06, 0xFE, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x00, 0x1C, 0x34, 0x33, 0x30, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 49 + 0x80, 0xC0, 0x60, 0xA0, 0xB0, 0xB0, 0x70, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0x07, 0xCF, 0xB6, 0x57, 0xBF, 0xE9, 0xDF, 0xEF, 0xEF, 0x78, 0xFF, 0x1E, 0x1F, 0x31, 0x30, 0x3A, 0x19, 0x11, 0x31, 0x31, 0x31, 0x38, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 50 + 0x80, 0xC0, 0x60, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0x83, 0x4F, 0x3E, 0x3C, 0xFF, 0x74, 0xCF, 0x73, 0xEB, 0x3C, 0xDF, 0x9E, 0x03, 0x0C, 0x18, 0x13, 0x13, 0x33, 0x31, 0x31, 0x38, 0x1C, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 51 + 0x00, 0x00, 0x00, 0x80, 0xE0, 0x50, 0xF0, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0xE0, 0x18, 0x2E, 0x33, 0x3D, 0x3F, 0xF9, 0x29, 0x3F, 0x3F, 0x40, 0x80, 0x01, 0x03, 0x03, 0x1F, 0x33, 0x30, 0x31, 0x30, 0x33, 0x3F, 0x3B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 52 + 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x90, 0xF0, 0xC0, 0xC8, 0x37, 0x1F, 0x15, 0xFF, 0x9F, 0xFB, 0x0D, 0xFF, 0x0D, 0xF9, 0xE1, 0x03, 0x04, 0x08, 0x11, 0x33, 0x33, 0x31, 0x39, 0x18, 0x1E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 53 + 0x00, 0x80, 0xC0, 0x60, 0xE0, 0xD0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0xFC, 0x1F, 0xF1, 0x0F, 0xCE, 0xF7, 0x6F, 0xFD, 0xEF, 0x1F, 0xFF, 0x00, 0x03, 0x0D, 0x18, 0x11, 0x33, 0x32, 0x33, 0x38, 0x1C, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 54 + 0xF0, 0x10, 0xF0, 0xE0, 0x60, 0x70, 0xF0, 0x70, 0x60, 0xE0, 0xD0, 0xF0, 0xF0, 0xE0, 0x0F, 0x18, 0x1F, 0x1E, 0x1F, 0xF3, 0x8F, 0x7F, 0x8B, 0xF5, 0xFF, 0x1E, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x30, 0x31, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 55 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0xC0, 0x27, 0x1F, 0xD8, 0xF7, 0x4F, 0x5A, 0x6D, 0xE7, 0xF3, 0x1C, 0xFF, 0x8F, 0x03, 0x0C, 0x18, 0x11, 0x13, 0x32, 0x32, 0x32, 0x39, 0x39, 0x1E, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 56 + 0x80, 0x40, 0xE0, 0x70, 0xB0, 0xF0, 0xF0, 0xE0, 0xA0, 0x40, 0xC0, 0x00, 0x00, 0x87, 0x9F, 0x7F, 0xF0, 0xE7, 0xEF, 0xF7, 0x1F, 0xF1, 0x0E, 0x83, 0xFF, 0xF8, 0x07, 0x0C, 0x18, 0x16, 0x37, 0x36, 0x31, 0x3A, 0x39, 0x1C, 0x1F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 57 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0xC4, 0xF8, 0x70, 0x0E, 0x11, 0x31, 0x3E, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, // 58 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0xC4, 0xF8, 0x60, 0x6E, 0xD1, 0xD1, 0xE2, 0xFE, 0x00, 0x00, 0x40, 0x40, 0x00, // 59 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xF0, 0xF0, 0x98, 0x98, 0x0C, 0x0C, 0x06, 0x06, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x06, 0x06, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x06, 0x0C, 0x0C, 0x98, 0x98, 0xF0, 0xF0, 0x60, 0x0C, 0x06, 0x06, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x80, 0xC0, 0x60, 0xD0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0x40, 0x80, 0x07, 0x0B, 0x1F, 0x7F, 0xE9, 0x9F, 0xEE, 0xF5, 0x7B, 0x1C, 0x1F, 0x00, 0x00, 0x00, 0x0E, 0x11, 0x11, 0x31, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 63 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x1C, 0x06, 0xC3, 0xE1, 0x31, 0x10, 0x08, 0xC8, 0xF8, 0x79, 0x01, 0x03, 0x0E, 0xF8, 0x03, 0x0F, 0x1C, 0x30, 0x27, 0x67, 0x42, 0x42, 0x41, 0x47, 0x47, 0x24, 0x14, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 64 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0x20, 0xF0, 0xF0, 0xB0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3C, 0x03, 0x8E, 0x9F, 0x9F, 0x3B, 0xED, 0x1F, 0xFF, 0xE0, 0x00, 0x1C, 0x12, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x37, 0x32, 0x31, 0x30, 0x31, 0x33, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 65 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xEF, 0xEF, 0x6D, 0xCF, 0x35, 0xE3, 0x18, 0xFF, 0x1E, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x37, 0x36, 0x31, 0x31, 0x38, 0x3C, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 66 + 0x00, 0xC0, 0xA0, 0xE0, 0xB0, 0xF0, 0xF0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0x01, 0xDE, 0x77, 0x77, 0xFF, 0x3F, 0x00, 0x03, 0x0C, 0x18, 0x11, 0x33, 0x32, 0x33, 0x39, 0x38, 0x1E, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 67 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x81, 0x7F, 0x8F, 0x73, 0x8D, 0xFF, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x33, 0x33, 0x31, 0x38, 0x39, 0x1C, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 68 + 0x30, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xB0, 0xF0, 0x10, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xFF, 0xFF, 0xFF, 0x35, 0x4C, 0xCF, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x33, 0x33, 0x31, 0x30, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 69 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x10, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xEF, 0xEF, 0x78, 0x67, 0x05, 0x0C, 0x0F, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x33, 0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0x00, 0xC0, 0xA0, 0xE0, 0xB0, 0xF0, 0xF0, 0xE0, 0xE0, 0xF0, 0x10, 0xF0, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0xFF, 0xFF, 0x70, 0x51, 0x9E, 0x1F, 0x18, 0x9F, 0xFF, 0x00, 0x03, 0x0D, 0x18, 0x11, 0x13, 0x32, 0x32, 0x39, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 71 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xB0, 0xB0, 0xF0, 0xF0, 0xB0, 0x90, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xCF, 0xCF, 0xC9, 0xCF, 0xFD, 0x2D, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x34, 0x33, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 72 + 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x20, 0x20, 0x40, 0x80, 0xFF, 0x95, 0x6F, 0x00, 0xFF, 0xFF, 0x03, 0x0C, 0x18, 0x13, 0x33, 0x31, 0x31, 0x38, 0x1C, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 74 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0x70, 0xB0, 0xD0, 0xF0, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xD7, 0xAB, 0xC7, 0x1D, 0x7E, 0xEF, 0x83, 0x01, 0x01, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x36, 0x31, 0x30, 0x30, 0x33, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 75 + 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xC0, 0x40, 0x40, 0xC0, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x31, 0x33, 0x32, 0x31, 0x30, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 76 + 0x70, 0xB0, 0xF0, 0x70, 0xF0, 0x90, 0x60, 0xC0, 0xB0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0xFF, 0x0F, 0xFF, 0xCC, 0x17, 0xE8, 0x0F, 0x8F, 0xFC, 0xFB, 0x3B, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x33, 0x37, 0x3C, 0x31, 0x30, 0x3F, 0x33, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 77 + 0x70, 0xB0, 0xF0, 0xF0, 0xF0, 0xB0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x00, 0xFF, 0x0F, 0xFF, 0xF6, 0xC9, 0x36, 0xEB, 0x1F, 0x0F, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x37, 0x3F, 0x39, 0x37, 0x09, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 78 + 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x00, 0xFF, 0x0B, 0xF8, 0x2F, 0xFF, 0xFF, 0x00, 0xFF, 0x0F, 0xF3, 0x0C, 0xFF, 0xFE, 0x01, 0x06, 0x09, 0x18, 0x13, 0x37, 0x34, 0x33, 0x39, 0x38, 0x1E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 79 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xCF, 0xCF, 0xCD, 0xCF, 0xEF, 0xE3, 0x70, 0x7F, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x38, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x0B, 0xF8, 0x6F, 0x3F, 0x3F, 0x20, 0x7F, 0x0F, 0xF3, 0x0C, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x18, 0x17, 0x17, 0x35, 0x32, 0x31, 0x20, 0x20, 0x63, 0x71, 0x7F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 81 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xE0, 0x40, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xCF, 0xCF, 0x4D, 0xB7, 0xE9, 0x37, 0xF8, 0xFF, 0x5E, 0x80, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x33, 0x37, 0x38, 0x07, 0x19, 0x10, 0x31, 0x30, 0x38, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 82 + 0x80, 0x40, 0xE0, 0xF0, 0xF0, 0x70, 0x70, 0x70, 0xD0, 0xF0, 0xF0, 0xC0, 0xCF, 0x57, 0xAF, 0x6D, 0x4B, 0xCA, 0x9C, 0xAD, 0xC6, 0x0B, 0x1F, 0xF7, 0x1F, 0x30, 0x38, 0x39, 0x12, 0x12, 0x32, 0x31, 0x38, 0x3C, 0x1E, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 83 + 0xF0, 0xF0, 0xF0, 0xF0, 0xB0, 0xF0, 0xF0, 0x70, 0xB0, 0x70, 0xF0, 0xF0, 0x0F, 0x1B, 0x1F, 0x1F, 0xFF, 0x9B, 0x6F, 0x00, 0xFF, 0xF8, 0x0B, 0x1F, 0x00, 0x00, 0x1C, 0x34, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 84 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0xB0, 0xF0, 0xB0, 0x90, 0xF0, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0x0F, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x06, 0x09, 0x10, 0x13, 0x37, 0x34, 0x3B, 0x3C, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 85 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xB0, 0xF0, 0x30, 0xD0, 0xF0, 0x00, 0x00, 0x1F, 0x33, 0xEC, 0x03, 0xFF, 0x19, 0x8F, 0xF8, 0xFF, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x07, 0x09, 0x10, 0x30, 0x38, 0x3F, 0x3F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0xF0, 0xF0, 0x60, 0xF0, 0xB0, 0xF0, 0xB0, 0xD0, 0xF0, 0x00, 0x00, 0x07, 0x3B, 0xEC, 0x03, 0x3F, 0x0C, 0xFF, 0x3B, 0xEC, 0x3F, 0x0F, 0xC0, 0xFF, 0x3F, 0x01, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x10, 0x30, 0x3F, 0x3F, 0x1F, 0x11, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 87 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x01, 0x85, 0x76, 0x29, 0x92, 0x6F, 0x94, 0x3F, 0xDE, 0x87, 0x03, 0x01, 0x1C, 0x36, 0x31, 0x30, 0x36, 0x3F, 0x36, 0x30, 0x31, 0x30, 0x33, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 88 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x01, 0x0E, 0xFB, 0xB4, 0x6B, 0xF4, 0xFB, 0xFE, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 89 + 0xF0, 0xF0, 0xF0, 0xB0, 0xB0, 0xB0, 0x30, 0xF0, 0xF0, 0x70, 0x90, 0xF0, 0x07, 0x0D, 0xEF, 0x9F, 0x6F, 0xD7, 0xED, 0xFB, 0xFD, 0x5F, 0x8F, 0x03, 0x1E, 0x13, 0x31, 0x30, 0x33, 0x33, 0x33, 0x32, 0x31, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 90 + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x68, 0x78, 0xFF, 0xFB, 0x2B, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0x61, 0x60, 0x6F, 0x6F, 0x68, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 91 + 0x30, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1F, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1F, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 92 + 0x38, 0x78, 0xF8, 0xF8, 0xF8, 0x18, 0xF8, 0xF0, 0x00, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x38, 0x68, 0x6F, 0x60, 0x61, 0x60, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 93 + 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x20, 0x38, 0x1E, 0x03, 0x00, 0x00, 0x07, 0x1E, 0x38, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 95 + 0x06, 0x0B, 0x0E, 0x0E, 0x0C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 96 + 0x00, 0x00, 0x00, 0x00, 0xC0, 0x20, 0xF0, 0xF0, 0xB0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3C, 0x03, 0x8E, 0x9F, 0x9F, 0x3B, 0xED, 0x1F, 0xFF, 0xE0, 0x00, 0x1C, 0x12, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x37, 0x32, 0x31, 0x30, 0x31, 0x33, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 97 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xEF, 0xEF, 0x6D, 0xCF, 0x35, 0xE3, 0x18, 0xFF, 0x1E, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x37, 0x36, 0x31, 0x31, 0x38, 0x3C, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 98 + 0x00, 0xC0, 0xA0, 0xE0, 0xB0, 0xF0, 0xF0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0xFF, 0xFF, 0x00, 0x01, 0xDE, 0x77, 0x77, 0xFF, 0x3F, 0x00, 0x03, 0x0C, 0x18, 0x11, 0x33, 0x32, 0x33, 0x39, 0x38, 0x1E, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 99 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xC0, 0xC0, 0x00, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x81, 0x7F, 0x8F, 0x73, 0x8D, 0xFF, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x33, 0x33, 0x31, 0x38, 0x39, 0x1C, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 100 + 0x30, 0xF0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xB0, 0xF0, 0x10, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xFF, 0xFF, 0xFF, 0x35, 0x4C, 0xCF, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x33, 0x33, 0x31, 0x30, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 101 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0x10, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xEF, 0xEF, 0x78, 0x67, 0x05, 0x0C, 0x0F, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x33, 0x37, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 102 + 0x00, 0xC0, 0xA0, 0xE0, 0xB0, 0xF0, 0xF0, 0xE0, 0xE0, 0xF0, 0x10, 0xF0, 0xC0, 0xFF, 0x07, 0xF8, 0x07, 0xFF, 0xFF, 0x70, 0x51, 0x9E, 0x1F, 0x18, 0x9F, 0xFF, 0x00, 0x03, 0x0D, 0x18, 0x11, 0x13, 0x32, 0x32, 0x39, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 103 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xB0, 0xB0, 0xF0, 0xF0, 0xB0, 0x90, 0xF0, 0x00, 0xFF, 0x0D, 0xFF, 0x08, 0xCF, 0xCF, 0xC9, 0xCF, 0xFD, 0x2D, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x34, 0x33, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 104 + 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xE0, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 105 + 0x00, 0x00, 0x00, 0x00, 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x20, 0x20, 0x40, 0x80, 0xFF, 0x95, 0x6F, 0x00, 0xFF, 0xFF, 0x03, 0x0C, 0x18, 0x13, 0x33, 0x31, 0x31, 0x38, 0x1C, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 106 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0x70, 0xB0, 0xD0, 0xF0, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xD7, 0xAB, 0xC7, 0x1D, 0x7E, 0xEF, 0x83, 0x01, 0x01, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x36, 0x31, 0x30, 0x30, 0x33, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 107 + 0x70, 0xB0, 0xF0, 0xF0, 0x70, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x0B, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xC0, 0x40, 0x40, 0xC0, 0x1C, 0x33, 0x30, 0x31, 0x30, 0x31, 0x33, 0x32, 0x31, 0x30, 0x30, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 108 + 0x70, 0xB0, 0xF0, 0x70, 0xF0, 0x90, 0x60, 0xC0, 0xB0, 0x70, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0xFF, 0x0F, 0xFF, 0xCC, 0x17, 0xE8, 0x0F, 0x8F, 0xFC, 0xFB, 0x3B, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x33, 0x37, 0x3C, 0x31, 0x30, 0x3F, 0x33, 0x31, 0x30, 0x37, 0x3F, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 109 + 0x70, 0xB0, 0xF0, 0xF0, 0xF0, 0xB0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xD0, 0xF0, 0x00, 0xFF, 0x0F, 0xFF, 0xF6, 0xC9, 0x36, 0xEB, 0x1F, 0x0F, 0xFF, 0xFF, 0x01, 0x1C, 0x33, 0x30, 0x37, 0x3F, 0x39, 0x37, 0x09, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110 + 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xA0, 0xC0, 0x80, 0x00, 0xFF, 0x0B, 0xF8, 0x2F, 0xFF, 0xFF, 0x00, 0xFF, 0x0F, 0xF3, 0x0C, 0xFF, 0xFE, 0x01, 0x06, 0x09, 0x18, 0x13, 0x37, 0x34, 0x33, 0x39, 0x38, 0x1E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 111 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xA0, 0x40, 0x80, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xCF, 0xCF, 0xCD, 0xCF, 0xEF, 0xE3, 0x70, 0x7F, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x38, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 112 + 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x0B, 0xF8, 0x6F, 0x3F, 0x3F, 0x20, 0x7F, 0x0F, 0xF3, 0x0C, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x18, 0x17, 0x17, 0x35, 0x32, 0x31, 0x20, 0x20, 0x63, 0x71, 0x7F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 113 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xB0, 0xB0, 0x70, 0xE0, 0xE0, 0x40, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x8D, 0x7F, 0x08, 0xCF, 0xCF, 0x4D, 0xB7, 0xE9, 0x37, 0xF8, 0xFF, 0x5E, 0x80, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x33, 0x37, 0x38, 0x07, 0x19, 0x10, 0x31, 0x30, 0x38, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 114 + 0x80, 0x40, 0xE0, 0xF0, 0xF0, 0x70, 0x70, 0x70, 0xD0, 0xF0, 0xF0, 0xC0, 0xCF, 0x57, 0xAF, 0x6D, 0x4B, 0xCA, 0x9C, 0xAD, 0xC6, 0x0B, 0x1F, 0xF7, 0x1F, 0x30, 0x38, 0x39, 0x12, 0x12, 0x32, 0x31, 0x38, 0x3C, 0x1E, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 115 + 0xF0, 0xF0, 0xF0, 0xF0, 0xB0, 0xF0, 0xF0, 0x70, 0xB0, 0x70, 0xF0, 0xF0, 0x0F, 0x1B, 0x1F, 0x1F, 0xFF, 0x9B, 0x6F, 0x00, 0xFF, 0xF8, 0x0B, 0x1F, 0x00, 0x00, 0x1C, 0x34, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 116 + 0x70, 0xB0, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0xB0, 0xF0, 0xB0, 0x90, 0xF0, 0x00, 0xFF, 0x1B, 0xEF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0x0F, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x06, 0x09, 0x10, 0x13, 0x37, 0x34, 0x3B, 0x3C, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 117 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xB0, 0xF0, 0x30, 0xD0, 0xF0, 0x00, 0x00, 0x1F, 0x33, 0xEC, 0x03, 0xFF, 0x19, 0x8F, 0xF8, 0xFF, 0x1F, 0x03, 0x00, 0x00, 0x00, 0x07, 0x09, 0x10, 0x30, 0x38, 0x3F, 0x3F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 118 + 0x70, 0x70, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0xF0, 0xF0, 0x60, 0xF0, 0xB0, 0xF0, 0xB0, 0xD0, 0xF0, 0x00, 0x00, 0x07, 0x3B, 0xEC, 0x03, 0x3F, 0x0C, 0xFF, 0x3B, 0xEC, 0x3F, 0x0F, 0xC0, 0xFF, 0x3F, 0x01, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x10, 0x30, 0x3F, 0x3F, 0x1F, 0x11, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 119 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xB0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xF0, 0x00, 0x01, 0x85, 0x76, 0x29, 0x92, 0x6F, 0x94, 0x3F, 0xDE, 0x87, 0x03, 0x01, 0x1C, 0x36, 0x31, 0x30, 0x36, 0x3F, 0x36, 0x30, 0x31, 0x30, 0x33, 0x36, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 120 + 0x30, 0x30, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0x30, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0x01, 0x0E, 0xFB, 0xB4, 0x6B, 0xF4, 0xFB, 0xFE, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x33, 0x31, 0x30, 0x30, 0x37, 0x3F, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 121 + 0xF0, 0xF0, 0xF0, 0xB0, 0xB0, 0xB0, 0x30, 0xF0, 0xF0, 0x70, 0x90, 0xF0, 0x07, 0x0D, 0xEF, 0x9F, 0x6F, 0xD7, 0xED, 0xFB, 0xFD, 0x5F, 0x8F, 0x03, 0x1E, 0x13, 0x31, 0x30, 0x33, 0x33, 0x33, 0x32, 0x31, 0x30, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 122 + 0x00, 0xC0, 0xB0, 0xF0, 0xB8, 0xF8, 0xF8, 0x78, 0xEF, 0xF9, 0x17, 0xFF, 0x1F, 0x00, 0x00, 0x0F, 0x13, 0x60, 0x47, 0x5F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 123 + 0xFC, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, // 124 + 0x38, 0x78, 0xF0, 0xE0, 0x20, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0x87, 0x78, 0xDF, 0xFF, 0x70, 0xD8, 0xC7, 0xE3, 0xF8, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 125 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x30, 0x30, 0x60, 0xC0, 0xC0, 0xC0, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xF8, 0x38, 0x68, 0x88, 0x08, 0x08, 0x08, 0x08, 0x88, 0x68, 0x38, 0xF8, 0xFF, 0x00, 0x00, 0xC1, 0x63, 0x1C, 0x1C, 0x63, 0xC1, 0x00, 0x00, 0xFF, 0x0F, 0x0E, 0x0B, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0B, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Stang5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Stang5x7.h new file mode 100644 index 0000000..1ec3886 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Stang5x7.h @@ -0,0 +1,124 @@ +/*! \file Stang5x7.h \brief Graphic LCD Font (Ascii Characters). */ +//***************************************************************************** +// +// File Name : 'Stang5x7.h' +// Title : Graphic LCD Font (Ascii Charaters) +// Author : Pascal Stang +// Date : 10/19/2001 +// Revised : 10/19/2001 +// Version : 0.1 +// Target MCU : Atmel AVR +// Editor Tabs : 4 +// +//***************************************************************************** + +#ifndef Stang5x7_h +#define Stang5x7_h + +// standard ascii 5x7 font +// defines ascii characters 0x20-0x7F (32-127) +GLCDFONTDECL(Stang5x7) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 0x05, // width + 0x07, // height + 0x20, // first char + 0x60, // char count + 0x00, 0x00, 0x00, 0x00, 0x00,// (space) + 0x00, 0x00, 0x5F, 0x00, 0x00,// ! + 0x00, 0x07, 0x00, 0x07, 0x00,// " + 0x14, 0x7F, 0x14, 0x7F, 0x14,// # + 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ + 0x23, 0x13, 0x08, 0x64, 0x62,// % + 0x36, 0x49, 0x55, 0x22, 0x50,// & + 0x00, 0x05, 0x03, 0x00, 0x00,// ' + 0x00, 0x1C, 0x22, 0x41, 0x00,// ( + 0x00, 0x41, 0x22, 0x1C, 0x00,// ) + 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * + 0x08, 0x08, 0x3E, 0x08, 0x08,// + + 0x00, 0x50, 0x30, 0x00, 0x00,// , + 0x08, 0x08, 0x08, 0x08, 0x08,// - + 0x00, 0x60, 0x60, 0x00, 0x00,// . + 0x20, 0x10, 0x08, 0x04, 0x02,// / + 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 + 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 + 0x42, 0x61, 0x51, 0x49, 0x46,// 2 + 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 + 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 + 0x27, 0x45, 0x45, 0x45, 0x39,// 5 + 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 + 0x01, 0x71, 0x09, 0x05, 0x03,// 7 + 0x36, 0x49, 0x49, 0x49, 0x36,// 8 + 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 + 0x00, 0x36, 0x36, 0x00, 0x00,// : + 0x00, 0x56, 0x36, 0x00, 0x00,// ; + 0x00, 0x08, 0x14, 0x22, 0x41,// < + 0x14, 0x14, 0x14, 0x14, 0x14,// = + 0x41, 0x22, 0x14, 0x08, 0x00,// > + 0x02, 0x01, 0x51, 0x09, 0x06,// ? + 0x32, 0x49, 0x79, 0x41, 0x3E,// @ + 0x7E, 0x11, 0x11, 0x11, 0x7E,// A + 0x7F, 0x49, 0x49, 0x49, 0x36,// B + 0x3E, 0x41, 0x41, 0x41, 0x22,// C + 0x7F, 0x41, 0x41, 0x22, 0x1C,// D + 0x7F, 0x49, 0x49, 0x49, 0x41,// E + 0x7F, 0x09, 0x09, 0x01, 0x01,// F + 0x3E, 0x41, 0x41, 0x51, 0x32,// G + 0x7F, 0x08, 0x08, 0x08, 0x7F,// H + 0x00, 0x41, 0x7F, 0x41, 0x00,// I + 0x20, 0x40, 0x41, 0x3F, 0x01,// J + 0x7F, 0x08, 0x14, 0x22, 0x41,// K + 0x7F, 0x40, 0x40, 0x40, 0x40,// L + 0x7F, 0x02, 0x04, 0x02, 0x7F,// M + 0x7F, 0x04, 0x08, 0x10, 0x7F,// N + 0x3E, 0x41, 0x41, 0x41, 0x3E,// O + 0x7F, 0x09, 0x09, 0x09, 0x06,// P + 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q + 0x7F, 0x09, 0x19, 0x29, 0x46,// R + 0x46, 0x49, 0x49, 0x49, 0x31,// S + 0x01, 0x01, 0x7F, 0x01, 0x01,// T + 0x3F, 0x40, 0x40, 0x40, 0x3F,// U + 0x1F, 0x20, 0x40, 0x20, 0x1F,// V + 0x7F, 0x20, 0x18, 0x20, 0x7F,// W + 0x63, 0x14, 0x08, 0x14, 0x63,// X + 0x03, 0x04, 0x78, 0x04, 0x03,// Y + 0x61, 0x51, 0x49, 0x45, 0x43,// Z + 0x00, 0x00, 0x7F, 0x41, 0x41,// [ + 0x02, 0x04, 0x08, 0x10, 0x20,// "\" + 0x41, 0x41, 0x7F, 0x00, 0x00,// ] + 0x04, 0x02, 0x01, 0x02, 0x04,// ^ + 0x40, 0x40, 0x40, 0x40, 0x40,// _ + 0x00, 0x01, 0x02, 0x04, 0x00,// ` + 0x20, 0x54, 0x54, 0x54, 0x78,// a + 0x7F, 0x48, 0x44, 0x44, 0x38,// b + 0x38, 0x44, 0x44, 0x44, 0x20,// c + 0x38, 0x44, 0x44, 0x48, 0x7F,// d + 0x38, 0x54, 0x54, 0x54, 0x18,// e + 0x08, 0x7E, 0x09, 0x01, 0x02,// f + 0x08, 0x14, 0x54, 0x54, 0x3C,// g + 0x7F, 0x08, 0x04, 0x04, 0x78,// h + 0x00, 0x44, 0x7D, 0x40, 0x00,// i + 0x20, 0x40, 0x44, 0x3D, 0x00,// j + 0x00, 0x7F, 0x10, 0x28, 0x44,// k + 0x00, 0x41, 0x7F, 0x40, 0x00,// l + 0x7C, 0x04, 0x18, 0x04, 0x78,// m + 0x7C, 0x08, 0x04, 0x04, 0x78,// n + 0x38, 0x44, 0x44, 0x44, 0x38,// o + 0x7C, 0x14, 0x14, 0x14, 0x08,// p + 0x08, 0x14, 0x14, 0x18, 0x7C,// q + 0x7C, 0x08, 0x04, 0x04, 0x08,// r + 0x48, 0x54, 0x54, 0x54, 0x20,// s + 0x04, 0x3F, 0x44, 0x40, 0x20,// t + 0x3C, 0x40, 0x40, 0x20, 0x7C,// u + 0x1C, 0x20, 0x40, 0x20, 0x1C,// v + 0x3C, 0x40, 0x30, 0x40, 0x3C,// w + 0x44, 0x28, 0x10, 0x28, 0x44,// x + 0x0C, 0x50, 0x50, 0x50, 0x3C,// y + 0x44, 0x64, 0x54, 0x4C, 0x44,// z + 0x00, 0x08, 0x36, 0x41, 0x00,// { + 0x00, 0x00, 0x7F, 0x00, 0x00,// | + 0x00, 0x41, 0x36, 0x08, 0x00,// } + 0x0C, 0x02, 0x0C, 0x10, 0x0C,// ~ + 0x7F, 0x7F, 0x7F, 0x7F, 0x7F // del +}; + +#endif // Stang5x7_H \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/System5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/System5x7.h new file mode 100644 index 0000000..bb14510 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/System5x7.h @@ -0,0 +1,148 @@ +/* + * + * System5x7 + * + * + * File Name : System5x7.h + * Date : 28 Oct 2008 + * Font size in bytes : 470 + * Font width : 5 + * Font height : 7 + * Font first char : 32 + * Font last char : 127 + * Font used chars : 94 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef SYSTEM5x7_H +#define SYSTEM5x7_H + +#define SYSTEM5x7_WIDTH 5 +#define SYSTEM5x7_HEIGHT 7 + +GLCDFONTDECL(System5x7) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 0x05, // width + 0x07, // height + 0x20, // first char + 0x61, // char count + + // Fixed width; char width table not used !!!! + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00,// (space) + 0x00, 0x00, 0x5F, 0x00, 0x00,// ! + 0x00, 0x07, 0x00, 0x07, 0x00,// " + 0x14, 0x7F, 0x14, 0x7F, 0x14,// # + 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ + 0x23, 0x13, 0x08, 0x64, 0x62,// % + 0x36, 0x49, 0x55, 0x22, 0x50,// & + 0x00, 0x05, 0x03, 0x00, 0x00,// ' + 0x00, 0x1C, 0x22, 0x41, 0x00,// ( + 0x00, 0x41, 0x22, 0x1C, 0x00,// ) + 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * + 0x08, 0x08, 0x3E, 0x08, 0x08,// + + 0x00, 0x50, 0x30, 0x00, 0x00,// , + 0x08, 0x08, 0x08, 0x08, 0x08,// - + 0x00, 0x60, 0x60, 0x00, 0x00,// . + 0x20, 0x10, 0x08, 0x04, 0x02,// / + 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 + 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 + 0x42, 0x61, 0x51, 0x49, 0x46,// 2 + 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 + 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 + 0x27, 0x45, 0x45, 0x45, 0x39,// 5 + 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 + 0x01, 0x71, 0x09, 0x05, 0x03,// 7 + 0x36, 0x49, 0x49, 0x49, 0x36,// 8 + 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 + 0x00, 0x36, 0x36, 0x00, 0x00,// : + 0x00, 0x56, 0x36, 0x00, 0x00,// ; + 0x00, 0x08, 0x14, 0x22, 0x41,// < + 0x14, 0x14, 0x14, 0x14, 0x14,// = + 0x41, 0x22, 0x14, 0x08, 0x00,// > + 0x02, 0x01, 0x51, 0x09, 0x06,// ? + 0x32, 0x49, 0x79, 0x41, 0x3E,// @ + 0x7E, 0x11, 0x11, 0x11, 0x7E,// A + 0x7F, 0x49, 0x49, 0x49, 0x36,// B + 0x3E, 0x41, 0x41, 0x41, 0x22,// C + 0x7F, 0x41, 0x41, 0x22, 0x1C,// D + 0x7F, 0x49, 0x49, 0x49, 0x41,// E + 0x7F, 0x09, 0x09, 0x01, 0x01,// F + 0x3E, 0x41, 0x41, 0x51, 0x32,// G + 0x7F, 0x08, 0x08, 0x08, 0x7F,// H + 0x00, 0x41, 0x7F, 0x41, 0x00,// I + 0x20, 0x40, 0x41, 0x3F, 0x01,// J + 0x7F, 0x08, 0x14, 0x22, 0x41,// K + 0x7F, 0x40, 0x40, 0x40, 0x40,// L + 0x7F, 0x02, 0x04, 0x02, 0x7F,// M + 0x7F, 0x04, 0x08, 0x10, 0x7F,// N + 0x3E, 0x41, 0x41, 0x41, 0x3E,// O + 0x7F, 0x09, 0x09, 0x09, 0x06,// P + 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q + 0x7F, 0x09, 0x19, 0x29, 0x46,// R + 0x46, 0x49, 0x49, 0x49, 0x31,// S + 0x01, 0x01, 0x7F, 0x01, 0x01,// T + 0x3F, 0x40, 0x40, 0x40, 0x3F,// U + 0x1F, 0x20, 0x40, 0x20, 0x1F,// V + 0x7F, 0x20, 0x18, 0x20, 0x7F,// W + 0x63, 0x14, 0x08, 0x14, 0x63,// X + 0x03, 0x04, 0x78, 0x04, 0x03,// Y + 0x61, 0x51, 0x49, 0x45, 0x43,// Z + 0x00, 0x00, 0x7F, 0x41, 0x41,// [ + 0x02, 0x04, 0x08, 0x10, 0x20,// "\" + 0x41, 0x41, 0x7F, 0x00, 0x00,// ] + 0x04, 0x02, 0x01, 0x02, 0x04,// ^ + 0x40, 0x40, 0x40, 0x40, 0x40,// _ + 0x00, 0x01, 0x02, 0x04, 0x00,// ` + 0x20, 0x54, 0x54, 0x54, 0x78,// a + 0x7F, 0x48, 0x44, 0x44, 0x38,// b + 0x38, 0x44, 0x44, 0x44, 0x20,// c + 0x38, 0x44, 0x44, 0x48, 0x7F,// d + 0x38, 0x54, 0x54, 0x54, 0x18,// e + 0x08, 0x7E, 0x09, 0x01, 0x02,// f + 0x08, 0x14, 0x54, 0x54, 0x3C,// g + 0x7F, 0x08, 0x04, 0x04, 0x78,// h + 0x00, 0x44, 0x7D, 0x40, 0x00,// i + 0x20, 0x40, 0x44, 0x3D, 0x00,// j + 0x00, 0x7F, 0x10, 0x28, 0x44,// k + 0x00, 0x41, 0x7F, 0x40, 0x00,// l + 0x7C, 0x04, 0x18, 0x04, 0x78,// m + 0x7C, 0x08, 0x04, 0x04, 0x78,// n + 0x38, 0x44, 0x44, 0x44, 0x38,// o + 0x7C, 0x14, 0x14, 0x14, 0x08,// p + 0x08, 0x14, 0x14, 0x18, 0x7C,// q + 0x7C, 0x08, 0x04, 0x04, 0x08,// r + 0x48, 0x54, 0x54, 0x54, 0x20,// s + 0x04, 0x3F, 0x44, 0x40, 0x20,// t + 0x3C, 0x40, 0x40, 0x20, 0x7C,// u + 0x1C, 0x20, 0x40, 0x20, 0x1C,// v + 0x3C, 0x40, 0x30, 0x40, 0x3C,// w + 0x44, 0x28, 0x10, 0x28, 0x44,// x + 0x0C, 0x50, 0x50, 0x50, 0x3C,// y + 0x44, 0x64, 0x54, 0x4C, 0x44,// z + 0x00, 0x08, 0x36, 0x41, 0x00,// { + 0x00, 0x00, 0x7F, 0x00, 0x00,// | + 0x00, 0x41, 0x36, 0x08, 0x00,// } + 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> + 0x08, 0x1C, 0x2A, 0x08, 0x08, // <- + 0x00, 0x06, 0x09, 0x09, 0x06 // degree symbol + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/SystemFont5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/SystemFont5x7.h new file mode 100644 index 0000000..1c65eec --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/SystemFont5x7.h @@ -0,0 +1,16 @@ +#ifndef SYSTEM5FONTx7_H +#define SYSTEMFONT5x7_H + +/* + * added to allow fontname to match header file name. + * as well as keep the old header filename for backward compability + */ + +#define SYSTEMFONT5x7_WIDTH 5 +#define SYSTEMFONT5x7_HEIGHT 7 + +#define SystemFont5x7 System5x7 + +#include "System5x7.h" + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13.h new file mode 100644 index 0000000..002dcb9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13.h @@ -0,0 +1,162 @@ +/* + * + * TimesNewRoman13 + * times_new_roman_size12 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : TimesNewRoman13.h + * Date : 10.11.2012 + * Font size in bytes : 6732 + * Font width : 10 + * Font height : 13 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _TimesNewRoman13_H +#define _TimesNewRoman13_H + +#define TimesNewRoman13_WIDTH 10 +#define TimesNewRoman13_HEIGHT 13 + +GLCDFONTDECL(TimesNewRoman13) = { + 0x1A, 0x4C, // size + 0x0A, // width + 0x0D, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x03, 0x06, 0x05, 0x09, 0x09, 0x01, 0x03, 0x03, + 0x05, 0x07, 0x02, 0x03, 0x01, 0x03, 0x05, 0x03, 0x05, 0x05, + 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x01, 0x02, 0x06, 0x06, + 0x06, 0x04, 0x0A, 0x08, 0x07, 0x07, 0x08, 0x07, 0x06, 0x08, + 0x08, 0x03, 0x04, 0x08, 0x07, 0x0B, 0x08, 0x08, 0x06, 0x08, + 0x08, 0x05, 0x07, 0x08, 0x07, 0x0B, 0x08, 0x08, 0x07, 0x03, + 0x03, 0x02, 0x06, 0x06, 0x02, 0x05, 0x05, 0x04, 0x06, 0x04, + 0x04, 0x05, 0x06, 0x03, 0x02, 0x06, 0x03, 0x09, 0x06, 0x05, + 0x06, 0x06, 0x04, 0x04, 0x03, 0x06, 0x06, 0x09, 0x05, 0x07, + 0x05, 0x03, 0x01, 0x03, 0x05, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x10, // 33 + 0x0E, 0x00, 0x0E, 0x00, 0x00, 0x00, // 34 + 0xD0, 0x78, 0x56, 0x50, 0xF8, 0x56, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, // 35 + 0x1C, 0x12, 0xFF, 0x22, 0xC4, 0x08, 0x10, 0x38, 0x10, 0x08, // 36 + 0x0C, 0x12, 0x8C, 0x40, 0x30, 0x08, 0x86, 0x40, 0x80, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x08, 0x10, 0x08, // 37 + 0xC0, 0x20, 0x3C, 0xD2, 0x8A, 0x46, 0x30, 0x10, 0x00, 0x08, 0x10, 0x10, 0x10, 0x08, 0x10, 0x10, 0x10, 0x08, // 38 + 0x0E, 0x00, // 39 + 0xF0, 0x0C, 0x02, 0x08, 0x30, 0x40, // 40 + 0x02, 0x0C, 0xF0, 0x40, 0x30, 0x08, // 41 + 0x14, 0x08, 0x3E, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0x20, 0xFC, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x50, 0x30, // 44 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, // 45 + 0x00, 0x10, // 46 + 0x00, 0xF8, 0x06, 0x18, 0x00, 0x00, // 47 + 0xFC, 0x02, 0x02, 0x02, 0xFC, 0x08, 0x10, 0x10, 0x10, 0x08, // 48 + 0x04, 0xFE, 0x00, 0x10, 0x18, 0x10, // 49 + 0x04, 0x02, 0x82, 0x42, 0x3C, 0x10, 0x18, 0x10, 0x10, 0x18, // 50 + 0x04, 0x02, 0x22, 0x32, 0xCC, 0x10, 0x10, 0x10, 0x10, 0x08, // 51 + 0xC0, 0xA0, 0x98, 0x84, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, // 52 + 0x00, 0x0C, 0x0A, 0x12, 0xE2, 0x10, 0x10, 0x10, 0x08, 0x00, // 53 + 0xF0, 0x28, 0x14, 0x12, 0xE2, 0x08, 0x10, 0x10, 0x10, 0x08, // 54 + 0x04, 0x02, 0x02, 0xF2, 0x0E, 0x00, 0x00, 0x18, 0x00, 0x00, // 55 + 0x8C, 0x52, 0x22, 0x52, 0x8C, 0x08, 0x10, 0x10, 0x10, 0x08, // 56 + 0x3C, 0x42, 0x42, 0xC2, 0x7C, 0x10, 0x10, 0x08, 0x00, 0x00, // 57 + 0x10, 0x10, // 58 + 0x10, 0x00, 0x50, 0x30, // 59 + 0x20, 0x50, 0x50, 0x50, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x88, 0x88, 0x50, 0x50, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 62 + 0x0C, 0xC2, 0x22, 0x1C, 0x00, 0x10, 0x00, 0x00, // 63 + 0xF0, 0x08, 0xE4, 0x12, 0x0A, 0x0A, 0x92, 0x7A, 0x04, 0xF8, 0x18, 0x20, 0x48, 0x90, 0x90, 0x88, 0x88, 0x90, 0x48, 0x20, // 64 + 0x00, 0x80, 0x78, 0x46, 0x58, 0x60, 0x80, 0x00, 0x10, 0x18, 0x10, 0x00, 0x00, 0x10, 0x18, 0x10, // 65 + 0x02, 0xFE, 0x22, 0x22, 0x22, 0x3C, 0xC0, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, // 66 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x04, 0x8E, 0x00, 0x08, 0x10, 0x10, 0x10, 0x08, 0x00, // 67 + 0x02, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, // 68 + 0x02, 0xFE, 0x22, 0x22, 0x72, 0x06, 0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, // 69 + 0x02, 0xFE, 0x22, 0x22, 0x72, 0x06, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, // 70 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x24, 0xEE, 0x20, 0x00, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, // 71 + 0x02, 0xFE, 0x22, 0x20, 0x20, 0x22, 0xFE, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x10, 0x18, 0x10, // 72 + 0x02, 0xFE, 0x02, 0x10, 0x18, 0x10, // 73 + 0x00, 0x02, 0xFE, 0x02, 0x18, 0x10, 0x08, 0x00, // 74 + 0x02, 0xFE, 0x22, 0x50, 0x88, 0x06, 0x02, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x18, 0x10, 0x10, // 75 + 0x02, 0xFE, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, // 76 + 0x02, 0xFE, 0x06, 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x06, 0xFE, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x10, 0x18, 0x10, // 77 + 0x02, 0xFE, 0x08, 0x10, 0x60, 0x82, 0xFE, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, // 78 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, // 79 + 0x02, 0xFE, 0x22, 0x22, 0x22, 0x1C, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, // 80 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x08, 0x10, 0x10, 0x30, 0x50, 0x48, 0x40, // 81 + 0x02, 0xFE, 0x22, 0x22, 0xE2, 0x1C, 0x00, 0x00, 0x10, 0x18, 0x10, 0x00, 0x00, 0x08, 0x10, 0x10, // 82 + 0x0C, 0x12, 0x22, 0x22, 0xC6, 0x18, 0x10, 0x10, 0x10, 0x08, // 83 + 0x06, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x06, 0x00, 0x00, 0x10, 0x18, 0x10, 0x00, 0x00, // 84 + 0x02, 0xFE, 0x02, 0x00, 0x00, 0x02, 0xFE, 0x02, 0x00, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, // 85 + 0x02, 0x1E, 0xE2, 0x00, 0xE2, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // 86 + 0x02, 0x1E, 0xE2, 0x80, 0x62, 0x1E, 0xE2, 0x80, 0x72, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // 87 + 0x02, 0x06, 0x8A, 0x70, 0x70, 0x8A, 0x06, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x10, 0x18, 0x10, // 88 + 0x02, 0x06, 0x3A, 0xC0, 0x30, 0x0A, 0x06, 0x02, 0x00, 0x00, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, // 89 + 0x00, 0x86, 0x42, 0x32, 0x0A, 0x06, 0x82, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x18, // 90 + 0xFE, 0x02, 0x02, 0x78, 0x40, 0x40, // 91 + 0x06, 0xF8, 0x00, 0x00, 0x00, 0x18, // 92 + 0x02, 0xFE, 0x40, 0x78, // 93 + 0x10, 0x0C, 0x02, 0x02, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x04, 0x08, 0x00, 0x00, // 96 + 0xA0, 0x50, 0x50, 0xE0, 0x00, 0x08, 0x10, 0x10, 0x18, 0x10, // 97 + 0xFE, 0x20, 0x10, 0x10, 0xE0, 0x08, 0x10, 0x10, 0x10, 0x08, // 98 + 0xE0, 0x10, 0x10, 0x30, 0x08, 0x10, 0x10, 0x08, // 99 + 0xE0, 0x10, 0x10, 0x22, 0xFE, 0x00, 0x08, 0x10, 0x10, 0x08, 0x18, 0x10, // 100 + 0xE0, 0x50, 0x50, 0x60, 0x08, 0x10, 0x10, 0x08, // 101 + 0x10, 0xFC, 0x12, 0x02, 0x10, 0x18, 0x10, 0x00, // 102 + 0x60, 0x90, 0x90, 0x70, 0x10, 0x68, 0x90, 0x90, 0x90, 0x60, // 103 + 0x02, 0xFE, 0x20, 0x10, 0xE0, 0x00, 0x10, 0x18, 0x10, 0x00, 0x18, 0x10, // 104 + 0x10, 0xF2, 0x00, 0x10, 0x18, 0x10, // 105 + 0x10, 0xF2, 0x80, 0x78, // 106 + 0x02, 0xFE, 0x40, 0xB0, 0x10, 0x00, 0x10, 0x18, 0x10, 0x00, 0x18, 0x10, // 107 + 0x02, 0xFE, 0x00, 0x10, 0x18, 0x10, // 108 + 0x10, 0xF0, 0x20, 0x10, 0xE0, 0x20, 0x10, 0xE0, 0x00, 0x10, 0x18, 0x10, 0x00, 0x18, 0x10, 0x00, 0x18, 0x10, // 109 + 0x10, 0xF0, 0x20, 0x10, 0xE0, 0x00, 0x10, 0x18, 0x10, 0x00, 0x18, 0x10, // 110 + 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x08, 0x10, 0x10, 0x10, 0x08, // 111 + 0x10, 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x80, 0xF8, 0x88, 0x10, 0x10, 0x08, // 112 + 0xE0, 0x10, 0x10, 0x20, 0xF0, 0x00, 0x08, 0x10, 0x10, 0x88, 0xF8, 0x80, // 113 + 0x10, 0xF0, 0x20, 0x10, 0x10, 0x18, 0x10, 0x00, // 114 + 0x60, 0x50, 0x90, 0xB0, 0x18, 0x10, 0x10, 0x08, // 115 + 0x10, 0xFC, 0x10, 0x00, 0x18, 0x10, // 116 + 0x10, 0xF0, 0x00, 0x10, 0xF0, 0x00, 0x00, 0x08, 0x10, 0x10, 0x18, 0x10, // 117 + 0x30, 0xD0, 0x00, 0xC0, 0x30, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // 118 + 0x10, 0xF0, 0x00, 0x90, 0xF0, 0x10, 0xC0, 0x30, 0x10, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, // 119 + 0x10, 0x30, 0xC0, 0x30, 0x10, 0x10, 0x18, 0x00, 0x18, 0x10, // 120 + 0x10, 0x70, 0x90, 0x00, 0xD0, 0x30, 0x10, 0x80, 0x80, 0x48, 0x30, 0x08, 0x00, 0x00, // 121 + 0x30, 0x10, 0xD0, 0x30, 0x10, 0x10, 0x18, 0x10, 0x10, 0x18, // 122 + 0x40, 0xBC, 0x02, 0x00, 0x38, 0x40, // 123 + 0xFE, 0x78, // 124 + 0x02, 0xBC, 0x40, 0x40, 0x38, 0x00, // 125 + 0x80, 0x40, 0xC0, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0xFC, 0x18, 0x10, 0x10, 0x10, 0x10, 0x18 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13_italic.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13_italic.h new file mode 100644 index 0000000..ca6f2c3 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman13_italic.h @@ -0,0 +1,162 @@ +/* + * + * TimesNewRoman13_italic + * times_new_roman_size12_italic.h + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : TimesNewRoman13_italic.h + * Date : 10.11.2012 + * Font size in bytes : 6680 + * Font width : 10 + * Font height : 13 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _TimesNewRoman13_italic_H +#define _TimesNewRoman13_italic_H + +#define TimesNewRoman13_italic_WIDTH 10 +#define TimesNewRoman13_italic_HEIGHT 13 + +GLCDFONTDECL(TimesNewRoman13_italic) = { + 0x1A, 0x18, // size + 0x0A, // width + 0x0D, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x03, 0x03, 0x05, 0x06, 0x06, 0x0A, 0x09, 0x01, 0x03, 0x03, + 0x04, 0x07, 0x01, 0x03, 0x01, 0x03, 0x05, 0x04, 0x05, 0x05, + 0x05, 0x06, 0x05, 0x05, 0x06, 0x06, 0x02, 0x03, 0x06, 0x06, + 0x06, 0x05, 0x0A, 0x07, 0x07, 0x07, 0x09, 0x07, 0x07, 0x08, + 0x09, 0x04, 0x05, 0x08, 0x06, 0x0A, 0x08, 0x08, 0x07, 0x09, + 0x07, 0x06, 0x06, 0x07, 0x06, 0x09, 0x07, 0x05, 0x07, 0x04, + 0x01, 0x05, 0x05, 0x06, 0x02, 0x05, 0x05, 0x04, 0x06, 0x04, + 0x03, 0x06, 0x05, 0x02, 0x03, 0x06, 0x03, 0x08, 0x05, 0x05, + 0x05, 0x05, 0x04, 0x04, 0x03, 0x05, 0x05, 0x07, 0x05, 0x04, + 0x04, 0x04, 0x01, 0x04, 0x06, 0x06, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x00, 0xE0, 0x1E, 0x10, 0x00, 0x00, // 33 + 0x0E, 0x02, 0x00, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x50, 0xF0, 0x5E, 0x50, 0xF0, 0x5E, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, // 35 + 0x80, 0x0C, 0xD2, 0x3E, 0xC3, 0x04, 0x08, 0x30, 0x18, 0x10, 0x08, 0x00, // 36 + 0x1C, 0x12, 0x12, 0x8E, 0x60, 0x30, 0x88, 0x44, 0x42, 0xC0, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x18, 0x10, 0x10, 0x08, // 37 + 0xC0, 0x20, 0x20, 0xFC, 0x12, 0x8A, 0x66, 0x20, 0x20, 0x08, 0x10, 0x10, 0x10, 0x08, 0x10, 0x10, 0x10, 0x00, // 38 + 0x0E, 0x00, // 39 + 0xE0, 0x38, 0x04, 0x38, 0x40, 0x00, // 40 + 0x00, 0x82, 0xFC, 0x30, 0x08, 0x00, // 41 + 0x14, 0x18, 0x3E, 0x18, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0x20, 0xFC, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // 43 + 0x00, 0x30, // 44 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, // 45 + 0x00, 0x10, // 46 + 0x80, 0x70, 0x0C, 0x08, 0x00, 0x00, // 47 + 0xF0, 0x0C, 0x02, 0x82, 0x7C, 0x08, 0x10, 0x10, 0x08, 0x00, // 48 + 0x00, 0x00, 0xFA, 0x06, 0x10, 0x18, 0x10, 0x00, // 49 + 0x00, 0x84, 0x42, 0x22, 0x1C, 0x18, 0x10, 0x10, 0x18, 0x00, // 50 + 0x00, 0x24, 0x22, 0xD2, 0x0E, 0x10, 0x10, 0x10, 0x08, 0x00, // 51 + 0xC0, 0xA0, 0x98, 0xF4, 0x8E, 0x00, 0x00, 0x18, 0x00, 0x00, // 52 + 0x00, 0x00, 0x0C, 0x0A, 0xF2, 0x02, 0x18, 0x10, 0x10, 0x08, 0x00, 0x00, // 53 + 0xE0, 0x18, 0x14, 0x12, 0xE2, 0x08, 0x10, 0x10, 0x08, 0x00, // 54 + 0x04, 0x82, 0x62, 0x1A, 0x06, 0x10, 0x08, 0x00, 0x00, 0x00, // 55 + 0x80, 0x40, 0x2C, 0x32, 0xD2, 0x0C, 0x08, 0x10, 0x10, 0x10, 0x08, 0x00, // 56 + 0x00, 0x38, 0x44, 0x42, 0xE2, 0x3C, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00, // 57 + 0x00, 0x10, 0x10, 0x00, // 58 + 0x00, 0x00, 0x10, 0x40, 0x30, 0x00, // 59 + 0x40, 0xA0, 0xA0, 0xA0, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x10, 0x10, 0xA0, 0xA0, 0xA0, 0x40, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, // 62 + 0x0C, 0xC2, 0x22, 0x12, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0xC4, 0x36, 0x0A, 0x8A, 0x72, 0x0A, 0x84, 0xF8, 0x18, 0x20, 0x58, 0x90, 0x88, 0x98, 0x90, 0x50, 0x28, 0x20, // 64 + 0x00, 0xC0, 0x60, 0x58, 0x44, 0xFE, 0x00, 0x18, 0x10, 0x00, 0x00, 0x10, 0x18, 0x10, // 65 + 0x80, 0x7A, 0x26, 0x22, 0x22, 0xD2, 0x0C, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, // 66 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x0C, 0x00, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, // 67 + 0x00, 0x00, 0xFA, 0x06, 0x02, 0x02, 0x02, 0x84, 0x78, 0x10, 0x18, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00, // 68 + 0x00, 0x00, 0xFA, 0x26, 0x62, 0x32, 0x06, 0x10, 0x18, 0x10, 0x10, 0x10, 0x08, 0x00, // 69 + 0x00, 0x00, 0xFA, 0x26, 0x62, 0x32, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x0C, 0x04, 0x02, 0x22, 0xA2, 0x6C, 0x26, 0x00, 0x08, 0x10, 0x10, 0x10, 0x18, 0x00, 0x00, // 71 + 0x00, 0x00, 0xFA, 0x26, 0x22, 0x20, 0x20, 0xFA, 0x06, 0x10, 0x18, 0x10, 0x00, 0x00, 0x10, 0x18, 0x10, 0x00, // 72 + 0x00, 0x00, 0xFA, 0x06, 0x10, 0x18, 0x10, 0x00, // 73 + 0x00, 0x00, 0x80, 0x7A, 0x06, 0x10, 0x10, 0x08, 0x00, 0x00, // 74 + 0x00, 0x00, 0xFA, 0x66, 0x92, 0x08, 0x06, 0x02, 0x10, 0x18, 0x10, 0x00, 0x10, 0x18, 0x10, 0x10, // 75 + 0x00, 0x00, 0xFA, 0x06, 0x02, 0x00, 0x10, 0x18, 0x10, 0x10, 0x10, 0x18, // 76 + 0x00, 0x00, 0xFA, 0x0E, 0xF0, 0x80, 0x60, 0x18, 0xFC, 0x06, 0x10, 0x18, 0x10, 0x00, 0x18, 0x00, 0x10, 0x18, 0x10, 0x00, // 77 + 0x00, 0x02, 0xF2, 0x0E, 0x38, 0xC0, 0x00, 0xFA, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, // 78 + 0xE0, 0x18, 0x04, 0x02, 0x02, 0x02, 0xC2, 0x3C, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00, // 79 + 0x00, 0x00, 0xFA, 0x26, 0x22, 0x22, 0x1C, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, // 80 + 0x00, 0xE0, 0x18, 0x04, 0x02, 0x02, 0x02, 0xC2, 0x3C, 0x80, 0xC8, 0xB8, 0x90, 0x90, 0x90, 0x88, 0x40, 0x00, // 81 + 0x00, 0x00, 0xFA, 0x26, 0xE2, 0x22, 0x1C, 0x10, 0x18, 0x10, 0x00, 0x00, 0x18, 0x10, // 82 + 0x00, 0x80, 0x1C, 0x22, 0xC2, 0x0C, 0x18, 0x08, 0x10, 0x10, 0x08, 0x00, // 83 + 0x06, 0x02, 0xF2, 0x0E, 0x02, 0x02, 0x10, 0x18, 0x10, 0x00, 0x00, 0x00, // 84 + 0xFA, 0x06, 0x02, 0x00, 0x00, 0xFA, 0x06, 0x08, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00, // 85 + 0xC2, 0x3E, 0x82, 0x60, 0x10, 0x0A, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, // 86 + 0xE2, 0x1E, 0xC2, 0x30, 0xEA, 0x1E, 0xC2, 0x30, 0x0A, 0x18, 0x08, 0x00, 0x00, 0x18, 0x08, 0x00, 0x00, 0x00, // 87 + 0x00, 0x80, 0x42, 0x3E, 0xD2, 0x0A, 0x06, 0x18, 0x10, 0x00, 0x10, 0x18, 0x10, 0x00, // 88 + 0x02, 0xDE, 0x22, 0x18, 0x06, 0x10, 0x18, 0x10, 0x00, 0x00, // 89 + 0x00, 0x04, 0xC2, 0x22, 0x12, 0x0E, 0x02, 0x10, 0x18, 0x10, 0x10, 0x10, 0x18, 0x00, // 90 + 0x00, 0xE0, 0x1E, 0x02, 0x60, 0x58, 0x40, 0x00, // 91 + 0xFE, 0x18, // 92 + 0x00, 0x00, 0x82, 0x7A, 0x06, 0x40, 0x40, 0x38, 0x00, 0x00, // 93 + 0x20, 0x18, 0x04, 0x18, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x04, 0x00, 0x00, // 96 + 0xC0, 0x20, 0x10, 0x90, 0x70, 0x18, 0x10, 0x08, 0x18, 0x10, // 97 + 0x80, 0x7A, 0x26, 0x10, 0xF0, 0x08, 0x10, 0x10, 0x08, 0x00, // 98 + 0xC0, 0x20, 0x10, 0x30, 0x08, 0x10, 0x10, 0x08, // 99 + 0xC0, 0x20, 0x10, 0x90, 0xFA, 0x06, 0x18, 0x10, 0x08, 0x18, 0x10, 0x00, // 100 + 0xC0, 0xA0, 0x90, 0x70, 0x18, 0x10, 0x10, 0x08, // 101 + 0x10, 0xF8, 0x14, 0x38, 0x00, 0x00, // 102 + 0x00, 0xE0, 0x90, 0x90, 0x70, 0x10, 0xE0, 0x98, 0x90, 0xA0, 0x60, 0x00, // 103 + 0x00, 0xFA, 0x26, 0x10, 0xF0, 0x18, 0x00, 0x00, 0x18, 0x10, // 104 + 0xF0, 0x04, 0x10, 0x00, // 105 + 0x90, 0x70, 0x04, 0x38, 0x00, 0x00, // 106 + 0x00, 0xFA, 0xC6, 0x30, 0x10, 0x10, 0x18, 0x00, 0x08, 0x10, 0x08, 0x00, // 107 + 0x80, 0x7A, 0x06, 0x18, 0x10, 0x00, // 108 + 0x10, 0xF0, 0x20, 0x10, 0xF0, 0x20, 0x10, 0xF0, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x10, // 109 + 0x10, 0xF0, 0x20, 0x10, 0xF0, 0x18, 0x00, 0x00, 0x18, 0x10, // 110 + 0xC0, 0x20, 0x10, 0x10, 0xE0, 0x08, 0x10, 0x10, 0x08, 0x00, // 111 + 0x10, 0xF0, 0x20, 0x10, 0xF0, 0xF8, 0x90, 0x10, 0x08, 0x00, // 112 + 0xC0, 0x20, 0x10, 0x10, 0xF0, 0x18, 0x90, 0xC8, 0xB8, 0x00, // 113 + 0x10, 0xF0, 0x20, 0x30, 0x18, 0x00, 0x00, 0x00, // 114 + 0x00, 0x20, 0x50, 0x90, 0x18, 0x10, 0x10, 0x08, // 115 + 0x90, 0x78, 0x14, 0x18, 0x10, 0x00, // 116 + 0x90, 0x70, 0x00, 0x80, 0x70, 0x18, 0x10, 0x10, 0x18, 0x10, // 117 + 0x10, 0xE0, 0x00, 0x80, 0x70, 0x00, 0x18, 0x08, 0x00, 0x00, // 118 + 0x10, 0xF0, 0x80, 0x40, 0xF0, 0x00, 0xF0, 0x00, 0x18, 0x00, 0x00, 0x18, 0x08, 0x00, // 119 + 0x00, 0x10, 0xF0, 0x20, 0x10, 0x10, 0x08, 0x00, 0x18, 0x00, // 120 + 0x10, 0xF0, 0x00, 0xF0, 0x60, 0x18, 0x08, 0x00, // 121 + 0x00, 0xB0, 0x50, 0x30, 0x18, 0x10, 0x10, 0x18, // 122 + 0x40, 0xA0, 0x1C, 0x02, 0x70, 0x98, 0x00, 0x00, // 123 + 0xFE, 0x78, // 124 + 0x00, 0x00, 0x72, 0x9C, 0x80, 0x70, 0x08, 0x00, // 125 + 0xC0, 0x40, 0x40, 0x80, 0x80, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0xFC, 0x18, 0x10, 0x10, 0x10, 0x10, 0x18 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16.h new file mode 100644 index 0000000..9018bfb --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16.h @@ -0,0 +1,162 @@ +/* + * + * TimesNewRoman16 + * times_news_roman_size16.h + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : TimesNewRoman16.h + * Date : 10.11.2012 + * Font size in bytes : 10534 + * Font width : 10 + * Font height : 16 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _TimesNewRoman16_H +#define _TimesNewRoman16_H + +#define TimesNewRoman16_WIDTH 10 +#define TimesNewRoman16_HEIGHT 16 + +GLCDFONTDECL(TimesNewRoman16) = { + 0x29, 0x26, // size + 0x0A, // width + 0x10, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x03, 0x08, 0x06, 0x0C, 0x0B, 0x01, 0x04, 0x04, + 0x07, 0x09, 0x02, 0x04, 0x01, 0x04, 0x06, 0x04, 0x06, 0x06, + 0x07, 0x06, 0x06, 0x07, 0x06, 0x06, 0x01, 0x02, 0x07, 0x09, + 0x07, 0x05, 0x0E, 0x0B, 0x09, 0x09, 0x0A, 0x09, 0x08, 0x0A, + 0x0B, 0x05, 0x06, 0x0B, 0x09, 0x0E, 0x0C, 0x0A, 0x08, 0x0A, + 0x0A, 0x07, 0x09, 0x0B, 0x0B, 0x0F, 0x0B, 0x0A, 0x09, 0x03, + 0x04, 0x03, 0x08, 0x08, 0x02, 0x06, 0x07, 0x05, 0x07, 0x05, + 0x04, 0x07, 0x07, 0x03, 0x03, 0x08, 0x03, 0x0B, 0x07, 0x06, + 0x07, 0x07, 0x05, 0x04, 0x04, 0x07, 0x07, 0x0B, 0x07, 0x07, + 0x06, 0x04, 0x01, 0x04, 0x09, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x0B, // 33 + 0x1E, 0x00, 0x1E, 0x00, 0x00, 0x00, // 34 + 0x20, 0x20, 0xF0, 0x2E, 0x20, 0xF0, 0x2E, 0x20, 0x01, 0x0F, 0x01, 0x01, 0x0F, 0x01, 0x01, 0x01, // 35 + 0x1C, 0x22, 0xFF, 0x42, 0x82, 0x0C, 0x06, 0x08, 0x1F, 0x08, 0x08, 0x07, // 36 + 0x3C, 0x42, 0x42, 0x3C, 0x00, 0xC0, 0x20, 0x10, 0x8C, 0x42, 0x40, 0x80, 0x00, 0x00, 0x0C, 0x02, 0x01, 0x00, 0x00, 0x00, 0x07, 0x08, 0x08, 0x07, // 37 + 0x00, 0x80, 0x5C, 0x62, 0xE2, 0x12, 0x1C, 0xA0, 0x60, 0x20, 0x00, 0x07, 0x0C, 0x08, 0x08, 0x08, 0x07, 0x06, 0x09, 0x08, 0x08, 0x04, // 38 + 0x1E, 0x00, // 39 + 0xE0, 0x18, 0x04, 0x02, 0x07, 0x18, 0x20, 0x40, // 40 + 0x02, 0x04, 0x18, 0xE0, 0x40, 0x20, 0x18, 0x07, // 41 + 0x24, 0x24, 0x18, 0x7E, 0x18, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0x40, 0xFC, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x28, 0x18, // 44 + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // 45 + 0x00, 0x08, // 46 + 0x00, 0xC0, 0x38, 0x06, 0x0C, 0x03, 0x00, 0x00, // 47 + 0xF8, 0x04, 0x02, 0x02, 0x04, 0xF8, 0x03, 0x04, 0x08, 0x08, 0x04, 0x03, // 48 + 0x04, 0x04, 0xFE, 0x00, 0x00, 0x08, 0x0F, 0x08, // 49 + 0x0C, 0x02, 0x02, 0x82, 0x44, 0x38, 0x0C, 0x0A, 0x09, 0x08, 0x08, 0x0C, // 50 + 0x04, 0x02, 0x42, 0x62, 0x52, 0x8C, 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, // 51 + 0x80, 0x40, 0x20, 0x18, 0x04, 0xFE, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x01, // 52 + 0x10, 0x1C, 0x12, 0x12, 0x22, 0xC2, 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, // 53 + 0xE0, 0x58, 0x24, 0x22, 0x62, 0x82, 0x03, 0x04, 0x08, 0x08, 0x04, 0x03, // 54 + 0x04, 0x02, 0x02, 0x02, 0x82, 0x72, 0x0E, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00, // 55 + 0x1C, 0xA2, 0x42, 0x42, 0xA2, 0x1C, 0x07, 0x08, 0x08, 0x08, 0x08, 0x07, // 56 + 0x38, 0x44, 0x82, 0x82, 0x44, 0xF8, 0x08, 0x08, 0x04, 0x04, 0x03, 0x00, // 57 + 0x20, 0x08, // 58 + 0x20, 0x00, 0x28, 0x18, // 59 + 0x40, 0xA0, 0xA0, 0x10, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, // 60 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, // 61 + 0x08, 0x10, 0x10, 0x10, 0xA0, 0xA0, 0x40, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, // 62 + 0x0C, 0x02, 0x82, 0x62, 0x1C, 0x00, 0x00, 0x0B, 0x00, 0x00, // 63 + 0xC0, 0x30, 0x08, 0x04, 0xC4, 0x22, 0x12, 0x12, 0xE2, 0x32, 0x04, 0x08, 0xF0, 0x00, 0x0F, 0x10, 0x20, 0x4F, 0x88, 0x88, 0x84, 0x8F, 0x89, 0x88, 0x44, 0x26, 0x11, 0x08, // 64 + 0x00, 0x00, 0x00, 0xC0, 0x38, 0x06, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0E, 0x09, 0x01, 0x01, 0x01, 0x09, 0x0E, 0x08, 0x08, // 65 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0x42, 0x64, 0x98, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, // 66 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x1E, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, // 67 + 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08, 0xF0, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, 0x01, // 68 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0x42, 0xE2, 0x06, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x0C, 0x02, // 69 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0x42, 0xE2, 0x06, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x42, 0x44, 0xCE, 0x40, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x00, // 71 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0x40, 0x42, 0x42, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, // 72 + 0x02, 0x02, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, // 73 + 0x00, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x0C, 0x08, 0x08, 0x07, 0x00, 0x00, // 74 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0xA0, 0x12, 0x0A, 0x06, 0x02, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x01, 0x0A, 0x0C, 0x08, 0x08, // 75 + 0x02, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x0C, 0x02, // 76 + 0x02, 0x02, 0xFE, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x80, 0x70, 0x0C, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x01, 0x02, 0x0E, 0x01, 0x08, 0x08, 0x0F, 0x08, 0x08, // 77 + 0x02, 0x02, 0xFE, 0x08, 0x10, 0x20, 0xC0, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x01, 0x02, 0x0F, 0x00, 0x00, // 78 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08, 0xF0, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, 0x01, // 79 + 0x02, 0x02, 0xFE, 0x82, 0x82, 0x82, 0x44, 0x38, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x00, // 80 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08, 0xF0, 0x01, 0x02, 0x04, 0x08, 0x08, 0x18, 0x28, 0x24, 0x42, 0x41, // 81 + 0x02, 0x02, 0xFE, 0x42, 0x42, 0xC2, 0x24, 0x18, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x03, 0x04, 0x08, 0x08, // 82 + 0x18, 0x24, 0x22, 0x42, 0x42, 0x84, 0x0E, 0x0E, 0x04, 0x08, 0x08, 0x08, 0x04, 0x03, // 83 + 0x0E, 0x02, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x0E, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, // 84 + 0x02, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, // 85 + 0x02, 0x02, 0x1E, 0xE2, 0x00, 0x00, 0x00, 0xE2, 0x1E, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x07, 0x00, 0x00, 0x00, 0x00, // 86 + 0x02, 0x06, 0x0E, 0x72, 0x80, 0x02, 0x82, 0x5E, 0xE2, 0x00, 0x00, 0xE2, 0x1E, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x03, 0x00, 0x00, 0x03, 0x0C, 0x03, 0x00, 0x00, 0x00, // 87 + 0x02, 0x02, 0x06, 0x0A, 0xB2, 0x40, 0xB0, 0x0A, 0x06, 0x02, 0x02, 0x08, 0x08, 0x0C, 0x0A, 0x01, 0x00, 0x01, 0x0A, 0x0C, 0x08, 0x08, // 88 + 0x02, 0x02, 0x0E, 0x32, 0xC0, 0x20, 0x1A, 0x06, 0x02, 0x02, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x00, // 89 + 0x00, 0x0E, 0x02, 0x82, 0x62, 0x12, 0x0E, 0x02, 0x00, 0x08, 0x0E, 0x09, 0x08, 0x08, 0x08, 0x08, 0x0C, 0x02, // 90 + 0xFE, 0x02, 0x02, 0x7F, 0x40, 0x40, // 91 + 0x06, 0x78, 0x80, 0x00, 0x00, 0x00, 0x03, 0x0C, // 92 + 0x02, 0x02, 0xFE, 0x40, 0x40, 0x7F, // 93 + 0x40, 0x30, 0x0C, 0x02, 0x02, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x02, 0x0C, 0x00, 0x00, // 96 + 0x40, 0x20, 0x20, 0xA0, 0xC0, 0x00, 0x06, 0x09, 0x09, 0x04, 0x0F, 0x08, // 97 + 0x04, 0xFE, 0x40, 0x20, 0x20, 0x40, 0x80, 0x00, 0x07, 0x08, 0x08, 0x08, 0x04, 0x03, // 98 + 0xC0, 0x20, 0x20, 0x20, 0x40, 0x07, 0x08, 0x08, 0x08, 0x04, // 99 + 0x80, 0x40, 0x20, 0x20, 0x44, 0xFE, 0x00, 0x03, 0x04, 0x08, 0x08, 0x04, 0x0F, 0x04, // 100 + 0xC0, 0xA0, 0xA0, 0xA0, 0xC0, 0x07, 0x08, 0x08, 0x08, 0x04, // 101 + 0x20, 0xFC, 0x22, 0x22, 0x08, 0x0F, 0x08, 0x08, // 102 + 0x00, 0xC0, 0x20, 0x20, 0x20, 0xE0, 0x20, 0x30, 0x4D, 0x4A, 0x4A, 0x4A, 0x49, 0x30, // 103 + 0x04, 0xFE, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, // 104 + 0x40, 0xE2, 0x00, 0x08, 0x0F, 0x08, // 105 + 0x00, 0x40, 0xE2, 0x40, 0x40, 0x3F, // 106 + 0x04, 0xFE, 0x00, 0x80, 0x60, 0x20, 0x20, 0x00, 0x08, 0x0F, 0x09, 0x01, 0x02, 0x0C, 0x08, 0x08, // 107 + 0x04, 0xFE, 0x00, 0x08, 0x0F, 0x08, // 108 + 0x40, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, // 109 + 0x40, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x00, 0x08, 0x0F, 0x08, 0x00, 0x08, 0x0F, 0x08, // 110 + 0x80, 0x40, 0x20, 0x20, 0x40, 0x80, 0x03, 0x04, 0x08, 0x08, 0x04, 0x03, // 111 + 0x40, 0xE0, 0x40, 0x20, 0x20, 0x40, 0x80, 0x40, 0x7F, 0x44, 0x08, 0x08, 0x04, 0x03, // 112 + 0x80, 0x40, 0x20, 0x20, 0x40, 0xE0, 0x00, 0x07, 0x0C, 0x08, 0x08, 0x44, 0x7F, 0x40, // 113 + 0x40, 0xE0, 0x40, 0x20, 0x20, 0x08, 0x0F, 0x08, 0x00, 0x00, // 114 + 0xC0, 0x20, 0x20, 0x60, 0x0C, 0x09, 0x09, 0x06, // 115 + 0x20, 0xF8, 0x20, 0x20, 0x00, 0x0F, 0x08, 0x04, // 116 + 0x20, 0xE0, 0x00, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x07, 0x08, 0x08, 0x04, 0x0F, 0x04, // 117 + 0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x00, 0x00, 0x07, 0x08, 0x07, 0x00, 0x00, // 118 + 0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x00, 0x00, 0x07, 0x0C, 0x03, 0x00, 0x07, 0x0C, 0x03, 0x00, 0x00, // 119 + 0x20, 0x60, 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x08, 0x0C, 0x0A, 0x01, 0x0A, 0x0C, 0x08, // 120 + 0x20, 0xE0, 0x20, 0x00, 0x20, 0xE0, 0x20, 0x40, 0x40, 0x23, 0x1C, 0x07, 0x00, 0x00, // 121 + 0x00, 0x60, 0x20, 0xA0, 0x60, 0x20, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x0C, // 122 + 0x80, 0x78, 0x04, 0x02, 0x00, 0x1F, 0x20, 0x40, // 123 + 0xFE, 0xFF, // 124 + 0x02, 0x04, 0x78, 0x80, 0x40, 0x20, 0x1F, 0x00, // 125 + 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_bold.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_bold.h new file mode 100644 index 0000000..e791644 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_bold.h @@ -0,0 +1,161 @@ +/* + * + * TimesNewRoman16_bold + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : TimesNewRoman16_bold.h + * Date : 10.11.2012 + * Font size in bytes : 11270 + * Font width : 10 + * Font height : 16 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef TimesNewRoman16_bold_H +#define TimesNewRoman16_bold_H + +#define TimesNewRoman16_bold_WIDTH 10 +#define TimesNewRoman16_bold_HEIGHT 16 + +GLCDFONTDECL(TimesNewRoman16_bold) = { + 0x2C, 0x06, // size + 0x0A, // width + 0x10, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x02, 0x06, 0x08, 0x07, 0x0E, 0x0C, 0x02, 0x04, 0x04, + 0x05, 0x09, 0x02, 0x04, 0x02, 0x04, 0x07, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x02, 0x08, 0x08, + 0x08, 0x06, 0x0E, 0x0B, 0x0A, 0x09, 0x0B, 0x09, 0x09, 0x0A, + 0x0C, 0x06, 0x08, 0x0C, 0x09, 0x10, 0x0C, 0x0A, 0x09, 0x0A, + 0x0C, 0x07, 0x08, 0x0B, 0x0B, 0x0F, 0x0B, 0x0A, 0x09, 0x03, + 0x04, 0x03, 0x07, 0x08, 0x02, 0x07, 0x07, 0x05, 0x07, 0x06, + 0x05, 0x07, 0x08, 0x04, 0x03, 0x09, 0x04, 0x0C, 0x08, 0x06, + 0x07, 0x07, 0x06, 0x05, 0x05, 0x08, 0x08, 0x0A, 0x08, 0x08, + 0x06, 0x05, 0x01, 0x05, 0x07, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x3E, 0xFE, 0x0C, 0x0D, // 33 + 0x1E, 0x1E, 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x20, 0x20, 0xF0, 0x2E, 0x20, 0xF0, 0x2E, 0x20, 0x01, 0x0F, 0x01, 0x01, 0x0F, 0x01, 0x01, 0x01, // 35 + 0x1C, 0x3E, 0x62, 0xFF, 0xC2, 0x86, 0x0C, 0x06, 0x0C, 0x08, 0x1F, 0x09, 0x0F, 0x07, // 36 + 0x3C, 0x7E, 0x42, 0x7E, 0x3C, 0x00, 0xC0, 0x20, 0x18, 0x84, 0xC2, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x0F, 0x07, // 37 + 0x00, 0x80, 0x40, 0x3C, 0xFE, 0xE2, 0x22, 0x1E, 0xAC, 0x60, 0x20, 0x00, 0x07, 0x0F, 0x0C, 0x08, 0x08, 0x0B, 0x07, 0x06, 0x0D, 0x0C, 0x04, 0x02, // 38 + 0x1E, 0x1E, 0x00, 0x00, // 39 + 0xE0, 0xF8, 0x0C, 0x02, 0x07, 0x1F, 0x30, 0x40, // 40 + 0x02, 0x0C, 0xF8, 0xE0, 0x40, 0x30, 0x1F, 0x07, // 41 + 0x28, 0x38, 0x1E, 0x38, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0x40, 0xFC, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x4C, 0x3C, // 44 + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // 45 + 0x00, 0x00, 0x0C, 0x0C, // 46 + 0x00, 0xC0, 0x38, 0x06, 0x0C, 0x03, 0x00, 0x00, // 47 + 0xF8, 0xFC, 0x06, 0x02, 0x06, 0xFC, 0xF8, 0x03, 0x07, 0x0C, 0x08, 0x0C, 0x07, 0x03, // 48 + 0x02, 0x02, 0xFE, 0xFE, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, // 49 + 0x08, 0x0C, 0x06, 0x86, 0xFE, 0x3C, 0x00, 0x08, 0x0C, 0x0E, 0x0D, 0x0C, 0x0C, 0x02, // 50 + 0x08, 0x04, 0x46, 0x66, 0xFE, 0xDC, 0x80, 0x0C, 0x0C, 0x08, 0x08, 0x08, 0x07, 0x03, // 51 + 0x80, 0x40, 0x20, 0x18, 0xFC, 0xFE, 0x00, 0x03, 0x03, 0x03, 0x03, 0x0F, 0x0F, 0x03, // 52 + 0x20, 0x3C, 0x36, 0x36, 0x66, 0xE6, 0xC2, 0x0C, 0x0C, 0x0C, 0x08, 0x08, 0x04, 0x03, // 53 + 0xE0, 0xF8, 0x3C, 0x24, 0x66, 0xC2, 0x82, 0x03, 0x07, 0x0C, 0x08, 0x0C, 0x07, 0x03, // 54 + 0x0C, 0x06, 0x06, 0x06, 0xE6, 0x1E, 0x02, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x00, // 55 + 0x1C, 0xBE, 0x72, 0x62, 0xE2, 0xFE, 0x9C, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07, // 56 + 0x38, 0x7C, 0xC6, 0x82, 0x86, 0xFC, 0xF8, 0x08, 0x08, 0x0C, 0x04, 0x07, 0x03, 0x00, // 57 + 0x60, 0x60, 0x0C, 0x0C, // 58 + 0x60, 0x60, 0x4C, 0x3C, // 59 + 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, // 60 + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, // 61 + 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, // 62 + 0x1C, 0x1E, 0x02, 0xC2, 0x7E, 0x3C, 0x00, 0x00, 0x0C, 0x0D, 0x00, 0x00, // 63 + 0xE0, 0x10, 0x08, 0x84, 0xC2, 0x62, 0x22, 0x22, 0xC2, 0xE2, 0x04, 0x08, 0xF0, 0x00, 0x0F, 0x10, 0x20, 0x47, 0x8F, 0x88, 0x84, 0x86, 0x8F, 0x88, 0x44, 0x22, 0x11, 0x08, // 64 + 0x00, 0x00, 0x80, 0x70, 0x0C, 0x1E, 0x78, 0xE0, 0x80, 0x00, 0x00, 0x08, 0x0C, 0x0B, 0x09, 0x01, 0x01, 0x01, 0x0B, 0x0F, 0x0E, 0x08, // 65 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x42, 0x42, 0xE2, 0xBE, 0x1C, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x0F, 0x07, // 66 + 0xF0, 0xFC, 0x0C, 0x02, 0x02, 0x02, 0x04, 0x0C, 0x1E, 0x01, 0x07, 0x06, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, // 67 + 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x02, 0x06, 0x0C, 0xF8, 0xF0, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x0C, 0x06, 0x03, 0x01, // 68 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x42, 0xF2, 0x02, 0x0E, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x09, 0x08, 0x0E, // 69 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x42, 0xF2, 0x02, 0x0E, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x01, 0x00, 0x00, // 70 + 0xF0, 0xFC, 0x0C, 0x02, 0x02, 0x02, 0x84, 0x8C, 0x9E, 0x80, 0x01, 0x07, 0x06, 0x08, 0x08, 0x08, 0x08, 0x0F, 0x07, 0x00, // 71 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x40, 0x40, 0x42, 0xFE, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x08, // 72 + 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, // 73 + 0x00, 0x00, 0x00, 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07, 0x00, // 74 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0xE2, 0x90, 0x10, 0x0A, 0x06, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x01, 0x0B, 0x0E, 0x0C, 0x08, 0x08, // 75 + 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x0E, // 76 + 0x02, 0x02, 0xFE, 0x06, 0x3E, 0xF8, 0xC0, 0x00, 0x00, 0xC0, 0x38, 0x06, 0xFE, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x01, 0x07, 0x0E, 0x03, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, // 77 + 0x02, 0x02, 0xFE, 0x06, 0x0E, 0x38, 0x70, 0xC2, 0x82, 0xFE, 0x02, 0x02, 0x08, 0x08, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x00, 0x00, // 78 + 0xF0, 0xFC, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x0C, 0xFC, 0xF0, 0x01, 0x07, 0x06, 0x08, 0x08, 0x08, 0x08, 0x06, 0x07, 0x01, // 79 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x42, 0x42, 0x7E, 0x3C, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x00, 0x00, 0x00, // 80 + 0xF0, 0xFC, 0x0C, 0x02, 0x02, 0x02, 0x02, 0x0C, 0xFC, 0xF0, 0x01, 0x07, 0x06, 0x08, 0x18, 0x38, 0x68, 0x46, 0x47, 0x01, // 81 + 0x02, 0x02, 0xFE, 0xFE, 0x42, 0x42, 0xC2, 0xC2, 0x7E, 0x3C, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x00, 0x03, 0x0F, 0x0C, 0x08, 0x08, // 82 + 0x1C, 0x3E, 0x72, 0xE2, 0xC2, 0x84, 0x1E, 0x0F, 0x04, 0x08, 0x08, 0x09, 0x0F, 0x07, // 83 + 0x0E, 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x0E, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x00, // 84 + 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x00, 0x00, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x07, 0x00, 0x00, // 85 + 0x02, 0x02, 0x0E, 0x7E, 0xF2, 0x80, 0x00, 0xC0, 0x32, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0E, 0x01, 0x00, 0x00, 0x00, // 86 + 0x02, 0x0E, 0x7E, 0xF2, 0x80, 0x00, 0xE2, 0x1E, 0x7E, 0xF2, 0x80, 0x00, 0xE2, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x0E, 0x01, 0x00, 0x00, // 87 + 0x02, 0x02, 0x06, 0x1E, 0xFA, 0xE0, 0xA0, 0x1A, 0x06, 0x02, 0x02, 0x08, 0x0C, 0x0C, 0x0B, 0x00, 0x01, 0x0B, 0x0F, 0x0C, 0x08, 0x08, // 88 + 0x02, 0x06, 0x1E, 0x7A, 0xE2, 0x80, 0x60, 0x1A, 0x06, 0x02, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08, 0x00, 0x00, // 89 + 0x00, 0x1E, 0x06, 0xC2, 0xE2, 0x7A, 0x1E, 0x06, 0x02, 0x08, 0x0C, 0x0F, 0x0B, 0x08, 0x08, 0x08, 0x0C, 0x0F, // 90 + 0xFE, 0xFE, 0x02, 0x7F, 0x7F, 0x40, // 91 + 0x06, 0x78, 0x80, 0x00, 0x00, 0x00, 0x03, 0x0C, // 92 + 0x02, 0xFE, 0xFE, 0x40, 0x7F, 0x7F, // 93 + 0x40, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x02, 0x04, 0x00, 0x00, // 96 + 0x40, 0x60, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x06, 0x0F, 0x09, 0x09, 0x0F, 0x0F, 0x08, // 97 + 0x02, 0xFE, 0xFE, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x07, 0x08, 0x08, 0x0F, 0x07, // 98 + 0xC0, 0xE0, 0x20, 0x60, 0x60, 0x07, 0x0F, 0x08, 0x08, 0x04, // 99 + 0xC0, 0xE0, 0x20, 0x22, 0xFE, 0xFE, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x0F, 0x0F, 0x08, // 100 + 0xC0, 0xE0, 0x20, 0x20, 0xE0, 0xC0, 0x07, 0x0F, 0x09, 0x09, 0x09, 0x05, // 101 + 0x20, 0xFC, 0xFE, 0x22, 0x06, 0x08, 0x0F, 0x0F, 0x08, 0x00, // 102 + 0xC0, 0xE0, 0x20, 0x20, 0xE0, 0xE0, 0x20, 0x3D, 0x5B, 0x5A, 0x5A, 0x5B, 0x59, 0x30, // 103 + 0x02, 0xFE, 0xFE, 0x40, 0x20, 0xE0, 0xC0, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00, 0x0F, 0x0F, 0x08, // 104 + 0x20, 0xE6, 0xE6, 0x00, 0x08, 0x0F, 0x0F, 0x08, // 105 + 0x20, 0xE6, 0xE6, 0x40, 0x7F, 0x3F, // 106 + 0x02, 0xFE, 0xFE, 0x00, 0x80, 0x60, 0x20, 0x20, 0x00, 0x08, 0x0F, 0x0F, 0x09, 0x03, 0x0E, 0x0C, 0x08, 0x08, // 107 + 0x02, 0xFE, 0xFE, 0x00, 0x08, 0x0F, 0x0F, 0x08, // 108 + 0x20, 0xE0, 0xE0, 0x40, 0x20, 0xE0, 0xC0, 0x40, 0x20, 0xE0, 0xC0, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00, 0x0F, 0x0F, 0x08, 0x00, 0x0F, 0x0F, 0x08, // 109 + 0x20, 0xE0, 0xE0, 0x40, 0x20, 0xE0, 0xC0, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00, 0x0F, 0x0F, 0x08, // 110 + 0xC0, 0xE0, 0x20, 0x20, 0xE0, 0xC0, 0x07, 0x0F, 0x08, 0x08, 0x0F, 0x07, // 111 + 0x20, 0xE0, 0xE0, 0x20, 0x20, 0xE0, 0xC0, 0x40, 0x7F, 0x7F, 0x48, 0x08, 0x0F, 0x07, // 112 + 0xC0, 0xE0, 0x20, 0x20, 0xC0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x48, 0x7F, 0x7F, 0x40, // 113 + 0x20, 0xE0, 0xE0, 0x40, 0x20, 0x60, 0x08, 0x0F, 0x0F, 0x08, 0x00, 0x00, // 114 + 0xC0, 0xE0, 0xA0, 0x20, 0x60, 0x0C, 0x09, 0x0B, 0x0F, 0x06, // 115 + 0x20, 0xF0, 0xFC, 0x20, 0x20, 0x00, 0x07, 0x0F, 0x08, 0x04, // 116 + 0x20, 0xE0, 0xE0, 0x00, 0x20, 0xE0, 0xE0, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x0F, 0x0F, 0x08, // 117 + 0x20, 0x60, 0xE0, 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x03, 0x00, 0x00, // 118 + 0x60, 0xE0, 0xA0, 0x00, 0xA0, 0xE0, 0xA0, 0x00, 0xA0, 0x60, 0x00, 0x01, 0x0F, 0x0E, 0x01, 0x01, 0x0F, 0x0E, 0x01, 0x00, // 119 + 0x20, 0x20, 0xE0, 0xE0, 0x80, 0x60, 0x20, 0x20, 0x08, 0x08, 0x0C, 0x03, 0x0F, 0x0E, 0x08, 0x08, // 120 + 0x20, 0xE0, 0xE0, 0xA0, 0x00, 0xA0, 0x60, 0x20, 0x60, 0x60, 0x43, 0x3F, 0x0E, 0x01, 0x00, 0x00, // 121 + 0x60, 0x20, 0xA0, 0xE0, 0xE0, 0x20, 0x08, 0x0E, 0x0F, 0x0B, 0x08, 0x0C, // 122 + 0x80, 0x7C, 0x3E, 0x02, 0x02, 0x00, 0x3F, 0x7E, 0x40, 0x40, // 123 + 0xFE, 0x7F, // 124 + 0x02, 0x02, 0x3E, 0x7C, 0x80, 0x40, 0x40, 0x7E, 0x3F, 0x00, // 125 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_italic.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_italic.h new file mode 100644 index 0000000..04a5f62 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/TimesNewRoman16_italic.h @@ -0,0 +1,161 @@ +/* + * + * TimesNewRoman16_italic + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : TimesNewRoman16_italic.h + * Date : 10.11.2012 + * Font size in bytes : 10998 + * Font width : 10 + * Font height : 16 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _TimesNewRoman16_italic_H +#define _TimesNewRoman16_italic_H + +#define TimesNewRoman16_italic_WIDTH 10 +#define TimesNewRoman16_italic_HEIGHT 16 + +GLCDFONTDECL(TimesNewRoman16_italic) = { + 0x2A, 0xF6, // size + 0x0A, // width + 0x10, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x03, 0x03, 0x05, 0x07, 0x07, 0x0C, 0x0B, 0x01, 0x04, 0x04, + 0x06, 0x09, 0x02, 0x04, 0x02, 0x04, 0x07, 0x05, 0x07, 0x06, + 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x04, 0x05, 0x09, 0x09, + 0x09, 0x06, 0x0E, 0x09, 0x09, 0x0A, 0x0B, 0x0A, 0x0A, 0x0B, + 0x0B, 0x05, 0x07, 0x0B, 0x08, 0x0D, 0x0B, 0x0A, 0x0A, 0x0A, + 0x09, 0x08, 0x08, 0x0A, 0x08, 0x0B, 0x0A, 0x07, 0x09, 0x07, + 0x02, 0x07, 0x07, 0x08, 0x02, 0x07, 0x07, 0x06, 0x08, 0x06, + 0x05, 0x08, 0x07, 0x03, 0x04, 0x08, 0x04, 0x0B, 0x07, 0x07, + 0x07, 0x07, 0x06, 0x06, 0x04, 0x07, 0x07, 0x0A, 0x07, 0x07, + 0x06, 0x05, 0x01, 0x05, 0x08, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x00, 0xC0, 0x3E, 0x08, 0x03, 0x00, // 33 + 0x3C, 0x06, 0x00, 0x3C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x20, 0xE0, 0x38, 0x26, 0x20, 0xE0, 0x38, 0x0D, 0x03, 0x01, 0x01, 0x0D, 0x03, 0x01, // 35 + 0x00, 0x1C, 0x32, 0xE2, 0x5E, 0x83, 0x0C, 0x06, 0x08, 0x1E, 0x09, 0x0C, 0x07, 0x00, // 36 + 0x38, 0x44, 0x42, 0x22, 0x1C, 0xC0, 0x60, 0x10, 0x88, 0x44, 0x42, 0x80, 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x07, 0x08, 0x08, 0x04, 0x03, // 37 + 0x80, 0x80, 0x40, 0x40, 0xFC, 0xA2, 0x12, 0x0E, 0x40, 0xC0, 0x40, 0x07, 0x0C, 0x08, 0x08, 0x08, 0x0B, 0x06, 0x0D, 0x09, 0x08, 0x04, // 38 + 0x3C, 0x00, // 39 + 0x80, 0xE0, 0x30, 0x08, 0x3F, 0x40, 0x00, 0x00, // 40 + 0x00, 0x00, 0x06, 0xF8, 0x10, 0x08, 0x07, 0x01, // 41 + 0x24, 0x24, 0x18, 0x7E, 0x18, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0x40, 0xFC, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x14, 0x0C, // 44 + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, // 45 + 0x00, 0x00, 0x0C, 0x0C, // 46 + 0x00, 0x80, 0x70, 0x0C, 0x06, 0x01, 0x00, 0x00, // 47 + 0xE0, 0x18, 0x04, 0x02, 0x02, 0x02, 0xFC, 0x07, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, // 48 + 0x00, 0x00, 0x80, 0x72, 0x0E, 0x08, 0x0C, 0x0B, 0x08, 0x00, // 49 + 0x00, 0x00, 0x04, 0x02, 0x82, 0x62, 0x1C, 0x08, 0x0C, 0x0A, 0x09, 0x08, 0x04, 0x00, // 50 + 0x00, 0x00, 0x44, 0x62, 0x92, 0x0C, 0x0C, 0x08, 0x08, 0x04, 0x03, 0x00, // 51 + 0x80, 0x40, 0x30, 0x08, 0xE4, 0x1E, 0x01, 0x01, 0x01, 0x0D, 0x03, 0x01, // 52 + 0x00, 0x00, 0x10, 0x1E, 0x22, 0xC2, 0x02, 0x0C, 0x08, 0x08, 0x08, 0x06, 0x01, 0x00, // 53 + 0xC0, 0x70, 0x18, 0x14, 0x14, 0xE2, 0x02, 0x07, 0x08, 0x08, 0x08, 0x06, 0x01, 0x00, // 54 + 0x04, 0x02, 0x02, 0xC2, 0x32, 0x0E, 0x02, 0x08, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, // 55 + 0x00, 0x80, 0x5C, 0x22, 0x42, 0xA2, 0x1C, 0x07, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, // 56 + 0x00, 0xF0, 0x0C, 0x02, 0x02, 0x82, 0x7C, 0x08, 0x08, 0x09, 0x05, 0x03, 0x01, 0x00, // 57 + 0x00, 0x00, 0x60, 0x60, 0x0C, 0x0C, 0x00, 0x00, // 58 + 0x00, 0x00, 0x00, 0x60, 0x60, 0x20, 0x14, 0x0C, 0x00, 0x00, // 59 + 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, // 60 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x80, 0x04, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, // 62 + 0x00, 0x0C, 0x82, 0x42, 0x22, 0x1C, 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, // 63 + 0xC0, 0x30, 0x08, 0x04, 0xC4, 0x22, 0x12, 0x12, 0xE2, 0x32, 0x04, 0x08, 0xF0, 0x00, 0x0F, 0x10, 0x20, 0x4F, 0x88, 0x88, 0x84, 0x8F, 0x89, 0x88, 0x44, 0x26, 0x11, 0x08, // 64 + 0x00, 0x00, 0x00, 0x80, 0xE0, 0x98, 0x84, 0xFE, 0x00, 0x08, 0x0C, 0x0B, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x08, // 65 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0x42, 0x42, 0xA2, 0x1C, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, // 66 + 0xE0, 0x18, 0x04, 0x04, 0x02, 0x02, 0x02, 0x04, 0x1C, 0x06, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, 0x00, 0x00, // 67 + 0x00, 0x00, 0x80, 0x72, 0x0E, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x03, 0x00, // 68 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0x42, 0xC2, 0x72, 0x02, 0x0E, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x08, 0x09, 0x0C, 0x02, 0x00, // 69 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0x42, 0xC2, 0x72, 0x02, 0x0E, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // 70 + 0xE0, 0x18, 0x04, 0x04, 0x02, 0x02, 0x02, 0x42, 0xC4, 0x5C, 0x46, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0C, 0x03, 0x00, 0x00, // 71 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0x42, 0x40, 0x40, 0xC0, 0x72, 0x0E, 0x08, 0x0C, 0x0B, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x0B, 0x08, 0x00, // 72 + 0x00, 0x00, 0x80, 0x72, 0x0E, 0x08, 0x0C, 0x0B, 0x08, 0x00, // 73 + 0x00, 0x00, 0x00, 0x00, 0xC2, 0x3A, 0x06, 0x0E, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, // 74 + 0x00, 0x00, 0x80, 0x72, 0xCE, 0x22, 0x10, 0x08, 0x0A, 0x06, 0x02, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x01, 0x0A, 0x0C, 0x08, 0x08, 0x00, // 75 + 0x00, 0x00, 0x80, 0x72, 0x0E, 0x02, 0x02, 0x00, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x08, 0x08, 0x0E, // 76 + 0x00, 0x00, 0x80, 0x72, 0x0E, 0xFC, 0x00, 0x00, 0xC0, 0x20, 0x90, 0x7C, 0x0E, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x0F, 0x06, 0x01, 0x08, 0x0C, 0x0B, 0x08, 0x00, // 77 + 0x00, 0x00, 0x82, 0x72, 0x0E, 0x38, 0xC0, 0x00, 0x00, 0xE2, 0x1E, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x00, 0x03, 0x0C, 0x07, 0x00, 0x00, // 78 + 0xC0, 0x30, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x84, 0x78, 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x02, 0x01, 0x00, // 79 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xC0, 0x30, 0x08, 0x04, 0x02, 0x02, 0x02, 0x02, 0x84, 0x78, 0x47, 0x3C, 0x28, 0x28, 0x48, 0x44, 0x44, 0x22, 0x21, 0x00, // 81 + 0x00, 0x00, 0x80, 0x72, 0x4E, 0xC2, 0x42, 0x22, 0x1C, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x00, 0x03, 0x0C, 0x08, // 82 + 0x00, 0x00, 0x1C, 0x22, 0x42, 0x82, 0x04, 0x1C, 0x0C, 0x07, 0x04, 0x08, 0x08, 0x08, 0x07, 0x00, // 83 + 0x08, 0x06, 0x02, 0x82, 0x72, 0x0E, 0x02, 0x02, 0x00, 0x08, 0x0C, 0x0B, 0x08, 0x00, 0x00, 0x00, // 84 + 0x82, 0x72, 0x0E, 0x02, 0x02, 0x00, 0x00, 0x80, 0x72, 0x0E, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, // 85 + 0xC2, 0x3E, 0x02, 0x82, 0x40, 0x30, 0x0E, 0x06, 0x0F, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // 86 + 0x82, 0x7E, 0x02, 0xC0, 0x32, 0x8A, 0x7E, 0x82, 0x42, 0x30, 0x0A, 0x0F, 0x06, 0x01, 0x00, 0x00, 0x0F, 0x06, 0x01, 0x00, 0x00, 0x00, // 87 + 0x00, 0x00, 0x02, 0x02, 0x9E, 0xE2, 0x20, 0x10, 0x0A, 0x06, 0x08, 0x0C, 0x0A, 0x01, 0x00, 0x08, 0x0F, 0x08, 0x08, 0x00, // 88 + 0x00, 0x02, 0x1E, 0xE2, 0x20, 0x10, 0x0A, 0x08, 0x08, 0x0F, 0x08, 0x00, 0x00, 0x00, // 89 + 0x00, 0x00, 0x0E, 0x82, 0x42, 0x22, 0x1A, 0x06, 0x02, 0x08, 0x0C, 0x0B, 0x08, 0x08, 0x08, 0x0C, 0x02, 0x00, // 90 + 0x00, 0x00, 0x80, 0x78, 0x06, 0x02, 0x02, 0x60, 0x5C, 0x43, 0x40, 0x00, 0x00, 0x00, // 91 + 0x7E, 0xC0, 0x00, 0x0F, // 92 + 0x00, 0x00, 0x00, 0x02, 0xC2, 0x3A, 0x06, 0x40, 0x40, 0x60, 0x1C, 0x03, 0x00, 0x00, // 93 + 0x40, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x02, 0x0C, 0x00, 0x00, // 96 + 0x00, 0x80, 0x40, 0x20, 0x20, 0xC0, 0x60, 0x0F, 0x08, 0x08, 0x04, 0x0E, 0x0B, 0x04, // 97 + 0x00, 0x80, 0x72, 0x4E, 0x20, 0x20, 0xC0, 0x04, 0x0B, 0x08, 0x08, 0x04, 0x06, 0x01, // 98 + 0x00, 0xC0, 0x40, 0x20, 0x20, 0x60, 0x07, 0x08, 0x08, 0x08, 0x04, 0x00, // 99 + 0x00, 0x80, 0x40, 0x20, 0x20, 0xC0, 0x72, 0x0E, 0x0F, 0x08, 0x08, 0x04, 0x0E, 0x0B, 0x04, 0x00, // 100 + 0x00, 0xC0, 0x40, 0x20, 0x20, 0xE0, 0x07, 0x0A, 0x0A, 0x09, 0x05, 0x00, // 101 + 0x00, 0x20, 0xA0, 0x70, 0x2C, 0x20, 0x1C, 0x03, 0x00, 0x00, // 102 + 0x00, 0xC0, 0x40, 0x20, 0x20, 0x20, 0xE0, 0x20, 0x30, 0x4D, 0x4A, 0x4A, 0x4A, 0x51, 0x30, 0x00, // 103 + 0x00, 0x80, 0x72, 0x8E, 0x40, 0x20, 0xE0, 0x0C, 0x03, 0x01, 0x00, 0x0C, 0x0B, 0x04, // 104 + 0x20, 0xA0, 0x64, 0x0C, 0x0B, 0x04, // 105 + 0x00, 0x00, 0xA0, 0x64, 0x20, 0x1C, 0x03, 0x00, // 106 + 0x00, 0x80, 0x72, 0x8E, 0x60, 0x20, 0x20, 0x20, 0x0C, 0x03, 0x01, 0x03, 0x0C, 0x08, 0x04, 0x00, // 107 + 0x00, 0x80, 0x72, 0x0E, 0x0C, 0x0B, 0x04, 0x00, // 108 + 0x00, 0xA0, 0x60, 0x80, 0x40, 0x20, 0xE0, 0x80, 0x40, 0x20, 0xE0, 0x0C, 0x03, 0x01, 0x00, 0x0C, 0x03, 0x01, 0x00, 0x0C, 0x0B, 0x04, // 109 + 0x00, 0x20, 0xE0, 0x80, 0x40, 0x20, 0xE0, 0x0C, 0x03, 0x01, 0x00, 0x0C, 0x0B, 0x04, // 110 + 0x00, 0xC0, 0x40, 0x20, 0x20, 0x20, 0xC0, 0x07, 0x08, 0x08, 0x08, 0x04, 0x06, 0x01, // 111 + 0x20, 0xA0, 0xE0, 0x40, 0x20, 0x20, 0xC0, 0x5C, 0x0B, 0x08, 0x08, 0x04, 0x02, 0x01, // 112 + 0x00, 0x80, 0x40, 0x20, 0x20, 0xC0, 0x60, 0x07, 0x08, 0x48, 0x64, 0x5E, 0x03, 0x00, // 113 + 0x00, 0xA0, 0xE0, 0x40, 0x20, 0x60, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0xC0, 0x20, 0x20, 0x20, 0x60, 0x0E, 0x08, 0x09, 0x09, 0x06, 0x00, // 115 + 0x00, 0xA0, 0x70, 0x28, 0x0C, 0x0B, 0x08, 0x04, // 116 + 0x40, 0xA0, 0x60, 0x00, 0x00, 0x80, 0x60, 0x0C, 0x0B, 0x08, 0x04, 0x0E, 0x0B, 0x04, // 117 + 0x20, 0x60, 0xC0, 0x00, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x0F, 0x04, 0x02, 0x01, 0x00, // 118 + 0x20, 0x60, 0xC0, 0x00, 0x00, 0x80, 0xE0, 0x00, 0x20, 0xE0, 0x00, 0x00, 0x0F, 0x02, 0x01, 0x00, 0x0F, 0x04, 0x03, 0x00, // 119 + 0x00, 0x20, 0x20, 0xE0, 0x40, 0x20, 0x20, 0x08, 0x0C, 0x02, 0x01, 0x0E, 0x08, 0x00, // 120 + 0x20, 0x60, 0xC0, 0x00, 0x00, 0xA0, 0x60, 0x20, 0x10, 0x0F, 0x04, 0x02, 0x01, 0x00, // 121 + 0x40, 0x20, 0x20, 0xA0, 0x60, 0x20, 0x0C, 0x0A, 0x09, 0x08, 0x04, 0x00, // 122 + 0x80, 0x40, 0x38, 0x0C, 0x02, 0x38, 0x47, 0x00, 0x00, 0x00, // 123 + 0xFE, 0xFF, // 124 + 0x00, 0x00, 0x00, 0xE2, 0x1C, 0x40, 0x30, 0x1C, 0x02, 0x01, // 125 + 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0F // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12.h new file mode 100644 index 0000000..9f788b0 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12.h @@ -0,0 +1,161 @@ +/* + * + * Verdana12 + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Verdana12.h + * Date : 10.11.2012 + * Font size in bytes : 6546 + * Font width : 10 + * Font height : 12 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Verdana12_H +#define _Verdana12_H + +#define _Verdana12_WIDTH 10 +#define _Verdana12_HEIGHT 12 + +GLCDFONTDECL(Verdana12) = { + 0x19, 0x92, // size + 0x0A, // width + 0x0C, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x01, 0x04, 0x08, 0x06, 0x0B, 0x08, 0x01, 0x03, 0x03, + 0x05, 0x07, 0x02, 0x04, 0x01, 0x05, 0x06, 0x05, 0x06, 0x06, + 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x02, 0x07, 0x07, + 0x07, 0x05, 0x0A, 0x08, 0x06, 0x07, 0x07, 0x06, 0x06, 0x07, + 0x07, 0x03, 0x04, 0x06, 0x06, 0x08, 0x07, 0x08, 0x06, 0x08, + 0x07, 0x06, 0x07, 0x07, 0x08, 0x0B, 0x06, 0x07, 0x06, 0x03, + 0x05, 0x03, 0x08, 0x08, 0x02, 0x06, 0x06, 0x05, 0x06, 0x06, + 0x04, 0x06, 0x06, 0x01, 0x03, 0x05, 0x01, 0x09, 0x06, 0x06, + 0x06, 0x06, 0x04, 0x05, 0x05, 0x06, 0x05, 0x09, 0x05, 0x05, + 0x05, 0x05, 0x01, 0x05, 0x08, 0x09, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xFE, 0x20, // 33 + 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, // 34 + 0x80, 0x90, 0xF8, 0x96, 0x90, 0xF8, 0x96, 0x10, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 35 + 0x18, 0x24, 0xFF, 0x44, 0x44, 0x84, 0x20, 0x20, 0xF0, 0x20, 0x20, 0x10, // 36 + 0x1C, 0x22, 0x22, 0x1C, 0x80, 0x70, 0x0C, 0xC2, 0x20, 0x20, 0xC0, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x10, 0x20, 0x20, 0x10, // 37 + 0xDC, 0x22, 0x22, 0x22, 0x5C, 0x80, 0x60, 0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x20, // 38 + 0x07, 0x00, // 39 + 0xF8, 0x06, 0x01, 0x10, 0x60, 0x80, // 40 + 0x01, 0x06, 0xF8, 0x80, 0x60, 0x10, // 41 + 0x0A, 0x04, 0x1F, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0xF8, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x80, 0x70, // 44 + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x30, // 46 + 0x00, 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x00, 0x00, 0x00, // 47 + 0xFC, 0x02, 0x02, 0x02, 0x02, 0xFC, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 48 + 0x04, 0x04, 0xFE, 0x00, 0x00, 0x20, 0x20, 0x30, 0x20, 0x20, // 49 + 0x0C, 0x82, 0x42, 0x42, 0x22, 0x1C, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 50 + 0x04, 0x02, 0x22, 0x22, 0x22, 0xDC, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 51 + 0x60, 0x50, 0x48, 0x44, 0xFE, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 52 + 0x1E, 0x12, 0x12, 0x12, 0x12, 0xE2, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 53 + 0xF8, 0x14, 0x12, 0x12, 0x12, 0xE0, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 54 + 0x02, 0x02, 0x82, 0x62, 0x1A, 0x06, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, // 55 + 0xDC, 0x22, 0x22, 0x22, 0x22, 0xDC, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 56 + 0x3C, 0x42, 0x42, 0x42, 0x42, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x10, 0x00, // 57 + 0x18, 0x30, // 58 + 0x00, 0x18, 0x80, 0x70, // 59 + 0x40, 0xA0, 0xA0, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x20, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x08, 0x08, 0x10, 0x10, 0xA0, 0xA0, 0x40, 0x20, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, // 62 + 0x04, 0x02, 0xE2, 0x22, 0x1C, 0x00, 0x00, 0x20, 0x00, 0x00, // 63 + 0xF0, 0x0C, 0x04, 0xF2, 0x0A, 0x0A, 0xFA, 0x04, 0x0C, 0xF0, 0x00, 0x30, 0x20, 0x40, 0x50, 0x50, 0x50, 0x10, 0x10, 0x00, // 64 + 0x00, 0xE0, 0x98, 0x86, 0x86, 0x98, 0xE0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, // 65 + 0xFE, 0x22, 0x22, 0x22, 0x3C, 0xC0, 0x30, 0x20, 0x20, 0x20, 0x20, 0x10, // 66 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 67 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x30, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // 68 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 69 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF8, 0x04, 0x02, 0x02, 0x22, 0x22, 0xE4, 0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 71 + 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, // 72 + 0x02, 0xFE, 0x02, 0x20, 0x30, 0x20, // 73 + 0x00, 0x02, 0x02, 0xFE, 0x20, 0x20, 0x20, 0x10, // 74 + 0xFE, 0x20, 0x50, 0x88, 0x04, 0x02, 0x30, 0x00, 0x00, 0x00, 0x10, 0x20, // 75 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 76 + 0xFE, 0x06, 0x38, 0xC0, 0xC0, 0x38, 0x06, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, // 77 + 0xFE, 0x06, 0x18, 0x20, 0xC0, 0x00, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, // 78 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // 79 + 0xFE, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x10, 0x20, 0x20, 0x20, 0x60, 0x90, 0x80, // 81 + 0xFE, 0x22, 0x22, 0x62, 0xA2, 0x1C, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, // 82 + 0x1C, 0x22, 0x22, 0x22, 0x22, 0xC4, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 83 + 0x02, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 84 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 85 + 0x06, 0x38, 0xC0, 0x00, 0x00, 0xC0, 0x38, 0x06, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, // 86 + 0x1E, 0xE0, 0x00, 0xC0, 0x38, 0x06, 0x38, 0xC0, 0x00, 0xE0, 0x1E, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 87 + 0x06, 0x88, 0x70, 0x70, 0x88, 0x06, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, // 88 + 0x02, 0x0C, 0x10, 0xE0, 0x10, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 89 + 0x02, 0x82, 0x62, 0x12, 0x0A, 0x06, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 90 + 0xFF, 0x01, 0x01, 0xF0, 0x80, 0x80, // 91 + 0x03, 0x1C, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0xC0, // 92 + 0x01, 0x01, 0xFF, 0x80, 0x80, 0xF0, // 93 + 0x10, 0x08, 0x04, 0x02, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0x80, 0x48, 0x48, 0x48, 0x48, 0xF0, 0x10, 0x20, 0x20, 0x20, 0x20, 0x30, // 97 + 0xFF, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x30, 0x20, 0x20, 0x20, 0x20, 0x10, // 98 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x10, // 99 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xFF, 0x10, 0x20, 0x20, 0x20, 0x10, 0x30, // 100 + 0xF0, 0x48, 0x48, 0x48, 0x48, 0x70, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 101 + 0x08, 0xFE, 0x09, 0x09, 0x00, 0x30, 0x00, 0x00, // 102 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xF8, 0x10, 0xA0, 0xA0, 0xA0, 0x90, 0x70, // 103 + 0xFF, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, // 104 + 0xF9, 0x30, // 105 + 0x00, 0x08, 0xF9, 0x80, 0x80, 0x70, // 106 + 0xFF, 0x40, 0xA0, 0x10, 0x08, 0x30, 0x00, 0x00, 0x10, 0x20, // 107 + 0xFF, 0x30, // 108 + 0xF8, 0x08, 0x08, 0x08, 0xF0, 0x08, 0x08, 0x08, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, // 109 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, // 110 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, // 111 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0xF0, 0x20, 0x20, 0x20, 0x20, 0x10, // 112 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xF8, 0x10, 0x20, 0x20, 0x20, 0x10, 0xF0, // 113 + 0xF8, 0x10, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00, // 114 + 0x30, 0x48, 0x48, 0x48, 0x88, 0x20, 0x20, 0x20, 0x20, 0x10, // 115 + 0x08, 0xFE, 0x08, 0x08, 0x08, 0x00, 0x10, 0x20, 0x20, 0x20, // 116 + 0xF8, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x10, 0x20, 0x20, 0x20, 0x10, 0x30, // 117 + 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, // 118 + 0x18, 0xE0, 0x00, 0xE0, 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 119 + 0x18, 0xA0, 0x40, 0xA0, 0x18, 0x30, 0x00, 0x00, 0x00, 0x30, // 120 + 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x00, 0x80, 0x70, 0x00, 0x00, // 121 + 0x08, 0x88, 0x48, 0x28, 0x18, 0x30, 0x20, 0x20, 0x20, 0x20, // 122 + 0x20, 0x20, 0xDE, 0x01, 0x01, 0x00, 0x00, 0x70, 0x80, 0x80, // 123 + 0xFF, 0xF0, // 124 + 0x01, 0x01, 0xDE, 0x20, 0x20, 0x80, 0x80, 0x70, 0x00, 0x00, // 125 + 0xC0, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_bold.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_bold.h new file mode 100644 index 0000000..aa58c2c --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_bold.h @@ -0,0 +1,161 @@ +/* + * + * Verdana12_bold + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Verdana12_bold.h + * Date : 10.11.2012 + * Font size in bytes : 7266 + * Font width : 10 + * Font height : 12 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Verdana12_bold_H +#define _Verdana12_bold_H + +#define Verdana12_bold_WIDTH 10 +#define Verdana12_bold_HEIGHT 12 + +GLCDFONTDECL(Verdana12_bold) = { + 0x1C, 0x62, // size + 0x0A, // width + 0x0C, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x02, 0x02, 0x05, 0x08, 0x07, 0x0D, 0x08, 0x02, 0x04, 0x04, + 0x05, 0x07, 0x02, 0x04, 0x02, 0x06, 0x07, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x02, 0x02, 0x07, 0x07, + 0x07, 0x05, 0x0A, 0x07, 0x07, 0x07, 0x08, 0x06, 0x06, 0x08, + 0x08, 0x04, 0x06, 0x07, 0x07, 0x09, 0x08, 0x09, 0x07, 0x09, + 0x08, 0x07, 0x08, 0x08, 0x07, 0x0C, 0x07, 0x08, 0x06, 0x04, + 0x06, 0x04, 0x08, 0x09, 0x03, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x05, 0x06, 0x06, 0x02, 0x04, 0x07, 0x02, 0x0A, 0x06, 0x06, + 0x06, 0x06, 0x05, 0x05, 0x05, 0x06, 0x06, 0x0A, 0x06, 0x06, + 0x05, 0x06, 0x02, 0x06, 0x08, 0x09, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x7E, 0x7E, 0x30, 0x30, // 33 + 0x07, 0x07, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0xC0, 0xD8, 0xF8, 0xDE, 0xD8, 0xF8, 0xDE, 0x18, 0x00, 0x30, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 35 + 0x38, 0x7C, 0x64, 0xFF, 0x64, 0xE4, 0xC8, 0x10, 0x20, 0x20, 0xF0, 0x20, 0x30, 0x10, // 36 + 0x3C, 0x7E, 0x42, 0x7E, 0x3C, 0xC0, 0x20, 0x18, 0xE6, 0xF0, 0x10, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x10, 0x30, 0x20, 0x30, 0x10, // 37 + 0xDC, 0xFE, 0x22, 0x7E, 0xDC, 0x80, 0x60, 0x20, 0x10, 0x30, 0x20, 0x20, 0x20, 0x10, 0x30, 0x20, // 38 + 0x07, 0x07, 0x00, 0x00, // 39 + 0xF8, 0xFE, 0x07, 0x01, 0x10, 0x70, 0xE0, 0x80, // 40 + 0x01, 0x07, 0xFE, 0xF8, 0x80, 0xE0, 0x70, 0x10, // 41 + 0x12, 0x0C, 0x3F, 0x0C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x20, 0x20, 0x20, 0xFC, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0xF0, 0x70, // 44 + 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x00, 0x30, 0x30, // 46 + 0x00, 0x80, 0xE0, 0x7C, 0x1F, 0x03, 0xC0, 0xF0, 0x30, 0x00, 0x00, 0x00, // 47 + 0xFC, 0xFE, 0x02, 0x02, 0x02, 0xFE, 0xFC, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 48 + 0x04, 0x04, 0xFE, 0xFE, 0x00, 0x00, 0x20, 0x20, 0x30, 0x30, 0x20, 0x20, // 49 + 0x04, 0x06, 0x82, 0xC2, 0x62, 0x3E, 0x1C, 0x20, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, // 50 + 0x04, 0x06, 0x22, 0x22, 0x22, 0xFE, 0xDC, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 51 + 0xC0, 0xA0, 0x98, 0x84, 0xFE, 0xFE, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, // 52 + 0x00, 0x1E, 0x1E, 0x12, 0x12, 0xF2, 0xE2, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 53 + 0xF8, 0xFC, 0x16, 0x12, 0x12, 0xF2, 0xE0, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 54 + 0x02, 0x02, 0x82, 0xE2, 0x7A, 0x1E, 0x06, 0x00, 0x20, 0x30, 0x10, 0x00, 0x00, 0x00, // 55 + 0xDC, 0xFE, 0x22, 0x22, 0x22, 0xFE, 0xDC, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 56 + 0x3C, 0x7E, 0x42, 0x42, 0x42, 0xFE, 0xFC, 0x00, 0x20, 0x20, 0x20, 0x30, 0x10, 0x00, // 57 + 0x18, 0x18, 0x30, 0x30, // 58 + 0x18, 0x18, 0xF0, 0x70, // 59 + 0x60, 0x60, 0x90, 0x90, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, // 60 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x04, 0x08, 0x08, 0x90, 0x90, 0x60, 0x60, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, // 62 + 0x04, 0x62, 0x72, 0x1E, 0x0C, 0x00, 0x30, 0x30, 0x00, 0x00, // 63 + 0xF0, 0x0C, 0xF4, 0xFA, 0x0A, 0xFA, 0xFA, 0x04, 0x0C, 0xF0, 0x00, 0x30, 0x20, 0x50, 0x50, 0x50, 0x50, 0x10, 0x10, 0x00, // 64 + 0x80, 0xF8, 0xFE, 0x86, 0xFE, 0xF8, 0x80, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, // 65 + 0xFE, 0xFE, 0x22, 0x22, 0x3E, 0xFC, 0xC0, 0x30, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, // 66 + 0xF8, 0xFC, 0x06, 0x02, 0x02, 0x02, 0x04, 0x00, 0x10, 0x30, 0x20, 0x20, 0x20, 0x10, // 67 + 0xFE, 0xFE, 0x02, 0x02, 0x02, 0x06, 0xFC, 0xF8, 0x30, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, 0x00, // 68 + 0xFE, 0xFE, 0x22, 0x22, 0x22, 0x22, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, // 69 + 0xFE, 0xFE, 0x22, 0x22, 0x22, 0x22, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF8, 0xFC, 0x06, 0x02, 0x42, 0x42, 0xC2, 0xC4, 0x00, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x30, // 71 + 0xFE, 0xFE, 0x20, 0x20, 0x20, 0x20, 0xFE, 0xFE, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, // 72 + 0x02, 0xFE, 0xFE, 0x02, 0x20, 0x30, 0x30, 0x20, // 73 + 0x00, 0x02, 0x02, 0x02, 0xFE, 0xFE, 0x20, 0x20, 0x20, 0x20, 0x30, 0x10, // 74 + 0xFE, 0xFE, 0x70, 0xD8, 0x8C, 0x06, 0x02, 0x30, 0x30, 0x00, 0x00, 0x10, 0x30, 0x20, // 75 + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 76 + 0xFE, 0x0E, 0x3C, 0xF0, 0xC0, 0x30, 0x0C, 0xFE, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, // 77 + 0xFE, 0x06, 0x1C, 0x38, 0xE0, 0xC0, 0x00, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x30, // 78 + 0xF8, 0xFC, 0x06, 0x02, 0x02, 0x02, 0x06, 0xFC, 0xF8, 0x00, 0x10, 0x30, 0x20, 0x20, 0x20, 0x30, 0x10, 0x00, // 79 + 0xFE, 0xFE, 0x42, 0x42, 0x42, 0x7E, 0x3C, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF8, 0xFC, 0x06, 0x02, 0x02, 0x02, 0x06, 0xFC, 0xF8, 0x00, 0x10, 0x30, 0x20, 0x60, 0xE0, 0xB0, 0x90, 0x80, // 81 + 0xFE, 0xFE, 0x22, 0x62, 0xE2, 0xBE, 0x1C, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x10, 0x30, 0x20, // 82 + 0x1C, 0x3E, 0x32, 0x22, 0x62, 0xE2, 0xC4, 0x10, 0x20, 0x20, 0x20, 0x20, 0x30, 0x10, // 83 + 0x02, 0x02, 0x02, 0xFE, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, // 84 + 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x10, 0x30, 0x20, 0x20, 0x20, 0x20, 0x30, 0x10, // 85 + 0x0E, 0x7E, 0xF0, 0x80, 0xF0, 0x7E, 0x0E, 0x00, 0x00, 0x30, 0x30, 0x30, 0x00, 0x00, // 86 + 0x0E, 0x7E, 0xF0, 0x80, 0xE0, 0x3E, 0x3E, 0xE0, 0x80, 0xF0, 0x7E, 0x0E, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, // 87 + 0x06, 0x8E, 0xF8, 0x70, 0xF8, 0x8E, 0x06, 0x30, 0x30, 0x00, 0x00, 0x00, 0x30, 0x30, // 88 + 0x06, 0x0E, 0x18, 0xF0, 0xF0, 0x18, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, // 89 + 0x02, 0xC2, 0xF2, 0x3E, 0x0E, 0x02, 0x30, 0x30, 0x20, 0x20, 0x20, 0x20, // 90 + 0xFF, 0xFF, 0x01, 0x01, 0xF0, 0xF0, 0x80, 0x80, // 91 + 0x03, 0x1F, 0x7C, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF0, 0xC0, // 92 + 0x01, 0x01, 0xFF, 0xFF, 0x80, 0x80, 0xF0, 0xF0, // 93 + 0x10, 0x18, 0x0C, 0x06, 0x06, 0x0C, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x03, 0x02, 0x00, 0x00, 0x00, // 96 + 0xC0, 0xE8, 0x28, 0x28, 0xF8, 0xF0, 0x10, 0x30, 0x20, 0x20, 0x30, 0x30, // 97 + 0xFF, 0xFF, 0x08, 0x08, 0xF8, 0xF0, 0x30, 0x30, 0x20, 0x20, 0x30, 0x10, // 98 + 0xF0, 0xF8, 0x08, 0x08, 0x08, 0x10, 0x10, 0x30, 0x20, 0x20, 0x20, 0x10, // 99 + 0xF0, 0xF8, 0x08, 0x08, 0xFF, 0xFF, 0x10, 0x30, 0x20, 0x20, 0x30, 0x30, // 100 + 0xF0, 0xF8, 0x48, 0x48, 0x78, 0x70, 0x10, 0x30, 0x20, 0x20, 0x20, 0x10, // 101 + 0x08, 0xFE, 0xFF, 0x09, 0x09, 0x00, 0x30, 0x30, 0x00, 0x00, // 102 + 0xF0, 0xF8, 0x08, 0x08, 0xF8, 0xF8, 0x10, 0xB0, 0xA0, 0xA0, 0xF0, 0x70, // 103 + 0xFF, 0xFF, 0x08, 0x08, 0xF8, 0xF0, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // 104 + 0xFB, 0xFB, 0x30, 0x30, // 105 + 0x00, 0x08, 0xFB, 0xFB, 0x80, 0x80, 0xF0, 0x70, // 106 + 0xFF, 0xFF, 0x60, 0xF0, 0x98, 0x08, 0x00, 0x30, 0x30, 0x00, 0x00, 0x10, 0x30, 0x20, // 107 + 0xFF, 0xFF, 0x30, 0x30, // 108 + 0xF8, 0xF8, 0x10, 0x08, 0xF8, 0xF0, 0x10, 0x08, 0xF8, 0xF0, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // 109 + 0xF8, 0xF8, 0x08, 0x08, 0xF8, 0xF0, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // 110 + 0xF0, 0xF8, 0x08, 0x08, 0xF8, 0xF0, 0x10, 0x30, 0x20, 0x20, 0x30, 0x10, // 111 + 0xF8, 0xF8, 0x08, 0x08, 0xF8, 0xF0, 0xF0, 0xF0, 0x20, 0x20, 0x30, 0x10, // 112 + 0xF0, 0xF8, 0x08, 0x08, 0xF8, 0xF8, 0x10, 0x30, 0x20, 0x20, 0xF0, 0xF0, // 113 + 0xF8, 0xF8, 0x10, 0x18, 0x18, 0x30, 0x30, 0x00, 0x00, 0x00, // 114 + 0x30, 0x78, 0x48, 0xC8, 0x88, 0x20, 0x20, 0x20, 0x30, 0x10, // 115 + 0x08, 0xFE, 0xFE, 0x08, 0x08, 0x00, 0x10, 0x30, 0x20, 0x20, // 116 + 0xF8, 0xF8, 0x00, 0x00, 0xF8, 0xF8, 0x10, 0x30, 0x20, 0x20, 0x30, 0x30, // 117 + 0x38, 0xF8, 0xC0, 0xC0, 0xF8, 0x38, 0x00, 0x10, 0x30, 0x30, 0x10, 0x00, // 118 + 0x78, 0xF8, 0x80, 0xC0, 0x38, 0x38, 0xC0, 0x80, 0xF8, 0x78, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, // 119 + 0x18, 0xB8, 0xE0, 0xE0, 0xB8, 0x18, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, // 120 + 0x38, 0xF8, 0xC0, 0xC0, 0xF8, 0x38, 0x00, 0x90, 0xF0, 0x70, 0x10, 0x00, // 121 + 0x08, 0xC8, 0xE8, 0x78, 0x18, 0x30, 0x30, 0x20, 0x20, 0x20, // 122 + 0x20, 0x20, 0xFE, 0xDF, 0x01, 0x01, 0x00, 0x00, 0x70, 0xF0, 0x80, 0x80, // 123 + 0xFF, 0xFF, 0xF0, 0xF0, // 124 + 0x01, 0x01, 0xDF, 0xFE, 0x20, 0x20, 0x80, 0x80, 0xF0, 0x70, 0x00, 0x00, // 125 + 0xE0, 0x10, 0x10, 0x20, 0x40, 0x80, 0x80, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_italic.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_italic.h new file mode 100644 index 0000000..673998a --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana12_italic.h @@ -0,0 +1,161 @@ +/* + * + * Verdana12_italic + * + * created with GLCDFontCreator + * original framework by F. Maximilian Thiele + * Modified By Siddharth Kaul + * + * + * File Name : Verdana12_italic.h + * Date : 10.11.2012 + * Font size in bytes : 7122 + * Font width : 10 + * Font height : 12 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef _Verdana12_italic_H +#define _Verdana12_italic_H + +#define Verdana12_italic_WIDTH 10 +#define Verdana12_italic_HEIGHT 12 + +GLCDFONTDECL(Verdana12_italic) = { + 0x1B, 0xD2, // size + 0x0A, // width + 0x0C, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x03, 0x03, 0x04, 0x07, 0x07, 0x0B, 0x08, 0x02, 0x04, 0x04, + 0x05, 0x07, 0x02, 0x03, 0x01, 0x05, 0x07, 0x05, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x06, 0x07, 0x07, 0x02, 0x03, 0x07, 0x07, + 0x07, 0x05, 0x0A, 0x07, 0x07, 0x07, 0x08, 0x08, 0x07, 0x08, + 0x09, 0x05, 0x05, 0x08, 0x06, 0x0A, 0x09, 0x07, 0x07, 0x07, + 0x07, 0x08, 0x06, 0x08, 0x07, 0x0B, 0x08, 0x06, 0x08, 0x05, + 0x03, 0x05, 0x07, 0x07, 0x02, 0x06, 0x06, 0x06, 0x07, 0x06, + 0x04, 0x06, 0x07, 0x03, 0x03, 0x06, 0x03, 0x0B, 0x07, 0x06, + 0x06, 0x06, 0x05, 0x06, 0x04, 0x07, 0x05, 0x08, 0x07, 0x05, + 0x06, 0x06, 0x01, 0x06, 0x07, 0x09, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 + 0x00, 0xF0, 0x0E, 0x20, 0x00, 0x00, // 33 + 0x06, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, // 34 + 0x40, 0xC8, 0x78, 0xCE, 0x78, 0x4E, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // 35 + 0x00, 0x18, 0x24, 0xFC, 0x47, 0x84, 0x08, 0x10, 0x20, 0xE0, 0x30, 0x20, 0x10, 0x00, // 36 + 0x18, 0x24, 0x22, 0x92, 0x4C, 0x20, 0x90, 0x48, 0x24, 0x22, 0xC0, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x10, 0x20, 0x20, 0x10, 0x00, // 37 + 0xC0, 0x3C, 0x22, 0x22, 0x52, 0x8C, 0x40, 0x20, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, 0x10, 0x20, // 38 + 0x06, 0x01, 0x00, 0x00, // 39 + 0xE0, 0x18, 0x06, 0x01, 0x70, 0x80, 0x00, 0x00, // 40 + 0x00, 0x00, 0x81, 0x7E, 0x80, 0x60, 0x10, 0x00, // 41 + 0x0A, 0x04, 0x1F, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0xF8, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, // 43 + 0x00, 0x00, 0x80, 0x70, // 44 + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, // 45 + 0x00, 0x30, // 46 + 0x00, 0x80, 0x60, 0x18, 0x04, 0x20, 0x10, 0x00, 0x00, 0x00, // 47 + 0xE0, 0x18, 0x04, 0x02, 0x02, 0xC2, 0x3C, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 48 + 0x00, 0x00, 0x84, 0x74, 0x0E, 0x20, 0x20, 0x30, 0x20, 0x20, // 49 + 0x00, 0x84, 0x42, 0x42, 0x22, 0x22, 0x1C, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, // 50 + 0x00, 0x00, 0x04, 0x22, 0x22, 0xD2, 0x0C, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // 51 + 0x40, 0x60, 0x50, 0x48, 0xC4, 0x72, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 52 + 0x00, 0x18, 0x16, 0x12, 0x12, 0xE2, 0x02, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 53 + 0xF0, 0x28, 0x14, 0x14, 0x12, 0x12, 0xE2, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // 54 + 0x02, 0x82, 0x42, 0x32, 0x0A, 0x06, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, // 55 + 0x80, 0x58, 0x24, 0x22, 0x22, 0xD2, 0x0C, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 56 + 0x38, 0x44, 0x42, 0x42, 0x42, 0xA2, 0x7C, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 57 + 0x00, 0x18, 0x30, 0x00, // 58 + 0x00, 0x00, 0x18, 0x80, 0x70, 0x00, // 59 + 0x40, 0xA0, 0xA0, 0x10, 0x10, 0x08, 0x08, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x20, // 60 + 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x08, 0x08, 0x10, 0x10, 0xA0, 0xA0, 0x40, 0x20, 0x20, 0x10, 0x10, 0x00, 0x00, 0x00, // 62 + 0x04, 0xC2, 0x22, 0x22, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0xE4, 0x14, 0x0A, 0x0A, 0xCA, 0x3A, 0x84, 0x78, 0x10, 0x20, 0x40, 0x50, 0x50, 0x50, 0x10, 0x10, 0x00, 0x00, // 64 + 0x00, 0xC0, 0x60, 0x58, 0x44, 0x42, 0xFE, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, // 65 + 0x80, 0x70, 0x2E, 0x22, 0x22, 0x32, 0xCC, 0x30, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, // 66 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 67 + 0x80, 0x70, 0x0E, 0x02, 0x02, 0x02, 0x84, 0x78, 0x30, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 68 + 0x80, 0x70, 0x2E, 0x22, 0x22, 0x22, 0x22, 0x02, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 69 + 0x80, 0x70, 0x2E, 0x22, 0x22, 0x22, 0x22, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0x08, 0x04, 0x02, 0x42, 0x42, 0xC2, 0x04, 0x00, 0x10, 0x20, 0x20, 0x20, 0x30, 0x00, 0x00, // 71 + 0x80, 0x70, 0x2E, 0x20, 0x20, 0x20, 0xA0, 0x70, 0x0E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 72 + 0x00, 0x80, 0x72, 0x0E, 0x02, 0x20, 0x30, 0x20, 0x00, 0x00, // 73 + 0x00, 0x00, 0x82, 0x72, 0x0E, 0x20, 0x20, 0x10, 0x00, 0x00, // 74 + 0x80, 0x70, 0x2E, 0x60, 0x90, 0x08, 0x04, 0x02, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, // 75 + 0x80, 0x70, 0x0E, 0x00, 0x00, 0x00, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, // 76 + 0x80, 0x70, 0x0E, 0x18, 0xE0, 0x40, 0x30, 0x88, 0x74, 0x0E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 77 + 0x80, 0x70, 0x0E, 0x18, 0x20, 0xC0, 0x80, 0x70, 0x0E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 78 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x84, 0x78, 0x00, 0x10, 0x20, 0x20, 0x10, 0x00, 0x00, // 79 + 0x80, 0x70, 0x4E, 0x42, 0x42, 0x22, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF0, 0x08, 0x04, 0x02, 0x02, 0x84, 0x78, 0x00, 0x10, 0x20, 0x20, 0x50, 0x80, 0x80, // 81 + 0x80, 0x70, 0x4E, 0x42, 0xC2, 0x22, 0x1C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, // 82 + 0x00, 0x18, 0x24, 0x22, 0x22, 0x22, 0xC2, 0x04, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 83 + 0x02, 0x82, 0x72, 0x0E, 0x02, 0x02, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, // 84 + 0xE0, 0x1E, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0E, 0x10, 0x20, 0x20, 0x20, 0x20, 0x10, 0x00, 0x00, // 85 + 0xFE, 0x00, 0x80, 0x40, 0x30, 0x08, 0x06, 0x30, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, // 86 + 0xFE, 0x00, 0xC0, 0x30, 0x0C, 0xFE, 0x00, 0xC0, 0x30, 0x0C, 0x02, 0x30, 0x10, 0x00, 0x00, 0x00, 0x30, 0x10, 0x00, 0x00, 0x00, 0x00, // 87 + 0x00, 0x02, 0x8C, 0x70, 0x70, 0x88, 0x04, 0x02, 0x20, 0x10, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, // 88 + 0x02, 0x9C, 0x60, 0x10, 0x08, 0x04, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0x80, 0x42, 0x22, 0x12, 0x0A, 0x06, 0x02, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, // 90 + 0x00, 0xC0, 0x38, 0x07, 0x01, 0xE0, 0x90, 0x80, 0x00, 0x00, // 91 + 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xF0, // 92 + 0x00, 0x00, 0xC1, 0x39, 0x07, 0x80, 0xE0, 0x10, 0x00, 0x00, // 93 + 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x01, 0x02, 0x00, 0x00, // 96 + 0x80, 0x48, 0x48, 0x48, 0xC8, 0x70, 0x10, 0x20, 0x20, 0x20, 0x30, 0x00, // 97 + 0x80, 0x78, 0x0F, 0x08, 0x08, 0xF0, 0x30, 0x20, 0x20, 0x20, 0x10, 0x00, // 98 + 0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 99 + 0xE0, 0x10, 0x08, 0x08, 0x88, 0x78, 0x07, 0x10, 0x20, 0x20, 0x20, 0x30, 0x00, 0x00, // 100 + 0xE0, 0x50, 0x48, 0x48, 0x48, 0x70, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 101 + 0x88, 0x78, 0x0E, 0x09, 0x30, 0x00, 0x00, 0x00, // 102 + 0xE0, 0x10, 0x08, 0x08, 0x88, 0x78, 0x90, 0xA0, 0xA0, 0xA0, 0x70, 0x00, // 103 + 0x80, 0x78, 0x17, 0x08, 0x08, 0x88, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, // 104 + 0x80, 0x78, 0x02, 0x30, 0x00, 0x00, // 105 + 0x00, 0x88, 0x7A, 0x80, 0x70, 0x00, // 106 + 0x80, 0x78, 0x47, 0xA0, 0x10, 0x08, 0x30, 0x00, 0x00, 0x10, 0x20, 0x00, // 107 + 0x80, 0x78, 0x07, 0x30, 0x00, 0x00, // 108 + 0x80, 0x78, 0x10, 0x08, 0x08, 0xC8, 0x30, 0x08, 0x08, 0x88, 0x70, 0x30, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, // 109 + 0x80, 0x78, 0x10, 0x08, 0x08, 0x88, 0x70, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, // 110 + 0xE0, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 111 + 0x80, 0x78, 0x08, 0x08, 0x08, 0xF0, 0x30, 0x20, 0x20, 0x20, 0x10, 0x00, // 112 + 0xE0, 0x10, 0x08, 0x08, 0x88, 0x78, 0x10, 0x20, 0x20, 0xE0, 0x30, 0x00, // 113 + 0x80, 0x78, 0x10, 0x08, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, // 114 + 0x00, 0x30, 0x48, 0x48, 0x88, 0x10, 0x10, 0x20, 0x20, 0x20, 0x10, 0x00, // 115 + 0xC8, 0x38, 0x0E, 0x08, 0x10, 0x20, 0x20, 0x00, // 116 + 0xC0, 0x38, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x10, 0x20, 0x20, 0x20, 0x10, 0x30, 0x00, // 117 + 0x78, 0x80, 0x80, 0x60, 0x18, 0x00, 0x30, 0x10, 0x00, 0x00, // 118 + 0xF8, 0x00, 0xC0, 0x20, 0xF8, 0x00, 0xE0, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, // 119 + 0x00, 0x08, 0xB0, 0x40, 0xA0, 0x10, 0x08, 0x20, 0x10, 0x00, 0x00, 0x10, 0x20, 0x00, // 120 + 0x78, 0x80, 0x80, 0x60, 0x18, 0x80, 0x70, 0x10, 0x00, 0x00, // 121 + 0x00, 0x88, 0x48, 0x28, 0x18, 0x08, 0x30, 0x20, 0x20, 0x20, 0x20, 0x00, // 122 + 0x20, 0x20, 0xDC, 0x03, 0x01, 0x01, 0x00, 0x70, 0x80, 0x80, 0x00, 0x00, // 123 + 0xFF, 0xF0, // 124 + 0x00, 0x00, 0x01, 0xD9, 0x26, 0x20, 0x80, 0x80, 0x60, 0x10, 0x00, 0x00, // 125 + 0xC0, 0x20, 0x20, 0x40, 0x80, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x30 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana_digits_24.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana_digits_24.h new file mode 100644 index 0000000..a8f1da8 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Verdana_digits_24.h @@ -0,0 +1,116 @@ +/* + * + * Verdana_digits_24 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Verdana_digits_24 + * Date : 01.05.2008 + * Font size in bytes : 3833 + * Font width : 10 + * Font height : 24 + * Font first char : 48 + * Font last char : 59 + * Font used chars : 11 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty +row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef VERDANA24_H +#define VERDANA24_H + +#define VERDANA24_WIDTH 17 +#define VERDANA24_HEIGHT 24 + +/* + * define for backward compatiblity + */ +#define Verdana24 Verdana_digits_24 + +GLCDFONTDECL(Verdana_digits_24) = { + 0x0E, 0xF9, // size + 0x11, // width + 0x18, // height + 0x30, // first char + 0x0B, // char count + + // char widths + 0x10, 0x0D, 0x0F, 0x0F, 0x11, 0x0F, 0x10, 0x10, 0x10, 0x10, + 0x04, + + // font data + 0x80, 0xF0, 0xFC, 0x7E, 0x0E, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1E, +0x7E, 0xFC, 0xF0, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x0F, 0x3F, 0x7E, +0x70, 0xF0, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0, 0x70, 0x7E, 0x3F, 0x0F, 0x01, //48 '0' + + 0x38, 0x38, 0x38, 0x38, 0x3C, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, +0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, // 49 '1' + + 0x00, 0x1E, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1E, 0xFE, +0xFC, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, +0x78, 0x3E, 0x1F, 0x07, 0x01, 0x00, 0xF0, 0xF8, 0xFC, 0xFE, 0xEF, 0xE7, +0xE3, 0xE1, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, // 50 '2' + + 0x00, 0x1E, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1E, +0xFE, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, +0x1E, 0x36, 0x77, 0xF3, 0xE1, 0xC0, 0x78, 0x70, 0x70, 0xF0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xF0, 0x70, 0x78, 0x3F, 0x1F, 0x0F, // 51 '3' + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0xF8, 0x7C, 0x1E, 0xFF, +0xFF, 0xFF, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xFC, 0xFE, 0xDF, 0xC7, 0xC3, +0xC1, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0x01, 0x01, +0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, +0x01, 0x01, 0x01, // 52 '4' + + 0x00, 0xFF, 0xFF, 0xFF, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, +0x07, 0x07, 0x07, 0x00, 0x1F, 0x1F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, +0x1E, 0x1C, 0x3C, 0xF8, 0xF8, 0xE0, 0x78, 0x70, 0x70, 0xF0, 0xE0, 0xE0, +0xE0, 0xE0, 0xE0, 0xF0, 0x70, 0x7C, 0x3F, 0x1F, 0x07, // 53 '5' + + 0x00, 0xC0, 0xF0, 0xF8, 0x3C, 0x1E, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x07, +0x07, 0x0F, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x1C, 0x1C, 0x0E, 0x0E, 0x0E, +0x0E, 0x0E, 0x0E, 0x1E, 0x3C, 0xF8, 0xF8, 0xE0, 0x03, 0x0F, 0x3F, 0x7C, +0x78, 0xF0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x70, 0x78, 0x3F, 0x1F, 0x07, //54 '6' + + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x87, +0xE7, 0xFF, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, +0xF0, 0xFC, 0x3F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, +0xF8, 0xFC, 0x3F, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //55 '7' + + 0x00, 0xF0, 0xFC, 0xFE, 0x0E, 0x0F, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1E, +0xFE, 0xFC, 0xF8, 0x00, 0x80, 0xE0, 0xF3, 0x77, 0x1F, 0x0E, 0x0E, 0x0C, +0x1C, 0x1C, 0x1C, 0x3E, 0x77, 0xF3, 0xE0, 0x80, 0x0F, 0x1F, 0x3F, 0x78, +0x70, 0xF0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x70, 0x78, 0x3F, 0x1F, 0x0F, //56 '8' + + 0xE0, 0xF8, 0xFC, 0x1E, 0x0E, 0x07, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x1E, +0x3E, 0xFC, 0xF0, 0xC0, 0x07, 0x1F, 0x1F, 0x3C, 0x78, 0x70, 0x70, 0x70, +0x70, 0x70, 0x70, 0x38, 0x38, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0xF0, 0xE0, +0xE0, 0xE0, 0xE0, 0xE0, 0x70, 0x70, 0x78, 0x3C, 0x1F, 0x0F, 0x03, 0x00, //57 '9' + + 0xC0, 0xC0, 0xC0, 0xC0, 0x03, 0x03, 0x03, 0x03, 0xF0, 0xF0, 0xF0, 0xF0 // 58 ':' + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/Wendy3x5.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Wendy3x5.h new file mode 100644 index 0000000..a17678a --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/Wendy3x5.h @@ -0,0 +1,146 @@ +/* + * + * Wendy3x5 + * + * + * File Name : Wendy3x5.h + * Date : 2012 / 04 / 05 + * Creator : AustinSaintAubin + * Notes : Based on"Wendy" from DAFont.com + * Font width : 3 + * Font height : 5 + * Font first char : 32 + * Font last char : 127 + * Font used chars : 94 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ +#ifndef Wendy3x5_H +#define Wendy3x5_H + +#define Wendy3x5_WIDTH 3 +#define Wendy3x5_HEIGHT 5 + +GLCDFONTDECL(Wendy3x5) = { + 0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height + 0x03, // width + 0x05, // height + 0x20, // first char + 0x60, // char count + + // Fixed width; char width table not used !!!! + + // font data + 0x00, 0x00, 0x00, // (space) + 0x17, 0x00, 0x00, // ! + 0x03, 0x00, 0x03, // " + 0x0A, 0x1F, 0x0A, // # + 0x16, 0x13, 0x1A, // 0x + 0x09, 0x04, 0x0A, // % + 0x0A, 0x15, 0x1A, // & + 0x03, 0x00, 0x00, // ' + 0x00, 0x0E, 0x11, // ( + 0x11, 0x0E, 0x00, // ) + 0x06, 0x06, 0x00, // * + 0x04, 0x0E, 0x04, // + + 0x0C, 0x1C, 0x00, // , + 0x04, 0x04, 0x04, // - + 0x10, 0x00, 0x00, // . + 0x18, 0x04, 0x03, // / + 0x1F, 0x11, 0x1F, // 0 + 0x02, 0x1F, 0x00, // 1 + 0x1D, 0x15, 0x17, // 2 + 0x15, 0x15, 0x1F, // 3 + 0x0F, 0x08, 0x1E, // 4 + 0x17, 0x15, 0x1D, // 5 + 0x1F, 0x15, 0x1D, // 6 + 0x01, 0x01, 0x1F, // 7 + 0x1F, 0x15, 0x1F, // 8 + 0x17, 0x15, 0x1F, // 9 + 0x00, 0x0A, 0x00, // : + 0x00, 0x1A, 0x00, // ; + 0x04, 0x0A, 0x11, // < + 0x0A, 0x0A, 0x0A, // = + 0x11, 0x0A, 0x04, // > + 0x00, 0x15, 0x07, // ? + 0x1F, 0x15, 0x17, // @ + 0x1F, 0x05, 0x1F, // A + 0x1F, 0x15, 0x1B, // B + 0x1F, 0x11, 0x11, // C + 0x1F, 0x11, 0x0E, // D + 0x1F, 0x15, 0x15, // E + 0x1F, 0x05, 0x01, // F + 0x1F, 0x11, 0x1D, // G + 0x1F, 0x04, 0x1F, // H + 0x11, 0x1F, 0x11, // I + 0x08, 0x10, 0x0F, // J + 0x1F, 0x04, 0x1B, // K + 0x1F, 0x10, 0x10, // L + 0x1F, 0x06, 0x1F, // M + 0x1C, 0x04, 0x1C, // N + 0x1F, 0x11, 0x1F, // O + 0x1F, 0x05, 0x07, // P + 0x0E, 0x19, 0x1E, // Q + 0x1F, 0x05, 0x1B, // R + 0x17, 0x15, 0x1D, // S + 0x01, 0x1F, 0x01, // T + 0x1F, 0x10, 0x1F, // U + 0x0F, 0x10, 0x0F, // V + 0x1F, 0x0C, 0x1F, // W + 0x1B, 0x04, 0x1B, // X + 0x17, 0x14, 0x1F, // Y + 0x19, 0x15, 0x13, // Z + 0x00, 0x1F, 0x11, // [ + 0x03, 0x04, 0x18, // BackSlash + 0x11, 0x1F, 0x00, // ] + 0x06, 0x01, 0x06, // ^ + 0x10, 0x10, 0x10, // _ + 0x01, 0x01, 0x02, // ` + 0x18, 0x14, 0x1C, // a + 0x1F, 0x14, 0x1C, // b + 0x1C, 0x14, 0x14, // c + 0x1C, 0x14, 0x1F, // d + 0x0C, 0x1A, 0x14, // e + 0x04, 0x1E, 0x05, // f + 0x17, 0x15, 0x1E, // g + 0x1F, 0x04, 0x1C, // h + 0x00, 0x1D, 0x00, // i + 0x08, 0x10, 0x0D, // j + 0x1F, 0x0C, 0x1A, // k + 0x00, 0x1F, 0x00, // l + 0x18, 0x0C, 0x18, // m + 0x18, 0x04, 0x18, // n + 0x1E, 0x12, 0x1E, // o + 0x1F, 0x05, 0x07, // p + 0x07, 0x05, 0x1F, // q + 0x1E, 0x04, 0x04, // r + 0x12, 0x15, 0x09, // s + 0x02, 0x1F, 0x02, // t + 0x1C, 0x10, 0x1C, // u + 0x0C, 0x10, 0x0C, // v + 0x0C, 0x18, 0x0C, // w + 0x14, 0x08, 0x14, // x + 0x16, 0x18, 0x06, // y + 0x04, 0x1C, 0x10, // z + 0x04, 0x0E, 0x11, // { + 0x00, 0x1F, 0x00, // | + 0x11, 0x0E, 0x04, // } + 0x02, 0x04, 0x02, // ~ + 0x1F, 0x1F, 0x1F //  +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14.h new file mode 100644 index 0000000..49f35dc --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14.h @@ -0,0 +1,114 @@ +// STARTFONT 2.1 +// COMMENT "$Id: 7x14.bdf,v 1.47 2006-01-05 20:24:11+00 mgk25 Rel $" +// COMMENT "Send bug reports to Markus Kuhn " +// FONT -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 +// +// Note: Pixels are only six columns wide. +// +#ifndef X11fixed7x14_h +#define X11fixed7x14_h + +GLCDFONTDECL(X11fixed7x14) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 6, // width + 14, // height + 0x20, // first char + 0x60, // char count + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // space + 0X00,0X00,0X00,0XFC,0X00,0X00,0X00,0X00,0X00,0X0D,0X00,0X00, // exclam + 0X00,0X00,0X1E,0X00,0X1E,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // quotedbl + 0X00,0X20,0XFC,0X20,0XFC,0X20,0X00,0X01,0X0F,0X01,0X0F,0X01, // numbersign + 0X30,0X48,0X88,0XFC,0X88,0X30,0X06,0X08,0X08,0X1F,0X08,0X07, // dollar + 0X18,0X24,0XA4,0X78,0X10,0X0C,0X0C,0X02,0X07,0X09,0X09,0X06, // percent + 0X00,0XB8,0XC4,0X44,0X38,0X80,0X07,0X08,0X08,0X05,0X06,0X09, // ampersand + 0X00,0X00,0X00,0X1E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // quotesingle + 0X00,0X00,0XE0,0X18,0X04,0X02,0X00,0X00,0X03,0X0C,0X10,0X20, // parenleft + 0X00,0X02,0X04,0X18,0XE0,0X00,0X00,0X20,0X10,0X0C,0X03,0X00, // parenright + 0X00,0X20,0X40,0XF0,0X40,0X20,0X00,0X02,0X01,0X07,0X01,0X02, // asterisk + 0X00,0X80,0X80,0XF0,0X80,0X80,0X00,0X00,0X00,0X07,0X00,0X00, // plus + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X24,0X1C,0X00,0X00, // comma + 0X00,0X80,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00, // hyphen + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X08,0X1C,0X08,0X00, // period + 0X00,0X00,0X00,0XE0,0X18,0X06,0X30,0X0C,0X03,0X00,0X00,0X00, // slash + 0XF0,0X08,0X04,0X04,0X08,0XF0,0X03,0X04,0X08,0X08,0X04,0X03, // zero + 0X00,0X10,0X08,0XFC,0X00,0X00,0X00,0X08,0X08,0X0F,0X08,0X08, // one + 0X18,0X04,0X04,0X04,0XC4,0X38,0X08,0X0C,0X0A,0X09,0X08,0X08, // two + 0X04,0X04,0X44,0X64,0X54,0X8C,0X06,0X08,0X08,0X08,0X08,0X07, // three + 0X00,0XC0,0X30,0X08,0XFC,0X00,0X03,0X02,0X02,0X02,0X0F,0X02, // four + 0X7C,0X24,0X24,0X24,0X24,0XC4,0X06,0X08,0X08,0X08,0X08,0X07, // five + 0XF0,0X88,0X44,0X44,0X44,0X80,0X07,0X08,0X08,0X08,0X08,0X07, // six + 0X04,0X04,0X04,0XC4,0X34,0X0C,0X00,0X0C,0X03,0X00,0X00,0X00, // seven + 0X18,0XA4,0X44,0X44,0XA4,0X18,0X07,0X08,0X08,0X08,0X08,0X07, // eight + 0X78,0X84,0X84,0X84,0X44,0XF8,0X06,0X08,0X08,0X08,0X04,0X03, // nine + 0X00,0X00,0X20,0X70,0X20,0X00,0X00,0X00,0X04,0X0E,0X04,0X00, // colon + 0X00,0X00,0X60,0X60,0X00,0X00,0X00,0X00,0X12,0X0E,0X00,0X00, // semicolon + 0X00,0X80,0X40,0X20,0X10,0X08,0X00,0X00,0X01,0X02,0X04,0X08, // less + 0X20,0X20,0X20,0X20,0X20,0X20,0X01,0X01,0X01,0X01,0X01,0X01, // equal + 0X00,0X08,0X10,0X20,0X40,0X80,0X00,0X08,0X04,0X02,0X01,0X00, // greater + 0X18,0X04,0X04,0XC4,0X24,0X18,0X00,0X00,0X00,0X0D,0X00,0X00, // question + 0XF0,0X08,0XE4,0X14,0X14,0XF8,0X03,0X04,0X09,0X0A,0X0A,0X0B, // at + 0XF0,0X88,0X84,0X84,0X88,0XF0,0X0F,0X00,0X00,0X00,0X00,0X0F, // A + 0XFC,0X44,0X44,0X44,0XA8,0X10,0X0F,0X08,0X08,0X08,0X04,0X03, // B + 0XF8,0X04,0X04,0X04,0X04,0X18,0X07,0X08,0X08,0X08,0X08,0X06, // C + 0XFC,0X04,0X04,0X04,0X08,0XF0,0X0F,0X08,0X08,0X08,0X04,0X03, // D + 0XFC,0X44,0X44,0X44,0X04,0X04,0X0F,0X08,0X08,0X08,0X08,0X08, // E + 0XFC,0X44,0X44,0X44,0X04,0X04,0X0F,0X00,0X00,0X00,0X00,0X00, // F + 0XF8,0X04,0X04,0X84,0X84,0X98,0X07,0X08,0X08,0X08,0X04,0X0F, // G + 0XFC,0X40,0X40,0X40,0X40,0XFC,0X0F,0X00,0X00,0X00,0X00,0X0F, // H + 0X00,0X04,0X04,0XFC,0X04,0X04,0X00,0X08,0X08,0X0F,0X08,0X08, // I + 0X00,0X00,0X00,0X04,0XFC,0X04,0X06,0X08,0X08,0X08,0X07,0X00, // J + 0XFC,0X40,0XA0,0X10,0X08,0X04,0X0F,0X00,0X00,0X01,0X02,0X0C, // K + 0XFC,0X00,0X00,0X00,0X00,0X00,0X0F,0X08,0X08,0X08,0X08,0X08, // L + 0XFC,0X18,0X60,0X60,0X18,0XFC,0X0F,0X00,0X00,0X00,0X00,0X0F, // M + 0XFC,0X30,0X40,0X80,0X00,0XFC,0X0F,0X00,0X00,0X00,0X03,0X0F, // N + 0XF8,0X04,0X04,0X04,0X04,0XF8,0X07,0X08,0X08,0X08,0X08,0X07, // O + 0XFC,0X84,0X84,0X84,0X84,0X78,0X0F,0X00,0X00,0X00,0X00,0X00, // P + 0XF8,0X04,0X04,0X04,0X04,0XF8,0X07,0X09,0X09,0X0A,0X1C,0X27, // Q + 0XFC,0X84,0X84,0X84,0X84,0X78,0X0F,0X00,0X00,0X01,0X02,0X0C, // R + 0X38,0X44,0X44,0X84,0X84,0X18,0X06,0X08,0X08,0X08,0X08,0X07, // S + 0X04,0X04,0X04,0XFC,0X04,0X04,0X00,0X00,0X00,0X0F,0X00,0X00, // T + 0XFC,0X00,0X00,0X00,0X00,0XFC,0X07,0X08,0X08,0X08,0X08,0X07, // U + 0X3C,0XC0,0X00,0X00,0XC0,0X3C,0X00,0X01,0X0E,0X0E,0X01,0X00, // V + 0X00,0XFC,0X00,0X00,0X00,0XFC,0X00,0X07,0X08,0X07,0X08,0X07, // W + 0X0C,0X30,0XC0,0XC0,0X30,0X0C,0X0C,0X03,0X00,0X00,0X03,0X0C, // X + 0X00,0X1C,0X60,0X80,0X60,0X1C,0X00,0X00,0X00,0X0F,0X00,0X00, // Y + 0X04,0X04,0X84,0X64,0X14,0X0C,0X0C,0X0B,0X08,0X08,0X08,0X08, // Z + 0X00,0X00,0XFE,0X02,0X02,0X02,0X00,0X00,0X3F,0X20,0X20,0X20, // bracketleft + 0X06,0X18,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X0C,0X30, // backslash + 0X00,0X02,0X02,0X02,0XFE,0X00,0X00,0X20,0X20,0X20,0X3F,0X00, // bracketright + 0X08,0X04,0X02,0X02,0X04,0X08,0X00,0X00,0X00,0X00,0X00,0X00, // asciicircum + 0X00,0X00,0X00,0X00,0X00,0X00,0X20,0X20,0X20,0X20,0X20,0X20, // underscore + 0X00,0X00,0X02,0X04,0X08,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // grave + 0X40,0X20,0X20,0X20,0X20,0XC0,0X06,0X09,0X09,0X09,0X09,0X0F, // a + 0XFC,0X40,0X20,0X20,0X20,0XC0,0X0F,0X04,0X08,0X08,0X08,0X07, // b + 0XC0,0X20,0X20,0X20,0X20,0X40,0X07,0X08,0X08,0X08,0X08,0X04, // c + 0XC0,0X20,0X20,0X20,0X40,0XFC,0X07,0X08,0X08,0X08,0X04,0X0F, // d + 0XC0,0X20,0X20,0X20,0X20,0XC0,0X07,0X09,0X09,0X09,0X09,0X05, // e + 0X40,0X40,0XF8,0X44,0X44,0X08,0X00,0X00,0X0F,0X00,0X00,0X00, // f + 0XC0,0X20,0X20,0X20,0XC0,0X20,0X19,0X26,0X2A,0X2A,0X29,0X10, // g + 0XFC,0X40,0X20,0X20,0X20,0XC0,0X0F,0X00,0X00,0X00,0X00,0X0F, // h + 0X00,0X00,0X20,0XEC,0X00,0X00,0X00,0X08,0X08,0X0F,0X08,0X08, // i + 0X00,0X00,0X00,0X00,0X20,0XEC,0X00,0X18,0X20,0X20,0X20,0X1F, // j + 0XFC,0X00,0X80,0X40,0X20,0X00,0X0F,0X01,0X01,0X02,0X04,0X08, // k + 0X00,0X00,0X04,0XFC,0X00,0X00,0X00,0X08,0X08,0X0F,0X08,0X08, // l + 0X00,0XE0,0X20,0XC0,0X20,0XC0,0X00,0X0F,0X00,0X07,0X00,0X0F, // m + 0XE0,0X40,0X20,0X20,0X20,0XC0,0X0F,0X00,0X00,0X00,0X00,0X0F, // n + 0XC0,0X20,0X20,0X20,0X20,0XC0,0X07,0X08,0X08,0X08,0X08,0X07, // o + 0XE0,0X40,0X20,0X20,0X20,0XC0,0X3F,0X04,0X08,0X08,0X08,0X07, // p + 0XC0,0X20,0X20,0X20,0X40,0XE0,0X07,0X08,0X08,0X08,0X04,0X3F, // q + 0XE0,0X40,0X20,0X20,0X20,0XC0,0X0F,0X00,0X00,0X00,0X00,0X00, // r + 0X40,0XA0,0X20,0X20,0X20,0X40,0X04,0X08,0X09,0X09,0X0A,0X04, // s + 0X20,0X20,0XFC,0X20,0X20,0X00,0X00,0X00,0X07,0X08,0X08,0X04, // t + 0XE0,0X00,0X00,0X00,0X00,0XE0,0X07,0X08,0X08,0X08,0X04,0X0F, // u + 0X00,0XE0,0X00,0X00,0X00,0XE0,0X00,0X00,0X03,0X0C,0X03,0X00, // v + 0X00,0XE0,0X00,0X80,0X00,0XE0,0X00,0X07,0X08,0X07,0X08,0X07, // w + 0X60,0X80,0X00,0X00,0X80,0X60,0X0C,0X02,0X01,0X01,0X02,0X0C, // x + 0XE0,0X00,0X00,0X00,0X00,0XE0,0X13,0X24,0X24,0X24,0X22,0X1F, // y + 0X20,0X20,0X20,0XA0,0X60,0X20,0X08,0X0C,0X0B,0X08,0X08,0X08, // z + 0X00,0X00,0X80,0X7C,0X02,0X02,0X00,0X00,0X00,0X1F,0X20,0X20, // braceleft + 0X00,0X00,0X00,0XFE,0X00,0X00,0X00,0X00,0X00,0X3F,0X00,0X00, // bar + 0X00,0X02,0X02,0X7C,0X80,0X00,0X00,0X20,0X20,0X1F,0X00,0X00, // braceright + 0X0C,0X02,0X04,0X08,0X10,0X0C,0X00,0X00,0X00,0X00,0X00,0X00, // asciitilde + 0XFE,0XFE,0XFE,0XFE,0XFE,0XFE,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F // del +}; +#endif // X11fixed7x14_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14B.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14B.h new file mode 100644 index 0000000..8e4f176 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/X11fixed7x14B.h @@ -0,0 +1,113 @@ +// STARTFONT 2.1 +// COMMENT "$Id: 7x14B.bdf,v 1.25 2003-07-26 14:55:51+01 mgk25 Rel $" +// COMMENT "Send bug reports to Markus Kuhn " +// FONT -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 +// +// Note: Pixels are only six columns wide. +// +#ifndef X11fixed7x14B_h +#define X11fixed7x14B_h +GLCDFONTDECL(X11fixed7x14B) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 6, // width + 14, // height + 0x20, // first char + 0x60, // char count + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // space + 0X00,0X00,0XFC,0XFC,0X00,0X00,0X00,0X00,0X0D,0X0D,0X00,0X00, // exclam + 0X00,0X1E,0X1E,0X00,0X1E,0X1E,0X00,0X00,0X00,0X00,0X00,0X00, // quotedbl + 0X20,0XFC,0XFC,0XFC,0XFC,0X20,0X01,0X0F,0X0F,0X0F,0X0F,0X01, // numbersign + 0X30,0X48,0XFC,0XFC,0X88,0X30,0X06,0X08,0X1F,0X1F,0X08,0X07, // dollar + 0X18,0X3C,0XA4,0X78,0X1C,0X0C,0X0C,0X0E,0X07,0X09,0X0F,0X06, // percent + 0X00,0XB8,0XFC,0X44,0XFC,0XB8,0X07,0X0F,0X08,0X07,0X0F,0X09, // ampersand + 0X00,0X00,0X1E,0X1E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // quotesingle + 0X00,0XE0,0XF8,0X1C,0X06,0X02,0X00,0X03,0X0F,0X1C,0X30,0X20, // parenleft + 0X00,0X02,0X06,0X1C,0XF8,0XE0,0X00,0X20,0X30,0X1C,0X0F,0X03, // parenright + 0X8C,0X50,0XFC,0XFC,0X50,0X8C,0X01,0X00,0X01,0X01,0X00,0X01, // asterisk + 0X80,0X80,0XF0,0XF0,0X80,0X80,0X00,0X00,0X07,0X07,0X00,0X00, // plus + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X24,0X3C,0X1C,0X00, // comma + 0X80,0X80,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00, // hyphen + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0C,0X0C,0X00,0X00, // period + 0X00,0X00,0XC0,0XF0,0X3E,0X0E,0X38,0X3E,0X07,0X01,0X00,0X00, // slash + 0XF8,0XFC,0X04,0X04,0XFC,0XF8,0X07,0X0F,0X08,0X08,0X0F,0X07, // zero + 0X10,0X18,0XFC,0XFC,0X00,0X00,0X08,0X08,0X0F,0X0F,0X08,0X08, // one + 0X18,0X1C,0X04,0XC4,0XFC,0X38,0X0C,0X0E,0X0B,0X09,0X08,0X08, // two + 0X18,0X1C,0X44,0X44,0XFC,0XB8,0X06,0X0E,0X08,0X08,0X0F,0X07, // three + 0X80,0XC0,0X60,0XF8,0XFC,0X00,0X03,0X03,0X02,0X0F,0X0F,0X02, // four + 0X7C,0X7C,0X24,0X24,0XE4,0XC4,0X06,0X0E,0X08,0X08,0X0F,0X07, // five + 0XF0,0XF8,0X4C,0X44,0XDC,0X98,0X07,0X0F,0X08,0X08,0X0F,0X07, // six + 0X1C,0X1C,0XC4,0XF4,0X3C,0X0C,0X00,0X00,0X0F,0X0F,0X00,0X00, // seven + 0X38,0XFC,0XC4,0XC4,0XFC,0X38,0X07,0X0F,0X08,0X08,0X0F,0X07, // eight + 0X78,0XFC,0X84,0X84,0XFC,0XF8,0X06,0X0E,0X08,0X0C,0X07,0X03, // nine + 0X00,0X00,0X30,0X30,0X00,0X00,0X00,0X00,0X06,0X06,0X00,0X00, // colon + 0X00,0X00,0X00,0X30,0X30,0X00,0X00,0X00,0X12,0X1E,0X0E,0X00, // semicolon + 0X80,0XC0,0X60,0X30,0X18,0X08,0X00,0X01,0X03,0X06,0X0C,0X08, // less + 0X40,0X40,0X40,0X40,0X40,0X40,0X02,0X02,0X02,0X02,0X02,0X02, // equal + 0X08,0X18,0X30,0X60,0XC0,0X80,0X08,0X0C,0X06,0X03,0X01,0X00, // greater + 0X18,0X1C,0XC4,0XE4,0X3C,0X18,0X00,0X00,0X0D,0X0D,0X00,0X00, // question + 0XF0,0XF8,0XEC,0XF4,0X1C,0XF8,0X03,0X07,0X0D,0X0B,0X0A,0X0B, // at + 0XF8,0XFC,0X0C,0X0C,0XFC,0XF8,0X0F,0X0F,0X01,0X01,0X0F,0X0F, // A + 0XFC,0XFC,0X44,0X44,0XFC,0X98,0X0F,0X0F,0X08,0X08,0X0F,0X07, // B + 0XF8,0XFC,0X04,0X04,0X1C,0X18,0X07,0X0F,0X08,0X08,0X0E,0X06, // C + 0XFC,0XFC,0X04,0X0C,0XF8,0XF0,0X0F,0X0F,0X08,0X0C,0X07,0X03, // D + 0XFC,0XFC,0X44,0X44,0X44,0X04,0X0F,0X0F,0X08,0X08,0X08,0X08, // E + 0XFC,0XFC,0X44,0X44,0X44,0X04,0X0F,0X0F,0X00,0X00,0X00,0X00, // F + 0XF8,0XFC,0X04,0X84,0X9C,0X98,0X07,0X0F,0X08,0X08,0X0F,0X07, // G + 0XFC,0XFC,0X40,0X40,0XFC,0XFC,0X0F,0X0F,0X00,0X00,0X0F,0X0F, // H + 0X04,0X04,0XFC,0XFC,0X04,0X04,0X08,0X08,0X0F,0X0F,0X08,0X08, // I + 0X00,0X00,0X00,0X00,0XFC,0XFC,0X06,0X0E,0X08,0X0C,0X07,0X03, // J + 0XFC,0XFC,0XF0,0X98,0X0C,0X04,0X0F,0X0F,0X01,0X03,0X0E,0X0C, // K + 0XFC,0XFC,0X00,0X00,0X00,0X00,0X0F,0X0F,0X08,0X08,0X08,0X08, // L + 0XFC,0XF8,0X60,0X60,0XF8,0XFC,0X0F,0X0F,0X00,0X00,0X0F,0X0F, // M + 0XFC,0XFC,0X70,0X80,0XFC,0XFC,0X0F,0X0F,0X00,0X03,0X0F,0X0F, // N + 0XF8,0XFC,0X04,0X04,0XFC,0XF8,0X07,0X0F,0X08,0X08,0X0F,0X07, // O + 0XFC,0XFC,0X84,0X84,0XFC,0X78,0X0F,0X0F,0X00,0X00,0X00,0X00, // P + 0XF8,0XFC,0X04,0X04,0XFC,0XF8,0X07,0X0F,0X09,0X0A,0X1F,0X37, // Q + 0XFC,0XFC,0X44,0XC4,0XFC,0X38,0X0F,0X0F,0X00,0X00,0X0F,0X0F, // R + 0X18,0X3C,0XE4,0XC4,0X1C,0X18,0X06,0X0E,0X08,0X09,0X0F,0X06, // S + 0X04,0X04,0XFC,0XFC,0X04,0X04,0X00,0X00,0X0F,0X0F,0X00,0X00, // T + 0XFC,0XFC,0X00,0X00,0XFC,0XFC,0X07,0X0F,0X08,0X08,0X0F,0X07, // U + 0XFC,0XFC,0X00,0X00,0XFC,0XFC,0X01,0X07,0X0E,0X0E,0X07,0X01, // V + 0XFC,0XFC,0X80,0X80,0XFC,0XFC,0X07,0X0F,0X07,0X07,0X0F,0X07, // W + 0X0C,0X3C,0XF0,0XF0,0X3C,0X0C,0X0C,0X0F,0X03,0X03,0X0F,0X0C, // X + 0X1C,0X7C,0XE0,0XE0,0X7C,0X1C,0X00,0X00,0X0F,0X0F,0X00,0X00, // Y + 0X04,0X04,0XC4,0XF4,0X3C,0X0C,0X0C,0X0F,0X0B,0X08,0X08,0X08, // Z + 0X00,0XFE,0XFE,0X02,0X02,0X02,0X00,0X3F,0X3F,0X20,0X20,0X20, // bracketleft + 0X0E,0X3E,0XF0,0XC0,0X00,0X00,0X00,0X00,0X01,0X07,0X3E,0X38, // backslash + 0X00,0X02,0X02,0X02,0XFE,0XFE,0X00,0X20,0X20,0X20,0X3F,0X3F, // bracketright + 0X04,0X06,0X03,0X03,0X06,0X04,0X00,0X00,0X00,0X00,0X00,0X00, // asciicircum + 0X00,0X00,0X00,0X00,0X00,0X00,0X30,0X30,0X30,0X30,0X30,0X30, // underscore + 0X00,0X02,0X06,0X0C,0X08,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // grave + 0X40,0X60,0X20,0XA0,0XE0,0XC0,0X06,0X0F,0X09,0X08,0X0F,0X0F, // a + 0XFC,0XFC,0X20,0X20,0XE0,0XC0,0X0F,0X0F,0X08,0X08,0X0F,0X07, // b + 0XC0,0XE0,0X20,0X20,0X60,0X40,0X07,0X0F,0X08,0X08,0X0C,0X04, // c + 0XC0,0XE0,0X20,0X20,0XFC,0XFC,0X07,0X0F,0X08,0X08,0X0F,0X0F, // d + 0XC0,0XE0,0X20,0X20,0XE0,0XC0,0X07,0X0F,0X09,0X09,0X0D,0X05, // e + 0X40,0X40,0XF8,0XFC,0X4C,0X48,0X00,0X00,0X0F,0X0F,0X00,0X00, // f + 0XC0,0XE0,0X20,0XE0,0XC0,0X60,0X19,0X3F,0X2A,0X2B,0X39,0X10, // g + 0XFC,0XFC,0X20,0X20,0XE0,0XC0,0X0F,0X0F,0X00,0X00,0X0F,0X0F, // h + 0X00,0X00,0XEC,0XEC,0X00,0X00,0X00,0X00,0X0F,0X0F,0X00,0X00, // i + 0X00,0X00,0X00,0X00,0XEC,0XEC,0X00,0X10,0X30,0X20,0X3F,0X1F, // j + 0XFC,0XFC,0X80,0XC0,0X60,0X00,0X0F,0X0F,0X01,0X03,0X06,0X0C, // k + 0X00,0X00,0XFC,0XFC,0X00,0X00,0X00,0X00,0X0F,0X0F,0X00,0X00, // l + 0XE0,0XE0,0XC0,0XE0,0XE0,0XC0,0X0F,0X0F,0X07,0X07,0X0F,0X0F, // m + 0XE0,0XE0,0X20,0X20,0XE0,0XC0,0X0F,0X0F,0X00,0X00,0X0F,0X0F, // n + 0XC0,0XE0,0X20,0X20,0XE0,0XC0,0X07,0X0F,0X08,0X08,0X0F,0X07, // o + 0XE0,0XE0,0X20,0X20,0XE0,0XC0,0X3F,0X3F,0X08,0X08,0X0F,0X07, // p + 0XC0,0XE0,0X20,0X20,0XE0,0XE0,0X07,0X0F,0X08,0X08,0X3F,0X3F, // q + 0XE0,0XE0,0X20,0X20,0XE0,0XC0,0X0F,0X0F,0X00,0X00,0X00,0X00, // r + 0X40,0XE0,0XA0,0X20,0X60,0X40,0X04,0X0C,0X09,0X0B,0X0E,0X04, // s + 0X20,0X20,0XFC,0XFC,0X20,0X20,0X00,0X00,0X07,0X0F,0X08,0X08, // t + 0XE0,0XE0,0X00,0X00,0XE0,0XE0,0X07,0X0F,0X08,0X08,0X0F,0X0F, // u + 0XE0,0XE0,0X00,0X00,0XE0,0XE0,0X00,0X03,0X0F,0X0F,0X03,0X00, // v + 0XE0,0XE0,0X80,0X80,0XE0,0XE0,0X07,0X0F,0X07,0X07,0X0F,0X07, // w + 0X60,0XE0,0X80,0X80,0XE0,0X60,0X0C,0X0E,0X03,0X03,0X0E,0X0C, // x + 0X60,0XE0,0X80,0X00,0XE0,0XE0,0X10,0X31,0X27,0X3E,0X1F,0X01, // y + 0X20,0X20,0X20,0XA0,0XE0,0X60,0X0C,0X0E,0X0B,0X09,0X08,0X08, // z + 0X00,0X80,0XFC,0X7E,0X02,0X02,0X00,0X00,0X1F,0X3F,0X20,0X20, // braceleft + 0X00,0X00,0XFE,0XFE,0X00,0X00,0X00,0X00,0X3F,0X3F,0X00,0X00, // bar + 0X00,0X02,0X02,0X7E,0XFC,0X80,0X00,0X20,0X20,0X3F,0X1F,0X00, // braceright + 0X1C,0X06,0X0C,0X0C,0X18,0X0E,0X00,0X00,0X00,0X00,0X00,0X00, // asciitilde + 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F // del +}; +#endif // X11fixed7x14B_h diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/ZevvPeep8x16.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/ZevvPeep8x16.h new file mode 100644 index 0000000..ddddd2b --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/ZevvPeep8x16.h @@ -0,0 +1,109 @@ +// STARTFONT 2.1 +// FONT -zevv-peep-Medium-R-Normal--16-140-75-75-C-80-ISO8859-1 +#ifndef font8x16_h +#define font8x16_h + +GLCDFONTDECL(ZevvPeep8x16) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 7, // width + 14, // height + 0x20, // first char + 0x60, // char count + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // ' ' + 0X00,0X00,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X0D,0X00,0X00,0X00,0X00, // '!' + 0X00,0X3C,0X00,0X3C,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '"' + 0X20,0XF8,0X20,0X20,0XF8,0X20,0X00,0X01,0X07,0X01,0X01,0X07,0X01,0X00, // '#' + 0X60,0X90,0XF8,0X90,0X10,0X00,0X00,0X04,0X04,0X0F,0X04,0X03,0X00,0X00, // '$' + 0X18,0X24,0X98,0X60,0X10,0X0C,0X00,0X0C,0X02,0X01,0X06,0X09,0X06,0X00, // '%' + 0X30,0XC8,0XC8,0X30,0X00,0X00,0X00,0X07,0X08,0X08,0X09,0X06,0X09,0X00, // '&' + 0X00,0X00,0X3C,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // ''' + 0X00,0X00,0XE0,0X18,0X04,0X02,0X00,0X00,0X00,0X03,0X0C,0X10,0X20,0X00, // '(' + 0X02,0X04,0X18,0XE0,0X00,0X00,0X00,0X20,0X10,0X0C,0X03,0X00,0X00,0X00, // ')' + 0X80,0XA0,0XC0,0XC0,0XA0,0X80,0X00,0X00,0X02,0X01,0X01,0X02,0X00,0X00, // '*' + 0X80,0X80,0X80,0XF0,0X80,0X80,0X80,0X00,0X00,0X00,0X07,0X00,0X00,0X00, // '+' + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X20,0X18,0X0C,0X04,0X00,0X00,0X00, // ',' + 0X80,0X80,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '-' + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X08,0X1C,0X08,0X00,0X00,0X00, // '.' + 0X00,0X00,0X80,0X60,0X18,0X06,0X00,0X18,0X06,0X01,0X00,0X00,0X00,0X00, // '/' + 0XF0,0X08,0X84,0X44,0X08,0XF0,0X00,0X03,0X04,0X08,0X08,0X04,0X03,0X00, // '0' + 0X20,0X10,0X08,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X00,0X00,0X00, // '1' + 0X18,0X04,0X04,0X84,0X44,0X38,0X00,0X0C,0X0A,0X09,0X08,0X08,0X08,0X00, // '2' + 0X08,0X04,0X44,0X44,0X44,0XB8,0X00,0X06,0X08,0X08,0X08,0X08,0X07,0X00, // '3' + 0X80,0X60,0X18,0X04,0XFC,0X00,0X00,0X01,0X01,0X01,0X01,0X0F,0X01,0X00, // '4' + 0X7C,0X24,0X24,0X24,0X24,0XC4,0X00,0X06,0X08,0X08,0X08,0X08,0X07,0X00, // '5' + 0XF8,0X84,0X44,0X44,0X44,0X88,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // '6' + 0X04,0X04,0X04,0XC4,0X34,0X0C,0X00,0X00,0X0C,0X03,0X00,0X00,0X00,0X00, // '7' + 0XB8,0X44,0X44,0X44,0X44,0XB8,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // '8' + 0X78,0X84,0X84,0X84,0X44,0XF8,0X00,0X04,0X08,0X08,0X08,0X08,0X07,0X00, // '9' + 0X00,0X20,0X70,0X20,0X00,0X00,0X00,0X00,0X08,0X1C,0X08,0X00,0X00,0X00, // ':' + 0X00,0X20,0X70,0X20,0X00,0X00,0X00,0X20,0X18,0X0C,0X04,0X00,0X00,0X00, // ';' + 0X80,0X40,0X20,0X10,0X08,0X00,0X00,0X00,0X01,0X02,0X04,0X08,0X00,0X00, // '<' + 0X40,0X40,0X40,0X40,0X40,0X40,0X00,0X02,0X02,0X02,0X02,0X02,0X02,0X00, // '=' + 0X00,0X08,0X10,0X20,0X40,0X80,0X00,0X00,0X08,0X04,0X02,0X01,0X00,0X00, // '>' + 0X04,0X84,0X44,0X24,0X18,0X00,0X00,0X00,0X0D,0X00,0X00,0X00,0X00,0X00, // '?' + 0XF0,0X08,0XC4,0X24,0X24,0XF8,0X00,0X03,0X04,0X09,0X0A,0X0A,0X03,0X00, // '@' + 0XF8,0X84,0X84,0X84,0X84,0XF8,0X00,0X0F,0X00,0X00,0X00,0X00,0X0F,0X00, // 'A' + 0XFC,0X44,0X44,0X44,0X78,0X80,0X00,0X0F,0X08,0X08,0X08,0X08,0X07,0X00, // 'B' + 0XF8,0X04,0X04,0X04,0X04,0X18,0X00,0X07,0X08,0X08,0X08,0X08,0X06,0X00, // 'C' + 0XFC,0X04,0X04,0X04,0X08,0XF0,0X00,0X0F,0X08,0X08,0X08,0X04,0X03,0X00, // 'D' + 0XFC,0X44,0X44,0X44,0X44,0X04,0X00,0X0F,0X08,0X08,0X08,0X08,0X08,0X00, // 'E' + 0XFC,0X44,0X44,0X44,0X44,0X04,0X00,0X0F,0X00,0X00,0X00,0X00,0X00,0X00, // 'F' + 0XF8,0X04,0X04,0X84,0X84,0X98,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // 'G' + 0XFC,0X40,0X40,0X40,0X40,0XFC,0X00,0X0F,0X00,0X00,0X00,0X00,0X0F,0X00, // 'H' + 0X04,0X04,0XFC,0X04,0X04,0X00,0X00,0X08,0X08,0X0F,0X08,0X08,0X00,0X00, // 'I' + 0X00,0X00,0X04,0X04,0X04,0XFC,0X00,0X06,0X08,0X08,0X08,0X08,0X07,0X00, // 'J' + 0XFC,0X40,0X20,0XD0,0X08,0X04,0X00,0X0F,0X00,0X00,0X00,0X03,0X0C,0X00, // 'K' + 0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X08,0X08,0X08,0X08,0X08,0X00, // 'L' + 0XFC,0X18,0X60,0X80,0X60,0X18,0XFC,0X0F,0X00,0X00,0X01,0X00,0X00,0X0F, // 'M' + 0XFC,0X18,0X60,0X80,0X00,0XFC,0X00,0X0F,0X00,0X00,0X01,0X06,0X0F,0X00, // 'N' + 0XF8,0X04,0X04,0X04,0X04,0XF8,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // 'O' + 0XFC,0X84,0X84,0X84,0X84,0X78,0X00,0X0F,0X00,0X00,0X00,0X00,0X00,0X00, // 'P' + 0XF8,0X04,0X04,0X04,0X04,0XF8,0X00,0X07,0X08,0X08,0X0E,0X18,0X17,0X00, // 'Q' + 0XFC,0X84,0X84,0X84,0X84,0X78,0X00,0X0F,0X00,0X01,0X02,0X04,0X08,0X00, // 'R' + 0X38,0X44,0X44,0X84,0X84,0X08,0X00,0X04,0X08,0X08,0X08,0X08,0X07,0X00, // 'S' + 0X04,0X04,0X04,0XFC,0X04,0X04,0X04,0X00,0X00,0X00,0X0F,0X00,0X00,0X00, // 'T' + 0XFC,0X00,0X00,0X00,0X00,0XFC,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // 'U' + 0XFC,0X00,0X00,0X00,0X00,0XFC,0X00,0X00,0X03,0X0C,0X0C,0X03,0X00,0X00, // 'V' + 0XFC,0X00,0X00,0XC0,0X00,0X00,0XFC,0X03,0X0C,0X03,0X00,0X03,0X0C,0X03, // 'W' + 0X0C,0X30,0XC0,0XC0,0X30,0X0C,0X00,0X0C,0X03,0X00,0X00,0X03,0X0C,0X00, // 'X' + 0X3C,0X40,0X80,0X80,0X40,0X3C,0X00,0X00,0X00,0X00,0X0F,0X00,0X00,0X00, // 'Y' + 0X04,0X04,0X84,0X44,0X34,0X0C,0X00,0X0C,0X0A,0X09,0X08,0X08,0X08,0X00, // 'Z' + 0X00,0X00,0XFE,0X02,0X02,0X02,0X00,0X00,0X00,0X3F,0X20,0X20,0X20,0X00, // '[' + 0X06,0X18,0X60,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X06,0X18,0X00, // '\' + 0X02,0X02,0X02,0XFE,0X00,0X00,0X00,0X20,0X20,0X20,0X3F,0X00,0X00,0X00, // ']' + 0X10,0X08,0X04,0X04,0X08,0X10,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '^' + 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X20,0X20,0X20,0X20,0X20,0X20,0X00, // '_' + 0X00,0X04,0X0C,0X18,0X20,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '`' + 0X00,0XA0,0XA0,0XA0,0XA0,0XC0,0X00,0X07,0X08,0X08,0X08,0X04,0X0F,0X00, // 'a' + 0XFC,0X40,0X20,0X20,0X20,0XC0,0X00,0X0F,0X04,0X08,0X08,0X08,0X07,0X00, // 'b' + 0XC0,0X20,0X20,0X20,0X20,0X40,0X00,0X07,0X08,0X08,0X08,0X08,0X04,0X00, // 'c' + 0XC0,0X20,0X20,0X20,0X40,0XFC,0X00,0X07,0X08,0X08,0X08,0X04,0X0F,0X00, // 'd' + 0XC0,0X20,0X20,0X20,0X20,0XC0,0X00,0X07,0X09,0X09,0X09,0X09,0X09,0X00, // 'e' + 0X80,0XF8,0X84,0X84,0X84,0X08,0X00,0X00,0X0F,0X00,0X00,0X00,0X00,0X00, // 'f' + 0XC0,0X20,0X20,0X20,0X40,0XE0,0X00,0X23,0X44,0X44,0X44,0X42,0X3F,0X00, // 'g' + 0XFC,0X40,0X20,0X20,0X20,0XC0,0X00,0X0F,0X00,0X00,0X00,0X00,0X0F,0X00, // 'h' + 0X00,0X20,0X20,0XEC,0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0X00,0X00,0X00, // 'i' + 0X00,0X00,0X20,0X20,0XEC,0X00,0X00,0X10,0X20,0X20,0X20,0X1F,0X00,0X00, // 'j' + 0XFC,0X00,0X80,0X40,0X20,0X00,0X00,0X0F,0X01,0X01,0X02,0X04,0X08,0X00, // 'k' + 0X00,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X07,0X08,0X08,0X08,0X00,0X00, // 'l' + 0XE0,0X20,0X20,0XC0,0X20,0X20,0XC0,0X0F,0X00,0X00,0X03,0X00,0X00,0X0F, // 'm' + 0XE0,0X40,0X20,0X20,0X20,0XC0,0X00,0X0F,0X00,0X00,0X00,0X00,0X0F,0X00, // 'n' + 0XC0,0X20,0X20,0X20,0X20,0XC0,0X00,0X07,0X08,0X08,0X08,0X08,0X07,0X00, // 'o' + 0XE0,0X40,0X20,0X20,0X20,0XC0,0X00,0X7F,0X02,0X04,0X04,0X04,0X03,0X00, // 'p' + 0XC0,0X20,0X20,0X20,0X40,0XE0,0X00,0X03,0X04,0X04,0X04,0X02,0X7F,0X00, // 'q' + 0XE0,0X40,0X20,0X20,0X20,0X40,0X00,0X0F,0X00,0X00,0X00,0X00,0X00,0X00, // 'r' + 0XC0,0X20,0X20,0X20,0X20,0X40,0X00,0X04,0X09,0X09,0X09,0X09,0X06,0X00, // 's' + 0X20,0XF8,0X20,0X20,0X20,0X00,0X00,0X00,0X07,0X08,0X08,0X08,0X04,0X00, // 't' + 0XE0,0X00,0X00,0X00,0X00,0XE0,0X00,0X07,0X08,0X08,0X08,0X04,0X0F,0X00, // 'u' + 0XE0,0X00,0X00,0X00,0X00,0XE0,0X00,0X00,0X03,0X0C,0X0C,0X03,0X00,0X00, // 'v' + 0XE0,0X00,0X00,0X80,0X00,0X00,0XE0,0X07,0X08,0X04,0X03,0X04,0X08,0X07, // 'w' + 0X20,0X40,0X80,0X80,0X40,0X20,0X00,0X08,0X04,0X02,0X02,0X04,0X08,0X00, // 'x' + 0XE0,0X00,0X00,0X00,0X00,0XE0,0X00,0X23,0X44,0X44,0X44,0X42,0X3F,0X00, // 'y' + 0X20,0X20,0X20,0X20,0XA0,0X60,0X00,0X08,0X0C,0X0A,0X09,0X08,0X08,0X00, // 'z' + 0X00,0X80,0X80,0X7C,0X02,0X02,0X00,0X00,0X00,0X00,0X1F,0X20,0X20,0X00, // '{' + 0X00,0X00,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X1F,0X00,0X00,0X00,0X00, // '|' + 0X02,0X02,0X7C,0X80,0X80,0X00,0X00,0X20,0X20,0X1F,0X00,0X00,0X00,0X00, // '}' + 0X30,0X08,0X08,0X10,0X20,0X20,0X18,0X00,0X00,0X00,0X00,0X00,0X00,0X00, // '~' + 0XFE,0XFE,0XFE,0XFE,0XFE,0XFE,0XFE,0X7F,0X7F,0X7F,0X7F,0X7F,0X7F,0X7F // del +}; +#endif // font8x16_h \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/allFonts.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/allFonts.h new file mode 100644 index 0000000..7fc95cf --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/allFonts.h @@ -0,0 +1,105 @@ +/* + * allFonts.h font header for GLCD library + * The fonts listed below will be available in a sketch if this file is included + * + * If you create your own fonts you can add the header to this file + * + * Note that the build environment only holds a font in Flash if its selected + * so there is no penalty to including a font file here if its not used + */ + +#ifndef _allFonts_h_ +#define _allFonts_h_ + +#ifdef __AVR__ +#include +/** declare a font for AVR. */ +#define GLCDFONTDECL(_n) static const uint8_t __attribute__ ((progmem))_n[] +#define readFontByte(addr) pgm_read_byte(addr) +#else // __AVR__ +/** declare a font. */ +#define GLCDFONTDECL(_n) static const uint8_t _n[] +/** Fake read from flash. */ +#define readFontByte(addr) (*(const unsigned char *)(addr)) +#endif // __AVR__ +//------------------------------------------------------------------------------ +// Font Indices +#define FONT_LENGTH 0 +#define FONT_WIDTH 2 +#define FONT_HEIGHT 3 +#define FONT_FIRST_CHAR 4 +#define FONT_CHAR_COUNT 5 +#define FONT_WIDTH_TABLE 6 +// +// FONT_LENGTH is a 16 bit Big Endian length field. +// Unfortunately, FontCreator2 screwed up the value it put in the field +// so it is pretty much meaningless. However it still is used to indicate +// some special things. +// 00 00 (fixed width font with 1 padding pixel on right and below) +// 00 01 (fixed width font with no padding pixels) +// FONT_WIDTH it the max character width. +// any other value means variable width font in FontCreator2 (thiele) +// format with pixel padding + +#include "Adafruit5x7.h" // Font from Adafruit GFX library +#include "font5x7.h" +#include "lcd5x7.h" +#include "Stang5x7.h" +#include "X11fixed7x14.h" +#include "X11fixed7x14B.h" +#include "ZevvPeep8x16.h" + +#include "System5x7.h" // system font (fixed width) +#include "SystemFont5x7.h" // backward compability System5x7 header +#include "Iain5x7.h" // similar to system5x7 but proportional +#include "Arial14.h" // proportional font +#include "Arial_bold_14.h" // Bold proportional font +#include "Corsiva_12.h" +#include "Verdana_digits_24.h" // large proportional font contains [0-9] and : + +#include "Callibri10.h" +#include "Callibri11.h" +#include "Callibri11_bold.h" +#include "Callibri11_italic.h" +#include "Callibri14.h" +#include "Callibri15.h" +#include "Cooper19.h" +#include "Cooper21.h" +#include "Cooper26.h" +#include "TimesNewRoman13.h" +#include "TimesNewRoman13_italic.h" +#include "TimesNewRoman16.h" +#include "TimesNewRoman16_bold.h" +#include "TimesNewRoman16_italic.h" +#include "Verdana12.h" +#include "Verdana12_bold.h" +#include "Verdana12_italic.h" +#include "Roosewood22.h" +#include "Roosewood26.h" + +#include "fixednums7x15.h" // fixed width font - + , - . / [0-9] and : +#include "fixednums8x16.h" // fixed width font - + , - . / [0-9] and : +#include "fixednums15x31.h" // fixed width font - + , - . / [0-9] and : + +#include "CalBlk36.h" +#include "CalLite24.h" +#include "lcdnums12x16.h" // font that looks like LCD digits +#include "lcdnums14x24.h" // font that looks like LCD digits +#include "fixed_bold10x15.h" +#include "Wendy3x5.h" +#include "newbasic3x5.h" + +/* + * These fonts require no-pad rendering code + */ +#include "font8x8.h" // fixed wider font but similar to system5x7 font +#include "cp437font8x8.h" // fixed Font from 80's IBM PC + +/* + * These fonts require UTF8 encoding support + */ + +#include "utf8font10x16.h" // UTF8 font up to U+00FF + // http://www.fileformat.info/info/charset/UTF-8/list.htm + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/cp437font8x8.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/cp437font8x8.h new file mode 100644 index 0000000..307332f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/cp437font8x8.h @@ -0,0 +1,284 @@ +/* + * This is the same font that was used on the original Monochrome adapter + * and later on the CGA adapter from the early IBM PC. + * better known as the cp437 font. + * This font has many special characters that can be used to simulate + * some simple graphics, such as boxes, borders, bar graphs, pointers, + * and more. It must be rendered with no pixel padding between character glyphs. + * See wikipedia for further details about the cp437 font: + * http://en.wikipedia.org/wiki/Code_page_437 + * + * Update for openGLCD + * Date: 2011-08-01 + * bperrybap@opensource.billsworld.billandterrie.com + */ + +#ifndef CP437FONT8x8_H +#define CP437FONT8x8_H + +GLCDFONTDECL(cp437font8x8) = { + 0x0, 0x1, // size of one indicates fixed width no pixel pad font + 0x08, // width + 0x08, // height + 0x00, // first char + 0xff, // char count (note can't print character 0xff) + 0, 0, 0, 0, 0, 0, 0, 0, //'' +126, 129, 149, 177, 177, 149, 129, 126, //'' +126, 255, 235, 207, 207, 235, 255, 126, //'' + 14, 31, 63, 126, 63, 31, 14, 0, //'' + 8, 28, 62, 127, 62, 28, 8, 0, //'' + 24, 186, 255, 255, 255, 186, 24, 0, //'' + 16, 184, 252, 255, 252, 184, 16, 0, //'' + 0, 0, 24, 60, 60, 24, 0, 0, //'' +255, 255, 231, 195, 195, 231, 255, 255, //'' + 0, 60, 102, 66, 66, 102, 60, 0, //' ' +255, 195, 153, 189, 189, 153, 195, 255, //'' +112, 248, 136, 136, 253, 127, 7, 15, //' ' + 0, 78, 95, 241, 241, 95, 78, 0, //' ' +192, 224, 255, 127, 5, 5, 7, 7, //'' +192, 255, 127, 5, 5, 101, 127, 63, //'' +153, 90, 60, 231, 231, 60, 90, 153, //'' +127, 62, 62, 28, 28, 8, 8, 0, //'' + 8, 8, 28, 28, 62, 62, 127, 0, //'' + 0, 36, 102, 255, 255, 102, 36, 0, //'' + 0, 95, 95, 0, 0, 95, 95, 0, //'' + 6, 15, 9, 127, 127, 1, 127, 127, //'' + 64, 218, 191, 165, 253, 89, 3, 2, //'' + 0, 112, 112, 112, 112, 112, 112, 0, //'' +128, 148, 182, 255, 255, 182, 148, 128, //'' + 0, 4, 6, 127, 127, 6, 4, 0, //'' + 0, 16, 48, 127, 127, 48, 16, 0, //'' + 8, 8, 8, 42, 62, 28, 8, 0, //'EOF' + 8, 28, 62, 42, 8, 8, 8, 0, //'' + 60, 60, 32, 32, 32, 32, 32, 0, //'' + 8, 28, 62, 8, 8, 62, 28, 8, //'' + 48, 56, 60, 62, 62, 60, 56, 48, //'' + 6, 14, 30, 62, 62, 30, 14, 6, //'' + 0, 0, 0, 0, 0, 0, 0, 0, //' ' + 0, 6, 95, 95, 6, 0, 0, 0, //'!' + 0, 7, 7, 0, 7, 7, 0, 0, //'"' + 20, 127, 127, 20, 127, 127, 20, 0, //'#' + 36, 46, 107, 107, 58, 18, 0, 0, //'$' + 70, 102, 48, 24, 12, 102, 98, 0, //'%' + 48, 122, 79, 93, 55, 122, 72, 0, //'&' + 4, 7, 3, 0, 0, 0, 0, 0, //''' + 0, 28, 62, 99, 65, 0, 0, 0, //'(' + 0, 65, 99, 62, 28, 0, 0, 0, //')' + 8, 42, 62, 28, 28, 62, 42, 8, //'*' + 8, 8, 62, 62, 8, 8, 0, 0, //'+' + 0, 128, 224, 96, 0, 0, 0, 0, //',' + 8, 8, 8, 8, 8, 8, 0, 0, //'-' + 0, 0, 96, 96, 0, 0, 0, 0, //'.' + 96, 48, 24, 12, 6, 3, 1, 0, //'/' + 62, 127, 113, 89, 77, 127, 62, 0, //'0' + 64, 66, 127, 127, 64, 64, 0, 0, //'1' + 98, 115, 89, 73, 111, 102, 0, 0, //'2' + 34, 99, 73, 73, 127, 54, 0, 0, //'3' + 24, 28, 22, 83, 127, 127, 80, 0, //'4' + 39, 103, 69, 69, 125, 57, 0, 0, //'5' + 60, 126, 75, 73, 121, 48, 0, 0, //'6' + 3, 3, 113, 121, 15, 7, 0, 0, //'7' + 54, 127, 73, 73, 127, 54, 0, 0, //'8' + 6, 79, 73, 105, 63, 30, 0, 0, //'9' + 0, 0, 102, 102, 0, 0, 0, 0, //':' + 0, 128, 230, 102, 0, 0, 0, 0, //';' + 8, 28, 54, 99, 65, 0, 0, 0, //'<' + 36, 36, 36, 36, 36, 36, 0, 0, //'=' + 0, 65, 99, 54, 28, 8, 0, 0, //'>' + 2, 3, 81, 89, 15, 6, 0, 0, //'?' + 62, 127, 65, 93, 93, 31, 30, 0, //'@' +124, 126, 19, 19, 126, 124, 0, 0, //'A' + 65, 127, 127, 73, 73, 127, 54, 0, //'B' + 28, 62, 99, 65, 65, 99, 34, 0, //'C' + 65, 127, 127, 65, 99, 62, 28, 0, //'D' + 65, 127, 127, 73, 93, 65, 99, 0, //'E' + 65, 127, 127, 73, 29, 1, 3, 0, //'F' + 28, 62, 99, 65, 81, 115, 114, 0, //'G' +127, 127, 8, 8, 127, 127, 0, 0, //'H' + 0, 65, 127, 127, 65, 0, 0, 0, //'I' + 48, 112, 64, 65, 127, 63, 1, 0, //'J' + 65, 127, 127, 8, 28, 119, 99, 0, //'K' + 65, 127, 127, 65, 64, 96, 112, 0, //'L' +127, 127, 14, 28, 14, 127, 127, 0, //'M' +127, 127, 6, 12, 24, 127, 127, 0, //'N' + 28, 62, 99, 65, 99, 62, 28, 0, //'O' + 65, 127, 127, 73, 9, 15, 6, 0, //'P' + 30, 63, 33, 113, 127, 94, 0, 0, //'Q' + 65, 127, 127, 9, 25, 127, 102, 0, //'R' + 38, 111, 77, 89, 115, 50, 0, 0, //'S' + 3, 65, 127, 127, 65, 3, 0, 0, //'T' +127, 127, 64, 64, 127, 127, 0, 0, //'U' + 31, 63, 96, 96, 63, 31, 0, 0, //'V' +127, 127, 48, 24, 48, 127, 127, 0, //'W' + 67, 103, 60, 24, 60, 103, 67, 0, //'X' + 7, 79, 120, 120, 79, 7, 0, 0, //'Y' + 71, 99, 113, 89, 77, 103, 115, 0, //'Z' + 0, 127, 127, 65, 65, 0, 0, 0, //'[' + 1, 3, 6, 12, 24, 48, 96, 0, //'\' + 0, 65, 65, 127, 127, 0, 0, 0, //']' + 8, 12, 6, 3, 6, 12, 8, 0, //'^' +128, 128, 128, 128, 128, 128, 128, 128, //'_' + 0, 0, 3, 7, 4, 0, 0, 0, //'`' + 32, 116, 84, 84, 60, 120, 64, 0, //'a' + 65, 127, 63, 72, 72, 120, 48, 0, //'b' + 56, 124, 68, 68, 108, 40, 0, 0, //'c' + 48, 120, 72, 73, 63, 127, 64, 0, //'d' + 56, 124, 84, 84, 92, 24, 0, 0, //'e' + 72, 126, 127, 73, 3, 2, 0, 0, //'f' +152, 188, 164, 164, 248, 124, 4, 0, //'g' + 65, 127, 127, 8, 4, 124, 120, 0, //'h' + 0, 68, 125, 125, 64, 0, 0, 0, //'i' + 96, 224, 128, 128, 253, 125, 0, 0, //'j' + 65, 127, 127, 16, 56, 108, 68, 0, //'k' + 0, 65, 127, 127, 64, 0, 0, 0, //'l' +124, 124, 24, 56, 28, 124, 120, 0, //'m' +124, 124, 4, 4, 124, 120, 0, 0, //'n' + 56, 124, 68, 68, 124, 56, 0, 0, //'o' +132, 252, 248, 164, 36, 60, 24, 0, //'p' + 24, 60, 36, 164, 248, 252, 132, 0, //'q' + 68, 124, 120, 76, 4, 28, 24, 0, //'r' + 72, 92, 84, 84, 116, 36, 0, 0, //'s' + 0, 4, 62, 127, 68, 36, 0, 0, //'t' + 60, 124, 64, 64, 60, 124, 64, 0, //'u' + 28, 60, 96, 96, 60, 28, 0, 0, //'v' + 60, 124, 112, 56, 112, 124, 60, 0, //'w' + 68, 108, 56, 16, 56, 108, 68, 0, //'x' +156, 188, 160, 160, 252, 124, 0, 0, //'y' + 76, 100, 116, 92, 76, 100, 0, 0, //'z' + 8, 8, 62, 119, 65, 65, 0, 0, //'{' + 0, 0, 0, 119, 119, 0, 0, 0, //'|' + 65, 65, 119, 62, 8, 8, 0, 0, //'}' + 2, 3, 1, 3, 2, 3, 1, 0, //'~' +112, 120, 76, 70, 76, 120, 112, 0, //'' + 14, 159, 145, 177, 251, 74, 0, 0, //'€' + 58, 122, 64, 64, 122, 122, 64, 0, //'' + 56, 124, 84, 85, 93, 25, 0, 0, //'‚' + 2, 35, 117, 85, 85, 125, 123, 66, //'ƒ' + 33, 117, 84, 84, 125, 121, 64, 0, //'„' + 33, 117, 85, 84, 124, 120, 64, 0, //'…' + 32, 116, 87, 87, 124, 120, 64, 0, //'†' + 24, 60, 164, 164, 228, 64, 0, 0, //'‡' + 2, 59, 125, 85, 85, 93, 27, 2, //'ˆ' + 57, 125, 84, 84, 93, 25, 0, 0, //'‰' + 57, 125, 85, 84, 92, 24, 0, 0, //'Š' + 1, 69, 124, 124, 65, 1, 0, 0, //'‹' + 2, 3, 69, 125, 125, 67, 2, 0, //'Œ' + 1, 69, 125, 124, 64, 0, 0, 0, //'' +121, 125, 22, 18, 22, 125, 121, 0, //'Ž' +112, 120, 43, 43, 120, 112, 0, 0, //'' + 68, 124, 124, 85, 85, 69, 0, 0, //'' + 32, 116, 84, 84, 124, 124, 84, 84, //'‘' +124, 126, 11, 9, 127, 127, 73, 0, //'’' + 50, 123, 73, 73, 123, 50, 0, 0, //'“' + 50, 122, 72, 72, 122, 50, 0, 0, //'”' + 50, 122, 74, 72, 120, 48, 0, 0, //'•' + 58, 123, 65, 65, 123, 122, 64, 0, //'–' + 58, 122, 66, 64, 120, 120, 64, 0, //'—' +154, 186, 160, 160, 250, 122, 0, 0, //'˜' + 1, 25, 60, 102, 102, 60, 25, 1, //'™' + 61, 125, 64, 64, 125, 61, 0, 0, //'š' + 24, 60, 36, 231, 231, 36, 36, 0, //'›' +104, 126, 127, 73, 67, 102, 32, 0, //'œ' + 43, 47, 252, 252, 47, 43, 0, 0, //'' +255, 255, 9, 9, 47, 246, 248, 160, //'ž' + 64, 192, 136, 254, 127, 9, 3, 2, //'Ÿ' + 32, 116, 84, 85, 125, 121, 64, 0, //' ' + 0, 68, 125, 125, 65, 0, 0, 0, //'¡' + 48, 120, 72, 74, 122, 50, 0, 0, //'¢' + 56, 120, 64, 66, 122, 122, 64, 0, //'£' +122, 122, 10, 10, 122, 112, 0, 0, //'¤' +125, 125, 25, 49, 125, 125, 0, 0, //'¥' + 0, 38, 47, 41, 47, 47, 40, 0, //'¦' + 0, 38, 47, 41, 47, 38, 0, 0, //'§' + 48, 120, 77, 69, 96, 32, 0, 0, //'¨' + 56, 56, 8, 8, 8, 8, 0, 0, //'©' + 8, 8, 8, 8, 56, 56, 0, 0, //'ª' + 79, 111, 48, 24, 204, 238, 187, 145, //'«' + 79, 111, 48, 24, 108, 118, 251, 249, //'¬' + 0, 0, 0, 123, 123, 0, 0, 0, //'­' + 8, 28, 54, 34, 8, 28, 54, 34, //'®' + 34, 54, 28, 8, 34, 54, 28, 8, //'¯' +170, 0, 85, 0, 170, 0, 85, 0, //'°' +170, 85, 170, 85, 170, 85, 170, 85, //'±' +221, 255, 170, 119, 221, 170, 255, 119, //'²' + 0, 0, 0, 255, 255, 0, 0, 0, //'³' + 16, 16, 16, 255, 255, 0, 0, 0, //'´' + 20, 20, 20, 255, 255, 0, 0, 0, //'µ' + 16, 16, 255, 255, 0, 255, 255, 0, //'¶' + 16, 16, 240, 240, 16, 240, 240, 0, //'·' + 20, 20, 20, 252, 252, 0, 0, 0, //'¸' + 20, 20, 247, 247, 0, 255, 255, 0, //'¹' + 0, 0, 255, 255, 0, 255, 255, 0, //'º' + 20, 20, 244, 244, 4, 252, 252, 0, //'»' + 20, 20, 23, 23, 16, 31, 31, 0, //'¼' + 16, 16, 31, 31, 16, 31, 31, 0, //'½' + 20, 20, 20, 31, 31, 0, 0, 0, //'¾' + 16, 16, 16, 240, 240, 0, 0, 0, //'¿' + 0, 0, 0, 31, 31, 16, 16, 16, //'À' + 16, 16, 16, 31, 31, 16, 16, 16, //'Á' + 16, 16, 16, 240, 240, 16, 16, 16, //'Â' + 0, 0, 0, 255, 255, 16, 16, 16, //'Ã' + 16, 16, 16, 16, 16, 16, 16, 16, //'Ä' + 16, 16, 16, 255, 255, 16, 16, 16, //'Å' + 0, 0, 0, 255, 255, 20, 20, 20, //'Æ' + 0, 0, 255, 255, 0, 255, 255, 16, //'Ç' + 0, 0, 31, 31, 16, 23, 23, 20, //'È' + 0, 0, 252, 252, 4, 244, 244, 20, //'É' + 20, 20, 23, 23, 16, 23, 23, 20, //'Ê' + 20, 20, 244, 244, 4, 244, 244, 20, //'Ë' + 0, 0, 255, 255, 0, 247, 247, 20, //'Ì' + 20, 20, 20, 20, 20, 20, 20, 20, //'Í' + 20, 20, 247, 247, 0, 247, 247, 20, //'Î' + 20, 20, 20, 23, 23, 20, 20, 20, //'Ï' + 16, 16, 31, 31, 16, 31, 31, 16, //'Ð' + 20, 20, 20, 244, 244, 20, 20, 20, //'Ñ' + 16, 16, 240, 240, 16, 240, 240, 16, //'Ò' + 0, 0, 31, 31, 16, 31, 31, 16, //'Ó' + 0, 0, 0, 31, 31, 20, 20, 20, //'Ô' + 0, 0, 0, 252, 252, 20, 20, 20, //'Õ' + 0, 0, 240, 240, 16, 240, 240, 16, //'Ö' + 16, 16, 255, 255, 16, 255, 255, 16, //'×' + 20, 20, 20, 255, 255, 20, 20, 20, //'Ø' + 16, 16, 16, 31, 31, 0, 0, 0, //'Ù' + 0, 0, 0, 240, 240, 16, 16, 16, //'Ú' +255, 255, 255, 255, 255, 255, 255, 255, //'Û' +240, 240, 240, 240, 240, 240, 240, 240, //'Ü' +255, 255, 255, 255, 0, 0, 0, 0, //'Ý' + 0, 0, 0, 0, 255, 255, 255, 255, //'Þ' + 15, 15, 15, 15, 15, 15, 15, 15, //'ß' + 56, 124, 68, 108, 56, 108, 68, 0, //'à' +252, 254, 42, 42, 62, 20, 0, 0, //'á' +126, 126, 2, 2, 6, 6, 0, 0, //'â' + 2, 126, 126, 2, 126, 126, 2, 0, //'ã' + 99, 119, 93, 73, 99, 99, 0, 0, //'ä' + 56, 124, 68, 124, 60, 4, 4, 0, //'å' +128, 254, 126, 32, 32, 62, 30, 0, //'æ' + 4, 6, 2, 126, 124, 6, 2, 0, //'ç' +153, 189, 231, 231, 189, 153, 0, 0, //'è' + 28, 62, 107, 73, 107, 62, 28, 0, //'é' + 76, 126, 115, 1, 115, 126, 76, 0, //'ê' + 48, 120, 74, 79, 125, 57, 0, 0, //'ë' + 24, 60, 36, 60, 60, 36, 60, 24, //'ì' +152, 252, 100, 60, 62, 39, 61, 24, //'í' + 28, 62, 107, 73, 73, 0, 0, 0, //'î' +126, 127, 1, 1, 127, 126, 0, 0, //'ï' + 42, 42, 42, 42, 42, 42, 0, 0, //'ð' + 68, 68, 95, 95, 68, 68, 0, 0, //'ñ' + 64, 81, 91, 78, 68, 64, 0, 0, //'ò' + 64, 68, 78, 91, 81, 64, 0, 0, //'ó' + 0, 0, 0, 254, 255, 1, 7, 6, //'ô' + 96, 224, 128, 255, 127, 0, 0, 0, //'õ' + 8, 8, 107, 107, 8, 8, 0, 0, //'ö' + 36, 54, 18, 54, 36, 54, 18, 0, //'÷' + 0, 6, 15, 9, 15, 6, 0, 0, //'ø' + 0, 0, 0, 24, 24, 0, 0, 0, //'ù' + 0, 0, 0, 16, 16, 0, 0, 0, //'ú' + 16, 48, 112, 192, 255, 255, 1, 1, //'û' + 0, 31, 31, 1, 31, 30, 0, 0, //'ü' + 0, 25, 29, 23, 18, 0, 0, 0, //'ý' + 0, 0, 60, 60, 60, 60, 0, 0, //'þ' + 0, 0, 0, 0, 0, 0, 0, 0 //'ÿ' +}; + +#endif + diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixed_bold10x15.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixed_bold10x15.h new file mode 100644 index 0000000..ddb3901 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixed_bold10x15.h @@ -0,0 +1,115 @@ +/* + Generated by the Font Generator at microintegrate.com + (modded for openGLCD) +*/ + +#ifndef FIXED_BOLD10x15_H +#define FIXED_BOLD10x15_H + +#define FIXED_BOLD10x15_WIDTH 10 +#define FIXED_BOLD10x15_HEIGHT 15 + +GLCDFONTDECL(fixed_bold10x15) = { + 0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height + 0x0a, // width + 0x0f, // height + 0x20, // first char + 0x5F, // char count + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // *space* + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x00, 0x00, 0x00, 0x00, // ! + 0x00, 0x00, 0x1e, 0x1e, 0x00, 0x00, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // " + 0x00, 0x30, 0xfe, 0xfe, 0x30, 0x30, 0xfe, 0xfe, 0x30, 0x00, 0x00, 0x03, 0x1f, 0x1f, 0x03, 0x03, 0x1f, 0x1f, 0x03, 0x00, // # + 0x00, 0x70, 0xf8, 0xd8, 0xfe, 0x98, 0x98, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x18, 0x7f, 0x19, 0x1f, 0x0f, 0x00, 0x00, // $ + 0x1c, 0xb6, 0xa2, 0xf6, 0xcc, 0x60, 0x60, 0x20, 0x30, 0x00, 0x01, 0x01, 0x00, 0x0e, 0x1b, 0x11, 0x1b, 0x0e, 0x00, 0x00, // % + 0x00, 0x00, 0xdc, 0x7e, 0xe6, 0xc6, 0x86, 0x0c, 0x80, 0x80, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x19, 0x1f, 0x1e, 0x1f, 0x13, // & + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ' + 0x00, 0x00, 0x00, 0xe0, 0xfc, 0x1e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3f, 0x78, 0x40, 0x00, 0x00, 0x00, // ( + 0x00, 0x00, 0x02, 0x1e, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x78, 0x3f, 0x07, 0x00, 0x00, 0x00, 0x00, // ) + 0x00, 0x48, 0x78, 0x30, 0xfe, 0x30, 0x78, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // * + 0x00, 0x80, 0x80, 0x80, 0xf0, 0xf0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0f, 0x0f, 0x01, 0x01, 0x01, 0x00, // + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7c, 0x3c, 0x00, 0x00, 0x00, 0x00, // , + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, // - + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, // . + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x0e, 0x02, 0x00, 0x00, 0x20, 0x38, 0x1e, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, // / + 0x00, 0xf0, 0xfc, 0x0e, 0xc6, 0xc6, 0x0e, 0xfc, 0xf8, 0x00, 0x00, 0x03, 0x0f, 0x1c, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // 0 + 0x00, 0x00, 0x0c, 0x06, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x00, // 1 + 0x00, 0x0c, 0x06, 0x06, 0x06, 0x86, 0xc6, 0x7c, 0x38, 0x00, 0x00, 0x18, 0x1c, 0x1e, 0x1b, 0x19, 0x18, 0x18, 0x18, 0x00, // 2 + 0x00, 0x0c, 0x06, 0xc6, 0xc6, 0xc6, 0xc6, 0xfc, 0x38, 0x00, 0x00, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0f, 0x0f, 0x00, // 3 + 0x00, 0x80, 0xc0, 0x70, 0x18, 0x0e, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1f, 0x1f, 0x03, 0x00, // 4 + 0x00, 0xfe, 0x7e, 0x66, 0x66, 0x66, 0xe6, 0xc6, 0x80, 0x00, 0x00, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // 5 + 0x00, 0xf0, 0xfc, 0xce, 0x66, 0x66, 0xe6, 0xcc, 0x80, 0x00, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // 6 + 0x00, 0x06, 0x06, 0x06, 0x06, 0xe6, 0xfe, 0x3e, 0x0e, 0x00, 0x00, 0x00, 0x10, 0x1c, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, // 7 + 0x00, 0x38, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0xfc, 0x38, 0x00, 0x00, 0x0f, 0x0f, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x00, // 8 + 0x00, 0x78, 0xfc, 0xce, 0x86, 0x86, 0xce, 0xfc, 0xf8, 0x00, 0x00, 0x00, 0x0c, 0x19, 0x19, 0x19, 0x1c, 0x0f, 0x03, 0x00, // 9 + 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x00, 0x00, // : + 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7c, 0x3c, 0x00, 0x00, 0x00, 0x00, // ; + 0x00, 0x80, 0x80, 0xc0, 0x40, 0x60, 0x60, 0x20, 0x30, 0x00, 0x00, 0x01, 0x01, 0x03, 0x02, 0x06, 0x06, 0x04, 0x0c, 0x00, // < + 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, // = + 0x00, 0x30, 0x20, 0x60, 0x60, 0x40, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x0c, 0x04, 0x06, 0x06, 0x02, 0x03, 0x01, 0x01, 0x00, // > + 0x00, 0x0c, 0x06, 0x86, 0xc6, 0x66, 0x7e, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, // ? + 0xe0, 0xf0, 0x38, 0x9c, 0xcc, 0xcc, 0xdc, 0xf8, 0xf0, 0x00, 0x07, 0x1f, 0x38, 0x73, 0x67, 0x66, 0x66, 0x77, 0x27, 0x00, // @ + 0x00, 0x00, 0xc0, 0xfc, 0x3e, 0x3e, 0xfc, 0xc0, 0x00, 0x00, 0x00, 0x18, 0x1f, 0x0f, 0x03, 0x03, 0x0f, 0x1f, 0x18, 0x00, // A + 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xfc, 0x3c, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x0f, 0x00, // B + 0x00, 0xf0, 0xfc, 0x0c, 0x06, 0x06, 0x06, 0x06, 0x0c, 0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x00, // C + 0x00, 0xfe, 0xfe, 0x06, 0x06, 0x06, 0x0c, 0xfc, 0xf0, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x0c, 0x0f, 0x03, 0x00, // D + 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x06, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, // E + 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x06, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // F + 0x00, 0xf0, 0xfc, 0x0c, 0x06, 0x86, 0x86, 0x86, 0x8c, 0x00, 0x00, 0x03, 0x0f, 0x0c, 0x18, 0x19, 0x19, 0x1f, 0x0f, 0x00, // G + 0x00, 0xfe, 0xfe, 0xc0, 0xc0, 0xc0, 0xc0, 0xfe, 0xfe, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, // H + 0x00, 0x00, 0x06, 0x06, 0xfe, 0xfe, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x00, 0x00, // I + 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0xfe, 0xfe, 0x00, 0x00, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0f, 0x0f, 0x00, // J + 0x00, 0xfe, 0xfe, 0xe0, 0xf0, 0xfc, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x03, 0x0f, 0x1e, 0x18, 0x00, // K + 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, // L + 0x00, 0xfe, 0xfe, 0x3e, 0xf0, 0xf0, 0x3e, 0xfe, 0xfe, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x01, 0x01, 0x00, 0x1f, 0x1f, 0x00, // M + 0x00, 0xfe, 0xfe, 0x1e, 0xf0, 0xc0, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x03, 0x1e, 0x1f, 0x1f, 0x00, // N + 0x00, 0xf0, 0xfc, 0x0e, 0x06, 0x06, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x03, 0x0f, 0x1c, 0x18, 0x18, 0x1c, 0x0f, 0x03, 0x00, // O + 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x7c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // P + 0x00, 0xf0, 0xfc, 0x0e, 0x06, 0x06, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x03, 0x0f, 0x1c, 0x18, 0x18, 0x3c, 0x6f, 0x07, 0x00, // Q + 0x00, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xfc, 0x3c, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x01, 0x03, 0x1f, 0x1e, 0x10, // R + 0x00, 0x38, 0x7c, 0xe6, 0xc6, 0xc6, 0xc6, 0x8c, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x19, 0x0f, 0x0f, 0x00, // S + 0x00, 0x06, 0x06, 0x06, 0xfe, 0xfe, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, // T + 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // U + 0x00, 0x06, 0xfe, 0xfc, 0x00, 0x00, 0xfc, 0xfe, 0x06, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, // V + 0x1e, 0xfe, 0xe0, 0x00, 0xf0, 0xf0, 0x00, 0xe0, 0xfe, 0x1e, 0x00, 0x1f, 0x1f, 0x1e, 0x01, 0x01, 0x1e, 0x1f, 0x1f, 0x00, // W + 0x00, 0x02, 0x0e, 0x3e, 0xf8, 0xf8, 0x3e, 0x0e, 0x02, 0x00, 0x00, 0x10, 0x1c, 0x1f, 0x03, 0x03, 0x1f, 0x1c, 0x10, 0x00, // X + 0x02, 0x0e, 0x3e, 0x78, 0xe0, 0xe0, 0x78, 0x3e, 0x0e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, // Y + 0x00, 0x06, 0x06, 0x86, 0xc6, 0xf6, 0x7e, 0x1e, 0x0e, 0x00, 0x00, 0x1c, 0x1e, 0x1f, 0x1b, 0x18, 0x18, 0x18, 0x18, 0x00, // Z + 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x40, 0x40, 0x00, 0x00, 0x00, // [ + 0x00, 0x02, 0x0e, 0x38, 0xe0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0e, 0x38, 0x20, 0x00, // *backslash* + 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, // ] + 0x10, 0x18, 0x1c, 0x0e, 0x06, 0x0e, 0x1c, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ^ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // _ + 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ` + 0x00, 0x00, 0x60, 0x30, 0xb0, 0xb0, 0xb0, 0xf0, 0xe0, 0x00, 0x00, 0x0e, 0x1f, 0x1b, 0x19, 0x19, 0x0d, 0x1f, 0x1f, 0x00, // a + 0x00, 0xfe, 0xfe, 0x60, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, 0x1f, 0x1f, 0x0c, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // b + 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x00, // c + 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x60, 0xfe, 0xfe, 0x00, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x18, 0x0c, 0x1f, 0x1f, 0x00, // d + 0x00, 0xc0, 0xe0, 0xb0, 0xb0, 0xb0, 0xb0, 0xe0, 0xc0, 0x00, 0x00, 0x07, 0x0f, 0x1d, 0x19, 0x19, 0x19, 0x19, 0x0d, 0x00, // e + 0x00, 0x30, 0x30, 0xfc, 0xfe, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, // f + 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x60, 0xf0, 0xf0, 0x00, 0x00, 0x03, 0x37, 0x6e, 0x6c, 0x6c, 0x66, 0x7f, 0x3f, 0x00, // g + 0x00, 0xfe, 0xfe, 0x60, 0x30, 0x30, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, // h + 0x00, 0x00, 0x30, 0x30, 0xf7, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18, 0x00, // i + 0x00, 0x00, 0x30, 0x30, 0xf7, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, // j + 0x00, 0xfe, 0xfe, 0x80, 0xe0, 0x70, 0x30, 0x10, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x01, 0x03, 0x07, 0x1e, 0x18, 0x10, 0x00, // k + 0x00, 0x06, 0x06, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x18, 0x00, 0x00, // l + 0x00, 0xf0, 0xf0, 0x30, 0xf0, 0xe0, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x1f, 0x1f, 0x00, 0x1f, 0x1f, 0x00, // m + 0x00, 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, // n + 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, 0x07, 0x0f, 0x1c, 0x18, 0x18, 0x1c, 0x0f, 0x07, 0x00, // o + 0x00, 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x70, 0xe0, 0xc0, 0x00, 0x00, 0x7f, 0x7f, 0x06, 0x0c, 0x0c, 0x0e, 0x07, 0x03, 0x00, // p + 0x00, 0xc0, 0xe0, 0x70, 0x30, 0x30, 0x60, 0xf0, 0xf0, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x0c, 0x0c, 0x06, 0x7f, 0x7f, 0x00, // q + 0x00, 0x00, 0xf0, 0xf0, 0x60, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // r + 0x00, 0xe0, 0xf0, 0xb0, 0xb0, 0xb0, 0xb0, 0x30, 0x60, 0x00, 0x00, 0x0c, 0x19, 0x19, 0x19, 0x19, 0x1b, 0x1f, 0x0e, 0x00, // s + 0x00, 0x30, 0x30, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x18, 0x00, 0x00, // t + 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x18, 0x0c, 0x1f, 0x1f, 0x00, // u + 0x00, 0x30, 0xf0, 0xe0, 0x00, 0x00, 0xe0, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x1e, 0x1e, 0x0f, 0x01, 0x00, 0x00, // v + 0x70, 0xf0, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x07, 0x1f, 0x1e, 0x03, 0x03, 0x1e, 0x1f, 0x07, 0x00, // w + 0x00, 0x10, 0x30, 0xf0, 0xc0, 0xc0, 0xf0, 0x30, 0x10, 0x00, 0x00, 0x10, 0x18, 0x1e, 0x07, 0x07, 0x1e, 0x18, 0x10, 0x00, // x + 0x00, 0x10, 0xf0, 0xf0, 0x80, 0x00, 0xf0, 0xf0, 0x30, 0x00, 0x00, 0x00, 0x60, 0x63, 0x7f, 0x1f, 0x0f, 0x01, 0x00, 0x00, // y + 0x00, 0x30, 0x30, 0x30, 0x30, 0xb0, 0xf0, 0x70, 0x30, 0x00, 0x00, 0x18, 0x1c, 0x1e, 0x1b, 0x19, 0x18, 0x18, 0x18, 0x00, // z + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x3e, 0x7e, 0x40, 0x40, 0x00, 0x00, // { + 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00, // | + 0x00, 0x00, 0x02, 0x02, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7e, 0x3e, 0x01, 0x01, 0x00, 0x00, // } + 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0xc0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, // ~ +}; +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums15x31.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums15x31.h new file mode 100644 index 0000000..23d96a7 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums15x31.h @@ -0,0 +1,123 @@ +/* + * Fixed width font for numbers + * + * This font is very useful when using overstrike as all characters & numbers + * are all the same width. + * + * This font also contains a few special characters that are nice for certain applications + * like clocks, signed values or decimal point values. + * + * The rendering code normally inserts a pad pixel so this size allows the font to fit + * perfectly on 32 and 64 tall glcd displays. + * + * Font has also been squeezed to 15 pixels wide for better alignment on 128 & 192 pixel displays. + */ + +#ifndef FIXEDNUMS15x31_H +#define FIXEDNUMS15x31_H + +GLCDFONTDECL(fixednums15x31) = { + 0x0, 0x0, // size of zero indicates fixed width font + 15, // width + 31, // height + '+', // first char (48) + 16, // char count +// char '+' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xfc, 0xfc, 0xfc, 0xfc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char ',' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xcf, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '-' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '.' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '/' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xff, 0xff, 0x0f, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xff, 0xff, 0x0f, 0x0f, 0x00, 0x00, 0x00, +0x00, 0x00, 0xf0, 0xf0, 0xff, 0xff, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '0' +0xf0, 0xf0, 0xfc, 0xfc, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0xcf, 0xcf, 0xfc, 0xfc, 0xf0, 0xf0, +0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xc0, 0xc0, 0x3c, 0x3f, 0x03, 0xff, 0xff, 0xff, 0xff, +0xff, 0xff, 0xff, 0xff, 0x3c, 0x3c, 0x03, 0x03, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x03, 0x03, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, + +// char '1' +0x30, 0x30, 0x30, 0x30, 0x3c, 0x3c, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + +// char '2' +0xf0, 0xf0, 0xfc, 0xfc, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x0f, 0xff, 0xfc, 0xfc, 0xf0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xff, 0x3f, 0x3f, 0x0f, +0xc0, 0xc0, 0xf0, 0xf0, 0x3c, 0x3c, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, + +// char '3' +0xf0, 0xf0, 0xfc, 0xfc, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x0f, 0x1f, 0xfc, 0xfc, 0xf0, +0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xff, 0xdf, 0x8f, +0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, +0x00, 0x00, 0x03, 0x03, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, + +// char '4' +0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xff, 0xff, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xfc, 0xfc, 0xff, 0xff, 0x03, 0x03, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, +0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, + +// char '5' +0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, +0x0f, 0x0f, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c, 0xfc, 0xf0, 0xf0, 0xc0, +0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x03, 0x03, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, + +// char '6' +0x00, 0x00, 0xc0, 0xc0, 0xf0, 0xf0, 0x3c, 0x3c, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x03, 0x03, +0xfc, 0xfc, 0xff, 0xff, 0x33, 0x33, 0x30, 0x30, 0x30, 0x30, 0xf0, 0xf0, 0xc0, 0xc0, 0x00, +0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x03, 0x03, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, + +// char '7' +0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xff, 0xff, 0x3f, 0x3f, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xff, 0xff, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '8' +0xf0, 0xf0, 0xfc, 0xfc, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x0f, 0x0f, 0xfc, 0xfc, 0xf0, 0xf0, +0x03, 0x03, 0xcf, 0xcf, 0xfc, 0xfc, 0x30, 0x30, 0x30, 0xfc, 0xfc, 0xcf, 0xcf, 0x03, 0x03, +0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x03, 0x03, 0x0f, 0x0f, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, + +// char '9' +0xe0, 0xf0, 0xfc, 0xfc, 0x0f, 0x0f, 0x03, 0x03, 0x03, 0x0f, 0x0f, 0xfc, 0xfc, 0xf0, 0xe0, +0x07, 0x0f, 0x3f, 0x3f, 0xf0, 0xf0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xfc, 0xfc, 0x3f, 0x3f, 0x03, +0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x0f, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char ':' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums7x15.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums7x15.h new file mode 100644 index 0000000..570a43f --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums7x15.h @@ -0,0 +1,88 @@ +/* + * Fixed width font for numbers + * + * This font is very useful when using overstrike as all characters & numbers + * are all the same width. + * + * This font also contains a few special characters that are nice for certain applications + * like clocks, signed values or decimal point values. + * + * When rendering code inserts a pad pixel this size allows the font to fit + * perfectly on 32 and 64 tall glcd displays as well as 128 wide displays. + */ + +#ifndef FIXEDNUMS7x15_H +#define FIXEDNUMS7x15_H + +GLCDFONTDECL(fixednums7x15) = { + 0x0, 0x0, // size of zero indicates fixed width font + 7, // width + 15, // height + '+', // first char (48) + 16, // char count +// char '+' +0x00, 0x80, 0x80, 0xe0, 0xe0, 0x80, 0x80, +0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, + +// char ',' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x58, 0x38, 0x00, 0x00, + +// char '-' +0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +// char '.' +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, + +// char '/' +0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x0f, +0x00, 0x3c, 0x0f, 0x03, 0x00, 0x00, 0x00, + +// char '0' +0xfc, 0xfe, 0x03, 0xe1, 0x1b, 0xfe, 0xfc, +0x0f, 0x1f, 0x36, 0x21, 0x30, 0x1f, 0x0f, + +// char '1' +0x04, 0x04, 0x06, 0xff, 0xff, 0x00, 0x00, +0x20, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, + +// char '2' +0x0c, 0x0e, 0x03, 0x01, 0x81, 0xfe, 0x7c, +0x38, 0x3c, 0x26, 0x23, 0x21, 0x20, 0x20, + +// char '3' +0x0c, 0x0e, 0x43, 0x41, 0x43, 0xfe, 0xbc, +0x0c, 0x1c, 0x30, 0x20, 0x30, 0x1f, 0x0f, + +// char '4' +0x00, 0xe0, 0xfc, 0x1f, 0x83, 0x80, 0x00, +0x0f, 0x0f, 0x08, 0x08, 0x3f, 0x3f, 0x08, + +// char '5' +0x3f, 0x3f, 0x21, 0x21, 0x61, 0xe1, 0x81, +0x0c, 0x1c, 0x30, 0x20, 0x30, 0x3f, 0x0f, + +// char '6' +0xe0, 0xf8, 0x5c, 0x46, 0xc3, 0xc1, 0x01, +0x0f, 0x1f, 0x30, 0x20, 0x30, 0x3f, 0x0f, + +// char '7' +0x01, 0x01, 0x01, 0x81, 0xf1, 0x7f, 0x0f, +0x00, 0x00, 0x3c, 0x3f, 0x03, 0x00, 0x00, + +// char '8' +0x1c, 0xbe, 0xe3, 0x41, 0xe3, 0xbe, 0x1c, +0x0f, 0x1f, 0x30, 0x20, 0x30, 0x1f, 0x0f, + +// char '9' +0x3c, 0x7e, 0xc3, 0x81, 0x81, 0xfe, 0xfc, +0x20, 0x30, 0x38, 0x0c, 0x07, 0x03, 0x00, + +// char ':' +0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, + +}; +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums8x16.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums8x16.h new file mode 100644 index 0000000..c04f643 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/fixednums8x16.h @@ -0,0 +1,46 @@ +/* + * Fixed width font file for numbers only. + * + * This font is very useful when using overstrike as all characters & numbers + * are all the same width. + * + * This font file can be used when only numbers are needed. + * + * This font also contains a few special characters that are nice for certain applications + * like clocks, signed values or decimal point values. + * + * Font is really 16 tall but this file is set to indicate 15 to allow it to line up with the lcd page size. + * It works as the the bottom row in the glyph is whitespace anyway. + * The rendering code normally inserts a pad pixel so this size allows additional rows + * on 32 and 64 tall glcd displays. + * + */ + +#ifndef FIXEDNUMS8x16_H +#define FIXEDNUMS8x16_H + +GLCDFONTDECL(fixednums8x16) = { + 0x0, 0x0, // size of zero indicates fixed width font + 8, // width + 15, // height + '+', // first char (48) + 16, // char count + + 0x80, 0x80, 0x80, 0xe0, 0xe0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, // char '+' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x70, 0x00, 0x00, 0x00, // char ',' + 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // char '-' + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, // char '.' + 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x0f, 0x03, 0x30, 0x3c, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, // char '/' + 0xfc, 0xfe, 0x03, 0x81, 0x61, 0x1b, 0xfe, 0xfc, 0x0f, 0x1f, 0x36, 0x21, 0x20, 0x30, 0x1f, 0x0f, // char '0' + 0x04, 0x04, 0x06, 0xff, 0xff, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, 0x20, // char '1' + 0x0c, 0x0e, 0x03, 0x01, 0x81, 0xc3, 0x7e, 0x3c, 0x38, 0x3c, 0x26, 0x23, 0x21, 0x20, 0x20, 0x20, // char '2' + 0x0c, 0x0e, 0x43, 0x41, 0x41, 0x43, 0xfe, 0xbc, 0x0c, 0x1c, 0x30, 0x20, 0x20, 0x30, 0x1f, 0x0f, // char '3' + 0x00, 0xe0, 0xfc, 0x1f, 0x83, 0x80, 0x00, 0x00, 0x0f, 0x0f, 0x08, 0x08, 0x3f, 0x3f, 0x08, 0x08, // char '4' + 0x3f, 0x3f, 0x21, 0x21, 0x21, 0x61, 0xc1, 0x81, 0x0c, 0x1c, 0x30, 0x20, 0x20, 0x30, 0x1f, 0x0f, // char '5' + 0xe0, 0xf8, 0x5c, 0x46, 0x43, 0xc1, 0x81, 0x01, 0x0f, 0x1f, 0x30, 0x20, 0x20, 0x30, 0x1f, 0x0f, // char '6' + 0x01, 0x01, 0x01, 0x01, 0x81, 0xf1, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x3c, 0x3f, 0x03, 0x00, 0x00, // char '7' + 0x1c, 0xbe, 0xe3, 0x41, 0x41, 0xe3, 0xbe, 0x1c, 0x0f, 0x1f, 0x30, 0x20, 0x20, 0x30, 0x1f, 0x0f, // char '8' + 0x3c, 0x7e, 0xc3, 0x81, 0x81, 0x83, 0xfe, 0xfc, 0x20, 0x20, 0x20, 0x30, 0x18, 0x0e, 0x07, 0x01, // char '9' + 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00 // char ': +}; +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/font5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/font5x7.h new file mode 100644 index 0000000..df3dc57 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/font5x7.h @@ -0,0 +1,108 @@ +#ifndef font5x7_h +#define font5x7_h +// Mystery font included in early Adafruit SSD1306 library +GLCDFONTDECL(font5x7) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 0x05, // width + 0x07, // height + 0x20, // first char + 0x60, // char count + 0x00, 0x00, 0x00, 0x00, 0x00, // SPACE + 0x00, 0x00, 0x5F, 0x00, 0x00, // ! + 0x00, 0x03, 0x00, 0x03, 0x00, // " + 0x14, 0x3E, 0x14, 0x3E, 0x14, // # + 0x24, 0x2A, 0x7F, 0x2A, 0x12, // $ + 0x43, 0x33, 0x08, 0x66, 0x61, // % + 0x36, 0x49, 0x55, 0x22, 0x50, // & + 0x00, 0x05, 0x03, 0x00, 0x00, // ' + 0x00, 0x1C, 0x22, 0x41, 0x00, // ( + 0x00, 0x41, 0x22, 0x1C, 0x00, // ) + 0x14, 0x08, 0x3E, 0x08, 0x14, // * + 0x08, 0x08, 0x3E, 0x08, 0x08, // + + 0x00, 0x50, 0x30, 0x00, 0x00, // , + 0x08, 0x08, 0x08, 0x08, 0x08, // - + 0x00, 0x60, 0x60, 0x00, 0x00, // . + 0x20, 0x10, 0x08, 0x04, 0x02, // / + 0x3E, 0x51, 0x49, 0x45, 0x3E, // 0 + 0x00, 0x04, 0x02, 0x7F, 0x00, // 1 + 0x42, 0x61, 0x51, 0x49, 0x46, // 2 + 0x22, 0x41, 0x49, 0x49, 0x36, // 3 + 0x18, 0x14, 0x12, 0x7F, 0x10, // 4 + 0x27, 0x45, 0x45, 0x45, 0x39, // 5 + 0x3E, 0x49, 0x49, 0x49, 0x32, // 6 + 0x01, 0x01, 0x71, 0x09, 0x07, // 7 + 0x36, 0x49, 0x49, 0x49, 0x36, // 8 + 0x26, 0x49, 0x49, 0x49, 0x3E, // 9 + 0x00, 0x36, 0x36, 0x00, 0x00, // : + 0x00, 0x56, 0x36, 0x00, 0x00, // ; + 0x08, 0x14, 0x22, 0x41, 0x00, // < + 0x14, 0x14, 0x14, 0x14, 0x14, // = + 0x00, 0x41, 0x22, 0x14, 0x08, // > + 0x02, 0x01, 0x51, 0x09, 0x06, // ? + 0x3E, 0x41, 0x59, 0x55, 0x5E, // @ + 0x7E, 0x09, 0x09, 0x09, 0x7E, // A + 0x7F, 0x49, 0x49, 0x49, 0x36, // B + 0x3E, 0x41, 0x41, 0x41, 0x22, // C + 0x7F, 0x41, 0x41, 0x41, 0x3E, // D + 0x7F, 0x49, 0x49, 0x49, 0x41, // E + 0x7F, 0x09, 0x09, 0x09, 0x01, // F + 0x3E, 0x41, 0x41, 0x49, 0x3A, // G + 0x7F, 0x08, 0x08, 0x08, 0x7F, // H + 0x00, 0x41, 0x7F, 0x41, 0x00, // I + 0x30, 0x40, 0x40, 0x40, 0x3F, // J + 0x7F, 0x08, 0x14, 0x22, 0x41, // K + 0x7F, 0x40, 0x40, 0x40, 0x40, // L + 0x7F, 0x02, 0x0C, 0x02, 0x7F, // M + 0x7F, 0x02, 0x04, 0x08, 0x7F, // N + 0x3E, 0x41, 0x41, 0x41, 0x3E, // O + 0x7F, 0x09, 0x09, 0x09, 0x06, // P + 0x1E, 0x21, 0x21, 0x21, 0x5E, // Q + 0x7F, 0x09, 0x09, 0x09, 0x76, // R + 0x26, 0x49, 0x49, 0x49, 0x32, // S + 0x01, 0x01, 0x7F, 0x01, 0x01, // T + 0x3F, 0x40, 0x40, 0x40, 0x3F, // U + 0x1F, 0x20, 0x40, 0x20, 0x1F, // V + 0x7F, 0x20, 0x10, 0x20, 0x7F, // W + 0x41, 0x22, 0x1C, 0x22, 0x41, // X + 0x07, 0x08, 0x70, 0x08, 0x07, // Y + 0x61, 0x51, 0x49, 0x45, 0x43, // Z + 0x00, 0x7F, 0x41, 0x00, 0x00, // [ + 0x02, 0x04, 0x08, 0x10, 0x20, // backslash + 0x00, 0x00, 0x41, 0x7F, 0x00, // ] + 0x04, 0x02, 0x01, 0x02, 0x04, // ^ + 0x40, 0x40, 0x40, 0x40, 0x40, // _ + 0x00, 0x01, 0x02, 0x04, 0x00, // ` + 0x20, 0x54, 0x54, 0x54, 0x78, // a + 0x7F, 0x44, 0x44, 0x44, 0x38, // b + 0x38, 0x44, 0x44, 0x44, 0x44, // c + 0x38, 0x44, 0x44, 0x44, 0x7F, // d + 0x38, 0x54, 0x54, 0x54, 0x18, // e + 0x04, 0x04, 0x7E, 0x05, 0x05, // f + 0x08, 0x54, 0x54, 0x54, 0x3C, // g + 0x7F, 0x08, 0x04, 0x04, 0x78, // h + 0x00, 0x44, 0x7D, 0x40, 0x00, // i + 0x20, 0x40, 0x44, 0x3D, 0x00, // j + 0x7F, 0x10, 0x28, 0x44, 0x00, // k + 0x00, 0x41, 0x7F, 0x40, 0x00, // l + 0x7C, 0x04, 0x78, 0x04, 0x78, // m + 0x7C, 0x08, 0x04, 0x04, 0x78, // n + 0x38, 0x44, 0x44, 0x44, 0x38, // o + 0x7C, 0x14, 0x14, 0x14, 0x08, // p + 0x08, 0x14, 0x14, 0x14, 0x7C, // q + 0x00, 0x7C, 0x08, 0x04, 0x04, // r + 0x48, 0x54, 0x54, 0x54, 0x20, // s + 0x04, 0x04, 0x3F, 0x44, 0x44, // t + 0x3C, 0x40, 0x40, 0x20, 0x7C, // u + 0x1C, 0x20, 0x40, 0x20, 0x1C, // v + 0x3C, 0x40, 0x30, 0x40, 0x3C, // w + 0x44, 0x28, 0x10, 0x28, 0x44, // x + 0x0C, 0x50, 0x50, 0x50, 0x3C, // y + 0x44, 0x64, 0x54, 0x4C, 0x44, // z + 0x00, 0x08, 0x36, 0x41, 0x41, // { + 0x00, 0x00, 0x7F, 0x00, 0x00, // | + 0x41, 0x41, 0x36, 0x08, 0x00, // } + 0x02, 0x01, 0x02, 0x04, 0x02, // ~ + 0X7F, 0X7F, 0X7F, 0X7F, 0X7F // del +}; +#endif // font5x7_h + diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/font8x8.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/font8x8.h new file mode 100644 index 0000000..fb87837 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/font8x8.h @@ -0,0 +1,113 @@ +#ifndef FONT8x8_H +#define FONT8x8_H + +GLCDFONTDECL(font8x8) = { + 0x0, 0x1, // size of one indicates fixed font width and no pixel padding + 0x08, // width + 0x08, // height + 0x20, // first char + 0x5f, // char count + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x00,0x00,0x5F,0x00,0x00,0x00, // ! +0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x00, // " +0x00,0x24,0x7E,0x24,0x24,0x7E,0x24,0x00, // # +0x00,0x2E,0x2A,0x7F,0x2A,0x3A,0x00,0x00, // $ +0x00,0x46,0x26,0x10,0x08,0x64,0x62,0x00, // % +0x00,0x20,0x54,0x4A,0x54,0x20,0x50,0x00, // & +0x00,0x00,0x00,0x04,0x02,0x00,0x00,0x00, // ' +0x00,0x00,0x00,0x3C,0x42,0x00,0x00,0x00, // ( +0x00,0x00,0x00,0x42,0x3C,0x00,0x00,0x00, // ) +0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00, // * +0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00, // + +0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00, // , +0x00,0x10,0x10,0x10,0x10,0x10,0x00,0x00, // - +0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00, // . +0x00,0x40,0x20,0x10,0x08,0x04,0x00,0x00, // / + +0x3C,0x62,0x52,0x4A,0x46,0x3C,0x00,0x00, // 0 +0x44,0x42,0x7E,0x40,0x40,0x00,0x00,0x00, // 1 +0x64,0x52,0x52,0x52,0x52,0x4C,0x00,0x00, // 2 +0x24,0x42,0x42,0x4A,0x4A,0x34,0x00,0x00, // 3 +0x30,0x28,0x24,0x7E,0x20,0x20,0x00,0x00, // 4 +0x2E,0x4A,0x4A,0x4A,0x4A,0x32,0x00,0x00, // 5 +0x3C,0x4A,0x4A,0x4A,0x4A,0x30,0x00,0x00, // 6 +0x02,0x02,0x62,0x12,0x0A,0x06,0x00,0x00, // 7 +0x34,0x4A,0x4A,0x4A,0x4A,0x34,0x00,0x00, // 8 +0x0C,0x52,0x52,0x52,0x52,0x3C,0x00,0x00, // 9 +0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00, // : +0x00,0x00,0x80,0x64,0x00,0x00,0x00,0x00, // ; +0x00,0x00,0x10,0x28,0x44,0x00,0x00,0x00, // < +0x00,0x28,0x28,0x28,0x28,0x28,0x00,0x00, // = +0x00,0x00,0x44,0x28,0x10,0x00,0x00,0x00, // > +0x00,0x04,0x02,0x02,0x52,0x0A,0x04,0x00, // ? + +0x00,0x3C,0x42,0x5A,0x56,0x5A,0x1C,0x00, // @ +0x7C,0x12,0x12,0x12,0x12,0x7C,0x00,0x00, // A +0x7E,0x4A,0x4A,0x4A,0x4A,0x34,0x00,0x00, // B +0x3C,0x42,0x42,0x42,0x42,0x24,0x00,0x00, // C +0x7E,0x42,0x42,0x42,0x24,0x18,0x00,0x00, // D +0x7E,0x4A,0x4A,0x4A,0x4A,0x42,0x00,0x00, // E +0x7E,0x0A,0x0A,0x0A,0x0A,0x02,0x00,0x00, // F +0x3C,0x42,0x42,0x52,0x52,0x34,0x00,0x00, // G +0x7E,0x08,0x08,0x08,0x08,0x7E,0x00,0x00, // H +0x00,0x42,0x42,0x7E,0x42,0x42,0x00,0x00, // I +0x30,0x40,0x40,0x40,0x40,0x3E,0x00,0x00, // J +0x7E,0x08,0x08,0x14,0x22,0x40,0x00,0x00, // K +0x7E,0x40,0x40,0x40,0x40,0x40,0x00,0x00, // L +0x7E,0x04,0x08,0x08,0x04,0x7E,0x00,0x00, // M +0x7E,0x04,0x08,0x10,0x20,0x7E,0x00,0x00, // N +0x3C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00, // O + +0x7E,0x12,0x12,0x12,0x12,0x0C,0x00,0x00, // P +0x3C,0x42,0x52,0x62,0x42,0x3C,0x00,0x00, // Q +0x7E,0x12,0x12,0x12,0x32,0x4C,0x00,0x00, // R +0x24,0x4A,0x4A,0x4A,0x4A,0x30,0x00,0x00, // S +0x02,0x02,0x02,0x7E,0x02,0x02,0x02,0x00, // T +0x3E,0x40,0x40,0x40,0x40,0x3E,0x00,0x00, // U +0x1E,0x20,0x40,0x40,0x20,0x1E,0x00,0x00, // V +0x3E,0x40,0x20,0x20,0x40,0x3E,0x00,0x00, // W +0x42,0x24,0x18,0x18,0x24,0x42,0x00,0x00, // X +0x02,0x04,0x08,0x70,0x08,0x04,0x02,0x00, // Y +0x42,0x62,0x52,0x4A,0x46,0x42,0x00,0x00, // Z +0x00,0x00,0x7E,0x42,0x42,0x00,0x00,0x00, // [ +0x00,0x04,0x08,0x10,0x20,0x40,0x00,0x00, // +0x00,0x00,0x42,0x42,0x7E,0x00,0x00,0x00, // ] +0x00,0x08,0x04,0x7E,0x04,0x08,0x00,0x00, // ^ +0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, // _ + +0x3C,0x42,0x99,0xA5,0xA5,0x81,0x42,0x3C, // ` +0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00, // a +0x00,0x7E,0x48,0x48,0x48,0x30,0x00,0x00, // b +0x00,0x00,0x38,0x44,0x44,0x44,0x00,0x00, // c +0x00,0x30,0x48,0x48,0x48,0x7E,0x00,0x00, // d +0x00,0x38,0x54,0x54,0x54,0x48,0x00,0x00, // e +0x00,0x00,0x00,0x7C,0x0A,0x02,0x00,0x00, // f +0x00,0x18,0xA4,0xA4,0xA4,0xA4,0x7C,0x00, // g +0x00,0x7E,0x08,0x08,0x08,0x70,0x00,0x00, // h +0x00,0x00,0x00,0x48,0x7A,0x40,0x00,0x00, // i +0x00,0x00,0x40,0x80,0x80,0x7A,0x00,0x00, // j +0x00,0x7E,0x18,0x24,0x40,0x00,0x00,0x00, // k +0x00,0x00,0x00,0x3E,0x40,0x40,0x00,0x00, // l +0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00, // m +0x00,0x7C,0x04,0x04,0x04,0x78,0x00,0x00, // n +0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00, // o + +0x00,0xFC,0x24,0x24,0x24,0x18,0x00,0x00, // p +0x00,0x18,0x24,0x24,0x24,0xFC,0x80,0x00, // q +0x00,0x00,0x78,0x04,0x04,0x04,0x00,0x00, // r +0x00,0x48,0x54,0x54,0x54,0x20,0x00,0x00, // s +0x00,0x00,0x04,0x3E,0x44,0x40,0x00,0x00, // t +0x00,0x3C,0x40,0x40,0x40,0x3C,0x00,0x00, // u +0x00,0x0C,0x30,0x40,0x30,0x0C,0x00,0x00, // v +0x00,0x3C,0x40,0x38,0x40,0x3C,0x00,0x00, // w +0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00, // x +0x00,0x1C,0xA0,0xA0,0xA0,0x7C,0x00,0x00, // y +0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00, // z +0x00,0x08,0x08,0x76,0x42,0x42,0x00,0x00, // { +0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00, // | +0x00,0x42,0x42,0x76,0x08,0x08,0x00,0x00, // } +0x00,0x00,0x04,0x02,0x04,0x02,0x00,0x00, // ~ +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcd5x7.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcd5x7.h new file mode 100644 index 0000000..bab4413 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcd5x7.h @@ -0,0 +1,117 @@ +//http://www.hwsw.no/snippets/5x7_LCD_font.php + +#ifndef lcd5x7_h +#define lcd5x7_h +GLCDFONTDECL(lcd5x7) = { + 0x0, 0x0, // size of zero indicates fixed width font, + 0x05, // width + 0x07, // height + 0x20, // first char + 0x60, // char count + + 0x00,0x00,0x00,0x00,0x00, // SPACE + + 0x00,0x00,0x4F,0x00,0x00, // ! + 0x00,0x07,0x00,0x07,0x00, // " + 0x14,0x7F,0x14,0x7F,0x14, // # + 0x24,0x2A,0x7F,0x2A,0x12, // $ + 0x23,0x13,0x08,0x64,0x62, // % + 0x36,0x49,0x55,0x22,0x50, // & + 0x00,0x05,0x03,0x00,0x00, // ' + 0x00,0x1C,0x22,0x41,0x00, // ( + 0x00,0x41,0x22,0x1C,0x00, // ) + 0x14,0x08,0x3E,0x08,0x14, // * + 0x08,0x08,0x3E,0x08,0x08, // + + 0x00,0x50,0x30,0x00,0x00, // , + 0x08,0x08,0x08,0x08,0x08, // - + 0x00,0x60,0x60,0x00,0x00, // . + 0x20,0x10,0x08,0x04,0x02, // / + + 0x3E,0x51,0x49,0x45,0x3E, // 0 + 0x00,0x42,0x7F,0x40,0x00, // 1 + 0x42,0x61,0x51,0x49,0x46, // 2 + 0x21,0x41,0x45,0x4B,0x31, // 3 + 0x18,0x14,0x12,0x7F,0x10, // 4 + 0x27,0x45,0x45,0x45,0x39, // 5 + 0x3C,0x4A,0x49,0x49,0x30, // 6 + 0x01,0x71,0x09,0x05,0x03, // 7 + 0x36,0x49,0x49,0x49,0x36, // 8 + 0x06,0x49,0x49,0x29,0x1E, // 9 + + 0x36,0x36,0x00,0x00,0x00, // : + 0x56,0x36,0x00,0x00,0x00, // ; + 0x08,0x14,0x22,0x41,0x00, // < + 0x14,0x14,0x14,0x14,0x14, // = + 0x00,0x41,0x22,0x14,0x08, // > + 0x02,0x01,0x51,0x09,0x06, // ? + 0x30,0x49,0x79,0x41,0x3E, // @ + + 0x7E,0x11,0x11,0x11,0x7E, // A + 0x7F,0x49,0x49,0x49,0x36, // B + 0x3E,0x41,0x41,0x41,0x22, // C + 0x7F,0x41,0x41,0x22,0x1C, // D + 0x7F,0x49,0x49,0x49,0x41, // E + 0x7F,0x09,0x09,0x09,0x01, // F + 0x3E,0x41,0x49,0x49,0x7A, // G + 0x7F,0x08,0x08,0x08,0x7F, // H + 0x00,0x41,0x7F,0x41,0x00, // I + 0x20,0x40,0x41,0x3F,0x01, // J + 0x7F,0x08,0x14,0x22,0x41, // K + 0x7F,0x40,0x40,0x40,0x40, // L + 0x7F,0x02,0x0C,0x02,0x7F, // M + 0x7F,0x04,0x08,0x10,0x7F, // N + 0x3E,0x41,0x41,0x41,0x3E, // O + 0x7F,0x09,0x09,0x09,0x06, // P + 0x3E,0x41,0x51,0x21,0x5E, // Q + 0x7F,0x09,0x19,0x29,0x46, // R + 0x46,0x49,0x49,0x49,0x31, // S + 0x01,0x01,0x7F,0x01,0x01, // T + 0x3F,0x40,0x40,0x40,0x3F, // U + 0x1F,0x20,0x40,0x20,0x1F, // V + 0x3F,0x40,0x30,0x40,0x3F, // W + 0x63,0x14,0x08,0x14,0x63, // X + 0x07,0x08,0x70,0x08,0x07, // Y + 0x61,0x51,0x49,0x45,0x43, // Z + + 0x00,0x7F,0x41,0x41,0x00, // [ + 0x02,0x04,0x08,0x10,0x20, // backslash + 0x00,0x41,0x41,0x7F,0x00, // ] + 0x04,0x02,0x01,0x02,0x04, // ^ + 0x40,0x40,0x40,0x40,0x40, // _ + 0x00,0x01,0x02,0x04,0x00, // ` + + 0x20,0x54,0x54,0x54,0x78, // a + 0x7F,0x50,0x48,0x48,0x30, // b + 0x38,0x44,0x44,0x44,0x20, // c + 0x38,0x44,0x44,0x48,0x7F, // d + 0x38,0x54,0x54,0x54,0x18, // e + 0x08,0x7E,0x09,0x01,0x02, // f + 0x0C,0x52,0x52,0x52,0x3E, // g + 0x7F,0x08,0x04,0x04,0x78, // h + 0x00,0x44,0x7D,0x40,0x00, // i + 0x20,0x40,0x44,0x3D,0x00, // j + 0x7F,0x10,0x28,0x44,0x00, // k + 0x00,0x41,0x7F,0x40,0x00, // l + 0x78,0x04,0x58,0x44,0x78, // m + 0x7C,0x08,0x04,0x04,0x78, // n + 0x38,0x44,0x44,0x44,0x38, // o + 0x7C,0x14,0x14,0x14,0x08, // p + 0x08,0x14,0x14,0x18,0x7C, // q + 0x7C,0x08,0x04,0x04,0x08, // r + 0x48,0x54,0x54,0x54,0x20, // s + 0x04,0x3F,0x44,0x40,0x20, // t + 0x3C,0x40,0x40,0x20,0x7C, // u + 0x1C,0x20,0x40,0x20,0x1C, // v + 0x3C,0x40,0x30,0x40,0x3C, // w + 0x44,0x28,0x10,0x28,0x44, // x + 0x0C,0x50,0x50,0x50,0x3C, // y + 0x44,0x64,0x54,0x4C,0x44, // z + + 0x00,0x08,0x36,0x41,0x00, // { + 0x00,0x00,0x7F,0x00,0x00, // | + 0x00,0x41,0x36,0x08,0x00, // } + 0x0C,0x02,0x0C,0x10,0x0C, // ~ + + 0x00,0x00,0x00,0x00,0x00 + }; +#endif // lcd5x7_h \ No newline at end of file diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums12x16.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums12x16.h new file mode 100644 index 0000000..2f1dc36 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums12x16.h @@ -0,0 +1,69 @@ +/* + * Fixed width font for numbers that looks like LCD panel digits + * This font including pad pixels, will render 12x16 pixels on the display + * + * This font is very useful when using overstrike as all characters & numbers + * are all the same width. + * + * This font is not a complete character set. The font only contains + * the characters: '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '9', ':' + * + * This font is nice for certain applications like clocks, signed values or decimal point values. + * + */ + +GLCDFONTDECL(lcdnums12x16) = +{ + 0x0, 0x0, // size of zero indicates fixed width font + 11, // width (will be 12 with pad pixel on right) + 15, // height (will be 16 with pad pixel on bottom) + '+', // first char + 16, // char count +0x00, 0x00, 0x00, 0x80, 0x80, 0xe0, 0xe0, 0x80, 0x80, 0x00, 0x00, +0x00, 0x00, 0x01, 0x03, 0x03, 0x0f, 0x0f, 0x03, 0x03, 0x01, 0x00, // + + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x60, 0x00, 0x00, 0x00, 0x00, // , + +0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, +0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x00, // - + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, // . + +0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, +0x00, 0x00, 0x81, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x81, 0x00, // / + +0x00, 0xfc, 0x7a, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7a, 0xfc, +0x00, 0x7e, 0xbc, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xbc, 0x7e, // 0 + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xfc, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x7e, // 1 + +0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7a, 0xfc, +0x00, 0x7e, 0xbd, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x81, 0x00, // 2 + +0x00, 0x00, 0x02, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7a, 0xfc, +0x00, 0x00, 0x81, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xbd, 0x7e, // 3 + +0x00, 0xfc, 0x78, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x78, 0xfc, +0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x3d, 0x7e, // 4 + +0x00, 0xfc, 0x7a, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, +0x00, 0x00, 0x81, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xbd, 0x7e, // 5 + +0x00, 0xfc, 0x7a, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x02, 0x00, +0x00, 0x7e, 0xbd, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xbd, 0x7e, // 6 + +0x00, 0x00, 0x02, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x7a, 0xfc, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x7e, // 7 + +0x00, 0xfc, 0x7a, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7a, 0xfc, +0x00, 0x7e, 0xbd, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xbd, 0x7e, // 8 + +0x00, 0xfc, 0x7a, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x7a, 0xfc, +0x00, 0x00, 0x81, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xbd, 0x7e, // 9 + +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00 // : +}; diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums14x24.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums14x24.h new file mode 100644 index 0000000..c6452b8 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/lcdnums14x24.h @@ -0,0 +1,87 @@ +/* + * Fixed width font for numbers that looks like LCD panel digits + * This font including pad pixels, will render 14x24 pixels on the display + * + * This font is very useful when using overstrike as all characters & numbers + * are all the same width. + * + * This font is not a complete character set. The font only contains + * the characters: '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '9', ':' + * + * This font is nice for certain applications like clocks, signed values or decimal point values. + * + */ + + +GLCDFONTDECL(lcdnums14x24) = +{ + 0x0, 0x0, // size of zero indicates fixed width font + 13, // width (will be 14 with pad pixel on right) + 23, // height (will be 24 with pad pixel on bottom) + '+', // first char + 16, // char count + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0xff, 0xff, 0x38, 0x38, 0x38, 0x10, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, // + + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x78, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, // , + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x10, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // - + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe0, 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, // . + +0x00, 0x00, 0x02, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x06, 0x02, 0x00, +0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x10, 0x00, +0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, // / + +0x00, 0xfc, 0xfa, 0xf6, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0xef, 0xc7, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xc7, 0xef, +0x00, 0x7f, 0xbf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 0 + +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfc, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xc7, 0xef, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, // 1 + +0x00, 0x00, 0x02, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0xe0, 0xd0, 0xb8, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3b, 0x17, 0x0f, +0x00, 0x7f, 0xbf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, // 2 + +0x00, 0x00, 0x02, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0x00, 0x10, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xbb, 0xd7, 0xef, +0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 3 + +0x00, 0xfc, 0xf8, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf8, 0xfc, +0x00, 0x0f, 0x17, 0x3b, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xbb, 0xd7, 0xef, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, // 4 + +0x00, 0xfc, 0xfa, 0xf6, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x06, 0x02, 0x00, +0x00, 0x0f, 0x17, 0x3b, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xb8, 0xd0, 0xe0, +0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 5 + +0x00, 0xfc, 0xfa, 0xf6, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x06, 0x02, 0x00, +0x00, 0xef, 0xd7, 0xbb, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xb8, 0xd0, 0xe0, +0x00, 0x7f, 0xbf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 6 + +0x00, 0x00, 0x02, 0x06, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xc7, 0xef, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x7f, // 7 + +0x00, 0xfc, 0xfa, 0xf6, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0xef, 0xd7, 0xbb, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xbb, 0xd7, 0xef, +0x00, 0x7f, 0xbf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 8 + +0x00, 0xfc, 0xfa, 0xf6, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0xf6, 0xfa, 0xfc, +0x00, 0x0f, 0x17, 0x3b, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0xbb, 0xd7, 0xef, +0x00, 0x00, 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xdf, 0xbf, 0x7f, // 9 + +0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // : +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00 +}; diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/newbasic3x5.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/newbasic3x5.h new file mode 100644 index 0000000..7f72d22 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/newbasic3x5.h @@ -0,0 +1,162 @@ +/* + * + * newbasic3x5 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : newbasic3x5.h + * Date : 23.04.2011 + * Font size in bytes : 1830 + * Font width : 10 + * Font height : 6 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef NEWBASIC3X5_H +#define NEWBASIC3X5_H + +#define NEWBASIC3X5_WIDTH 3 +#define NEWBASIC3X5_HEIGHT 6 + +GLCDFONTDECL(newbasic3x5) = { + 0x0, 0x0, // size + 0x03, // width + 0x06, // height + 0x20, // first char + 0x60, // char count + + /* char widths + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, + */ + // font data + 0x00, 0x00, 0x00, // 32 + 0x00, 0x5C, 0x00, // 33 + 0x0C, 0x00, 0x0C, // 34 + 0x7C, 0x28, 0x7C, // 35 + 0x28, 0x7C, 0x28, // 36 + 0x24, 0x10, 0x48, // 37 + 0x30, 0x5C, 0x6C, // 38 + 0x00, 0x0C, 0x00, // 39 + 0x38, 0x44, 0x00, // 40 + 0x00, 0x44, 0x38, // 41 + 0x08, 0x14, 0x08, // 42 + 0x10, 0x38, 0x10, // 43 + 0x00, 0x60, 0x00, // 44 + 0x10, 0x10, 0x10, // 45 + 0x00, 0x40, 0x00, // 46 + 0x60, 0x10, 0x0C, // 47 + 0x7C, 0x44, 0x7C, // 48 + 0x48, 0x7C, 0x40, // 49 + 0x74, 0x54, 0x5C, // 50 + 0x44, 0x54, 0x7C, // 51 + 0x1C, 0x10, 0x7C, // 52 + 0x5C, 0x54, 0x74, // 53 + 0x7C, 0x54, 0x74, // 54 + 0x64, 0x14, 0x1C, // 55 + 0x7C, 0x54, 0x7C, // 56 + 0x5C, 0x54, 0x7C, // 57 + 0x00, 0x28, 0x00, // 58 + 0x00, 0x68, 0x00, // 59 + 0x10, 0x28, 0x44, // 60 + 0x28, 0x28, 0x28, // 61 + 0x44, 0x28, 0x10, // 62 + 0x04, 0x54, 0x1C, // 63 + 0x38, 0x5C, 0x58, // 64 + 0x78, 0x14, 0x78, // 65 + 0x7C, 0x54, 0x28, // 66 + 0x38, 0x44, 0x28, // 67 + 0x7C, 0x44, 0x38, // 68 + 0x7C, 0x54, 0x44, // 69 + 0x7C, 0x14, 0x04, // 70 + 0x38, 0x44, 0x74, // 71 + 0x7C, 0x10, 0x7C, // 72 + 0x44, 0x7C, 0x44, // 73 + 0x20, 0x40, 0x3C, // 74 + 0x7C, 0x10, 0x6C, // 75 + 0x7C, 0x40, 0x40, // 76 + 0x7C, 0x08, 0x7C, // 77 + 0x7C, 0x18, 0x7C, // 78 + 0x38, 0x44, 0x38, // 79 + 0x7C, 0x14, 0x08, // 80 + 0x38, 0x44, 0x78, // 81 + 0x7C, 0x14, 0x68, // 82 + 0x48, 0x54, 0x24, // 83 + 0x04, 0x7C, 0x04, // 84 + 0x7C, 0x40, 0x7C, // 85 + 0x3C, 0x40, 0x3C, // 86 + 0x7C, 0x30, 0x7C, // 87 + 0x6C, 0x10, 0x6C, // 88 + 0x0C, 0x70, 0x0C, // 89 + 0x64, 0x54, 0x4C, // 90 + 0x7C, 0x44, 0x00, // 91 + 0x0C, 0x10, 0x60, // 92 + 0x44, 0x7C, 0x00, // 93 + 0x08, 0x04, 0x08, // 94 + 0x80, 0x80, 0x80, // 95 + 0x04, 0x00, 0x00, // 96 + 0x70, 0x70, 0x70, // 97 + 0x7C, 0x50, 0x70, // 98 + 0x70, 0x50, 0x50, // 99 + 0x70, 0x50, 0x7C, // 100 + 0x30, 0x70, 0x10, // 101 + 0x7C, 0x14, 0x00, // 102 + 0x90, 0xF0, 0x40, // 103 + 0x7C, 0x10, 0x70, // 104 + 0x74, 0x00, 0x00, // 105 + 0xE0, 0x00, 0x00, // 106 + 0x7C, 0x30, 0x48, // 107 + 0x7C, 0x00, 0x00, // 108 + 0x70, 0x70, 0x70, // 109 + 0x70, 0x10, 0x70, // 110 + 0x70, 0x50, 0x70, // 111 + 0x00, 0x00, 0x00, // 112 + 0x00, 0x00, 0x00, // 113 + 0x30, 0x00, 0x00, // 114 + 0x50, 0x70, 0x00, // 115 + 0x30, 0x50, 0x40, // 116 + 0x70, 0x40, 0x70, // 117 + 0x30, 0x70, 0x00, // 118 + 0x30, 0x10, 0x30, // 119 + 0x50, 0x70, 0x00, // 120 + 0x00, 0x00, 0x00, // 121 + 0x40, 0x70, 0x00, // 122 + 0x10, 0x6C, 0x44, // 123 + 0x00, 0x7C, 0x00, // 124 + 0x44, 0x6C, 0x10, // 125 + 0x10, 0x08, 0x10, // 126 + 0x78, 0x48, 0x48 // 127 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/fonts/utf8font10x16.h b/Arduino_Libs/SSD1306Ascii-master/src/fonts/utf8font10x16.h new file mode 100644 index 0000000..d4bd8c9 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/fonts/utf8font10x16.h @@ -0,0 +1,308 @@ +/* + * utf8font10x16 - utf8 font up to U+00FB + * See here for full font information: + * http://www.fileformat.info/info/charset/UTF-8/list.htm + * + * Font is called 10x16 even though the actual font is only 15 high + * since font will use 16 vertical pixels (one pixel of pad between lines) + * + * Oringally created with FontCreator + * written by F. Maximilian Thiele + * Hand edited by Bill Perry + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : utf8font10x15.h + * Date : 31.08.2014 + * Font size in bytes : 14641 + * Font width : 10 + * Font height : 15 + * Font first char : 32 + * Font last char : 252 + * Font used chars : 220 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#ifndef UTF8FONT10x15_H +#define UTF8FONT10x15_H + +#define UTF8FONT10x15_WIDTH 10 +#define UTF8FONT10x15_HEIGHT 15 + +GLCDFONTDECL(utf8font10x16) = { + 0x39, 0x31, // size + 0x0A, // width + 0x0f, // height (does not include pad pixel between lines) + 0x20, // first char + 0xDC, // char count + + // char widths + 0x02, 0x02, 0x05, 0x05, 0x05, 0x08, 0x07, 0x02, + 0x03, 0x02, 0x03, 0x06, 0x02, 0x03, 0x02, 0x03, + 0x05, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, + 0x05, 0x05, 0x02, 0x02, 0x06, 0x06, 0x06, 0x05, + 0x0A, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x06, + 0x06, 0x02, 0x04, 0x06, 0x05, 0x07, 0x06, 0x07, + 0x06, 0x08, 0x07, 0x06, 0x06, 0x06, 0x06, 0x08, + 0x07, 0x06, 0x05, 0x03, 0x03, 0x02, 0x05, 0x05, + 0x02, 0x04, 0x05, 0x04, 0x05, 0x04, 0x03, 0x05, + 0x05, 0x02, 0x02, 0x05, 0x02, 0x08, 0x05, 0x05, + 0x05, 0x05, 0x04, 0x04, 0x03, 0x05, 0x05, 0x07, + 0x05, 0x05, 0x04, 0x03, 0x02, 0x04, 0x06, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x00, 0x02, 0x05, 0x06, 0x05, 0x06, 0x02, 0x04, + 0x03, 0x07, 0x03, 0x05, 0x05, 0x03, 0x07, 0x06, + 0x04, 0x06, 0x03, 0x03, 0x02, 0x05, 0x05, 0x01, + 0x03, 0x02, 0x03, 0x05, 0x08, 0x08, 0x08, 0x05, + 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x0A, 0x06, + 0x05, 0x05, 0x06, 0x05, 0x02, 0x02, 0x03, 0x02, + 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x05, + 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, + 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x08, 0x04, + 0x04, 0x04, 0x05, 0x04, 0x02, 0x02, 0x03, 0x02, + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, + 0x05, 0x05, 0x05, 0x05, + + // font data + 0x00, 0x00, 0x00, 0x00, // 0x20 + 0xF8, 0xF8, 0x16, 0x16, // 33 + 0x38, 0x38, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x20, 0xE0, 0x38, 0xE0, 0x38, 0x1C, 0x06, 0x1C, 0x06, 0x04, // 35 + 0x70, 0xC8, 0xFC, 0x88, 0x10, 0x0C, 0x18, 0x3E, 0x12, 0x0E, // 36 + 0x78, 0x48, 0x78, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x06, 0x00, 0x1E, 0x12, 0x1E, // 37 + 0x00, 0xB0, 0xF8, 0xC8, 0x78, 0x30, 0x00, 0x0E, 0x1E, 0x12, 0x12, 0x1E, 0x1C, 0x0A, // 38 + 0x38, 0x38, 0x00, 0x00, // 39 + 0xC0, 0xF0, 0x18, 0x0E, 0x3E, 0x60, // 40 + 0xF0, 0xC0, 0x3E, 0x0E, // 41 + 0x50, 0x38, 0x50, 0x00, 0x00, 0x00, // 42 + 0x80, 0x80, 0xE0, 0xE0, 0x80, 0x80, 0x02, 0x02, 0x0E, 0x0E, 0x02, 0x02, // 43 + 0x00, 0x00, 0x50, 0x30, // 44 + 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, // 45 + 0x00, 0x00, 0x10, 0x10, // 46 + 0x80, 0xF8, 0xF8, 0x1E, 0x1E, 0x00, // 47 + 0xF0, 0xF8, 0x08, 0xF8, 0xF0, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 48 + 0x60, 0xF0, 0xF8, 0x00, 0x1E, 0x1E, // 49 + 0x10, 0x18, 0x88, 0xF8, 0xF0, 0x18, 0x1E, 0x16, 0x12, 0x10, // 50 + 0x10, 0x18, 0x88, 0xF8, 0x70, 0x08, 0x18, 0x10, 0x1E, 0x0E, // 51 + 0x80, 0x60, 0xF8, 0xF8, 0x00, 0x06, 0x04, 0x1E, 0x1E, 0x04, // 52 + 0xC0, 0x78, 0x48, 0xC8, 0x88, 0x08, 0x18, 0x10, 0x1E, 0x0E, // 53 + 0xE0, 0xF8, 0x48, 0xD8, 0x90, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 54 + 0x08, 0x08, 0xE8, 0xF8, 0x18, 0x00, 0x1E, 0x1E, 0x00, 0x00, // 55 + 0x70, 0x78, 0x88, 0x78, 0x70, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 56 + 0xF0, 0xF8, 0x08, 0xF8, 0xF0, 0x08, 0x1A, 0x12, 0x1E, 0x06, // 57 + 0x40, 0x40, 0x10, 0x10, // 58 + 0x40, 0x40, 0x50, 0x30, // 59 + 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x60, 0x06, 0x06, 0x0C, 0x0C, 0x0C, 0x18, // 60 + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, // 61 + 0x60, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x18, 0x0C, 0x0C, 0x0C, 0x06, 0x06, // 62 + 0x10, 0x18, 0x88, 0xF8, 0xF0, 0x00, 0x00, 0x16, 0x16, 0x00, // 63 + 0xC0, 0x20, 0x10, 0x88, 0x48, 0x48, 0x48, 0xD8, 0x30, 0xE0, 0x0E, 0x30, 0x2E, 0x50, 0x50, 0x50, 0x5E, 0x50, 0x28, 0x16, // 64 + 0x00, 0xE0, 0x38, 0x38, 0xE0, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 65 + 0xF8, 0xF8, 0x88, 0x88, 0xF8, 0x70, 0x1E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 66 + 0xF0, 0xF8, 0x08, 0x08, 0x18, 0x10, 0x0E, 0x1E, 0x10, 0x10, 0x1C, 0x0C, // 67 + 0xF8, 0xF8, 0x08, 0x08, 0xF8, 0xF0, 0x1E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 68 + 0xF8, 0xF8, 0x88, 0x88, 0x88, 0x1E, 0x1E, 0x10, 0x10, 0x10, // 69 + 0xF8, 0xF8, 0x88, 0x88, 0x88, 0x1E, 0x1E, 0x00, 0x00, 0x00, // 70 + 0xF0, 0xF8, 0x08, 0x88, 0x98, 0x90, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 71 + 0xF8, 0xF8, 0x80, 0x80, 0xF8, 0xF8, 0x1E, 0x1E, 0x00, 0x00, 0x1E, 0x1E, // 72 + 0xF8, 0xF8, 0x1E, 0x1E, // 73 + 0x00, 0x00, 0xF8, 0xF8, 0x0C, 0x10, 0x1E, 0x0E, // 74 + 0xF8, 0xF8, 0xC0, 0xF0, 0xB8, 0x08, 0x1E, 0x1E, 0x00, 0x02, 0x1E, 0x1C, // 75 + 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x1E, 0x1E, 0x10, 0x10, 0x10, // 76 + 0xF8, 0xF8, 0xC0, 0x00, 0xC0, 0xF8, 0xF8, 0x1E, 0x1E, 0x02, 0x1E, 0x00, 0x1E, 0x1E, // 77 + 0xF8, 0xF8, 0xF0, 0x80, 0xF8, 0xF8, 0x1E, 0x1E, 0x00, 0x0E, 0x1E, 0x1E, // 78 + 0xE0, 0xF0, 0x18, 0x08, 0x18, 0xF0, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 79 + 0xF8, 0xF8, 0x08, 0x08, 0xF8, 0xF0, 0x1E, 0x1E, 0x02, 0x02, 0x02, 0x00, // 80 + 0xE0, 0xF0, 0x18, 0x08, 0x18, 0xF0, 0xE0, 0x00, 0x06, 0x0E, 0x18, 0x14, 0x18, 0x1E, 0x3E, 0x30, // 81 + 0xF8, 0xF8, 0x88, 0x88, 0xF8, 0x70, 0x00, 0x1E, 0x1E, 0x00, 0x02, 0x0E, 0x1C, 0x10, // 82 + 0x70, 0xF8, 0xC8, 0x88, 0xB8, 0x30, 0x0C, 0x1C, 0x10, 0x12, 0x1E, 0x0E, // 83 + 0x08, 0x08, 0xF8, 0xF8, 0x08, 0x08, 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x00, // 84 + 0xF8, 0xF8, 0x00, 0x00, 0xF8, 0xF8, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 85 + 0x38, 0xF8, 0x80, 0x80, 0xF8, 0x38, 0x00, 0x06, 0x1E, 0x1E, 0x06, 0x00, // 86 + 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x06, 0x1E, 0x1C, 0x02, 0x06, 0x18, 0x1E, 0x06, // 87 + 0x08, 0x38, 0xF0, 0xC0, 0xF0, 0x38, 0x08, 0x10, 0x1C, 0x0E, 0x06, 0x0E, 0x1C, 0x10, // 88 + 0x18, 0x78, 0xE0, 0xE0, 0x78, 0x18, 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x00, // 89 + 0x08, 0x88, 0xE8, 0x78, 0x18, 0x18, 0x1E, 0x16, 0x10, 0x10, // 90 + 0xF8, 0xF8, 0x08, 0x7E, 0x7E, 0x40, // 91 + 0xF8, 0xF8, 0x80, 0x00, 0x1E, 0x1E, // 92 + 0xF8, 0xF8, 0x7E, 0x7E, // 93 + 0xE0, 0xF8, 0x18, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x08, 0x18, 0x00, 0x00, // 96 + 0x40, 0x40, 0xC0, 0x80, 0x1C, 0x12, 0x1E, 0x1E, // 97 + 0xF8, 0xF8, 0x40, 0xC0, 0x80, 0x1E, 0x1E, 0x10, 0x1E, 0x0E, // 98 + 0x80, 0xC0, 0x40, 0x80, 0x0E, 0x1E, 0x10, 0x08, // 99 + 0x80, 0xC0, 0x40, 0xF8, 0xF8, 0x0E, 0x1E, 0x10, 0x1E, 0x1E, // 100 + 0x80, 0xC0, 0x40, 0x80, 0x0E, 0x1E, 0x12, 0x0A, // 101 + 0xF0, 0xF8, 0x48, 0x1E, 0x1E, 0x00, // 102 + 0x80, 0xC0, 0x40, 0xC0, 0xC0, 0x2E, 0x7E, 0x50, 0x7E, 0x3E, // 103 + 0xF8, 0xF8, 0x40, 0xC0, 0x80, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, // 104 + 0xD8, 0xD8, 0x1E, 0x1E, // 105 + 0xD8, 0xD8, 0x7E, 0x3E, // 106 + 0xF8, 0xF8, 0x80, 0xC0, 0x00, 0x1E, 0x1E, 0x06, 0x1E, 0x18, // 107 + 0xF8, 0xF8, 0x1E, 0x1E, // 108 + 0xC0, 0xC0, 0x40, 0xC0, 0x80, 0x40, 0xC0, 0x80, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, // 109 + 0xC0, 0xC0, 0x40, 0xC0, 0x80, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, // 110 + 0x80, 0xC0, 0x40, 0xC0, 0x80, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 111 + 0xC0, 0xC0, 0x40, 0xC0, 0x80, 0x7E, 0x7E, 0x10, 0x1E, 0x0E, // 112 + 0x80, 0xC0, 0x40, 0xC0, 0xC0, 0x0E, 0x1E, 0x10, 0x7E, 0x7E, // 113 + 0xC0, 0xC0, 0x40, 0x40, 0x1E, 0x1E, 0x00, 0x00, // 114 + 0x80, 0xC0, 0x40, 0x80, 0x0A, 0x12, 0x1E, 0x0E, // 115 + 0xE0, 0xF0, 0x40, 0x0E, 0x1E, 0x10, // 116 + 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x0E, 0x1E, 0x10, 0x1E, 0x1E, // 117 + 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x1E, 0x18, 0x1E, 0x00, // 118 + 0xC0, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0xC0, 0x02, 0x1E, 0x1C, 0x02, 0x1C, 0x1E, 0x02, // 119 + 0x40, 0xC0, 0x00, 0xC0, 0x40, 0x10, 0x1A, 0x06, 0x18, 0x10, // 120 + 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x40, 0x4E, 0x3C, 0x0E, 0x00, // 121 + 0x40, 0x40, 0xC0, 0xC0, 0x18, 0x1E, 0x16, 0x10, // 122 + 0xF0, 0xF8, 0x08, 0x3E, 0x7C, 0x40, // 123 + 0xF8, 0xF8, 0x7E, 0x7E, // 124 + 0x08, 0xF8, 0xF0, 0x00, 0x40, 0x7C, 0x3E, 0x02, // 125 + 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, // 126 + 0xF0, 0xF0, 0x1E, 0x1E, // 127 + 0xF0, 0xF0, 0x1E, 0x1E, // 128 + 0xF0, 0xF0, 0x1E, 0x1E, // 129 + 0xF0, 0xF0, 0x1E, 0x1E, // 130 + 0xF0, 0xF0, 0x1E, 0x1E, // 131 + 0xF0, 0xF0, 0x1E, 0x1E, // 132 + 0xF0, 0xF0, 0x1E, 0x1E, // 133 + 0xF0, 0xF0, 0x1E, 0x1E, // 134 + 0xF0, 0xF0, 0x1E, 0x1E, // 135 + 0xF0, 0xF0, 0x1E, 0x1E, // 136 + 0xF0, 0xF0, 0x1E, 0x1E, // 137 + 0xF0, 0xF0, 0x1E, 0x1E, // 138 + 0xF0, 0xF0, 0x1E, 0x1E, // 139 + 0xF0, 0xF0, 0x1E, 0x1E, // 140 + 0xF0, 0xF0, 0x1E, 0x1E, // 141 + 0xF0, 0xF0, 0x1E, 0x1E, // 142 + 0xF0, 0xF0, 0x1E, 0x1E, // 143 + 0xF0, 0xF0, 0x1E, 0x1E, // 144 + 0xF0, 0xF0, 0x1E, 0x1E, // 145 + 0xF0, 0xF0, 0x1E, 0x1E, // 146 + 0xF0, 0xF0, 0x1E, 0x1E, // 147 + 0xF0, 0xF0, 0x1E, 0x1E, // 148 + 0xF0, 0xF0, 0x1E, 0x1E, // 149 + 0xF0, 0xF0, 0x1E, 0x1E, // 150 + 0xF0, 0xF0, 0x1E, 0x1E, // 151 + 0xF0, 0xF0, 0x1E, 0x1E, // 152 + 0xF0, 0xF0, 0x1E, 0x1E, // 153 + 0xF0, 0xF0, 0x1E, 0x1E, // 154 + 0xF0, 0xF0, 0x1E, 0x1E, // 155 + 0xF0, 0xF0, 0x1E, 0x1E, // 156 + 0xF0, 0xF0, 0x1E, 0x1E, // 157 + 0xF0, 0xF0, 0x1E, 0x1E, // 158 + 0xF0, 0xF0, 0x1E, 0x1E, // 159 + 0x40, 0x40, 0x7E, 0x7E, // 161 + 0x80, 0xC0, 0xC0, 0xF8, 0x80, 0x0E, 0x7E, 0x1E, 0x18, 0x08, // 162 + 0x80, 0xF0, 0xF8, 0x88, 0x18, 0x10, 0x18, 0x1E, 0x16, 0x10, 0x10, 0x10, // 163 + 0x20, 0xF0, 0x20, 0x20, 0xF0, 0x04, 0x0E, 0x04, 0x04, 0x0E, // 164 + 0x88, 0xF8, 0xE0, 0xE0, 0xF8, 0x88, 0x04, 0x04, 0x1E, 0x1E, 0x04, 0x04, // 165 + 0xF8, 0xF8, 0x7C, 0x7C, // 166 + 0xB0, 0x48, 0xC8, 0x90, 0x26, 0x4C, 0x48, 0x36, // 167 + 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, // 168 + 0xE0, 0x10, 0xC8, 0x28, 0x48, 0x10, 0xE0, 0x06, 0x08, 0x12, 0x14, 0x12, 0x08, 0x06, // 169 + 0x68, 0x68, 0x78, 0x00, 0x00, 0x00, // 170 + 0xC0, 0x40, 0x00, 0xC0, 0x40, 0x0E, 0x18, 0x02, 0x0E, 0x18, // 171 + 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x0E, 0x0E, // 172 + 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, // 173 + 0xE0, 0x10, 0xE8, 0xA8, 0x68, 0x10, 0xE0, 0x06, 0x08, 0x16, 0x10, 0x16, 0x08, 0x06, // 174 + 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 175 + 0x30, 0x48, 0x48, 0x30, 0x00, 0x00, 0x00, 0x00, // 176 + 0x60, 0x60, 0xF8, 0xF8, 0x60, 0x60, 0x18, 0x18, 0x1A, 0x1A, 0x18, 0x18, // 177 + 0x48, 0x68, 0x58, 0x00, 0x00, 0x00, // 178 + 0x48, 0x58, 0x78, 0x00, 0x00, 0x00, // 179 + 0x18, 0x08, 0x00, 0x00, // 180 + 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x7E, 0x7E, 0x10, 0x1E, 0x1E, // 181 + 0xF0, 0xF8, 0x08, 0xF8, 0x08, 0x00, 0x7E, 0x00, 0x7E, 0x00, // 182 + 0x00, 0x02, // 183 + 0x00, 0x00, 0x00, 0xA0, 0xA0, 0xE0, // 184 + 0x10, 0x78, 0x00, 0x00, // 185 + 0x78, 0x48, 0x78, 0x00, 0x00, 0x00, // 186 + 0xC0, 0x80, 0x00, 0xC0, 0x80, 0x10, 0x1E, 0x04, 0x10, 0x1E, // 187 + 0x10, 0x78, 0x00, 0x80, 0x40, 0x30, 0x08, 0x00, 0x00, 0x10, 0x0C, 0x02, 0x00, 0x0C, 0x1E, 0x08, // 188 + 0x10, 0x78, 0x00, 0x80, 0x40, 0x30, 0x08, 0x00, 0x00, 0x10, 0x0C, 0x02, 0x00, 0x12, 0x1A, 0x16, // 189 + 0x48, 0x58, 0x78, 0x80, 0x40, 0x30, 0x08, 0x00, 0x00, 0x10, 0x0C, 0x02, 0x00, 0x0C, 0x1E, 0x08, // 190 + 0x00, 0x40, 0x40, 0x00, 0x00, 0x38, 0x7E, 0x46, 0x60, 0x20, // 191 + 0x00, 0xE0, 0x39, 0x3B, 0xE0, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 192 + 0x00, 0xE0, 0x3B, 0x39, 0xE0, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 193 + 0x00, 0xE2, 0x3B, 0x39, 0xE3, 0x02, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 194 + 0x00, 0xE3, 0x39, 0x3A, 0xE3, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 195 + 0x00, 0xE2, 0x38, 0x3A, 0xE0, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 196 + 0x00, 0xE0, 0x3B, 0x3B, 0xE0, 0x00, 0x1C, 0x1E, 0x02, 0x02, 0x1E, 0x1C, // 197 + 0x00, 0xE0, 0xF8, 0x98, 0xF8, 0xF8, 0x48, 0x48, 0x48, 0x48, 0x1E, 0x0E, 0x00, 0x00, 0x1E, 0x1E, 0x10, 0x10, 0x10, 0x10, // 198 + 0xF0, 0xF8, 0x08, 0x08, 0x18, 0x10, 0x0E, 0xBE, 0xB0, 0xF0, 0x1C, 0x0C, // 199 + 0xF8, 0xF9, 0x8B, 0x88, 0x88, 0x1E, 0x1E, 0x10, 0x10, 0x10, // 200 + 0xF8, 0xF8, 0x8B, 0x89, 0x88, 0x1E, 0x1E, 0x10, 0x10, 0x10, // 201 + 0xF8, 0xFA, 0x8B, 0x89, 0x8B, 0x02, 0x1E, 0x1E, 0x10, 0x10, 0x10, 0x00, // 202 + 0xF8, 0xFA, 0x88, 0x8A, 0x88, 0x1E, 0x1E, 0x10, 0x10, 0x10, // 203 + 0xF9, 0xFB, 0x1E, 0x1E, // 204 + 0xFB, 0xF9, 0x1E, 0x1E, // 205 + 0xFB, 0xF9, 0x03, 0x1E, 0x1E, 0x00, // 206 + 0xF8, 0xFA, 0x1E, 0x1E, // 207 + 0xF8, 0xF8, 0x88, 0x08, 0xF8, 0xF0, 0x1E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 208 + 0xF8, 0xFB, 0xF1, 0x82, 0xFB, 0xF8, 0x1E, 0x1E, 0x00, 0x0E, 0x1E, 0x1E, // 209 + 0xE0, 0xF0, 0x18, 0x09, 0x1B, 0xF0, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 210 + 0xE0, 0xF0, 0x1B, 0x09, 0x18, 0xF0, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 211 + 0xE0, 0xF2, 0x1B, 0x09, 0x1B, 0xF2, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 212 + 0xE0, 0xF3, 0x19, 0x0A, 0x1B, 0xF0, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 213 + 0xE0, 0xF0, 0x1A, 0x08, 0x1A, 0xF0, 0xE0, 0x06, 0x0E, 0x18, 0x10, 0x18, 0x0E, 0x06, // 214 + 0x40, 0xE0, 0x80, 0xE0, 0x40, 0x04, 0x0E, 0x02, 0x0E, 0x04, // 215 + 0xE0, 0xF0, 0x18, 0xC8, 0x78, 0xF0, 0xE8, 0x16, 0x0E, 0x1E, 0x12, 0x18, 0x0E, 0x06, // 216 + 0xF8, 0xF8, 0x01, 0x03, 0xF8, 0xF8, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 217 + 0xF8, 0xF8, 0x03, 0x01, 0xF8, 0xF8, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 218 + 0xF8, 0xFA, 0x03, 0x01, 0xFB, 0xFA, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 219 + 0xF8, 0xFA, 0x00, 0x02, 0xF8, 0xF8, 0x0E, 0x1E, 0x10, 0x10, 0x1E, 0x0E, // 220 + 0x18, 0x78, 0xE3, 0xE1, 0x78, 0x18, 0x00, 0x00, 0x1E, 0x1E, 0x00, 0x00, // 221 + 0xF8, 0xF8, 0x20, 0x20, 0xE0, 0xC0, 0x1E, 0x1E, 0x04, 0x04, 0x06, 0x02, // 222 + 0xF0, 0xF8, 0xC8, 0xF8, 0x30, 0x00, 0x1E, 0x1E, 0x00, 0x12, 0x1E, 0x0C, // 223 + 0x40, 0x48, 0xD8, 0x80, 0x1C, 0x12, 0x1E, 0x1E, // 224 + 0x40, 0x58, 0xC8, 0x80, 0x1C, 0x12, 0x1E, 0x1E, // 225 + 0x50, 0x58, 0xC8, 0x98, 0x10, 0x1C, 0x12, 0x1E, 0x1E, 0x00, // 226 + 0x58, 0x48, 0xD0, 0x98, 0x1C, 0x12, 0x1E, 0x1E, // 227 + 0x50, 0x40, 0xD0, 0x80, 0x1C, 0x12, 0x1E, 0x1E, // 228 + 0x40, 0x58, 0xD8, 0x80, 0x1C, 0x12, 0x1E, 0x1E, // 229 + 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x40, 0xC0, 0x80, 0x1C, 0x1E, 0x12, 0x0E, 0x1E, 0x12, 0x1A, 0x0A, // 230 + 0x80, 0xC0, 0x40, 0x80, 0xAE, 0xBE, 0xF0, 0x08, // 231 + 0x80, 0xC8, 0x58, 0x80, 0x0E, 0x1E, 0x12, 0x0A, // 232 + 0x80, 0xD8, 0x48, 0x80, 0x0E, 0x1E, 0x12, 0x0A, // 233 + 0x90, 0xD8, 0x48, 0x98, 0x10, 0x0E, 0x1E, 0x12, 0x0A, 0x00, // 234 + 0x90, 0xC0, 0x50, 0x80, 0x0E, 0x1E, 0x12, 0x0A, // 235 + 0xC8, 0xD8, 0x1E, 0x1E, // 236 + 0xD8, 0xC8, 0x1E, 0x1E, // 237 + 0xD8, 0xC8, 0x18, 0x1E, 0x1E, 0x00, // 238 + 0xC0, 0xD0, 0x1E, 0x1E, // 239 + 0x80, 0xE0, 0x58, 0xF8, 0xC0, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 240 + 0xD8, 0xC8, 0x50, 0xD8, 0x80, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, // 241 + 0x80, 0xC0, 0x48, 0xD8, 0x80, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 242 + 0x80, 0xD8, 0x48, 0xC0, 0x80, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 243 + 0x90, 0xD8, 0x48, 0xD8, 0x90, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 244 + 0x98, 0xC8, 0x50, 0xD8, 0x80, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 245 + 0x80, 0xD0, 0x40, 0xD0, 0x80, 0x0E, 0x1E, 0x10, 0x1E, 0x0E, // 246 + 0x80, 0x80, 0xA0, 0xA0, 0x80, 0x80, 0x02, 0x02, 0x0A, 0x0A, 0x02, 0x02, // 247 + 0x80, 0xC0, 0x40, 0xC0, 0xC0, 0x1E, 0x1E, 0x16, 0x1E, 0x0E, // 248 + 0xC0, 0xC0, 0x08, 0xD8, 0xC0, 0x0E, 0x1E, 0x10, 0x1E, 0x1E, // 249 + 0xC0, 0xD8, 0x08, 0xC0, 0xC0, 0x0E, 0x1E, 0x10, 0x1E, 0x1E, // 250 + 0xD0, 0xD8, 0x08, 0xD8, 0xD0, 0x0E, 0x1E, 0x10, 0x1E, 0x1E // 251 + +}; + +#endif diff --git a/Arduino_Libs/SSD1306Ascii-master/src/utility/AvrI2c.h b/Arduino_Libs/SSD1306Ascii-master/src/utility/AvrI2c.h new file mode 100644 index 0000000..74fc422 --- /dev/null +++ b/Arduino_Libs/SSD1306Ascii-master/src/utility/AvrI2c.h @@ -0,0 +1,147 @@ +/* Arduino SSD1306Ascii Library + * Copyright (C) 2015 by William Greiman + * + * This file is part of the Arduino SSD1306Ascii Library + * + * This Library 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 3 of the License, or + * (at your option) any later version. + * + * This Library 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 the Arduino SSD1306Ascii Library. If not, see + * . + */ +/** + * @file AvrI2c.h + * @brief Small fast I2C class for AVR. + */ +#ifndef AvrI2c_h +#define AvrI2c_h +#include + +/** Bit to or with address for read start and read restart */ +uint8_t const I2C_READ = 1; + +/** Bit to or with address for write start and write restart */ +uint8_t const I2C_WRITE = 0; +//------------------------------------------------------------------------------ +// Status codes in TWSR - names are from Atmel TWSR.h with TWSR_ added + +/** start condition transmitted */ +uint8_t const TWSR_START = 0x08; + +/** repeated start condition transmitted */ +uint8_t const TWSR_REP_START = 0x10; + +/** slave address plus write bit transmitted, ACK received */ +uint8_t const TWSR_MTX_ADR_ACK = 0x18; + +/** data transmitted, ACK received */ +uint8_t const TWSR_MTX_DATA_ACK = 0x28; + +/** slave address plus read bit transmitted, ACK received */ +uint8_t const TWSR_MRX_ADR_ACK = 0x40; +//------------------------------------------------------------------------------ +/** + * \class AvrI2c + * \brief Hardware I2C master class for AVR. + * + * Uses ATmega TWI hardware port + */ +class AvrI2c { + public: + /** + * @brief Initialize prescalar and SLC clock rate. + * @param[in] fastMode Fast 400 kHz mode if true else standard 100 kHz mode. + */ + void begin(bool fastMode = true) { + // Zero prescaler. + TWSR = 0; + // Set bit rate factor. + TWBR = fastMode ? (F_CPU/400000 - 16)/2 : (F_CPU/100000 - 16)/2; + } + /** + * @brief Read a byte and send Ack if more reads follow else + Nak to terminate read. + * + * @param[in] last Set true to terminate the read else false. + * @return The byte read from the I2C bus. + */ + uint8_t read(bool last) { + execCmd((1 << TWINT) | (1 << TWEN) | (last ? 0 : (1 << TWEA))); + return TWDR; + } + /** + * @brief Issue a repeated start condition. + * + * same as start with no stop. Included to document intention. + * + * @param[in] addressRW I2C address with read/write bit. + * @return The value true, 1, for success or false, 0, for failure. + */ + bool repeatedStart(uint8_t addressRW) { + return start(addressRW); + } + /** + * @brief Issue a start condition. + * + * @param[in] addressRW I2C address with read/write bit. + * + * @return The value true for success or false for failure. + */ + bool start(uint8_t addressRW) { + // send START condition + execCmd((1<. + */ +/** + * @file DigitalOutput.h + * @brief Faster version of digitalWrite(). + */ +#ifndef DigitalOutput_h +#define DigitalOutput_h + +#include +#ifdef __AVR__ +#include +#include +/** + * @class DigitalOutput + * @brief Faster version of digitalWrite(). + */ +class DigitalOutput { + public: + /** + * @breif initialize the digital pin. + * + * @param[in] pin The Arduino pin number. + */ + void begin(uint8_t pin) { + uint8_t port = digitalPinToPort(pin); + m_portReg = portOutputRegister(port); + m_bit = digitalPinToBitMask(pin); + m_mask = ~m_bit; + pinMode(pin, OUTPUT); + } + /** + * @brief Set the level of a digital pin. + * + * @param[in] level The value to be set. + */ + inline __attribute__((always_inline)) + void write(bool level) {ATOMIC_BLOCK(ATOMIC_FORCEON) {writeI(level);}} + /** + * @brief Set the level of a digital pin. + * + * @param[in] level The value to be set. + * @note This function must be called with interrupts disabled. + */ + inline __attribute__((always_inline)) + void writeI(bool level) { + *m_portReg = level ? *m_portReg | m_bit : *m_portReg & m_mask; + } + private: + uint8_t m_bit; + uint8_t m_mask; + volatile uint8_t* m_portReg; +}; +#else // _AVR_ +/** + * @class DigitalOutput + * @brief Faster version of digitalWrite(). + */ +class DigitalOutput { + public: + /** + * @brief initialize the digital pin. + * + * @param[in] pin The Arduino pin number. + */ + void begin(uint8_t pin) { + m_pin = pin; + pinMode(m_pin, OUTPUT); + } + /** + * @brief Set the level of a digital pin. + * + * @param[in] level The value to be set. + */ + inline __attribute__((always_inline)) + void write(bool level) { + digitalWrite(m_pin, level); + } + private: + uint8_t m_pin; +}; +#endif // _AVR_ +#endif // DigitalOutput_h \ No newline at end of file diff --git a/tests/OLED_TEST/OLED_TEST.ino b/tests/OLED_TEST/OLED_TEST.ino index 91cd20c..e6a6172 100644 --- a/tests/OLED_TEST/OLED_TEST.ino +++ b/tests/OLED_TEST/OLED_TEST.ino @@ -7,27 +7,21 @@ // 0X3C+SA0 - 0x3C or 0x3D #define I2C_ADDRESS 0x3C -// Define proper RST_PIN if required. -#define RST_PIN -1 - -SSD1306AsciiWire oled; +SSD1306AsciiWire display; //------------------------------------------------------------------------------ void setup() { Wire.begin(); Wire.setClock(400000L); -#if RST_PIN >= 0 - oled.begin(&Adafruit128x64, I2C_ADDRESS, RST_PIN); -#else // RST_PIN >= 0 - oled.begin(&Adafruit128x64, I2C_ADDRESS); -#endif // RST_PIN >= 0 + display.begin(&Adafruit128x64, I2C_ADDRESS); - oled.setFont(System5x7); - oled.clear(); - oled.print("Hello world!"); + display.setFont(System5x7); + display.clear(); + display.print("Hello world!"); } //------------------------------------------------------------------------------ void loop() { - oled.setCursor(60, 4); - oled.println(millis()); + display.setCursor(60, 4); + display.set2X(); + display.println(millis()); } diff --git a/tests/Startsignal_Test/Startsignal_Test.ino b/tests/Startsignal_Test/Startsignal_Test.ino index 772a3fe..d1097b1 100644 --- a/tests/Startsignal_Test/Startsignal_Test.ino +++ b/tests/Startsignal_Test/Startsignal_Test.ino @@ -13,7 +13,8 @@ void setup() { tone(6, melody[0], 200); delay(1000); tone(6, melody[1], 100); - + delay(100); + noTone(6); //set all LEDS as OUTPUT pinMode(A0,OUTPUT); pinMode(A1,OUTPUT);