commit
ffe0df4b36
@ -0,0 +1,145 @@
|
||||
# LCD Language Font System
|
||||
|
||||
We deal with a variety of different displays.
|
||||
And we try to display a lot of different languages in different scripts on them.
|
||||
This system is ought to solve some of the related problems.
|
||||
|
||||
## The Displays
|
||||
We have two different technologies for the displays:
|
||||
|
||||
* Character based displays:
|
||||
Have a fixed set of symbols (charset - font) in their ROM.
|
||||
All of them have a similar but not identical symbol set at the positions 0 to 127 similar to US-ASCII.
|
||||
On the other hand symbols at places higher than 127 have mayor differences.
|
||||
Until now we know of (and support):
|
||||
* 1.) HD44780 and similar with Kana charset A00 https://www.sparkfun.com/datasheets/LCD/HD44780.pdf Page 17
|
||||
These are very common, but sadly not very useful when writing in European languages.
|
||||
* 2.) HD44780 and similar with Western charset A02 https://www.sparkfun.com/datasheets/LCD/HD44780.pdf Page 18
|
||||
These are rare, but fairly useful for European languages. Also a limited number of Cyrillic symbols is available.
|
||||
* 3.) HD44780 and similar with Cyrillic charset http://store.comet.bg/download-file.php?id=466 Page 14
|
||||
Some of our Russian friends use them.
|
||||
|
||||
At all of them you can define 8 different symbols by yourself. In Marlin they are used for the Feedrate-, Thermometer-, ... symbols
|
||||
|
||||
* Full graphic displays:
|
||||
Where we have the full freedom to display whatever we want, when we can make a program for it.
|
||||
Currently we deal with 128x64 Pixel Displays and divide this area in about 5 Lines with about 22 columns.
|
||||
Therefore we need fonts with a bounding box of about 6x10.
|
||||
Until now we used a
|
||||
* 1.) Marlin-font similar to ISO10646-1 but with special Symbols at the end, what made 'ü' and 'ä' inaccessible, in the size 6x10.
|
||||
* 2.) Because these letters where to big for some locations on the info-screen we use a full ISO10646-1 font in the size of 6x9.(3200 byte)
|
||||
* 3.) When we define USE_BIG_EDIT_FONT we use an additional ISO10646-1 font with 9x18, eating up another 3120 bytes of progmem - but readable without glasses.
|
||||
|
||||
## The Languages
|
||||
For the moment Marlin wants to support a lot of languages:
|
||||
* en English
|
||||
* pl Polish
|
||||
* fr French
|
||||
* de German
|
||||
* es Spanish
|
||||
* ru Russian
|
||||
* it Italian
|
||||
* pt Portuguese
|
||||
* pt-br Portuguese (Brazil)
|
||||
* fi Finnish
|
||||
* an Aragonese
|
||||
* nl Dutch
|
||||
* ca Catalan
|
||||
* eu Basque-Euskera
|
||||
|
||||
and recently on [Thingiverse](http://www.thingiverse.com/) a new port to
|
||||
* jp [Japanese](http://www.thingiverse.com/thing:664397)
|
||||
|
||||
appeared.
|
||||
|
||||
## The Problem
|
||||
All of this languages, except the English, normally use extended symbol sets, not contained in US-ASCII.
|
||||
Even the English translation uses some Symbols not in US-ASCII. ( '\002' for Thermometer, STR_h3 for '³')
|
||||
And worse, in the code itself symbols are used, not taking in account, on what display they are written. [(This is true only for Displays with Japanese charset](https://github.com/MarlinFirmware/Marlin/blob/Development/Marlin/ultralcd_implementation_hitachi_HD44780.h#L218) on Western displays you'll see a '~' and on Cyrillic an 'arrow coming from top - pointing to left', what is quite the opposite of what the programmer wanted.)
|
||||
The Germans want to use "ÄäÖöÜüß" the Finnish at least "äö". Other European languages want to see their accents on their letters.
|
||||
For other scripts like Cyrillic, Japanese, Greek, Hebrew, ... you have to find totally different symbol sets.
|
||||
|
||||
Until now the problems where ignored widely.
|
||||
The German translation used utf8 'ä' and 'ö' and did not care about showing garbage on ALL displays.
|
||||
The Russian translators new that their system only works on the Cyrillic character displays and relied on special LCD routines (LiquidCrystalRus.cpp) to handle UTF8 but missed to implement a proper strlen().
|
||||
The Japanese translator dealed with to scripts. He introduced a very special font for the full graphic displays and made use of the Japanese version of the character displays. Therefore he ended up with two pretty unreadable language.h files full of '\xxx' definitions.
|
||||
Other languages ether tried to avoid wording with their special symbols or ignored the problem at all and used the basic symbols without the accents, dots, ... whatever.
|
||||
|
||||
## The (partial) Solution
|
||||
On a 'perfect' system like Windows or Linux we'd dig out unifont.ttf and some code from the libraries and they'd do what we want. But we are on a embedded system with very limited resources. So we had to find ways to limit the used space (Alone unifont.ttf is about 12MB) and have to make some compromise.
|
||||
|
||||
### Aims:
|
||||
* 1.) Make the input for translators as convenient as possible. (Unicode UTF8)
|
||||
* 2.) Make the displays show the scripts as good as they can. (fonts, mapping tables)
|
||||
* 3.) Don't destroy the existing language files.
|
||||
* 3.) Don't loose to much speed
|
||||
* 4.) Don't loose to much memory.
|
||||
|
||||
### Actions:
|
||||
* a.) Declare the display hardware we use. (Configuration.h)
|
||||
* b.) Declare the language ore script we use. (Configuration.h)
|
||||
* c.) Declare the kind of input we use. Ether direct pointers to the font (\xxx) or UTF8 and the font to use on graphic displays. (language_xx.h)
|
||||
* d.) Declare the needed translations. (language_xx.h)
|
||||
* e.) Make strlen() work with UTF8. (ultralcd.cpp)
|
||||
* f.) Seperate the Marlin Symbols to their own font. (dogm_font_data_Marlin_symbols.h)
|
||||
* g.) Make the fontswitch function remember the last used font. (dogm_lcd_implementation.h)
|
||||
* h.) Make output functions that count the number of written chars and switch the font to Marlin symbols and back when needed. (dogm_lcd_implementation.h) (ultralcd_implementation_hitachi_HD44780.h)
|
||||
* i.) Make three fonts to simulate the HD44780 charsets on dogm-displays. With this fonts the translator can check how his translation will look on the character based displays.
|
||||
* j.) Make ISO fonts for Cyrillic and Katakana because they do not need a mapping table and are faster to deal with and have a better charset (less compromises) than the HD44780 fonts.
|
||||
* k.) Make mapping functions and tables to convert from UTF8 to the fonts and integrate in the new output functions. (utf_mapper.h)
|
||||
* l.) Delete the not needed any more 'LiquidCrystalRus.xxx' files and their calls in 'ultralcd_implementation_hitachi_HD44780.h'.
|
||||
* m.) Split 'dogm_font_data_Marlin.h' into separate fonts and delete. (+dogm_font_data_6x9_marlin.h , +dogm_font_data_Marlin_symbols.h, -dogm_font_data_Marlin.h)
|
||||
* n.) Do a bit of preprocessor magic to match displays - fonts and mappers in 'utf_mapper.h'.
|
||||
|
||||
## Translators handbook
|
||||
* a.) Check is there already is a language_xx.h file for your language (-> b.) or not (-> e.)
|
||||
* b.) Ether their is declared MAPPER_NON (-> c.) or an other mapper (-> d.)
|
||||
* c.) Symbols outside the normal ASCII-range (32-128) are written as "\xxx" and point directly into the font of the hardware you declared in 'Configuration.h'
|
||||
This is one of the three fonts of the character based Hitachi displays (DISPLAY_CHARSET_HD44780_JAPAN, DISPLAY_CHARSET_HD44780_WEST, DISPLAY_CHARSET_HD44780_CYRILIC).
|
||||
Even on the full graphic displays one of these will be used when SIMULATE_ROMFONT is defined.
|
||||
If you don't make use of the extended character set your file will look like 'language_en.h' and your language file will work on all the displays.
|
||||
If you make intensive use, your file will look like 'language_kana.h' and your language file will only work on one of displays. (in this case DISPLAY_CHARSET_HD44780_JAPAN)
|
||||
Be careful with the characters 0x5c = '\', and 0x7b - 0x7f. "{|}"These are not the same on all variants.
|
||||
MAPPER_NON is the fastest an least memory consuming variant.
|
||||
If you want to make use of more than a view symbols outside standard ASCII or want to improve the portability to more different types of displays use UTF8 input. That means define an other mapper.
|
||||
* d.) With a mapper different to MAPPER_NON UTF8 input is used. Instead of "\xe1" (on a display with Japanese font) or STR_ae simply use "ä". When the string is read byte by byte , the "ä" will expand to "\0xc3\0xa4" or "Я" will expand to "0xd0\0xaf" or "ホ" will expand to "\0xe3\0x83\0x9b"
|
||||
To limit the used memory we can't use all the possibilities UTF8 gives at the same time. We define a subset matching to the language or script we use.
|
||||
* MAPPER_C2C3 correspondents good with west European languages the possible symbols are listed at (http://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block))
|
||||
* MAPPER_D0D1 correspondents well with the Cyrillic languages. See (http://en.wikipedia.org/wiki/Cyrillic_(Unicode_block))
|
||||
* MAPPER_E382E383 works with the Japanese Katakana script. See (http://en.wikipedia.org/wiki/Katakana_(Unicode_block))
|
||||
|
||||
The mapper functions will only catch the 'lead in' described in the mappers name. If the input they get does not match they'll put out a '?' or garbage.
|
||||
The last byte in the sequence ether points directly into a matching ISO10646 font or via a mapper_table into one of the HD44780 fonts.
|
||||
The mapper_tables do their best to find a similar symbol in the HD44780_fonts. For example replacing small letters with the matching capital letters. But they may fail to find something matching and will output a '?'. There are combinations of language and display what simply have no corresponding symbols - like Cyrillic on a Japanese display or visa versa - than the compiler will throw an error.
|
||||
In short: Chose a Mapper working with the symbols you want to use. Use only symbols matching the mapper. On FULL graphic displays all will be fine, but check for daring replacements or question-marks in the output of character based displays by defining SIMULATE_ROMFONT and trying the different variants.
|
||||
If you get a lot of question-marks on the Hitachi based displays with your new translation, maybe creating an additional language file with the format 'language_xx_utf8.h' is the way to go.
|
||||
* MAPPER_NON is the fastest and least memory consuming variant.
|
||||
* Mappers together with a ISO10646_font are the second best choice regarding speed and memory consumption. Only a few more decisions are mad per character.
|
||||
* Mappers together with the HD44780_fonts use about additional 128 bytes for the mapping_table.
|
||||
* e.) Creating a new language file is not a big thing. Just make a new file with the format 'language_xx.h' or maybe 'language.xx.utf8.h', define a mapper and a font in there and translate some of the strings defined in language_en.h. You can drop the surrounding #ifndef #endif. You don't have to translate all the stings - the missing one will be added by language_en.h - in English - of cause.
|
||||
* f.) If you cant find a matching mapper things will be a bit more complex. With the Hitachi based displays you will not have big chance to make something useful unless you have one with a matching charset. For a full graphic display - lets explain with - let's say Greece.
|
||||
Find a matching charset. (http://en.wikipedia.org/wiki/Greek_and_Coptic)
|
||||
Provide a font containing the symbols in the right size. Normal ASCII in the lower 127 places, the upper with your selection.
|
||||
Write a mapper catching, in this case, 0xcd to 0xcf and add it to 'utf_mapper.h'.
|
||||
In case of a ISO10646 font we have a MAPPER_ONE_TO_ONE and don't have to make a table.
|
||||
* g.) If you discover enough useful symbols in one of the HD44780 fonts you can provide a mapping table. For example HD44780_WEST contains 'alpha', 'beta', 'pi', 'Sigma', 'omega' 'My' - what is not enough to make USEFUL table - I think.
|
||||
* h.) If you want to integrate an entirely new variant of a Hitachi based display.
|
||||
Add it in 'Configuration.h'. Define mapper tables in 'utf_mapper.h'. Maybe you need a new mapper function.
|
||||
|
||||
The length of the strings is limited. '17 chars' was crude rule of thumb. Obviously 17 is to long for the 16x2 displays. A more exact rule would be max_strlen = Displaywidth - 2 - strlen(value to display behind). This is a bit complicated. So try and count is my rule of thumb.
|
||||
|
||||
On the 16x2 displays the strings are cut at the end to fit on the display. So it's a good idea to make them differ early. ('Somverylongoptionname x' -> 'x Somverylongoptionname')
|
||||
|
||||
You'll find all translatable strings in 'language_en.h'. Please don't translate any strings from 'language.h', this may break the serial protocol.
|
||||
|
||||
## User Instructions
|
||||
Define your hardware and the wanted language in 'Configuration.h'.
|
||||
To find out what charset your hardware is, define language 'test' and compile. In the menu you will see two lines from the upper half of the charset.
|
||||
* DISPLAY_CHARSET_HD44780_JAPAN locks like "バパヒビピフブプヘベペホボポマミ"
|
||||
* DISPLAY_CHARSET_HD44780_WESTERN locks like "ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß"
|
||||
* DISPLAY_CHARSET_HD44780_CYRILIC locks like "РСТУФХЦЧШЩЪЫЬЭЮЯ"
|
||||
|
||||
If you get an error about missing mappers during compilation - lie about your displays hardware font to see at lest some garbage, or select an other language.
|
||||
|
||||
English works on all hardware.
|
||||
|
@ -1,393 +0,0 @@
|
||||
#include "LiquidCrystalRus.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <inttypes.h>
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
#include "Arduino.h"
|
||||
#else
|
||||
#include "WProgram.h"
|
||||
#endif
|
||||
|
||||
// it is a Russian alphabet translation
|
||||
// except 0401 --> 0xa2 = ╗, 0451 --> 0xb5
|
||||
const PROGMEM uint8_t utf_recode[] =
|
||||
{ 0x41,0xa0,0x42,0xa1,0xe0,0x45,0xa3,0xa4,
|
||||
0xa5,0xa6,0x4b,0xa7,0x4d,0x48,0x4f,0xa8,
|
||||
0x50,0x43,0x54,0xa9,0xaa,0x58,0xe1,0xab,
|
||||
0xac,0xe2,0xad,0xae,0x62,0xaf,0xb0,0xb1,
|
||||
0x61,0xb2,0xb3,0xb4,0xe3,0x65,0xb6,0xb7,
|
||||
0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0x6f,0xbe,
|
||||
0x70,0x63,0xbf,0x79,0xe4,0x78,0xe5,0xc0,
|
||||
0xc1,0xe6,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7
|
||||
};
|
||||
|
||||
// When the display powers up, it is configured as follows:
|
||||
//
|
||||
// 1. Display clear
|
||||
// 2. Function set:
|
||||
// DL = 1; 8-bit interface data
|
||||
// N = 0; 1-line display
|
||||
// F = 0; 5x8 dot character font
|
||||
// 3. Display on/off control:
|
||||
// D = 0; Display off
|
||||
// C = 0; Cursor off
|
||||
// B = 0; Blinking off
|
||||
// 4. Entry mode set:
|
||||
// I/D = 1; Increment by 1
|
||||
// S = 0; No shift
|
||||
//
|
||||
// Note, however, that resetting the Arduino doesn't reset the LCD, so we
|
||||
// can't assume that it's in that state when a sketch starts (and the
|
||||
// LiquidCrystal constructor is called).
|
||||
//
|
||||
// modified 27 Jul 2011
|
||||
// by Ilya V. Danilov http://mk90.ru/
|
||||
|
||||
|
||||
LiquidCrystalRus::LiquidCrystalRus(uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
|
||||
{
|
||||
init(0, rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7);
|
||||
}
|
||||
|
||||
LiquidCrystalRus::LiquidCrystalRus(uint8_t rs, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
|
||||
{
|
||||
init(0, rs, 255, enable, d0, d1, d2, d3, d4, d5, d6, d7);
|
||||
}
|
||||
|
||||
LiquidCrystalRus::LiquidCrystalRus(uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
|
||||
{
|
||||
init(1, rs, rw, enable, d0, d1, d2, d3, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
LiquidCrystalRus::LiquidCrystalRus(uint8_t rs, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3)
|
||||
{
|
||||
init(1, rs, 255, enable, d0, d1, d2, d3, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
|
||||
{
|
||||
_rs_pin = rs;
|
||||
_rw_pin = rw;
|
||||
_enable_pin = enable;
|
||||
|
||||
_data_pins[0] = d0;
|
||||
_data_pins[1] = d1;
|
||||
_data_pins[2] = d2;
|
||||
_data_pins[3] = d3;
|
||||
_data_pins[4] = d4;
|
||||
_data_pins[5] = d5;
|
||||
_data_pins[6] = d6;
|
||||
_data_pins[7] = d7;
|
||||
|
||||
pinMode(_rs_pin, OUTPUT);
|
||||
// we can save 1 pin by not using RW. Indicate by passing 255 instead of pin#
|
||||
if (_rw_pin != 255) {
|
||||
pinMode(_rw_pin, OUTPUT);
|
||||
}
|
||||
pinMode(_enable_pin, OUTPUT);
|
||||
|
||||
if (fourbitmode)
|
||||
_displayfunction = LCD_4BITMODE | LCD_1LINE | LCD_5x8DOTS;
|
||||
else
|
||||
_displayfunction = LCD_8BITMODE | LCD_1LINE | LCD_5x8DOTS;
|
||||
|
||||
begin(16, 1);
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::begin(uint8_t cols, uint8_t lines, uint8_t dotsize) {
|
||||
if (lines > 1) {
|
||||
_displayfunction |= LCD_2LINE;
|
||||
}
|
||||
_numlines = lines;
|
||||
_currline = 0;
|
||||
|
||||
// for some 1 line displays you can select a 10 pixel high font
|
||||
if ((dotsize != 0) && (lines == 1)) {
|
||||
_displayfunction |= LCD_5x10DOTS;
|
||||
}
|
||||
|
||||
// SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
|
||||
// according to datasheet, we need at least 40ms after power rises above 2.7V
|
||||
// before sending commands. Arduino can turn on way before 4.5V so we'll wait 50
|
||||
delayMicroseconds(50000);
|
||||
// Now we pull both RS and R/W low to begin commands
|
||||
digitalWrite(_rs_pin, LOW);
|
||||
digitalWrite(_enable_pin, LOW);
|
||||
if (_rw_pin != 255) {
|
||||
digitalWrite(_rw_pin, LOW);
|
||||
}
|
||||
|
||||
//put the LCD into 4 bit or 8 bit mode
|
||||
if (! (_displayfunction & LCD_8BITMODE)) {
|
||||
// this is according to the Hitachi HD44780 datasheet
|
||||
// figure 24, pg 46
|
||||
|
||||
// we start in 8bit mode, try to set 4 bit mode
|
||||
writeNbits(0x03,4);
|
||||
delayMicroseconds(4500); // wait min 4.1ms
|
||||
|
||||
// second try
|
||||
writeNbits(0x03,4);
|
||||
delayMicroseconds(4500); // wait min 4.1ms
|
||||
|
||||
// third go!
|
||||
writeNbits(0x03,4);
|
||||
delayMicroseconds(150);
|
||||
|
||||
// finally, set to 8-bit interface
|
||||
writeNbits(0x02,4);
|
||||
} else {
|
||||
// this is according to the Hitachi HD44780 datasheet
|
||||
// page 45 figure 23
|
||||
|
||||
// Send function set command sequence
|
||||
command(LCD_FUNCTIONSET | _displayfunction);
|
||||
delayMicroseconds(4500); // wait more than 4.1ms
|
||||
|
||||
// second try
|
||||
command(LCD_FUNCTIONSET | _displayfunction);
|
||||
delayMicroseconds(150);
|
||||
|
||||
// third go
|
||||
command(LCD_FUNCTIONSET | _displayfunction);
|
||||
}
|
||||
|
||||
// finally, set # lines, font size, etc.
|
||||
command(LCD_FUNCTIONSET | _displayfunction);
|
||||
|
||||
// turn the display on with no cursor or blinking default
|
||||
_displaycontrol = LCD_DISPLAYON | LCD_CURSOROFF | LCD_BLINKOFF;
|
||||
display();
|
||||
|
||||
// clear it off
|
||||
clear();
|
||||
|
||||
// Initialize to default text direction (for romance languages)
|
||||
_displaymode = LCD_ENTRYLEFT | LCD_ENTRYSHIFTDECREMENT;
|
||||
// set the entry mode
|
||||
command(LCD_ENTRYMODESET | _displaymode);
|
||||
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::setDRAMModel(uint8_t model) {
|
||||
_dram_model = model;
|
||||
}
|
||||
|
||||
/********** high level commands, for the user! */
|
||||
void LiquidCrystalRus::clear()
|
||||
{
|
||||
command(LCD_CLEARDISPLAY); // clear display, set cursor position to zero
|
||||
delayMicroseconds(2000); // this command takes a long time!
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::home()
|
||||
{
|
||||
command(LCD_RETURNHOME); // set cursor position to zero
|
||||
delayMicroseconds(2000); // this command takes a long time!
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::setCursor(uint8_t col, uint8_t row)
|
||||
{
|
||||
int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
|
||||
if ( row >= _numlines ) {
|
||||
row = _numlines-1; // we count rows starting w/0
|
||||
}
|
||||
|
||||
command(LCD_SETDDRAMADDR | (col + row_offsets[row]));
|
||||
}
|
||||
|
||||
// Turn the display on/off (quickly)
|
||||
void LiquidCrystalRus::noDisplay() {
|
||||
_displaycontrol &= ~LCD_DISPLAYON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
void LiquidCrystalRus::display() {
|
||||
_displaycontrol |= LCD_DISPLAYON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
|
||||
// Turns the underline cursor on/off
|
||||
void LiquidCrystalRus::noCursor() {
|
||||
_displaycontrol &= ~LCD_CURSORON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
void LiquidCrystalRus::cursor() {
|
||||
_displaycontrol |= LCD_CURSORON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
|
||||
// Turn on and off the blinking cursor
|
||||
void LiquidCrystalRus::noBlink() {
|
||||
_displaycontrol &= ~LCD_BLINKON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
void LiquidCrystalRus::blink() {
|
||||
_displaycontrol |= LCD_BLINKON;
|
||||
command(LCD_DISPLAYCONTROL | _displaycontrol);
|
||||
}
|
||||
|
||||
// These commands scroll the display without changing the RAM
|
||||
void LiquidCrystalRus::scrollDisplayLeft(void) {
|
||||
command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVELEFT);
|
||||
}
|
||||
void LiquidCrystalRus::scrollDisplayRight(void) {
|
||||
command(LCD_CURSORSHIFT | LCD_DISPLAYMOVE | LCD_MOVERIGHT);
|
||||
}
|
||||
|
||||
// This is for text that flows Left to Right
|
||||
void LiquidCrystalRus::leftToRight(void) {
|
||||
_displaymode |= LCD_ENTRYLEFT;
|
||||
command(LCD_ENTRYMODESET | _displaymode);
|
||||
}
|
||||
|
||||
// This is for text that flows Right to Left
|
||||
void LiquidCrystalRus::rightToLeft(void) {
|
||||
_displaymode &= ~LCD_ENTRYLEFT;
|
||||
command(LCD_ENTRYMODESET | _displaymode);
|
||||
}
|
||||
|
||||
// This will 'right justify' text from the cursor
|
||||
void LiquidCrystalRus::autoscroll(void) {
|
||||
_displaymode |= LCD_ENTRYSHIFTINCREMENT;
|
||||
command(LCD_ENTRYMODESET | _displaymode);
|
||||
}
|
||||
|
||||
// This will 'left justify' text from the cursor
|
||||
void LiquidCrystalRus::noAutoscroll(void) {
|
||||
_displaymode &= ~LCD_ENTRYSHIFTINCREMENT;
|
||||
command(LCD_ENTRYMODESET | _displaymode);
|
||||
}
|
||||
|
||||
// Allows us to fill the first 8 CGRAM locations
|
||||
// with custom characters
|
||||
void LiquidCrystalRus::createChar(uint8_t location, uint8_t charmap[]) {
|
||||
location &= 0x7; // we only have 8 locations 0-7
|
||||
command(LCD_SETCGRAMADDR | (location << 3));
|
||||
for (int i=0; i<8; i++) {
|
||||
write(charmap[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/*********** mid level commands, for sending data/cmds */
|
||||
|
||||
inline void LiquidCrystalRus::command(uint8_t value) {
|
||||
send(value, LOW);
|
||||
}
|
||||
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
size_t LiquidCrystalRus::write(uint8_t value)
|
||||
#else
|
||||
void LiquidCrystalRus::write(uint8_t value)
|
||||
#endif
|
||||
{
|
||||
uint8_t out_char=value;
|
||||
|
||||
if (_dram_model == LCD_DRAM_WH1601) {
|
||||
uint8_t ac=recv(LOW) & 0x7f;
|
||||
if (ac>7 && ac<0x14) command(LCD_SETDDRAMADDR | (0x40+ac-8));
|
||||
}
|
||||
|
||||
if (value>=0x80) { // UTF-8 handling
|
||||
if (value >= 0xc0) {
|
||||
utf_hi_char = value - 0xd0;
|
||||
} else {
|
||||
value &= 0x3f;
|
||||
if (!utf_hi_char && (value == 1))
|
||||
send(0xa2,HIGH); // ╗
|
||||
else if ((utf_hi_char == 1) && (value == 0x11))
|
||||
send(0xb5,HIGH); // ╦
|
||||
else
|
||||
send(pgm_read_byte_near(utf_recode + value + (utf_hi_char<<6) - 0x10), HIGH);
|
||||
}
|
||||
} else send(out_char, HIGH);
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
return 1; // assume success
|
||||
#endif
|
||||
}
|
||||
|
||||
/************ low level data pushing commands **********/
|
||||
|
||||
// write either command or data, with automatic 4/8-bit selection
|
||||
void LiquidCrystalRus::send(uint8_t value, uint8_t mode) {
|
||||
digitalWrite(_rs_pin, mode);
|
||||
|
||||
// if there is a RW pin indicated, set it low to Write
|
||||
if (_rw_pin != 255) {
|
||||
digitalWrite(_rw_pin, LOW);
|
||||
}
|
||||
|
||||
if (_displayfunction & LCD_8BITMODE) {
|
||||
writeNbits(value,8);
|
||||
} else {
|
||||
writeNbits(value>>4,4);
|
||||
writeNbits(value,4);
|
||||
}
|
||||
}
|
||||
|
||||
// read data, with automatic 4/8-bit selection
|
||||
uint8_t LiquidCrystalRus::recv(uint8_t mode) {
|
||||
uint8_t retval;
|
||||
digitalWrite(_rs_pin, mode);
|
||||
|
||||
// if there is a RW pin indicated, set it low to Write
|
||||
if (_rw_pin != 255) {
|
||||
digitalWrite(_rw_pin, HIGH);
|
||||
}
|
||||
|
||||
if (_displayfunction & LCD_8BITMODE) {
|
||||
retval = readNbits(8);
|
||||
} else {
|
||||
retval = readNbits(4) << 4;
|
||||
retval |= readNbits(4);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
void LiquidCrystalRus::pulseEnable() {
|
||||
digitalWrite(_enable_pin, LOW);
|
||||
delayMicroseconds(1);
|
||||
digitalWrite(_enable_pin, HIGH);
|
||||
delayMicroseconds(1); // enable pulse must be >450ns
|
||||
digitalWrite(_enable_pin, LOW);
|
||||
delayMicroseconds(100); // commands need > 37us to settle
|
||||
}
|
||||
|
||||
void LiquidCrystalRus::writeNbits(uint8_t value, uint8_t n) {
|
||||
for (int i = 0; i < n; i++) {
|
||||
pinMode(_data_pins[i], OUTPUT);
|
||||
digitalWrite(_data_pins[i], (value >> i) & 0x01);
|
||||
}
|
||||
|
||||
pulseEnable();
|
||||
}
|
||||
|
||||
uint8_t LiquidCrystalRus::readNbits(uint8_t n) {
|
||||
uint8_t retval=0;
|
||||
for (int i = 0; i < n; i++) {
|
||||
pinMode(_data_pins[i], INPUT);
|
||||
}
|
||||
|
||||
digitalWrite(_enable_pin, LOW);
|
||||
delayMicroseconds(1);
|
||||
digitalWrite(_enable_pin, HIGH);
|
||||
delayMicroseconds(1); // enable pulse must be >450ns
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
retval |= (digitalRead(_data_pins[i]) == HIGH)?(1 << i):0;
|
||||
}
|
||||
|
||||
digitalWrite(_enable_pin, LOW);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
@ -1,129 +0,0 @@
|
||||
//
|
||||
// based on LiquidCrystal library from ArduinoIDE, see http://arduino.cc
|
||||
// modified 27 Jul 2011
|
||||
// by Ilya V. Danilov http://mk90.ru/
|
||||
//
|
||||
|
||||
#ifndef LiquidCrystalRus_h
|
||||
#define LiquidCrystalRus_h
|
||||
|
||||
#include <inttypes.h>
|
||||
#include "Print.h"
|
||||
|
||||
// commands
|
||||
#define LCD_CLEARDISPLAY 0x01
|
||||
#define LCD_RETURNHOME 0x02
|
||||
#define LCD_ENTRYMODESET 0x04
|
||||
#define LCD_DISPLAYCONTROL 0x08
|
||||
#define LCD_CURSORSHIFT 0x10
|
||||
#define LCD_FUNCTIONSET 0x20
|
||||
#define LCD_SETCGRAMADDR 0x40
|
||||
#define LCD_SETDDRAMADDR 0x80
|
||||
|
||||
// flags for display entry mode
|
||||
#define LCD_ENTRYRIGHT 0x00
|
||||
#define LCD_ENTRYLEFT 0x02
|
||||
#define LCD_ENTRYSHIFTINCREMENT 0x01
|
||||
#define LCD_ENTRYSHIFTDECREMENT 0x00
|
||||
|
||||
// flags for display on/off control
|
||||
#define LCD_DISPLAYON 0x04
|
||||
#define LCD_DISPLAYOFF 0x00
|
||||
#define LCD_CURSORON 0x02
|
||||
#define LCD_CURSOROFF 0x00
|
||||
#define LCD_BLINKON 0x01
|
||||
#define LCD_BLINKOFF 0x00
|
||||
|
||||
// flags for display/cursor shift
|
||||
#define LCD_DISPLAYMOVE 0x08
|
||||
#define LCD_CURSORMOVE 0x00
|
||||
#define LCD_MOVERIGHT 0x04
|
||||
#define LCD_MOVELEFT 0x00
|
||||
|
||||
// flags for function set
|
||||
#define LCD_8BITMODE 0x10
|
||||
#define LCD_4BITMODE 0x00
|
||||
#define LCD_2LINE 0x08
|
||||
#define LCD_1LINE 0x00
|
||||
#define LCD_5x10DOTS 0x04
|
||||
#define LCD_5x8DOTS 0x00
|
||||
|
||||
// enum for
|
||||
#define LCD_DRAM_Normal 0x00
|
||||
#define LCD_DRAM_WH1601 0x01
|
||||
|
||||
|
||||
class LiquidCrystalRus : public Print {
|
||||
public:
|
||||
LiquidCrystalRus(uint8_t rs, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
|
||||
LiquidCrystalRus(uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
|
||||
LiquidCrystalRus(uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
|
||||
LiquidCrystalRus(uint8_t rs, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
|
||||
|
||||
void init(uint8_t fourbitmode, uint8_t rs, uint8_t rw, uint8_t enable,
|
||||
uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
|
||||
uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
|
||||
|
||||
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS);
|
||||
|
||||
void clear();
|
||||
void home();
|
||||
|
||||
void noDisplay();
|
||||
void display();
|
||||
void noBlink();
|
||||
void blink();
|
||||
void noCursor();
|
||||
void cursor();
|
||||
void scrollDisplayLeft();
|
||||
void scrollDisplayRight();
|
||||
void leftToRight();
|
||||
void rightToLeft();
|
||||
void autoscroll();
|
||||
void noAutoscroll();
|
||||
|
||||
void createChar(uint8_t, uint8_t[]);
|
||||
void setCursor(uint8_t, uint8_t);
|
||||
|
||||
#if defined(ARDUINO) && ARDUINO >= 100
|
||||
virtual size_t write(uint8_t);
|
||||
using Print::write;
|
||||
#else
|
||||
virtual void write(uint8_t);
|
||||
#endif
|
||||
|
||||
void command(uint8_t);
|
||||
|
||||
void setDRAMModel(uint8_t);
|
||||
|
||||
private:
|
||||
void send(uint8_t, uint8_t);
|
||||
void writeNbits(uint8_t, uint8_t);
|
||||
uint8_t recv(uint8_t);
|
||||
uint8_t readNbits(uint8_t);
|
||||
void pulseEnable();
|
||||
|
||||
uint8_t _rs_pin; // LOW: command. HIGH: character.
|
||||
uint8_t _rw_pin; // LOW: write to LCD. HIGH: read from LCD.
|
||||
uint8_t _enable_pin; // activated by a HIGH pulse.
|
||||
uint8_t _data_pins[8];
|
||||
|
||||
uint8_t _displayfunction;
|
||||
uint8_t _displaycontrol;
|
||||
uint8_t _displaymode;
|
||||
|
||||
uint8_t _initialized;
|
||||
|
||||
uint8_t _numlines,_currline;
|
||||
|
||||
uint8_t _dram_model;
|
||||
uint8_t utf_hi_char; // UTF-8 high part
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,157 @@
|
||||
/*
|
||||
Fontname: -Misc-Fixed-Medium-R-Normal--9-90-75-75-C-60-ISO10646-1
|
||||
Copyright: Public domain font. Share and enjoy.
|
||||
Capital A Height: 6, '1' Height: 6
|
||||
Calculated Max Values w= 6 h= 9 x= 2 y= 7 dx= 6 dy= 0 ascent= 7 len= 9
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
|
||||
Pure Font ascent = 6 descent=-2
|
||||
X Font ascent = 6 descent=-2
|
||||
Max Font ascent = 7 descent=-2
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t u8g_font_6x9[2300] U8G_SECTION(".progmem.u8g_font_6x9") = {
|
||||
0,6,9,0,254,6,1,137,2,254,32,255,254,7,254,6,
|
||||
254,0,0,0,6,0,7,1,6,6,6,2,0,128,128,128,
|
||||
128,0,128,3,3,3,6,1,3,160,160,160,5,7,7,6,
|
||||
0,255,80,80,248,80,248,80,80,5,9,9,6,0,254,32,
|
||||
112,168,160,112,40,168,112,32,6,8,8,6,0,255,64,168,
|
||||
72,16,32,72,84,8,5,7,7,6,0,255,96,144,144,96,
|
||||
152,144,104,1,3,3,6,2,3,128,128,128,2,7,7,6,
|
||||
2,255,64,128,128,128,128,128,64,2,7,7,6,2,255,128,
|
||||
64,64,64,64,64,128,5,5,5,6,0,0,136,80,248,80,
|
||||
136,5,5,5,6,0,0,32,32,248,32,32,2,4,4,6,
|
||||
2,254,192,64,64,128,5,1,1,6,0,2,248,2,2,2,
|
||||
6,2,0,192,192,4,6,6,6,1,0,16,16,32,64,128,
|
||||
128,4,6,6,6,1,0,96,144,144,144,144,96,3,6,6,
|
||||
6,1,0,64,192,64,64,64,224,4,6,6,6,1,0,96,
|
||||
144,16,32,64,240,4,6,6,6,1,0,240,32,96,16,16,
|
||||
224,5,6,6,6,0,0,16,48,80,144,248,16,4,6,6,
|
||||
6,1,0,240,128,224,16,16,224,4,6,6,6,1,0,96,
|
||||
128,224,144,144,96,4,6,6,6,1,0,240,16,16,32,64,
|
||||
64,4,6,6,6,1,0,96,144,96,144,144,96,4,6,6,
|
||||
6,1,0,96,144,144,112,16,96,2,5,5,6,2,0,192,
|
||||
192,0,192,192,2,7,7,6,2,254,192,192,0,192,64,64,
|
||||
128,5,5,5,6,0,0,24,96,128,96,24,5,3,3,6,
|
||||
0,1,248,0,248,5,5,5,6,0,0,192,48,8,48,192,
|
||||
4,7,7,6,1,0,96,144,16,96,64,0,64,5,6,6,
|
||||
6,0,0,112,144,168,176,128,112,5,6,6,6,0,0,32,
|
||||
80,136,248,136,136,5,6,6,6,0,0,240,136,240,136,136,
|
||||
240,4,6,6,6,1,0,96,144,128,128,144,96,4,6,6,
|
||||
6,1,0,224,144,144,144,144,224,4,6,6,6,1,0,240,
|
||||
128,224,128,128,240,4,6,6,6,1,0,240,128,224,128,128,
|
||||
128,4,6,6,6,1,0,96,144,128,176,144,96,4,6,6,
|
||||
6,1,0,144,144,240,144,144,144,3,6,6,6,1,0,224,
|
||||
64,64,64,64,224,5,6,6,6,0,0,56,16,16,16,144,
|
||||
96,4,6,6,6,1,0,144,160,192,160,144,144,4,6,6,
|
||||
6,1,0,128,128,128,128,128,240,5,6,6,6,0,0,136,
|
||||
216,168,168,136,136,4,6,6,6,1,0,144,208,176,144,144,
|
||||
144,5,6,6,6,0,0,112,136,136,136,136,112,4,6,6,
|
||||
6,1,0,224,144,144,224,128,128,4,7,7,6,1,255,96,
|
||||
144,144,208,176,96,16,4,6,6,6,1,0,224,144,144,224,
|
||||
144,144,4,6,6,6,1,0,96,144,64,32,144,96,5,6,
|
||||
6,6,0,0,248,32,32,32,32,32,4,6,6,6,1,0,
|
||||
144,144,144,144,144,96,4,6,6,6,1,0,144,144,144,240,
|
||||
96,96,5,6,6,6,0,0,136,136,168,168,216,136,5,6,
|
||||
6,6,0,0,136,80,32,32,80,136,5,6,6,6,0,0,
|
||||
136,136,80,32,32,32,4,6,6,6,1,0,240,16,32,64,
|
||||
128,240,3,6,6,6,1,0,224,128,128,128,128,224,4,6,
|
||||
6,6,1,0,128,128,64,32,16,16,3,6,6,6,1,0,
|
||||
224,32,32,32,32,224,5,3,3,6,0,3,32,80,136,5,
|
||||
1,1,6,0,254,248,2,2,2,6,2,4,128,64,4,4,
|
||||
4,6,1,0,112,144,144,112,4,6,6,6,1,0,128,128,
|
||||
224,144,144,224,4,4,4,6,1,0,112,128,128,112,4,6,
|
||||
6,6,1,0,16,16,112,144,144,112,4,4,4,6,1,0,
|
||||
96,176,192,112,4,6,6,6,1,0,32,80,64,224,64,64,
|
||||
4,6,6,6,1,254,96,144,144,112,16,96,4,6,6,6,
|
||||
1,0,128,128,224,144,144,144,3,6,6,6,1,0,64,0,
|
||||
192,64,64,224,3,8,8,6,1,254,32,0,96,32,32,32,
|
||||
160,64,4,6,6,6,1,0,128,128,160,192,160,144,3,6,
|
||||
6,6,1,0,192,64,64,64,64,224,5,4,4,6,0,0,
|
||||
208,168,168,136,4,4,4,6,1,0,224,144,144,144,4,4,
|
||||
4,6,1,0,96,144,144,96,4,6,6,6,1,254,224,144,
|
||||
144,224,128,128,4,6,6,6,1,254,112,144,144,112,16,16,
|
||||
4,4,4,6,1,0,160,208,128,128,4,4,4,6,1,0,
|
||||
112,192,48,224,4,6,6,6,1,0,64,64,224,64,80,32,
|
||||
4,4,4,6,1,0,144,144,144,112,4,4,4,6,1,0,
|
||||
144,144,96,96,5,4,4,6,0,0,136,168,168,80,4,4,
|
||||
4,6,1,0,144,96,96,144,4,6,6,6,1,254,144,144,
|
||||
144,112,144,96,4,4,4,6,1,0,240,32,64,240,3,7,
|
||||
7,6,1,0,32,64,64,128,64,64,32,1,7,7,6,2,
|
||||
255,128,128,128,128,128,128,128,3,7,7,6,1,0,128,64,
|
||||
64,32,64,64,128,4,2,2,6,1,3,80,160,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
|
||||
255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,
|
||||
0,6,0,7,1,6,6,6,2,0,128,0,128,128,128,128,
|
||||
4,6,6,6,1,255,32,112,160,160,112,32,5,7,7,6,
|
||||
0,255,48,72,64,240,64,64,248,5,5,5,6,0,0,168,
|
||||
80,136,80,168,5,6,6,6,0,0,136,80,248,32,248,32,
|
||||
1,7,7,6,2,255,128,128,128,0,128,128,128,4,7,7,
|
||||
6,1,255,112,128,96,144,96,16,224,3,1,1,6,1,5,
|
||||
160,6,7,7,6,0,0,120,132,148,164,148,132,120,3,5,
|
||||
5,6,1,1,96,160,96,0,224,5,5,5,6,0,0,40,
|
||||
80,160,80,40,4,3,3,6,1,0,240,16,16,4,1,1,
|
||||
6,1,2,240,6,7,7,6,0,0,120,132,180,164,164,132,
|
||||
120,4,1,1,6,1,5,240,4,3,3,6,1,2,96,144,
|
||||
96,5,7,7,6,0,255,32,32,248,32,32,0,248,3,5,
|
||||
5,6,1,1,64,160,32,64,224,3,5,5,6,1,1,192,
|
||||
32,64,32,192,2,2,2,6,2,4,64,128,4,5,5,6,
|
||||
1,255,144,144,176,208,128,5,6,6,6,0,0,120,232,232,
|
||||
104,40,40,1,1,1,6,2,2,128,2,2,2,6,2,254,
|
||||
64,128,3,5,5,6,1,1,64,192,64,64,224,3,5,5,
|
||||
6,1,1,64,160,64,0,224,5,5,5,6,0,0,160,80,
|
||||
40,80,160,5,8,8,6,0,255,64,192,64,80,112,48,120,
|
||||
16,5,8,8,6,0,255,64,192,64,80,104,8,16,56,5,
|
||||
8,8,6,0,255,192,32,64,48,240,48,120,16,4,7,7,
|
||||
6,1,0,32,0,32,96,128,144,96,5,7,7,6,0,0,
|
||||
64,32,32,80,112,136,136,5,7,7,6,0,0,16,32,32,
|
||||
80,112,136,136,5,7,7,6,0,0,32,80,32,80,112,136,
|
||||
136,5,7,7,6,0,0,40,80,32,80,112,136,136,5,7,
|
||||
7,6,0,0,80,0,32,80,112,136,136,5,7,7,6,0,
|
||||
0,32,80,32,80,112,136,136,5,6,6,6,0,0,120,160,
|
||||
240,160,160,184,4,8,8,6,1,254,96,144,128,128,144,96,
|
||||
32,64,4,7,7,6,1,0,64,32,240,128,224,128,240,4,
|
||||
7,7,6,1,0,32,64,240,128,224,128,240,4,7,7,6,
|
||||
1,0,32,80,240,128,224,128,240,4,7,7,6,1,0,80,
|
||||
0,240,128,224,128,240,3,7,7,6,1,0,128,64,224,64,
|
||||
64,64,224,3,7,7,6,1,0,32,64,224,64,64,64,224,
|
||||
3,7,7,6,1,0,64,160,224,64,64,64,224,3,7,7,
|
||||
6,1,0,160,0,224,64,64,64,224,5,6,6,6,0,0,
|
||||
112,72,232,72,72,112,4,7,7,6,1,0,80,160,144,208,
|
||||
176,144,144,4,7,7,6,1,0,64,32,96,144,144,144,96,
|
||||
4,7,7,6,1,0,32,64,96,144,144,144,96,4,7,7,
|
||||
6,1,0,32,80,96,144,144,144,96,4,7,7,6,1,0,
|
||||
80,160,96,144,144,144,96,4,7,7,6,1,0,80,0,96,
|
||||
144,144,144,96,5,5,5,6,0,0,136,80,32,80,136,4,
|
||||
8,8,6,1,255,16,112,176,176,208,208,224,128,4,7,7,
|
||||
6,1,0,64,32,144,144,144,144,96,4,7,7,6,1,0,
|
||||
32,64,144,144,144,144,96,4,7,7,6,1,0,32,80,144,
|
||||
144,144,144,96,4,7,7,6,1,0,80,0,144,144,144,144,
|
||||
96,5,7,7,6,0,0,16,32,136,80,32,32,32,4,6,
|
||||
6,6,1,0,128,224,144,144,224,128,4,6,6,6,1,0,
|
||||
96,144,160,160,144,160,4,7,7,6,1,0,64,32,0,112,
|
||||
144,144,112,4,7,7,6,1,0,32,64,0,112,144,144,112,
|
||||
4,7,7,6,1,0,32,80,0,112,144,144,112,4,7,7,
|
||||
6,1,0,80,160,0,112,144,144,112,4,6,6,6,1,0,
|
||||
80,0,112,144,144,112,4,7,7,6,1,0,32,80,32,112,
|
||||
144,144,112,5,4,4,6,0,0,112,168,176,120,4,6,6,
|
||||
6,1,254,112,128,128,112,32,64,4,7,7,6,1,0,64,
|
||||
32,0,96,176,192,112,4,7,7,6,1,0,32,64,0,96,
|
||||
176,192,112,4,7,7,6,1,0,32,80,0,96,176,192,112,
|
||||
4,6,6,6,1,0,80,0,96,176,192,112,3,7,7,6,
|
||||
1,0,128,64,0,192,64,64,224,3,7,7,6,1,0,32,
|
||||
64,0,192,64,64,224,3,7,7,6,1,0,64,160,0,192,
|
||||
64,64,224,3,6,6,6,1,0,160,0,192,64,64,224,4,
|
||||
7,7,6,1,0,48,96,16,112,144,144,96,4,7,7,6,
|
||||
1,0,80,160,0,224,144,144,144,4,7,7,6,1,0,64,
|
||||
32,0,96,144,144,96,4,7,7,6,1,0,32,64,0,96,
|
||||
144,144,96,4,7,7,6,1,0,32,80,0,96,144,144,96,
|
||||
4,7,7,6,1,0,80,160,0,96,144,144,96,4,6,6,
|
||||
6,1,0,80,0,96,144,144,96,5,5,5,6,0,0,32,
|
||||
0,248,0,32,4,4,4,6,1,0,112,176,208,224,4,7,
|
||||
7,6,1,0,64,32,0,144,144,144,112,4,7,7,6,1,
|
||||
0,32,64,0,144,144,144,112,4,7,7,6,1,0,32,80,
|
||||
0,144,144,144,112,4,6,6,6,1,0,80,0,144,144,144,
|
||||
112,4,9,9,6,1,254,32,64,0,144,144,144,112,144,96,
|
||||
4,8,8,6,1,254,128,128,224,144,144,224,128,128,4,8,
|
||||
8,6,1,254,80,0,144,144,144,112,144,96};
|
@ -0,0 +1,171 @@
|
||||
/*
|
||||
Fontname: HD44780_C v1.2
|
||||
Copyright: A. Hardtung, public domain
|
||||
Capital A Height: 7, '1' Height: 7
|
||||
Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 6 dy= 0 ascent= 8 len= 8
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
|
||||
Pure Font ascent = 7 descent=-1
|
||||
X Font ascent = 7 descent=-1
|
||||
Max Font ascent = 8 descent=-1
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t HD44780_C_5x7[2522] U8G_SECTION(".progmem.HD44780_C_5x7") = {
|
||||
0,6,9,0,254,7,1,145,3,34,32,255,255,8,255,7,
|
||||
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
|
||||
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6,
|
||||
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32,
|
||||
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32,
|
||||
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104,
|
||||
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32,
|
||||
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32,
|
||||
32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5,
|
||||
5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192,
|
||||
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192,
|
||||
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6,
|
||||
0,0,112,136,152,168,200,136,112,3,7,7,6,1,0,64,
|
||||
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112,
|
||||
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240,
|
||||
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7,
|
||||
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0,
|
||||
48,64,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
|
||||
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
|
||||
112,5,7,7,6,0,0,112,136,136,120,8,16,96,2,5,
|
||||
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192,
|
||||
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64,
|
||||
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1,
|
||||
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136,
|
||||
8,16,32,0,32,5,6,6,6,0,0,112,136,8,104,168,
|
||||
112,5,7,7,6,0,0,112,136,136,248,136,136,136,5,7,
|
||||
7,6,0,0,240,136,136,240,136,136,240,5,7,7,6,0,
|
||||
0,112,136,128,128,128,136,112,5,7,7,6,0,0,224,144,
|
||||
136,136,136,144,224,5,7,7,6,0,0,248,128,128,240,128,
|
||||
128,248,5,7,7,6,0,0,248,128,128,240,128,128,128,5,
|
||||
7,7,6,0,0,112,136,128,184,136,136,112,5,7,7,6,
|
||||
0,0,136,136,136,248,136,136,136,1,7,7,6,2,0,128,
|
||||
128,128,128,128,128,128,5,7,7,6,0,0,56,16,16,16,
|
||||
16,144,96,5,7,7,6,0,0,136,144,160,192,160,144,136,
|
||||
5,7,7,6,0,0,128,128,128,128,128,128,248,5,7,7,
|
||||
6,0,0,136,216,168,136,136,136,136,5,7,7,6,0,0,
|
||||
136,136,200,168,152,136,136,5,7,7,6,0,0,112,136,136,
|
||||
136,136,136,112,5,7,7,6,0,0,240,136,136,240,128,128,
|
||||
128,5,7,7,6,0,0,112,136,136,136,168,144,104,5,7,
|
||||
7,6,0,0,240,136,136,240,160,144,136,5,7,7,6,0,
|
||||
0,120,128,128,112,8,8,240,5,7,7,6,0,0,248,32,
|
||||
32,32,32,32,32,5,7,7,6,0,0,136,136,136,136,136,
|
||||
136,112,5,7,7,6,0,0,136,136,136,136,136,80,32,5,
|
||||
7,7,6,0,0,136,136,136,136,136,168,80,5,7,7,6,
|
||||
0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,136,
|
||||
136,136,80,32,32,32,5,7,7,6,0,0,248,8,16,32,
|
||||
64,128,248,3,7,7,6,1,0,224,128,128,128,128,128,224,
|
||||
5,7,7,6,0,0,32,112,160,160,168,112,32,3,7,7,
|
||||
6,1,0,224,32,32,32,32,32,224,5,3,3,6,0,4,
|
||||
32,80,136,5,1,1,6,0,0,248,2,2,2,6,2,5,
|
||||
128,64,5,5,5,6,0,0,112,8,120,136,120,5,7,7,
|
||||
6,0,0,128,128,176,200,136,136,240,5,5,5,6,0,0,
|
||||
112,128,128,136,112,5,7,7,6,0,0,8,8,104,152,136,
|
||||
136,120,5,5,5,6,0,0,112,136,248,128,112,5,7,7,
|
||||
6,0,0,48,72,224,64,64,64,64,5,6,6,6,0,255,
|
||||
112,136,136,120,8,112,5,7,7,6,0,0,128,128,176,200,
|
||||
136,136,136,1,7,7,6,2,0,128,0,128,128,128,128,128,
|
||||
3,8,8,6,1,255,32,0,32,32,32,32,160,64,4,7,
|
||||
7,6,0,0,128,128,144,160,192,160,144,3,7,7,6,1,
|
||||
0,192,64,64,64,64,64,224,5,5,5,6,0,0,208,168,
|
||||
168,168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,
|
||||
5,6,0,0,112,136,136,136,112,5,6,6,6,0,255,240,
|
||||
136,136,240,128,128,5,6,6,6,0,255,120,136,136,120,8,
|
||||
8,5,5,5,6,0,0,176,200,128,128,128,5,5,5,6,
|
||||
0,0,112,128,112,8,240,5,7,7,6,0,0,64,64,224,
|
||||
64,64,72,48,5,5,5,6,0,0,136,136,136,152,104,5,
|
||||
5,5,6,0,0,136,136,136,80,32,5,5,5,6,0,0,
|
||||
136,136,168,168,80,5,5,5,6,0,0,136,80,32,80,136,
|
||||
5,6,6,6,0,255,136,136,136,120,8,112,5,5,5,6,
|
||||
0,0,248,16,32,64,248,5,5,5,6,0,2,184,168,168,
|
||||
168,184,5,5,5,6,0,2,184,136,184,160,184,5,5,5,
|
||||
6,0,2,184,160,184,136,184,5,6,6,6,0,1,8,40,
|
||||
72,248,64,32,5,5,5,6,0,0,56,112,224,136,240,0,
|
||||
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
|
||||
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
|
||||
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
|
||||
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
|
||||
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
|
||||
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
|
||||
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
|
||||
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
|
||||
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,
|
||||
0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,
|
||||
0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,
|
||||
6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,5,
|
||||
7,7,6,0,0,248,136,128,240,136,136,240,5,7,7,6,
|
||||
0,0,248,136,128,128,128,128,128,5,7,7,6,0,0,80,
|
||||
0,248,128,240,128,248,5,7,7,6,0,0,168,168,168,112,
|
||||
168,168,168,5,7,7,6,0,0,240,8,8,112,8,8,240,
|
||||
5,7,7,6,0,0,136,136,152,168,200,136,136,5,8,8,
|
||||
6,0,0,80,32,136,152,168,168,200,136,5,7,7,6,0,
|
||||
0,120,40,40,40,40,168,72,5,7,7,6,0,0,248,136,
|
||||
136,136,136,136,136,5,7,7,6,0,0,136,136,136,80,32,
|
||||
64,128,5,7,7,6,0,0,32,112,168,168,168,112,32,5,
|
||||
7,7,6,0,0,136,136,136,120,8,8,8,5,7,7,6,
|
||||
0,0,168,168,168,168,168,168,248,5,7,7,6,0,0,192,
|
||||
64,64,112,72,72,112,5,7,7,6,0,0,136,136,136,200,
|
||||
168,168,200,5,7,7,6,0,0,112,136,8,56,8,136,112,
|
||||
5,7,7,6,0,0,144,168,168,232,168,168,144,5,7,7,
|
||||
6,0,0,120,136,136,120,40,72,136,5,7,7,6,0,0,
|
||||
24,96,128,240,136,136,112,4,5,5,6,0,0,224,144,224,
|
||||
144,224,5,5,5,6,0,0,248,136,128,128,128,5,7,7,
|
||||
6,0,0,80,0,112,136,248,128,112,5,5,5,6,0,0,
|
||||
168,168,112,168,168,5,5,5,6,0,0,240,8,48,8,240,
|
||||
5,5,5,6,0,0,136,152,168,200,136,5,7,7,6,0,
|
||||
0,80,32,136,152,168,200,136,4,5,5,6,0,0,144,160,
|
||||
192,160,144,5,5,5,6,0,0,248,40,40,168,72,5,5,
|
||||
5,6,0,0,136,216,168,136,136,5,5,5,6,0,0,136,
|
||||
136,248,136,136,5,5,5,6,0,0,248,136,136,136,136,5,
|
||||
5,5,6,0,0,248,32,32,32,32,5,5,5,6,0,0,
|
||||
136,136,120,8,8,5,5,5,6,0,0,168,168,168,168,248,
|
||||
5,5,5,6,0,0,192,64,112,72,112,5,5,5,6,0,
|
||||
0,136,136,200,168,200,4,5,5,6,0,0,128,128,224,144,
|
||||
224,5,5,5,6,0,0,112,136,56,136,112,5,5,5,6,
|
||||
0,0,144,168,232,168,144,5,5,5,6,0,0,120,136,120,
|
||||
40,72,5,5,5,6,0,1,32,72,144,72,32,5,5,5,
|
||||
6,0,1,32,144,72,144,32,5,3,3,6,0,0,72,144,
|
||||
216,5,3,3,6,0,4,216,72,144,5,7,7,6,0,0,
|
||||
144,208,176,144,56,40,56,5,7,7,6,0,0,32,0,32,
|
||||
64,128,136,112,5,7,7,6,0,0,24,32,32,112,32,32,
|
||||
192,5,7,7,6,0,0,32,80,64,240,64,64,120,1,2,
|
||||
2,6,2,0,128,128,1,4,4,6,2,0,128,128,128,128,
|
||||
3,5,5,6,1,0,160,160,160,0,224,3,5,5,6,1,
|
||||
0,160,160,160,0,160,5,7,7,6,0,0,160,0,232,16,
|
||||
32,64,128,5,5,5,6,0,1,216,112,32,112,216,5,7,
|
||||
7,6,0,0,160,64,168,16,32,64,128,3,6,6,6,1,
|
||||
1,224,64,64,64,64,224,5,6,6,6,0,1,248,80,80,
|
||||
80,80,248,5,7,7,6,0,0,32,112,168,32,32,32,32,
|
||||
5,7,7,6,0,0,32,32,32,32,168,112,32,5,7,7,
|
||||
6,0,0,128,144,176,248,176,144,128,5,7,7,6,0,0,
|
||||
8,72,104,248,104,72,8,5,7,7,6,0,0,128,136,168,
|
||||
248,168,136,128,5,7,7,6,0,0,128,224,136,16,32,64,
|
||||
128,2,2,2,6,2,2,192,192,5,8,8,6,0,255,120,
|
||||
40,40,40,72,136,248,136,5,8,8,6,0,255,136,136,136,
|
||||
136,136,136,248,8,5,8,8,6,0,255,168,168,168,168,168,
|
||||
168,248,8,5,6,6,6,0,255,120,40,72,136,248,136,5,
|
||||
7,7,6,0,255,32,32,112,168,168,112,32,5,6,6,6,
|
||||
0,255,136,136,136,136,248,8,5,6,6,6,0,255,168,168,
|
||||
168,168,248,8,2,2,2,6,2,6,64,128,3,1,1,6,
|
||||
1,7,160,5,2,2,6,0,6,72,176,5,8,8,6,0,
|
||||
0,16,32,0,112,136,248,128,112,5,6,6,6,0,255,112,
|
||||
128,136,112,32,96,3,7,7,6,1,0,160,0,160,160,160,
|
||||
32,192,5,6,6,6,0,1,32,112,112,112,248,32,5,5,
|
||||
5,6,0,1,80,0,136,0,80,5,5,5,6,0,1,112,
|
||||
136,136,136,112,5,7,7,6,0,0,136,144,168,88,184,8,
|
||||
8,5,7,7,6,0,0,136,144,184,72,184,8,56,5,7,
|
||||
7,6,0,0,136,144,184,72,152,32,56,5,8,8,6,0,
|
||||
0,192,64,192,72,216,56,8,8,5,7,7,6,0,0,136,
|
||||
248,136,248,136,248,136,4,5,5,6,0,2,192,0,48,0,
|
||||
96,5,8,8,6,0,0,64,160,224,168,8,40,120,32,5,
|
||||
8,8,6,0,0,64,112,64,120,64,112,64,224,5,8,8,
|
||||
6,0,0,32,112,32,248,32,112,32,112,5,7,7,6,0,
|
||||
0,104,0,232,0,104,16,56,5,8,8,6,0,0,16,112,
|
||||
16,240,16,112,16,56,5,7,7,6,0,1,32,112,32,248,
|
||||
32,112,32,5,8,8,6,0,0,16,144,80,48,80,144,16,
|
||||
56,5,8,8,6,0,0,48,72,32,80,80,32,144,96,5,
|
||||
7,7,6,0,0,120,168,168,120,40,40,40,5,8,8,6,
|
||||
0,0,248,248,248,248,248,248,248,248};
|
@ -0,0 +1,169 @@
|
||||
/*
|
||||
Fontname: HD44780_J
|
||||
Copyright: A. Hardtung, public domain
|
||||
Capital A Height: 7, '1' Height: 7
|
||||
Calculated Max Values w= 6 h=10 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 8
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
|
||||
Pure Font ascent = 7 descent=-1
|
||||
X Font ascent = 7 descent=-1
|
||||
Max Font ascent = 8 descent=-2
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t HD44780_J_5x7[2491] U8G_SECTION(".progmem.HD44780_J_5x7") = {
|
||||
0,6,9,0,254,7,1,145,3,34,32,255,255,8,254,7,
|
||||
255,0,0,0,6,0,8,1,7,7,6,2,0,128,128,128,
|
||||
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6,
|
||||
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32,
|
||||
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32,
|
||||
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104,
|
||||
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32,
|
||||
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32,
|
||||
32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5,
|
||||
5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192,
|
||||
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192,
|
||||
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6,
|
||||
0,0,112,136,152,168,200,136,112,3,7,7,6,1,0,64,
|
||||
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112,
|
||||
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240,
|
||||
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7,
|
||||
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0,
|
||||
48,64,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
|
||||
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
|
||||
112,5,7,7,6,0,0,112,136,136,120,8,16,96,2,5,
|
||||
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192,
|
||||
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64,
|
||||
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1,
|
||||
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136,
|
||||
8,16,32,0,32,5,6,6,6,0,0,112,136,8,104,168,
|
||||
112,5,7,7,6,0,0,112,136,136,248,136,136,136,5,7,
|
||||
7,6,0,0,240,136,136,240,136,136,240,5,7,7,6,0,
|
||||
0,112,136,128,128,128,136,112,5,7,7,6,0,0,224,144,
|
||||
136,136,136,144,224,5,7,7,6,0,0,248,128,128,240,128,
|
||||
128,248,5,7,7,6,0,0,248,128,128,240,128,128,128,5,
|
||||
7,7,6,0,0,112,136,128,184,136,136,112,5,7,7,6,
|
||||
0,0,136,136,136,248,136,136,136,1,7,7,6,2,0,128,
|
||||
128,128,128,128,128,128,5,7,7,6,0,0,56,16,16,16,
|
||||
16,144,96,5,7,7,6,0,0,136,144,160,192,160,144,136,
|
||||
5,7,7,6,0,0,128,128,128,128,128,128,248,5,7,7,
|
||||
6,0,0,136,216,168,136,136,136,136,5,7,7,6,0,0,
|
||||
136,136,200,168,152,136,136,5,7,7,6,0,0,112,136,136,
|
||||
136,136,136,112,5,7,7,6,0,0,240,136,136,240,128,128,
|
||||
128,5,7,7,6,0,0,112,136,136,136,168,144,104,5,7,
|
||||
7,6,0,0,240,136,136,240,160,144,136,5,7,7,6,0,
|
||||
0,120,128,128,112,8,8,240,5,7,7,6,0,0,248,32,
|
||||
32,32,32,32,32,5,7,7,6,0,0,136,136,136,136,136,
|
||||
136,112,5,7,7,6,0,0,136,136,136,136,136,80,32,5,
|
||||
7,7,6,0,0,136,136,136,136,136,168,80,5,7,7,6,
|
||||
0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,136,
|
||||
136,136,80,32,32,32,5,7,7,6,0,0,248,8,16,32,
|
||||
64,128,248,3,7,7,6,1,0,224,128,128,128,128,128,224,
|
||||
5,7,7,6,0,0,136,80,248,32,248,32,32,3,7,7,
|
||||
6,1,0,224,32,32,32,32,32,224,5,3,3,6,0,4,
|
||||
32,80,136,5,1,1,6,0,0,248,2,2,2,6,2,5,
|
||||
128,64,5,5,5,6,0,0,112,8,120,136,120,5,7,7,
|
||||
6,0,0,128,128,176,200,136,136,240,5,5,5,6,0,0,
|
||||
112,128,128,136,112,5,7,7,6,0,0,8,8,104,152,136,
|
||||
136,120,5,5,5,6,0,0,112,136,248,128,112,5,7,7,
|
||||
6,0,0,48,72,224,64,64,64,64,5,6,6,6,0,255,
|
||||
112,136,136,120,8,112,5,7,7,6,0,0,128,128,176,200,
|
||||
136,136,136,1,7,7,6,2,0,128,0,128,128,128,128,128,
|
||||
3,8,8,6,1,255,32,0,32,32,32,32,160,64,4,7,
|
||||
7,6,0,0,128,128,144,160,192,160,144,3,7,7,6,1,
|
||||
0,192,64,64,64,64,64,224,5,5,5,6,0,0,208,168,
|
||||
168,168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,
|
||||
5,6,0,0,112,136,136,136,112,5,6,6,6,0,255,240,
|
||||
136,136,240,128,128,5,6,6,6,0,255,120,136,136,120,8,
|
||||
8,5,5,5,6,0,0,176,200,128,128,128,5,5,5,6,
|
||||
0,0,112,128,112,8,240,5,7,7,6,0,0,64,64,224,
|
||||
64,64,72,48,5,5,5,6,0,0,136,136,136,152,104,5,
|
||||
5,5,6,0,0,136,136,136,80,32,5,5,5,6,0,0,
|
||||
136,136,168,168,80,5,5,5,6,0,0,136,80,32,80,136,
|
||||
5,6,6,6,0,255,136,136,136,120,8,112,5,5,5,6,
|
||||
0,0,248,16,32,64,248,3,7,7,6,1,0,32,64,64,
|
||||
128,64,64,32,1,7,7,6,2,0,128,128,128,128,128,128,
|
||||
128,3,7,7,6,1,0,128,64,64,32,64,64,128,5,5,
|
||||
5,6,0,1,32,16,248,16,32,5,5,5,6,0,1,32,
|
||||
64,248,64,32,0,0,0,6,0,8,0,0,0,6,0,8,
|
||||
0,0,0,6,0,8,0,0,0,6,0,8,0,0,0,6,
|
||||
0,8,0,0,0,6,0,8,0,0,0,6,0,8,0,0,
|
||||
0,6,0,8,0,0,0,6,0,8,0,0,0,6,0,8,
|
||||
0,0,0,6,0,8,0,0,0,6,0,8,0,0,0,6,
|
||||
0,8,0,0,0,6,0,8,0,0,0,6,0,8,0,0,
|
||||
0,6,0,8,0,0,0,6,0,8,0,0,0,6,0,8,
|
||||
0,0,0,6,0,8,0,0,0,6,0,8,0,0,0,6,
|
||||
0,8,0,0,0,6,0,8,0,0,0,6,0,8,0,0,
|
||||
0,6,0,8,0,0,0,6,0,8,0,0,0,6,0,8,
|
||||
0,0,0,6,0,8,0,0,0,6,0,8,0,0,0,6,
|
||||
0,8,0,0,0,6,0,8,0,0,0,6,0,8,0,0,
|
||||
0,6,0,8,0,0,0,6,0,8,3,3,3,6,0,0,
|
||||
224,160,224,3,4,4,6,2,3,224,128,128,128,3,4,4,
|
||||
6,0,0,32,32,32,224,3,3,3,6,0,0,128,64,32,
|
||||
2,2,2,6,1,2,192,192,5,6,6,6,0,0,248,8,
|
||||
248,8,16,32,5,5,5,6,0,0,248,8,48,32,64,4,
|
||||
5,5,6,0,0,16,32,96,160,32,5,5,5,6,0,0,
|
||||
32,248,136,8,48,5,4,4,6,0,0,248,32,32,248,5,
|
||||
5,5,6,0,0,16,248,48,80,144,5,5,5,6,0,0,
|
||||
64,248,72,80,64,5,4,4,6,0,0,112,16,16,248,4,
|
||||
5,5,6,0,0,240,16,240,16,240,5,4,4,6,0,0,
|
||||
168,168,8,48,5,1,1,6,0,4,248,5,7,7,6,0,
|
||||
0,248,8,40,48,32,32,64,5,7,7,6,0,0,8,16,
|
||||
32,96,160,32,32,5,7,7,6,0,0,32,248,136,136,8,
|
||||
16,32,5,6,6,6,0,0,248,32,32,32,32,248,5,7,
|
||||
7,6,0,0,16,248,16,48,80,144,16,5,7,7,6,0,
|
||||
0,64,248,72,72,72,72,144,5,7,7,6,0,0,32,248,
|
||||
32,248,32,32,32,5,6,6,6,0,0,120,72,136,8,16,
|
||||
96,5,7,7,6,0,0,64,120,144,16,16,16,32,5,6,
|
||||
6,6,0,0,248,8,8,8,8,248,5,7,7,6,0,0,
|
||||
80,248,80,80,16,32,64,5,6,6,6,0,0,192,8,200,
|
||||
8,16,224,5,6,6,6,0,0,248,8,16,32,80,136,5,
|
||||
7,7,6,0,0,64,248,72,80,64,64,56,5,6,6,6,
|
||||
0,0,136,136,72,8,16,96,5,6,6,6,0,0,120,72,
|
||||
168,24,16,96,5,7,7,6,0,0,16,224,32,248,32,32,
|
||||
64,5,6,6,6,0,0,168,168,168,8,16,32,5,7,7,
|
||||
6,0,0,112,0,248,32,32,32,64,3,7,7,6,1,0,
|
||||
128,128,128,192,160,128,128,5,7,7,6,0,0,32,32,248,
|
||||
32,32,64,128,5,6,6,6,0,0,112,0,0,0,0,248,
|
||||
5,6,6,6,0,0,248,8,80,32,80,128,5,6,6,6,
|
||||
0,1,32,248,16,32,112,168,3,7,7,6,1,0,32,32,
|
||||
32,32,32,64,128,5,6,6,6,0,0,32,16,136,136,136,
|
||||
136,5,7,7,6,0,0,128,128,248,128,128,128,120,5,6,
|
||||
6,6,0,0,248,8,8,8,16,96,5,5,5,6,0,1,
|
||||
64,160,16,8,8,5,7,7,6,0,0,32,248,32,32,168,
|
||||
168,32,5,6,6,6,0,0,248,8,8,80,32,16,4,6,
|
||||
6,6,1,0,224,0,224,0,224,16,5,6,6,6,0,0,
|
||||
32,64,128,136,248,8,5,6,6,6,0,0,8,8,80,32,
|
||||
80,128,5,6,6,6,0,0,248,64,248,64,64,56,5,7,
|
||||
7,6,0,0,64,64,248,72,80,64,64,5,7,7,6,0,
|
||||
0,112,16,16,16,16,16,248,5,6,6,6,0,0,248,8,
|
||||
248,8,8,248,5,7,7,6,0,0,112,0,248,8,8,16,
|
||||
32,4,7,7,6,0,0,144,144,144,144,16,32,64,5,6,
|
||||
6,6,0,0,32,160,160,168,168,176,5,7,7,6,0,0,
|
||||
128,128,128,136,144,160,192,5,6,6,6,0,0,248,136,136,
|
||||
136,136,248,5,6,6,6,0,0,248,136,136,8,16,32,5,
|
||||
6,6,6,0,0,192,0,8,8,16,224,4,3,3,6,0,
|
||||
4,32,144,64,3,3,3,6,0,4,224,160,224,5,5,5,
|
||||
6,0,1,72,168,144,144,104,5,7,7,6,0,0,80,0,
|
||||
112,8,120,136,120,4,8,8,6,1,255,96,144,144,224,144,
|
||||
144,224,128,5,5,5,6,0,0,112,128,96,136,112,5,6,
|
||||
6,6,0,255,136,136,152,232,136,128,5,5,5,6,0,0,
|
||||
120,160,144,136,112,5,7,7,6,0,254,48,72,136,136,240,
|
||||
128,128,5,8,8,6,0,254,120,136,136,136,120,8,8,112,
|
||||
5,5,5,6,0,1,56,32,32,160,64,4,3,3,6,0,
|
||||
3,16,208,16,4,8,8,6,0,255,16,0,48,16,16,16,
|
||||
144,96,3,3,3,6,0,4,160,64,160,5,7,7,6,0,
|
||||
0,32,112,160,160,168,112,32,5,7,7,6,0,0,64,64,
|
||||
224,64,224,64,120,5,7,7,6,0,0,112,0,176,200,136,
|
||||
136,136,5,7,7,6,0,0,80,0,112,136,136,136,112,5,
|
||||
7,7,6,0,255,176,200,136,136,240,128,128,5,7,7,6,
|
||||
0,255,104,152,136,136,120,8,8,5,6,6,6,0,0,112,
|
||||
136,248,136,136,112,5,3,3,6,0,2,88,168,208,5,5,
|
||||
5,6,0,0,112,136,136,80,216,5,7,7,6,0,0,80,
|
||||
0,136,136,136,152,104,5,7,7,6,0,0,248,128,64,32,
|
||||
64,128,248,5,5,5,6,0,0,248,80,80,80,152,5,7,
|
||||
7,6,0,0,248,0,136,80,32,80,136,5,7,7,6,0,
|
||||
255,136,136,136,136,120,8,112,5,6,6,6,0,1,8,240,
|
||||
32,248,32,32,5,5,5,6,0,0,248,64,120,72,136,5,
|
||||
5,5,6,0,0,248,168,248,136,136,5,5,5,6,0,1,
|
||||
32,0,248,0,32,0,0,0,6,0,8,6,10,10,6,0,
|
||||
254,252,252,252,252,252,252,252,252,252,252};
|
@ -0,0 +1,203 @@
|
||||
/*
|
||||
Fontname: HD44780_W
|
||||
Copyright: A.Hardtung, public domain
|
||||
Capital A Height: 7, '1' Height: 7
|
||||
Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 9
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
|
||||
Pure Font ascent = 7 descent=-1
|
||||
X Font ascent = 7 descent=-1
|
||||
Max Font ascent = 8 descent=-1
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t HD44780_W_5x7[3034] U8G_SECTION(".progmem.HD44780_W_5x7") = {
|
||||
0,6,9,0,254,7,2,79,3,222,16,255,255,8,255,7,
|
||||
255,4,7,7,6,0,0,16,48,112,240,112,48,16,4,7,
|
||||
7,6,1,0,128,192,224,240,224,192,128,5,3,3,6,0,
|
||||
4,216,72,144,5,3,3,6,0,4,216,144,72,5,7,7,
|
||||
6,0,0,32,112,248,0,32,112,248,5,7,7,6,0,0,
|
||||
248,112,32,0,248,112,32,5,5,5,6,0,1,112,248,248,
|
||||
248,112,5,7,7,6,0,0,8,8,40,72,248,64,32,5,
|
||||
7,7,6,0,0,32,112,168,32,32,32,32,5,7,7,6,
|
||||
0,0,32,32,32,32,168,112,32,5,5,5,6,0,1,32,
|
||||
64,248,64,32,5,5,5,6,0,1,32,16,248,16,32,5,
|
||||
7,7,6,0,0,16,32,64,32,16,0,248,5,7,7,6,
|
||||
0,0,64,32,16,32,64,0,248,5,5,5,6,0,1,32,
|
||||
32,112,112,248,5,5,5,6,0,0,248,112,112,32,32,0,
|
||||
0,0,6,0,0,1,7,7,6,2,0,128,128,128,128,128,
|
||||
0,128,3,2,2,6,1,5,160,160,5,7,7,6,0,0,
|
||||
80,80,248,80,248,80,80,5,7,7,6,0,0,32,120,160,
|
||||
112,40,240,32,5,7,7,6,0,0,192,200,16,32,64,152,
|
||||
24,5,7,7,6,0,0,96,144,160,64,168,144,104,2,3,
|
||||
3,6,1,4,192,64,128,3,7,7,6,1,0,32,64,128,
|
||||
128,128,64,32,3,7,7,6,1,0,128,64,32,32,32,64,
|
||||
128,5,5,5,6,0,1,32,168,112,168,32,5,5,5,6,
|
||||
0,1,32,32,248,32,32,2,3,3,6,2,255,192,64,128,
|
||||
5,1,1,6,0,3,248,2,2,2,6,2,0,192,192,5,
|
||||
5,5,6,0,1,8,16,32,64,128,5,7,7,6,0,0,
|
||||
112,136,152,168,200,136,112,3,7,7,6,1,0,64,192,64,
|
||||
64,64,64,224,5,7,7,6,0,0,112,136,8,112,128,128,
|
||||
248,5,7,7,6,0,0,248,16,32,16,8,8,240,5,7,
|
||||
7,6,0,0,16,48,80,144,248,16,16,5,7,7,6,0,
|
||||
0,248,128,240,8,8,136,112,5,7,7,6,0,0,48,64,
|
||||
128,240,136,136,112,5,7,7,6,0,0,248,8,16,32,32,
|
||||
32,32,5,7,7,6,0,0,112,136,136,112,136,136,112,5,
|
||||
7,7,6,0,0,112,136,136,120,8,16,96,2,5,5,6,
|
||||
2,0,192,192,0,192,192,2,6,6,6,2,255,192,192,0,
|
||||
192,64,128,4,7,7,6,0,0,16,32,64,128,64,32,16,
|
||||
5,3,3,6,0,2,248,0,248,4,7,7,6,1,0,128,
|
||||
64,32,16,32,64,128,5,7,7,6,0,0,112,136,8,16,
|
||||
32,0,32,5,6,6,6,0,0,112,136,8,104,168,112,5,
|
||||
7,7,6,0,0,112,136,136,248,136,136,136,5,7,7,6,
|
||||
0,0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,
|
||||
136,128,128,128,136,112,5,7,7,6,0,0,224,144,136,136,
|
||||
136,144,224,5,7,7,6,0,0,248,128,128,240,128,128,248,
|
||||
5,7,7,6,0,0,248,128,128,240,128,128,128,5,7,7,
|
||||
6,0,0,112,136,128,184,136,136,112,5,7,7,6,0,0,
|
||||
136,136,136,248,136,136,136,1,7,7,6,2,0,128,128,128,
|
||||
128,128,128,128,5,7,7,6,0,0,56,16,16,16,16,144,
|
||||
96,5,7,7,6,0,0,136,144,160,192,160,144,136,5,7,
|
||||
7,6,0,0,128,128,128,128,128,128,248,5,7,7,6,0,
|
||||
0,136,216,168,136,136,136,136,5,7,7,6,0,0,136,136,
|
||||
200,168,152,136,136,5,7,7,6,0,0,112,136,136,136,136,
|
||||
136,112,5,7,7,6,0,0,240,136,136,240,128,128,128,5,
|
||||
7,7,6,0,0,112,136,136,136,168,144,104,5,7,7,6,
|
||||
0,0,240,136,136,240,160,144,136,5,7,7,6,0,0,120,
|
||||
128,128,112,8,8,240,5,7,7,6,0,0,248,32,32,32,
|
||||
32,32,32,5,7,7,6,0,0,136,136,136,136,136,136,112,
|
||||
5,7,7,6,0,0,136,136,136,136,136,80,32,5,7,7,
|
||||
6,0,0,136,136,136,136,136,168,80,5,7,7,6,0,0,
|
||||
136,136,80,32,80,136,136,5,7,7,6,0,0,136,136,136,
|
||||
80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128,
|
||||
248,3,7,7,6,1,0,224,128,128,128,128,128,224,5,5,
|
||||
5,6,0,1,128,64,32,16,8,3,7,7,6,1,0,224,
|
||||
32,32,32,32,32,224,5,3,3,6,0,4,32,80,136,5,
|
||||
1,1,6,0,0,248,2,2,2,6,2,5,128,64,5,5,
|
||||
5,6,0,0,112,8,120,136,120,5,7,7,6,0,0,128,
|
||||
128,176,200,136,136,240,5,5,5,6,0,0,112,128,128,136,
|
||||
112,5,7,7,6,0,0,8,8,104,152,136,136,120,5,5,
|
||||
5,6,0,0,112,136,248,128,112,5,7,7,6,0,0,48,
|
||||
72,224,64,64,64,64,5,6,6,6,0,255,112,136,136,120,
|
||||
8,112,5,7,7,6,0,0,128,128,176,200,136,136,136,1,
|
||||
7,7,6,2,0,128,0,128,128,128,128,128,3,8,8,6,
|
||||
1,255,32,0,32,32,32,32,160,64,4,7,7,6,0,0,
|
||||
128,128,144,160,192,160,144,3,7,7,6,1,0,192,64,64,
|
||||
64,64,64,224,5,5,5,6,0,0,208,168,168,168,168,5,
|
||||
5,5,6,0,0,176,200,136,136,136,5,5,5,6,0,0,
|
||||
112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128,
|
||||
128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5,
|
||||
6,0,0,176,200,128,128,128,5,5,5,6,0,0,112,128,
|
||||
112,8,240,5,7,7,6,0,0,64,64,224,64,64,72,48,
|
||||
5,5,5,6,0,0,136,136,136,152,104,5,5,5,6,0,
|
||||
0,136,136,136,80,32,5,5,5,6,0,0,136,136,168,168,
|
||||
80,5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,
|
||||
0,255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,
|
||||
32,64,248,3,7,7,6,1,0,32,64,64,128,64,64,32,
|
||||
1,7,7,6,2,0,128,128,128,128,128,128,128,3,7,7,
|
||||
6,1,0,128,64,64,32,64,64,128,5,6,6,6,0,1,
|
||||
8,40,72,248,64,32,5,7,7,6,0,0,32,80,136,136,
|
||||
136,136,248,5,7,7,6,0,0,248,136,128,240,136,136,240,
|
||||
5,8,8,6,0,255,120,40,40,40,72,136,248,136,5,7,
|
||||
7,6,0,0,168,168,168,112,168,168,168,5,7,7,6,0,
|
||||
0,240,8,8,112,8,8,240,5,7,7,6,0,0,136,136,
|
||||
152,168,200,136,136,5,8,8,6,0,0,80,32,136,152,168,
|
||||
168,200,136,5,7,7,6,0,0,120,40,40,40,40,168,72,
|
||||
5,7,7,6,0,0,248,136,136,136,136,136,136,5,7,7,
|
||||
6,0,0,136,136,136,80,32,64,128,5,8,8,6,0,255,
|
||||
136,136,136,136,136,136,248,8,5,7,7,6,0,0,136,136,
|
||||
136,120,8,8,8,5,7,7,6,0,0,168,168,168,168,168,
|
||||
168,248,5,8,8,6,0,255,168,168,168,168,168,168,248,8,
|
||||
5,7,7,6,0,0,192,64,64,112,72,72,112,5,7,7,
|
||||
6,0,0,136,136,136,200,168,168,200,5,7,7,6,0,0,
|
||||
112,136,40,80,8,136,112,5,5,5,6,0,0,64,160,144,
|
||||
144,104,5,7,7,6,0,0,32,48,40,40,32,224,224,5,
|
||||
7,7,6,0,0,248,136,128,128,128,128,128,5,5,5,6,
|
||||
0,0,248,80,80,80,152,5,7,7,6,0,0,248,128,64,
|
||||
32,64,128,248,5,5,5,6,0,0,120,144,144,144,96,5,
|
||||
7,7,6,0,0,48,40,56,40,200,216,24,5,6,6,6,
|
||||
0,0,8,112,160,32,32,16,5,6,6,6,0,1,32,112,
|
||||
112,112,248,32,5,7,7,6,0,0,112,136,136,248,136,136,
|
||||
112,5,5,5,6,0,0,112,136,136,80,216,5,7,7,6,
|
||||
0,0,48,72,32,80,136,136,112,5,3,3,6,0,2,88,
|
||||
168,208,5,6,6,6,0,0,80,248,248,248,112,32,5,5,
|
||||
5,6,0,0,112,128,96,136,112,5,7,7,6,0,0,112,
|
||||
136,136,136,136,136,136,5,7,7,6,0,0,216,216,216,216,
|
||||
216,216,216,1,7,7,6,2,0,128,0,128,128,128,128,128,
|
||||
5,7,7,6,0,0,32,112,160,160,168,112,32,5,7,7,
|
||||
6,0,0,48,64,64,224,64,80,168,5,5,5,6,0,0,
|
||||
136,112,80,112,136,5,7,7,6,0,0,136,80,248,32,248,
|
||||
32,32,1,7,7,6,2,0,128,128,128,0,128,128,128,5,
|
||||
8,8,6,0,0,48,72,32,80,80,32,144,96,5,7,7,
|
||||
6,0,0,24,32,32,112,32,32,192,5,7,7,6,0,0,
|
||||
248,136,184,184,184,136,248,5,7,7,6,0,0,112,8,120,
|
||||
136,120,0,248,5,5,5,6,0,1,40,80,160,80,40,5,
|
||||
7,7,6,0,0,144,168,168,232,168,168,144,5,7,7,6,
|
||||
0,0,120,136,136,120,40,72,136,5,7,7,6,0,0,248,
|
||||
136,168,136,152,168,248,2,3,3,6,2,4,64,128,192,4,
|
||||
5,5,6,0,3,96,144,144,144,96,5,7,7,6,0,0,
|
||||
32,32,248,32,32,0,248,4,5,5,6,0,3,96,144,32,
|
||||
64,240,3,5,5,6,0,3,224,32,224,32,224,5,8,8,
|
||||
6,0,0,224,144,224,128,144,184,144,24,5,8,8,6,0,
|
||||
255,136,136,136,136,152,232,128,128,5,7,7,6,0,0,120,
|
||||
152,152,120,24,24,24,2,2,2,6,2,2,192,192,5,5,
|
||||
5,6,0,0,80,136,168,168,80,3,5,5,6,0,3,64,
|
||||
192,64,64,224,5,7,7,6,0,0,112,136,136,136,112,0,
|
||||
248,5,5,5,6,0,1,160,80,40,80,160,5,7,7,6,
|
||||
0,0,136,144,168,88,184,8,8,5,7,7,6,0,0,136,
|
||||
144,184,72,152,32,56,5,8,8,6,0,0,192,64,192,72,
|
||||
216,56,8,8,5,7,7,6,0,0,32,0,32,64,128,136,
|
||||
112,5,8,8,6,0,0,64,32,32,80,136,248,136,136,5,
|
||||
8,8,6,0,0,16,32,32,80,136,248,136,136,5,8,8,
|
||||
6,0,0,32,80,0,112,136,248,136,136,5,8,8,6,0,
|
||||
0,104,144,0,112,136,248,136,136,5,8,8,6,0,0,80,
|
||||
0,32,80,136,248,136,136,5,8,8,6,0,0,32,80,32,
|
||||
112,136,248,136,136,5,7,7,6,0,0,56,96,160,184,224,
|
||||
160,184,5,8,8,6,0,255,112,136,128,128,136,112,32,96,
|
||||
5,8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,
|
||||
8,6,0,0,8,16,0,248,128,240,128,248,5,8,8,6,
|
||||
0,0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,
|
||||
80,0,248,128,240,128,248,3,8,8,6,1,0,128,64,0,
|
||||
224,64,64,64,224,3,8,8,6,1,0,32,64,0,224,64,
|
||||
64,64,224,3,8,8,6,1,0,64,160,0,224,64,64,64,
|
||||
224,3,7,7,6,1,0,160,0,224,64,64,64,224,5,7,
|
||||
7,6,0,0,112,72,72,232,72,72,112,5,8,8,6,0,
|
||||
0,104,144,0,136,200,168,152,136,5,8,8,6,0,0,64,
|
||||
32,112,136,136,136,136,112,5,8,8,6,0,0,16,32,112,
|
||||
136,136,136,136,112,5,8,8,6,0,0,32,80,0,112,136,
|
||||
136,136,112,5,8,8,6,0,0,104,144,0,112,136,136,136,
|
||||
112,5,8,8,6,0,0,80,0,112,136,136,136,136,112,5,
|
||||
5,5,6,0,1,136,80,32,80,136,5,7,7,6,0,0,
|
||||
112,32,112,168,112,32,112,5,8,8,6,0,0,64,32,136,
|
||||
136,136,136,136,112,5,8,8,6,0,0,16,32,136,136,136,
|
||||
136,136,112,5,8,8,6,0,0,32,80,0,136,136,136,136,
|
||||
112,5,8,8,6,0,0,80,0,136,136,136,136,136,112,5,
|
||||
8,8,6,0,0,16,32,136,80,32,32,32,32,5,8,8,
|
||||
6,0,0,192,64,112,72,72,112,64,224,5,7,7,6,0,
|
||||
0,48,72,72,112,72,72,176,5,8,8,6,0,0,64,32,
|
||||
0,112,8,120,136,120,5,8,8,6,0,0,16,32,0,112,
|
||||
8,120,136,120,5,8,8,6,0,0,32,80,0,112,8,120,
|
||||
136,120,5,8,8,6,0,0,104,144,0,112,8,120,136,120,
|
||||
5,7,7,6,0,0,80,0,112,8,120,136,120,5,8,8,
|
||||
6,0,0,32,80,32,112,8,120,136,120,5,6,6,6,0,
|
||||
0,208,40,120,160,168,80,5,6,6,6,0,255,112,128,136,
|
||||
112,32,96,5,8,8,6,0,0,64,32,0,112,136,248,128,
|
||||
112,5,8,8,6,0,0,16,32,0,112,136,248,128,112,5,
|
||||
8,8,6,0,0,32,80,0,112,136,248,128,112,5,7,7,
|
||||
6,0,0,80,0,112,136,248,128,112,3,8,8,6,1,0,
|
||||
128,64,0,64,192,64,64,224,3,8,8,6,1,0,32,64,
|
||||
0,64,192,64,64,224,3,8,8,6,1,0,64,160,0,64,
|
||||
192,64,64,224,3,7,7,6,1,0,160,0,64,192,64,64,
|
||||
224,5,7,7,6,0,0,160,64,160,16,120,136,112,5,8,
|
||||
8,6,0,0,104,144,0,176,200,136,136,136,5,8,8,6,
|
||||
0,0,64,32,0,112,136,136,136,112,5,8,8,6,0,0,
|
||||
16,32,0,112,136,136,136,112,5,8,8,6,0,0,32,80,
|
||||
0,112,136,136,136,112,5,8,8,6,0,0,104,144,0,112,
|
||||
136,136,136,112,5,7,7,6,0,0,80,0,112,136,136,136,
|
||||
112,5,5,5,6,0,1,32,0,248,0,32,5,7,7,6,
|
||||
0,0,16,32,112,168,112,32,64,5,8,8,6,0,0,64,
|
||||
32,0,136,136,136,152,104,5,8,8,6,0,0,16,32,0,
|
||||
136,136,136,152,104,5,8,8,6,0,0,32,80,0,136,136,
|
||||
136,152,104,5,7,7,6,0,0,80,0,136,136,136,152,104,
|
||||
5,9,9,6,0,255,16,32,0,136,136,136,248,8,112,4,
|
||||
7,7,6,1,0,192,64,96,80,96,64,224,5,8,8,6,
|
||||
0,255,80,0,136,136,136,248,8,112};
|
@ -0,0 +1,174 @@
|
||||
/*
|
||||
Fontname: ISO10646_5_Cyrillic
|
||||
Copyright: A. Hardtung, public domain
|
||||
Capital A Height: 7, '1' Height: 7
|
||||
Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 9
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
|
||||
Pure Font ascent = 7 descent=-1
|
||||
X Font ascent = 7 descent=-1
|
||||
Max Font ascent = 8 descent=-1
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t ISO10646_5_Cyrillic_5x7[2560] U8G_SECTION(".progmem.ISO10646_5_Cyrillic_5x7") = {
|
||||
0,6,9,0,254,7,1,145,3,32,32,255,255,8,255,7,
|
||||
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
|
||||
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6,
|
||||
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32,
|
||||
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32,
|
||||
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104,
|
||||
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32,
|
||||
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32,
|
||||
32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5,
|
||||
5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192,
|
||||
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192,
|
||||
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6,
|
||||
0,0,112,136,152,168,200,136,112,3,7,7,6,1,0,64,
|
||||
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112,
|
||||
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240,
|
||||
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7,
|
||||
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0,
|
||||
48,64,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
|
||||
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
|
||||
112,5,7,7,6,0,0,112,136,136,120,8,16,96,2,5,
|
||||
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192,
|
||||
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64,
|
||||
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1,
|
||||
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136,
|
||||
8,16,32,0,32,5,6,6,6,0,0,112,136,8,104,168,
|
||||
112,5,7,7,6,0,0,112,136,136,248,136,136,136,5,7,
|
||||
7,6,0,0,240,136,136,240,136,136,240,5,7,7,6,0,
|
||||
0,112,136,128,128,128,136,112,5,7,7,6,0,0,224,144,
|
||||
136,136,136,144,224,5,7,7,6,0,0,248,128,128,240,128,
|
||||
128,248,5,7,7,6,0,0,248,128,128,240,128,128,128,5,
|
||||
7,7,6,0,0,112,136,128,184,136,136,112,5,7,7,6,
|
||||
0,0,136,136,136,248,136,136,136,1,7,7,6,2,0,128,
|
||||
128,128,128,128,128,128,5,7,7,6,0,0,56,16,16,16,
|
||||
16,144,96,5,7,7,6,0,0,136,144,160,192,160,144,136,
|
||||
5,7,7,6,0,0,128,128,128,128,128,128,248,5,7,7,
|
||||
6,0,0,136,216,168,136,136,136,136,5,7,7,6,0,0,
|
||||
136,136,200,168,152,136,136,5,7,7,6,0,0,112,136,136,
|
||||
136,136,136,112,5,7,7,6,0,0,240,136,136,240,128,128,
|
||||
128,5,7,7,6,0,0,112,136,136,136,168,144,104,5,7,
|
||||
7,6,0,0,240,136,136,240,160,144,136,5,7,7,6,0,
|
||||
0,120,128,128,112,8,8,240,5,7,7,6,0,0,248,32,
|
||||
32,32,32,32,32,5,7,7,6,0,0,136,136,136,136,136,
|
||||
136,112,5,7,7,6,0,0,136,136,136,136,136,80,32,5,
|
||||
7,7,6,0,0,136,136,136,136,136,168,80,5,7,7,6,
|
||||
0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,136,
|
||||
136,136,80,32,32,32,5,7,7,6,0,0,248,8,16,32,
|
||||
64,128,248,3,7,7,6,1,0,224,128,128,128,128,128,224,
|
||||
5,5,5,6,0,1,128,64,32,16,8,3,7,7,6,1,
|
||||
0,224,32,32,32,32,32,224,5,3,3,6,0,4,32,80,
|
||||
136,5,1,1,6,0,0,248,2,2,2,6,2,5,128,64,
|
||||
5,5,5,6,0,0,112,8,120,136,120,5,7,7,6,0,
|
||||
0,128,128,176,200,136,136,240,5,5,5,6,0,0,112,128,
|
||||
128,136,112,5,7,7,6,0,0,8,8,104,152,136,136,120,
|
||||
5,5,5,6,0,0,112,136,248,128,112,5,7,7,6,0,
|
||||
0,48,72,224,64,64,64,64,5,6,6,6,0,255,112,136,
|
||||
136,120,8,112,5,7,7,6,0,0,128,128,176,200,136,136,
|
||||
136,1,7,7,6,2,0,128,0,128,128,128,128,128,3,8,
|
||||
8,6,1,255,32,0,32,32,32,32,160,64,4,7,7,6,
|
||||
0,0,128,128,144,160,192,160,144,3,7,7,6,1,0,192,
|
||||
64,64,64,64,64,224,5,5,5,6,0,0,208,168,168,168,
|
||||
168,5,5,5,6,0,0,176,200,136,136,136,5,5,5,6,
|
||||
0,0,112,136,136,136,112,5,6,6,6,0,255,240,136,136,
|
||||
240,128,128,5,6,6,6,0,255,120,136,136,120,8,8,5,
|
||||
5,5,6,0,0,176,200,128,128,128,5,5,5,6,0,0,
|
||||
112,128,112,8,240,5,7,7,6,0,0,64,64,224,64,64,
|
||||
72,48,5,5,5,6,0,0,136,136,136,152,104,5,5,5,
|
||||
6,0,0,136,136,136,80,32,5,5,5,6,0,0,136,136,
|
||||
168,168,80,5,5,5,6,0,0,136,80,32,80,136,5,6,
|
||||
6,6,0,255,136,136,136,120,8,112,5,5,5,6,0,0,
|
||||
248,16,32,64,248,3,7,7,6,1,0,32,64,64,128,64,
|
||||
64,32,1,7,7,6,2,0,128,128,128,128,128,128,128,3,
|
||||
7,7,6,1,0,128,64,64,32,64,64,128,5,2,2,6,
|
||||
0,3,104,144,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,5,8,8,6,0,0,
|
||||
64,248,128,128,240,128,128,248,5,8,8,6,0,0,80,248,
|
||||
128,128,240,128,128,248,5,7,7,6,0,0,224,64,64,112,
|
||||
72,72,112,5,8,8,6,0,0,16,32,248,136,128,128,128,
|
||||
128,5,7,7,6,0,0,48,72,128,224,128,72,48,5,7,
|
||||
7,6,0,0,112,136,128,112,8,136,112,3,7,7,6,1,
|
||||
0,224,64,64,64,64,64,224,3,8,8,6,1,0,160,0,
|
||||
224,64,64,64,64,224,5,7,7,6,0,0,56,16,16,16,
|
||||
16,144,96,5,7,7,6,0,0,160,160,160,184,168,168,184,
|
||||
5,7,7,6,0,0,160,160,160,248,168,168,184,4,7,7,
|
||||
6,0,0,224,64,112,80,80,80,80,5,8,8,6,0,0,
|
||||
16,32,136,144,160,224,144,136,5,8,8,6,0,0,64,32,
|
||||
136,152,168,200,136,136,5,9,9,6,0,255,80,32,136,136,
|
||||
136,80,32,32,32,5,8,8,6,0,255,136,136,136,136,136,
|
||||
136,248,32,5,7,7,6,0,0,112,136,136,248,136,136,136,
|
||||
5,7,7,6,0,0,248,128,128,240,136,136,240,5,7,7,
|
||||
6,0,0,240,136,136,240,136,136,240,5,7,7,6,0,0,
|
||||
248,136,128,128,128,128,128,5,8,8,6,0,255,120,40,40,
|
||||
40,72,136,248,136,5,7,7,6,0,0,248,128,128,240,128,
|
||||
128,248,5,7,7,6,0,0,168,168,168,112,168,168,168,5,
|
||||
7,7,6,0,0,240,8,8,112,8,8,240,5,7,7,6,
|
||||
0,0,136,136,152,168,200,136,136,5,8,8,6,0,0,80,
|
||||
32,136,152,168,168,200,136,5,7,7,6,0,0,136,144,160,
|
||||
192,160,144,136,5,7,7,6,0,0,120,40,40,40,40,168,
|
||||
72,5,7,7,6,0,0,136,216,168,136,136,136,136,5,7,
|
||||
7,6,0,0,136,136,136,248,136,136,136,5,7,7,6,0,
|
||||
0,112,136,136,136,136,136,112,5,7,7,6,0,0,248,136,
|
||||
136,136,136,136,136,5,7,7,6,0,0,240,136,136,240,128,
|
||||
128,128,5,7,7,6,0,0,112,136,128,128,128,136,112,5,
|
||||
7,7,6,0,0,248,32,32,32,32,32,32,5,7,7,6,
|
||||
0,0,136,136,136,80,32,64,128,5,7,7,6,0,0,32,
|
||||
112,168,168,168,112,32,5,7,7,6,0,0,136,136,80,32,
|
||||
80,136,136,5,8,8,6,0,255,136,136,136,136,136,136,248,
|
||||
8,5,7,7,6,0,0,136,136,136,152,104,8,8,5,7,
|
||||
7,6,0,0,168,168,168,168,168,168,248,5,8,8,6,0,
|
||||
255,168,168,168,168,168,168,248,8,5,7,7,6,0,0,192,
|
||||
64,64,112,72,72,112,5,7,7,6,0,0,136,136,136,200,
|
||||
168,168,200,5,7,7,6,0,0,128,128,128,240,136,136,240,
|
||||
5,7,7,6,0,0,112,136,8,56,8,136,112,5,7,7,
|
||||
6,0,0,144,168,168,232,168,168,144,5,7,7,6,0,0,
|
||||
120,136,136,120,40,72,136,5,5,5,6,0,0,112,8,120,
|
||||
136,120,5,7,7,6,0,0,24,96,128,240,136,136,112,4,
|
||||
5,5,6,0,0,224,144,224,144,224,5,5,5,6,0,0,
|
||||
248,136,128,128,128,5,6,6,6,0,255,120,40,72,136,248,
|
||||
136,5,5,5,6,0,0,112,136,248,128,112,5,5,5,6,
|
||||
0,0,168,168,112,168,168,5,5,5,6,0,0,240,8,48,
|
||||
8,240,5,5,5,6,0,0,136,152,168,200,136,5,7,7,
|
||||
6,0,0,80,32,136,152,168,200,136,4,5,5,6,0,0,
|
||||
144,160,192,160,144,5,5,5,6,0,0,248,40,40,168,72,
|
||||
5,5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,
|
||||
0,136,136,248,136,136,5,5,5,6,0,0,112,136,136,136,
|
||||
112,5,5,5,6,0,0,248,136,136,136,136,5,6,6,6,
|
||||
0,255,240,136,136,240,128,128,5,5,5,6,0,0,112,128,
|
||||
128,136,112,5,5,5,6,0,0,248,32,32,32,32,5,6,
|
||||
6,6,0,255,136,136,136,120,8,112,5,6,6,6,0,0,
|
||||
32,112,168,168,112,32,5,5,5,6,0,0,136,80,32,80,
|
||||
136,5,6,6,6,0,255,136,136,136,136,248,8,5,5,5,
|
||||
6,0,0,136,136,248,8,8,5,5,5,6,0,0,168,168,
|
||||
168,168,248,5,6,6,6,0,255,168,168,168,168,248,8,5,
|
||||
5,5,6,0,0,192,64,112,72,112,5,5,5,6,0,0,
|
||||
136,136,200,168,200,3,5,5,6,1,0,128,128,192,160,192,
|
||||
5,5,5,6,0,0,112,136,56,136,112,5,5,5,6,0,
|
||||
0,144,168,232,168,144,5,5,5,6,0,0,120,136,120,40,
|
||||
72,5,8,8,6,0,0,64,32,0,112,136,248,128,112,5,
|
||||
7,7,6,0,0,80,0,112,136,248,128,112,5,9,9,6,
|
||||
0,255,64,224,64,64,120,72,72,72,16,5,8,8,6,0,
|
||||
0,16,32,0,248,136,128,128,128,5,5,5,6,0,0,112,
|
||||
136,96,136,112,5,5,5,6,0,0,112,128,112,8,240,1,
|
||||
7,7,6,2,0,128,0,128,128,128,128,128,3,7,7,6,
|
||||
1,0,160,0,64,64,64,64,64,3,8,8,6,1,255,32,
|
||||
0,32,32,32,32,160,64,5,5,5,6,0,0,160,160,184,
|
||||
168,184,5,5,5,6,0,0,160,160,248,168,184,5,6,6,
|
||||
6,0,0,64,224,64,120,72,72,4,8,8,6,0,0,16,
|
||||
32,0,144,160,192,160,144,5,8,8,6,0,0,64,32,0,
|
||||
136,152,168,200,136,5,9,9,6,0,255,80,32,0,136,136,
|
||||
136,120,8,112,5,6,6,6,0,255,136,136,136,136,248,32
|
||||
};
|
@ -0,0 +1,173 @@
|
||||
/*
|
||||
Fontname: ISO10646_Kana
|
||||
Copyright: A. Hardtung, public domain
|
||||
Capital A Height: 7, '1' Height: 7
|
||||
Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 8 len= 9
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-1 dx= 0 dy= 0
|
||||
Pure Font ascent = 7 descent=-1
|
||||
X Font ascent = 7 descent=-1
|
||||
Max Font ascent = 8 descent=-1
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t ISO10646_Kana_5x7[2549] U8G_SECTION(".progmem.ISO10646_Kana_5x7") = {
|
||||
0,6,9,0,254,7,1,145,3,32,32,255,255,8,255,7,
|
||||
255,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128,
|
||||
128,128,0,128,3,2,2,6,1,5,160,160,5,7,7,6,
|
||||
0,0,80,80,248,80,248,80,80,5,7,7,6,0,0,32,
|
||||
120,160,112,40,240,32,5,7,7,6,0,0,192,200,16,32,
|
||||
64,152,24,5,7,7,6,0,0,96,144,160,64,168,144,104,
|
||||
2,3,3,6,1,4,192,64,128,3,7,7,6,1,0,32,
|
||||
64,128,128,128,64,32,3,7,7,6,1,0,128,64,32,32,
|
||||
32,64,128,5,5,5,6,0,1,32,168,112,168,32,5,5,
|
||||
5,6,0,1,32,32,248,32,32,2,3,3,6,2,255,192,
|
||||
64,128,5,1,1,6,0,3,248,2,2,2,6,2,0,192,
|
||||
192,5,5,5,6,0,1,8,16,32,64,128,5,7,7,6,
|
||||
0,0,112,136,152,168,200,136,112,3,7,7,6,1,0,64,
|
||||
192,64,64,64,64,224,5,7,7,6,0,0,112,136,8,112,
|
||||
128,128,248,5,7,7,6,0,0,248,16,32,16,8,8,240,
|
||||
5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7,
|
||||
6,0,0,248,128,240,8,8,136,112,5,7,7,6,0,0,
|
||||
48,64,128,240,136,136,112,5,7,7,6,0,0,248,8,16,
|
||||
32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136,
|
||||
112,5,7,7,6,0,0,112,136,136,120,8,16,96,2,5,
|
||||
5,6,2,0,192,192,0,192,192,2,6,6,6,2,255,192,
|
||||
192,0,192,64,128,4,7,7,6,0,0,16,32,64,128,64,
|
||||
32,16,5,3,3,6,0,2,248,0,248,4,7,7,6,1,
|
||||
0,128,64,32,16,32,64,128,5,7,7,6,0,0,112,136,
|
||||
8,16,32,0,32,5,6,6,6,0,0,112,136,8,104,168,
|
||||
112,5,7,7,6,0,0,112,136,136,248,136,136,136,5,7,
|
||||
7,6,0,0,240,136,136,240,136,136,240,5,7,7,6,0,
|
||||
0,112,136,128,128,128,136,112,5,7,7,6,0,0,224,144,
|
||||
136,136,136,144,224,5,7,7,6,0,0,248,128,128,240,128,
|
||||
128,248,5,7,7,6,0,0,248,128,128,240,128,128,128,5,
|
||||
7,7,6,0,0,112,136,128,184,136,136,112,5,7,7,6,
|
||||
0,0,136,136,136,248,136,136,136,1,7,7,6,2,0,128,
|
||||
128,128,128,128,128,128,5,7,7,6,0,0,56,16,16,16,
|
||||
16,144,96,5,7,7,6,0,0,136,144,160,192,160,144,136,
|
||||
5,7,7,6,0,0,128,128,128,128,128,128,248,5,7,7,
|
||||
6,0,0,136,216,168,136,136,136,136,5,7,7,6,0,0,
|
||||
136,136,200,168,152,136,136,5,7,7,6,0,0,112,136,136,
|
||||
136,136,136,112,5,7,7,6,0,0,240,136,136,240,128,128,
|
||||
128,5,7,7,6,0,0,112,136,136,136,168,144,104,5,7,
|
||||
7,6,0,0,240,136,136,240,160,144,136,5,7,7,6,0,
|
||||
0,120,128,128,112,8,8,240,5,7,7,6,0,0,248,32,
|
||||
32,32,32,32,32,5,7,7,6,0,0,136,136,136,136,136,
|
||||
136,112,5,7,7,6,0,0,136,136,136,136,136,80,32,5,
|
||||
7,7,6,0,0,136,136,136,136,136,168,80,5,7,7,6,
|
||||
0,0,136,136,80,32,80,136,136,5,7,7,6,0,0,136,
|
||||
136,136,80,32,32,32,5,7,7,6,0,0,248,8,16,32,
|
||||
64,128,248,3,7,7,6,1,0,224,128,128,128,128,128,224,
|
||||
5,5,5,6,0,1,128,64,32,16,8,3,7,7,6,1,
|
||||
0,224,32,32,32,32,32,224,5,3,3,6,0,4,32,80,
|
||||
136,5,1,1,6,0,0,248,2,2,2,6,2,5,128,64,
|
||||
5,5,5,6,0,0,112,8,120,136,120,5,7,7,6,0,
|
||||
0,128,128,176,200,136,136,240,5,5,5,6,0,0,112,128,
|
||||
128,136,112,5,7,7,6,0,0,8,8,104,152,136,136,120,
|
||||
5,5,5,6,0,0,112,136,248,128,112,5,7,7,6,0,
|
||||
0,48,72,224,64,64,64,64,5,6,6,6,0,255,112,136,
|
||||
136,120,8,112,5,7,7,6,0,0,128,128,176,200,136,136,
|
||||
136,1,7,7,6,2,0,128,0,128,128,128,128,128,3,8,
|
||||
8,6,1,255,32,0,32,32,32,32,160,64,4,7,7,6,
|
||||
0,0,128,128,144,160,192,160,144,3,7,7,6,1,0,192,
|
||||
64,64,64,64,64,224,5,5,5,6,0,0,208,168,168,168,
|
||||
168,5,5,5,6,0,0,176,200,136,136,136,5,5,5,6,
|
||||
0,0,112,136,136,136,112,5,6,6,6,0,255,240,136,136,
|
||||
240,128,128,5,6,6,6,0,255,120,136,136,120,8,8,5,
|
||||
5,5,6,0,0,176,200,128,128,128,5,5,5,6,0,0,
|
||||
112,128,112,8,240,5,7,7,6,0,0,64,64,224,64,64,
|
||||
72,48,5,5,5,6,0,0,136,136,136,152,104,5,5,5,
|
||||
6,0,0,136,136,136,80,32,5,5,5,6,0,0,136,136,
|
||||
168,168,80,5,5,5,6,0,0,136,80,32,80,136,5,6,
|
||||
6,6,0,255,136,136,136,120,8,112,5,5,5,6,0,0,
|
||||
248,16,32,64,248,3,7,7,6,1,0,32,64,64,128,64,
|
||||
64,32,1,7,7,6,2,0,128,128,128,128,128,128,128,3,
|
||||
7,7,6,1,0,128,64,64,32,64,64,128,5,2,2,6,
|
||||
0,3,104,144,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0,
|
||||
0,0,0,6,0,0,0,0,0,6,0,0,0,0,0,6,
|
||||
0,0,0,0,0,6,0,0,0,0,0,6,0,0,0,0,
|
||||
0,6,0,0,0,0,0,6,0,0,5,3,3,6,0,2,
|
||||
248,0,248,5,6,6,6,0,0,248,8,40,48,32,64,5,
|
||||
7,7,6,0,0,248,8,40,48,32,32,64,4,5,5,6,
|
||||
0,0,16,32,96,160,32,5,7,7,6,0,0,8,16,32,
|
||||
96,160,32,32,5,5,5,6,0,0,32,248,136,8,48,5,
|
||||
7,7,6,0,0,32,248,136,136,8,16,32,5,4,4,6,
|
||||
0,0,248,32,32,248,5,6,6,6,0,0,248,32,32,32,
|
||||
32,248,5,5,5,6,0,0,16,248,48,80,144,5,7,7,
|
||||
6,0,0,16,248,16,48,80,144,16,5,5,5,6,0,0,
|
||||
64,248,72,80,64,5,7,7,6,0,0,40,0,64,248,72,
|
||||
80,64,5,7,7,6,0,0,32,248,32,248,32,32,32,5,
|
||||
8,8,6,0,0,40,0,32,248,32,248,32,32,4,6,6,
|
||||
6,0,0,64,112,144,16,16,32,5,8,8,6,0,0,40,
|
||||
0,64,112,144,16,16,32,5,6,6,6,0,0,64,120,144,
|
||||
16,16,32,5,8,8,6,0,0,40,0,64,120,144,16,16,
|
||||
32,5,5,5,6,0,0,248,8,8,8,248,5,7,7,6,
|
||||
0,0,40,0,248,8,8,8,248,5,7,7,6,0,255,80,
|
||||
248,80,80,16,32,64,5,9,9,6,0,255,40,0,80,248,
|
||||
80,80,16,32,64,5,6,6,6,0,0,192,8,200,8,16,
|
||||
224,5,8,8,6,0,0,40,0,192,8,200,8,16,224,5,
|
||||
6,6,6,0,0,248,8,16,32,80,136,5,8,8,6,0,
|
||||
0,40,0,248,8,16,32,80,136,5,6,6,6,0,0,64,
|
||||
248,72,80,64,120,5,8,8,6,0,0,40,0,64,248,72,
|
||||
80,64,120,4,4,4,6,0,1,16,208,16,224,5,7,7,
|
||||
6,0,0,40,0,8,200,8,16,224,5,7,7,6,0,255,
|
||||
32,120,136,40,16,40,64,5,9,9,6,0,255,40,0,32,
|
||||
120,136,40,16,40,64,5,6,6,6,0,0,240,32,248,32,
|
||||
64,128,5,8,8,6,0,0,40,0,240,32,248,32,64,128,
|
||||
4,5,5,6,0,1,192,16,208,16,224,5,6,6,6,0,
|
||||
0,192,8,200,8,16,224,5,8,8,6,0,0,40,0,192,
|
||||
8,200,8,16,224,5,6,6,6,0,0,112,0,248,32,32,
|
||||
64,5,8,8,6,0,0,40,0,112,0,248,32,32,64,3,
|
||||
7,7,6,1,0,128,128,128,192,160,128,128,4,8,8,6,
|
||||
1,0,80,0,128,128,192,160,128,128,5,7,7,6,0,0,
|
||||
32,32,248,32,32,64,128,5,6,6,6,0,0,112,0,0,
|
||||
0,0,248,5,6,6,6,0,0,248,8,80,32,80,128,5,
|
||||
7,7,6,0,255,32,248,8,16,32,112,168,3,7,7,6,
|
||||
1,0,32,32,32,32,32,64,128,5,5,5,6,0,0,16,
|
||||
136,136,136,136,5,7,7,6,0,0,40,0,16,136,136,136,
|
||||
136,5,8,8,6,0,0,24,24,0,16,136,136,136,136,5,
|
||||
7,7,6,0,0,128,128,248,128,128,128,120,5,8,8,6,
|
||||
0,0,40,128,128,248,128,128,128,120,5,8,8,6,0,0,
|
||||
24,152,128,248,128,128,128,120,5,6,6,6,0,0,248,8,
|
||||
8,8,16,96,5,8,8,6,0,0,40,0,248,8,8,8,
|
||||
16,96,5,8,8,6,0,0,24,24,248,8,8,8,16,96,
|
||||
5,5,5,6,0,1,64,160,16,8,8,5,7,7,6,0,
|
||||
1,40,0,64,160,16,8,8,5,7,7,6,0,1,24,24,
|
||||
64,160,16,8,8,5,6,6,6,0,0,32,248,32,32,168,
|
||||
168,5,8,8,6,0,0,40,0,32,248,32,32,168,168,5,
|
||||
8,8,6,0,0,24,24,32,248,32,32,168,168,5,6,6,
|
||||
6,0,0,248,8,8,80,32,16,4,6,6,6,1,0,224,
|
||||
0,224,0,224,16,5,6,6,6,0,0,32,64,128,144,248,
|
||||
8,5,6,6,6,0,0,8,8,80,32,80,128,5,6,6,
|
||||
6,0,0,120,32,248,32,32,56,5,7,7,6,0,0,64,
|
||||
64,248,72,80,64,64,5,7,7,6,0,0,64,248,72,80,
|
||||
64,64,64,5,5,5,6,0,0,112,16,16,16,248,5,7,
|
||||
7,6,0,0,112,16,16,16,16,16,248,4,5,5,6,1,
|
||||
0,240,16,240,16,240,5,7,7,6,0,0,248,8,8,248,
|
||||
8,8,248,5,6,6,6,0,0,112,0,248,8,16,32,3,
|
||||
6,6,6,1,0,160,160,160,160,32,64,5,6,6,6,0,
|
||||
0,80,80,80,80,88,144,4,6,6,6,1,0,128,128,128,
|
||||
144,160,192,5,6,6,6,0,0,248,136,136,136,248,136,5,
|
||||
5,5,6,0,0,248,136,8,16,96,5,6,6,6,0,0,
|
||||
248,136,8,8,16,96,5,6,6,6,0,0,16,248,80,80,
|
||||
248,16,5,6,6,6,0,0,248,8,80,96,64,248,5,6,
|
||||
6,6,0,0,248,8,248,8,16,32,5,6,6,6,0,0,
|
||||
128,64,8,8,16,224,5,8,8,6,0,0,40,0,32,248,
|
||||
136,8,24,32,5,6,6,6,0,0,64,248,72,72,136,144,
|
||||
4,5,5,6,1,0,128,240,160,32,32,5,8,8,6,0,
|
||||
0,40,0,248,136,8,8,16,96,5,8,8,6,0,0,40,
|
||||
0,16,248,80,80,248,16,5,7,7,6,0,0,40,0,248,
|
||||
16,32,32,248,5,8,8,6,0,0,40,0,248,8,248,8,
|
||||
16,32,2,2,2,6,2,2,192,192,5,1,1,6,0,3,
|
||||
248,5,5,5,6,0,1,128,64,32,16,8,5,6,6,6,
|
||||
0,1,40,128,64,32,16,8,5,7,7,6,0,0,248,8,
|
||||
8,8,8,8,8};
|
@ -0,0 +1,22 @@
|
||||
/*
|
||||
Fontname: Marlin_symbols
|
||||
Copyright: Created with Fony 1.4.7
|
||||
Capital A Height: 0, '1' Height: 0
|
||||
Calculated Max Values w= 5 h=10 x= 0 y= 3 dx= 6 dy= 0 ascent= 8 len=10
|
||||
Font Bounding box w= 6 h= 9 x= 0 y=-2
|
||||
Calculated Min Values x= 0 y=-2 dx= 0 dy= 0
|
||||
Pure Font ascent = 0 descent= 0
|
||||
X Font ascent = 0 descent= 0
|
||||
Max Font ascent = 8 descent=-2
|
||||
*/
|
||||
#include <utility/u8g.h>
|
||||
const u8g_fntpgm_uint8_t Marlin_symbols[140] U8G_SECTION(".progmem.Marlin_symbols") = {
|
||||
0,6,9,0,254,0,0,0,0,0,1,9,0,8,254,0,
|
||||
0,5,8,8,6,0,0,64,240,200,136,136,152,120,16,5,
|
||||
8,8,6,0,0,192,248,136,136,136,136,136,248,5,5,5,
|
||||
6,0,1,32,48,248,48,32,5,8,8,6,0,0,32,112,
|
||||
248,32,32,32,32,224,5,9,9,6,0,255,32,112,168,168,
|
||||
184,136,136,112,32,5,9,9,6,0,255,224,128,192,176,168,
|
||||
40,48,40,40,5,9,9,6,0,255,248,168,136,136,136,136,
|
||||
136,168,248,5,10,10,6,0,254,32,80,80,80,80,136,168,
|
||||
168,136,112,3,3,3,6,0,3,64,160,64};
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
The fonts are created with Fony.exe (http://hukka.ncn.fi/?fony) because Fontforge didn't do what I want (probably lack off experience).
|
||||
In Fony export the fonts to bdf-format. Maybe another one can edit them with Fontforge.
|
||||
Then run make_fonts.bat what calls bdf2u8g.exe with the needed parameters to produce the .h files.
|
||||
The .h files must be edited to replace '#include "u8g.h"' with '#include <utility/u8g.h>', replace 'U8G_FONT_SECTION' with 'U8G_SECTION', insert '.progmem.' right behind the first '"' and moved to the main directory.
|
||||
|
||||
Especially the Kana and Cyrillic fonts should be revised by someone who knows what he/she does. I am only a west-European with very little knowledge about this scripts.
|
Binary file not shown.
@ -0,0 +1,147 @@
|
||||
/**
|
||||
* Japanese (Kana)
|
||||
*
|
||||
* LCD Menu Messages
|
||||
* See also documentation/LCDLanguageFont.md
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LANGUAGE_KANA_H
|
||||
#define LANGUAGE_KANA_H
|
||||
|
||||
#define MAPPER_NON
|
||||
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
|
||||
#define SIMULATE_ROMFONT
|
||||
#define DISPLAY_CHARSET_ISO10646_KANA
|
||||
|
||||
// 片仮名表示定義
|
||||
#define WELCOME_MSG MACHINE_NAME " ready."
|
||||
#define MSG_SD_INSERTED "\xb6\xb0\xc4\xde\x20\xbf\xb3\xc6\xad\xb3\xbb\xda\xcf\xbc\xc0" // "Card inserted"
|
||||
#define MSG_SD_REMOVED "\xb6\xb0\xc4\xde\xb6xde\xb1\xd8\xcf\xbe\xdd" // "Card removed"
|
||||
#define MSG_MAIN "\xd2\xb2\xdd" // "Main"
|
||||
#define MSG_AUTOSTART "\xbc\xde\xc4\xde\xb3\xb6\xb2\xbc" // "Autostart"
|
||||
#define MSG_DISABLE_STEPPERS "\xd3\xb0\xc0\xb0\xc3\xde\xdd\xb9\xde\xdd\x20\xb5\xcc" // "Disable steppers"
|
||||
#define MSG_AUTO_HOME "\xb9\xde\xdd\xc3\xdd\xc6\xb2\xc4\xde\xb3" // "Auto home"
|
||||
#define MSG_SET_HOME_OFFSETS "\xb7\xbc\xde\xad\xdd\xb5\xcc\xbe\xaf\xc4\xbe\xaf\xc3\xb2" // "Set home offsets"
|
||||
#define MSG_SET_ORIGIN "\xb7\xbc\xde\xad\xdd\xbe\xaf\xc4" // "Set origin"
|
||||
#define MSG_PREHEAT_PLA "PLA \xd6\xc8\xc2" // "Preheat PLA"
|
||||
#define MSG_PREHEAT_PLA_N MSG_PREHEAT_PLA " "
|
||||
#define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " \xbd\xcd\xde\xc3" // " All"
|
||||
#define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " \xcd\xde\xaf\xc4\xde" // "Bed"
|
||||
#define MSG_PREHEAT_PLA_SETTINGS MSG_PREHEAT_PLA " \xbe\xaf\xc3\xb2" // "conf"
|
||||
#define MSG_PREHEAT_ABS "ABS \xd6\xc8\xc2" // "Preheat ABS"
|
||||
#define MSG_PREHEAT_ABS_N MSG_PREHEAT_ABS " "
|
||||
#define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " \xbd\xcd\xde\xc3" // " All"
|
||||
#define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " \xcd\xde\xaf\xc4\xde" // "Bed"
|
||||
#define MSG_PREHEAT_ABS_SETTINGS MSG_PREHEAT_ABS " \xbe\xaf\xc3\xb2" // "conf"
|
||||
#define MSG_COOLDOWN "\xb6\xc8\xc2\xc3\xb2\xbc" // "Cooldown"
|
||||
#define MSG_SWITCH_PS_ON "\xc3\xde\xdd\xb9\xdd\xde\x20\xb5\xdd" // "Switch power on"
|
||||
#define MSG_SWITCH_PS_OFF "\xc3\xde\xdd\xb9\xdd\xde\x20\xb5\xcc" // "Switch power off"
|
||||
#define MSG_EXTRUDE "\xb5\xbc\xc0\xde\xbc" // "Extrude"
|
||||
#define MSG_RETRACT "\xd8\xc4\xd7\xb8\xc4" // "Retract"
|
||||
#define MSG_MOVE_AXIS "\xbc\xde\xb8\xb2\xc4\xde\xb3" // "Move axis"
|
||||
#define MSG_MOVE_X "X\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Move X"
|
||||
#define MSG_MOVE_Y "Y\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Move Y"
|
||||
#define MSG_MOVE_Z "Z\xbc\xde\xb8\x20\xb2\xc4\xde\xb3" // "Move Z"
|
||||
#define MSG_MOVE_E "\xb4\xb8\xbd\xc4\xd9\xb0\xc0\xde\xb0" // "Extruder"
|
||||
#define MSG_MOVE_01MM "0.1mm \xb2\xc4\xde\xb3" // "Move 0.1mm"
|
||||
#define MSG_MOVE_1MM " 1mm \xb2\xc4\xde\xb3" // "Move 1mm"
|
||||
#define MSG_MOVE_10MM " 10mm \xb2\xc4\xde\xb3" // "Move 10mm"
|
||||
#define MSG_SPEED "\xbd\xcb\xdf\xb0\xc4\xde" // "Speed"
|
||||
#define MSG_NOZZLE "\xc9\xbd\xde\xd9" // "Nozzle"
|
||||
#define MSG_BED "\xcd\xde\xaf\xc4\xde" // "Bed"
|
||||
#define MSG_FAN_SPEED "\xcc\xa7\xdd\xbf\xb8\xc4\xde" // "Fan speed"
|
||||
#define MSG_FLOW "\xb5\xb8\xd8\xd8\xae\xb3" // "Flow"
|
||||
#define MSG_CONTROL "\xba\xdd\xc4\xdb\xb0\xd9" // "Control"
|
||||
#define MSG_MIN LCD_STR_THERMOMETER " Min"
|
||||
#define MSG_MAX LCD_STR_THERMOMETER " Max"
|
||||
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
|
||||
#define MSG_AUTOTEMP "\xbc\xde\xc4\xde\xb3\xb5\xdd\xc4\xde" // "Autotemp"
|
||||
#define MSG_ON "On "
|
||||
#define MSG_OFF "Off"
|
||||
#define MSG_PID_P "PID-P"
|
||||
#define MSG_PID_I "PID-I"
|
||||
#define MSG_PID_D "PID-D"
|
||||
#define MSG_PID_C "PID-C"
|
||||
#define MSG_ACC "\xb6\xbf\xb8\xc4\xde" // "Accel"
|
||||
#define MSG_VXY_JERK "Vxy-jerk"
|
||||
#define MSG_VZ_JERK "Vz-jerk"
|
||||
#define MSG_VE_JERK "Ve-jerk"
|
||||
#define MSG_VMAX "Vmax "
|
||||
#define MSG_X "x"
|
||||
#define MSG_Y "y"
|
||||
#define MSG_Z "z"
|
||||
#define MSG_E "e"
|
||||
#define MSG_VMIN "Vmin"
|
||||
#define MSG_VTRAV_MIN "VTrav min"
|
||||
#define MSG_AMAX "Amax "
|
||||
#define MSG_A_RETRACT "A-retract"
|
||||
#define MSG_XSTEPS "Xsteps/mm"
|
||||
#define MSG_YSTEPS "Ysteps/mm"
|
||||
#define MSG_ZSTEPS "Zsteps/mm"
|
||||
#define MSG_ESTEPS "Esteps/mm"
|
||||
#define MSG_TEMPERATURE "\xb5\xdd\xc4\xde" // "Temperature"
|
||||
#define MSG_MOTION "\xb3\xba\xde\xb7\xbe\xaf\xc3\xb2" // "Motion"
|
||||
#define MSG_VOLUMETRIC "\xcc\xa8\xd7\xd2\xdd\xc4" // "Filament"
|
||||
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_3 "Fil. Dia. 4"
|
||||
#define MSG_CONTRAST "LCD\xba\xdd\xc4\xd7\xbd\xc4" // "LCD contrast"
|
||||
#define MSG_STORE_EPROM "\xd2\xd3\xd8\xcd\xb6\xb8\xc9\xb3" // "Store memory"
|
||||
#define MSG_LOAD_EPROM "\xd2\xd3\xd8\xb6\xd7\xd6\xd0\ba\xd0" // "Load memory"
|
||||
#define MSG_RESTORE_FAILSAFE "\xbe\xaf\xc3\xb2\xd8\xbe\xaf\xc4" // "Restore failsafe"
|
||||
#define MSG_REFRESH "\xd8\xcc\xda\xaf\xbc\xad" // "Refresh"
|
||||
#define MSG_WATCH "\xb2\xdd\xcc\xab" // "Info screen"
|
||||
#define MSG_PREPARE "\xbc\xde\xad\xdd\xcb\xde\xbe\xaf\xc3\xb2" // "Prepare"
|
||||
#define MSG_TUNE "\xc1\xae\xb3\xbe\xb2" // "Tune"
|
||||
#define MSG_PAUSE_PRINT "\xb2\xc1\xbc\xde\xc3\xb2\xbc" // "Pause print"
|
||||
#define MSG_RESUME_PRINT "\xcc\xdf\xd8\xdd\xc4\xbb\xb2\xb6\xb2" // "Resume print"
|
||||
#define MSG_STOP_PRINT "\xcc\xdf\xd8\xdd\xc4\xc3\xb2\xbc" // "Stop print"
|
||||
#define MSG_CARD_MENU "SD\xb6\xb0\xc4\xde\xb6\xd7\xcc\xdf\xd8\xdd\xc4" // "Print from SD"
|
||||
#define MSG_NO_CARD "SD\xb6\xb0\xc4\xde\xb6\xde\xb1\xd8\xcf\xbe\xdd" // "No SD card"
|
||||
#define MSG_DWELL "\xbd\xd8\xb0\xcc\xdf" // "Sleep..."
|
||||
#define MSG_USERWAIT "\xbc\xca\xde\xd7\xb9\xb5\xcf\xc1\xb8\xc0\xde\xbb\xb2" // "Wait for user..."
|
||||
#define MSG_RESUMING "\xcc\xdf\xd8\xdd\xc4\xbb\xb2\xb6\xb2" // "Resuming print"
|
||||
#define MSG_PRINT_ABORTED "\xcc\xdf\xd8\xdd\xc4\xc1\xad\xb3\xbc\xbb\xda\xcf\xbc\xc0" // "Print aborted"
|
||||
#define MSG_NO_MOVE "\xb3\xba\xde\xb7\xcf\xbe\xdd" // "No move."
|
||||
#define MSG_KILLED "\xbc\xae\xb3\xb7\xae" // "KILLED. "
|
||||
#define MSG_STOPPED "\xc3\xb2\xbc\xbc\xcf\xbc\xc0" // "STOPPED. "
|
||||
#define MSG_CONTROL_RETRACT "Retract mm"
|
||||
#define MSG_CONTROL_RETRACT_SWAP "Swap Re.mm"
|
||||
#define MSG_CONTROL_RETRACTF "Retract V"
|
||||
#define MSG_CONTROL_RETRACT_ZLIFT "Hop mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVER "UnRet +mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "S UnRet+mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet V"
|
||||
#define MSG_AUTORETRACT "AutoRetr."
|
||||
#define MSG_FILAMENTCHANGE "\xcc\xa8\xd7\xd2\xdd\xc4\xba\xb3\xb6\xdd" // "Change filament"
|
||||
#define MSG_INIT_SDCARD "SD\xb6\xb0\xc4\xde\xbb\xb2\xd6\xd0\xba\xd0" // "Init. SD card"
|
||||
#define MSG_CNG_SDCARD "SD\xb6\xb0\xc4\xde\xba\xb3\xb6\xdd" // "Change SD card"
|
||||
#define MSG_ZPROBE_OUT "Z\xcc\xdf\xdb\xb0\xcc\xde \xcd\xde\xaf\xc4\xee\xb6\xde\xb2" // "Z probe out. bed"
|
||||
#define MSG_POSITION_UNKNOWN "\xb9\xde\xdd\xc3\xdd\xcaXY\xb2\xc4\xde\xb3\xba\xdeZ" // "Home X/Y before Z"
|
||||
#define MSG_ZPROBE_ZOFFSET "Z\xb5\xcc\xbe\xaf\xc4" // "Z Offset"
|
||||
#define MSG_BABYSTEP_X "\xcb\xde\xc4\xde\xb3 X" // "Babystep X"
|
||||
#define MSG_BABYSTEP_Y "\xcb\xde\xc4\xde\xb3 Y" // "Babystep Y"
|
||||
#define MSG_BABYSTEP_Z "\xcb\xde\xc4\xde\xb3 Z" // "Babystep Z"
|
||||
#define MSG_ENDSTOP_ABORT "Endstop abort"
|
||||
|
||||
/* These are from language.h. PLEASE DON'T TRANSLATE! All translatable messages can be found in language_en.h
|
||||
#define MSG_HEATING "\xb6\xc8\xc2\xc1\xad\xb3..." // "Heating..."
|
||||
#define MSG_HEATING_COMPLETE "\xb6\xc8\xc2\xb6\xdd\xd8x\xae\xb3" // "Heating done."
|
||||
#define MSG_BED_HEATING "\xcd\xde\xaf\xc4\xde\xb6\xc8\xc2\xc1\xad\xb3" // "Bed Heating."
|
||||
#define MSG_BED_DONE "\xcd\xde\xaf\xc4\xde\xb6\xc8\xc2\xb6\xdd\xd8x\xae\xb3" // "Bed done."
|
||||
#define MSG_ENDSTOPS_HIT "endstops hit: "
|
||||
^ typho
|
||||
*/
|
||||
|
||||
#ifdef DELTA_CALIBRATION_MENU
|
||||
#define MSG_DELTA_CALIBRATE "Delta Calibration"
|
||||
#define MSG_DELTA_CALIBRATE_X "Calibrate X"
|
||||
#define MSG_DELTA_CALIBRATE_Y "Calibrate Y"
|
||||
#define MSG_DELTA_CALIBRATE_Z "Calibrate Z"
|
||||
#define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center"
|
||||
#endif // DELTA_CALIBRATION_MENU
|
||||
|
||||
#endif // LANGUAGE_KANA_H
|
@ -0,0 +1,142 @@
|
||||
/**
|
||||
* Japanese (Kana UTF8 version)
|
||||
*
|
||||
* LCD Menu Messages
|
||||
* See also documentation/LCDLanguageFont.md
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LANGUAGE_KANA_UTF_H
|
||||
#define LANGUAGE_KANA_UTF_H
|
||||
|
||||
#define MAPPER_E382E383
|
||||
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
|
||||
//#define SIMULATE_ROMFONT
|
||||
#define DISPLAY_CHARSET_ISO10646_KANA
|
||||
|
||||
// This is very crude replacement of the codes used in language_kana.h from somebody who really does not know what he is doing.
|
||||
// Just to show the potential benefit of unicode.
|
||||
// This translation can be improved by using the full charset of unicode codeblock U+30A0 to U+30FF.
|
||||
|
||||
// 片仮名表示定義
|
||||
#define WELCOME_MSG MACHINE_NAME " ready."
|
||||
#define MSG_SD_INSERTED "セード ンウニユウアレマシタ" // "Card inserted"
|
||||
#define MSG_SD_REMOVED "セードゼアリマセン" // "Card removed"
|
||||
#define MSG_MAIN "ナイン" // "Main"
|
||||
#define MSG_AUTOSTART "ヅドウセイシ" // "Autostart"
|
||||
#define MSG_DISABLE_STEPPERS "モーターデンゲン オフ" // "Disable steppers"
|
||||
#define MSG_AUTO_HOME "ゲンテンニイドウ" // "Auto home"
|
||||
#define MSG_SET_HOME_OFFSETS "キヅユンオフセツトセツテイ" // "Set home offsets"
|
||||
#define MSG_SET_ORIGIN "キヅユンセツト" // "Set origin"
|
||||
#define MSG_PREHEAT_PLA "PLA ヨネシ" // "Preheat PLA"
|
||||
#define MSG_PREHEAT_PLA_N MSG_PREHEAT_PLA " "
|
||||
#define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " スベテ" // " All"
|
||||
#define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " ベツド" // "Bed"
|
||||
#define MSG_PREHEAT_PLA_SETTINGS MSG_PREHEAT_PLA " セツテイ" // "conf"
|
||||
#define MSG_PREHEAT_ABS "ABS ヨネシ" // "Preheat ABS"
|
||||
#define MSG_PREHEAT_ABS_N MSG_PREHEAT_ABS " "
|
||||
#define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " スベテ" // " All"
|
||||
#define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " ベツド" // "Bed"
|
||||
#define MSG_PREHEAT_ABS_SETTINGS MSG_PREHEAT_ABS " セツテイ" // "conf"
|
||||
#define MSG_COOLDOWN "セネシテイシ" // "Cooldown"
|
||||
#define MSG_SWITCH_PS_ON "デンケゾ オン" // "Switch power on"
|
||||
#define MSG_SWITCH_PS_OFF "デンケゾ オフ" // "Switch power off"
|
||||
#define MSG_EXTRUDE "オシダシ" // "Extrude"
|
||||
#define MSG_RETRACT "リトラケト" // "Retract"
|
||||
#define MSG_MOVE_AXIS "ヅケイドウ" // "Move axis"
|
||||
#define MSG_MOVE_X "Xヅケ イドウ" // "Move X"
|
||||
#define MSG_MOVE_Y "Yヅケ イドウ" // "Move Y"
|
||||
#define MSG_MOVE_Z "Zヅケ イドウ" // "Move Z"
|
||||
#define MSG_MOVE_E "エケストルーダー" // "Extruder"
|
||||
#define MSG_MOVE_01MM "0.1mm イドウ" // "Move 0.1mm"
|
||||
#define MSG_MOVE_1MM " 1mm イドウ" // "Move 1mm"
|
||||
#define MSG_MOVE_10MM " 10mm イドウ" // "Move 10mm"
|
||||
#define MSG_SPEED "スヒ゜ード" // "Speed"
|
||||
#define MSG_NOZZLE "ノズル" // "Nozzle"
|
||||
#define MSG_BED "ベツド" // "Bed"
|
||||
#define MSG_FAN_SPEED "ファンンケド" // "Fan speed"
|
||||
#define MSG_FLOW "オケリリョウ" // "Flow"
|
||||
#define MSG_CONTROL "コントロール" // "Control"
|
||||
#define MSG_MIN LCD_STR_THERMOMETER " Min"
|
||||
#define MSG_MAX LCD_STR_THERMOMETER " Max"
|
||||
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
|
||||
#define MSG_AUTOTEMP "ヅドウオンド" // "Autotemp"
|
||||
#define MSG_ON "On "
|
||||
#define MSG_OFF "Off"
|
||||
#define MSG_PID_P "PID-P"
|
||||
#define MSG_PID_I "PID-I"
|
||||
#define MSG_PID_D "PID-D"
|
||||
#define MSG_PID_C "PID-C"
|
||||
#define MSG_ACC "センケド" // "Accel"
|
||||
#define MSG_VXY_JERK "Vxy-jerk"
|
||||
#define MSG_VZ_JERK "Vz-jerk"
|
||||
#define MSG_VE_JERK "Ve-jerk"
|
||||
#define MSG_VMAX "Vmax "
|
||||
#define MSG_X "x"
|
||||
#define MSG_Y "y"
|
||||
#define MSG_Z "z"
|
||||
#define MSG_E "e"
|
||||
#define MSG_VMIN "Vmin"
|
||||
#define MSG_VTRAV_MIN "VTrav min"
|
||||
#define MSG_AMAX "Amax "
|
||||
#define MSG_A_RETRACT "A-retract"
|
||||
#define MSG_XSTEPS "Xsteps/mm"
|
||||
#define MSG_YSTEPS "Ysteps/mm"
|
||||
#define MSG_ZSTEPS "Zsteps/mm"
|
||||
#define MSG_ESTEPS "Esteps/mm"
|
||||
#define MSG_TEMPERATURE "オンド" // "Temperature"
|
||||
#define MSG_MOTION "ウゴキセツテイ" // "Motion"
|
||||
#define MSG_VOLUMETRIC "フィラナント" // "Filament"
|
||||
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_0 "Fil. Dia. 1"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_1 "Fil. Dia. 2"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_2 "Fil. Dia. 3"
|
||||
#define MSG_FILAMENT_SIZE_EXTRUDER_3 "Fil. Dia. 4"
|
||||
#define MSG_CONTRAST "LCDコントラスト" // "LCD contrast"
|
||||
#define MSG_STORE_EPROM "ナモリヘセケノウ" // "Store memory"
|
||||
#define MSG_LOAD_EPROM "ナモリセラヨミbaミ" // "Load memory"
|
||||
#define MSG_RESTORE_FAILSAFE "セツテイリセツト" // "Restore failsafe"
|
||||
#define MSG_REFRESH "リフレツシユ" // "Refresh"
|
||||
#define MSG_WATCH "インフォ" // "Info screen"
|
||||
#define MSG_PREPARE "ヅユンゼセツテイ" //"Prepare"
|
||||
#define MSG_TUNE "チョウセイ" // "Tune"
|
||||
#define MSG_PAUSE_PRINT "イチヅテイシ" // "Pause print"
|
||||
#define MSG_RESUME_PRINT "プリントアイセイ" // "Resume print"
|
||||
#define MSG_STOP_PRINT "プリントテイシ" // "Stop print"
|
||||
#define MSG_CARD_MENU "SDセードセラプリント" // "Print from SD"
|
||||
#define MSG_NO_CARD "SDセードゼアリマセン" // "No SD card"
|
||||
#define MSG_DWELL "スリープ" // "Sleep..."
|
||||
#define MSG_USERWAIT "シバラケオマチケダアイ" // "Wait for user..."
|
||||
#define MSG_RESUMING "プリントアイセイ" // "Resuming print"
|
||||
#define MSG_PRINT_ABORTED "プリントチユウシアレマシタ" // "Print aborted"
|
||||
#define MSG_NO_MOVE "ウゴキマセン" // "No move."
|
||||
#define MSG_KILLED "ショウキョ" // "KILLED. "
|
||||
#define MSG_STOPPED "テイシシマシタ" // "STOPPED. "
|
||||
#define MSG_CONTROL_RETRACT "Retract mm"
|
||||
#define MSG_CONTROL_RETRACT_SWAP "Swap Re.mm"
|
||||
#define MSG_CONTROL_RETRACTF "Retract V"
|
||||
#define MSG_CONTROL_RETRACT_ZLIFT "Hop mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVER "UnRet +mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "S UnRet+mm"
|
||||
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet V"
|
||||
#define MSG_AUTORETRACT "AutoRetr."
|
||||
#define MSG_FILAMENTCHANGE "フィラナントコウセン" // "Change filament"
|
||||
#define MSG_INIT_SDCARD "SDセードアイヨミコミ" // "Init. SD card"
|
||||
#define MSG_CNG_SDCARD "SDセードコウセン" // "Change SD card"
|
||||
#define MSG_ZPROBE_OUT "Zプローブ ベツトnゼイ" // "Z probe out. bed"
|
||||
#define MSG_POSITION_UNKNOWN "ゲンテンハXYイドウゴZ" // "Home X/Y before Z"
|
||||
#define MSG_ZPROBE_ZOFFSET "Zオフセツト" // "Z Offset"
|
||||
#define MSG_BABYSTEP_X "ゼドウ X" // "Babystep X"
|
||||
#define MSG_BABYSTEP_Y "ゼドウ Y" // "Babystep Y"
|
||||
#define MSG_BABYSTEP_Z "ゼドウ Z" // "Babystep Z"
|
||||
#define MSG_ENDSTOP_ABORT "Endstop abort"
|
||||
|
||||
#ifdef DELTA_CALIBRATION_MENU
|
||||
#define MSG_DELTA_CALIBRATE "Delta Calibration"
|
||||
#define MSG_DELTA_CALIBRATE_X "Calibrate X"
|
||||
#define MSG_DELTA_CALIBRATE_Y "Calibrate Y"
|
||||
#define MSG_DELTA_CALIBRATE_Z "Calibrate Z"
|
||||
#define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center"
|
||||
#endif // DELTA_CALIBRATION_MENU
|
||||
|
||||
#endif // LANGUAGE_KANA_UTF_H
|
@ -1,20 +1,16 @@
|
||||
#include "mesh_bed_leveling.h"
|
||||
|
||||
#if defined(MESH_BED_LEVELING)
|
||||
#ifdef MESH_BED_LEVELING
|
||||
|
||||
mesh_bed_leveling mbl;
|
||||
mesh_bed_leveling mbl;
|
||||
|
||||
mesh_bed_leveling::mesh_bed_leveling() {
|
||||
reset();
|
||||
}
|
||||
mesh_bed_leveling::mesh_bed_leveling() { reset(); }
|
||||
|
||||
void mesh_bed_leveling::reset() {
|
||||
for (int y=0; y<MESH_NUM_Y_POINTS; y++) {
|
||||
for (int x=0; x<MESH_NUM_X_POINTS; x++) {
|
||||
z_values[y][x] = 0;
|
||||
}
|
||||
}
|
||||
void mesh_bed_leveling::reset() {
|
||||
active = 0;
|
||||
}
|
||||
for (int y = 0; y < MESH_NUM_Y_POINTS; y++)
|
||||
for (int x = 0; x < MESH_NUM_X_POINTS; x++)
|
||||
z_values[y][x] = 0;
|
||||
}
|
||||
|
||||
#endif // MESH_BED_LEVELING
|
||||
|
Loading…
Reference in new issue