Make DISPLAY_CHARSET_HD44780 a single setting

This commit is contained in:
Scott Lahteine 2016-04-26 22:25:50 -07:00
parent a5d00f755b
commit 259794c0be
23 changed files with 461 additions and 384 deletions

View File

@ -773,25 +773,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -172,8 +172,8 @@
/**
* Required LCD language
*/
#if DISABLED(DOGLCD) && ENABLED(ULTRA_LCD) && DISABLED(DISPLAY_CHARSET_HD44780_JAPAN) && DISABLED(DISPLAY_CHARSET_HD44780_WESTERN) && DISABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
#error You must enable either DISPLAY_CHARSET_HD44780_JAPAN or DISPLAY_CHARSET_HD44780_WESTERN or DISPLAY_CHARSET_HD44780_CYRILLIC for your LCD controller.
#if DISABLED(DOGLCD) && ENABLED(ULTRA_LCD) && !defined(DISPLAY_CHARSET_HD44780)
#error You must set DISPLAY_CHARSET_HD44780 to JAPANESE, WESTERN or CYRILLIC for your LCD controller.
#endif
/**

View File

@ -37,7 +37,8 @@
#define DOGM_LCD_IMPLEMENTATION_H
/**
* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
* Implementation of the LCD display routines for a DOGM128 graphic display.
* These are common LCD 128x64 pixel graphic displays.
*/
#if ENABLED(ULTIPANEL)
@ -91,13 +92,13 @@
#define FONT_MENU_NAME ISO10646_1_5x7
#endif
#else // SIMULATE_ROMFONT
#if ENABLED(DISPLAY_CHARSET_HD44780_JAPAN)
#if DISPLAY_CHARSET_HD44780 == JAPANESE
#include "dogm_font_data_HD44780_J.h"
#define FONT_MENU_NAME HD44780_J_5x7
#elif ENABLED(DISPLAY_CHARSET_HD44780_WESTERN)
#elif DISPLAY_CHARSET_HD44780 == WESTERN
#include "dogm_font_data_HD44780_W.h"
#define FONT_MENU_NAME HD44780_W_5x7
#elif ENABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
#elif DISPLAY_CHARSET_HD44780 == CYRILLIC
#include "dogm_font_data_HD44780_C.h"
#define FONT_MENU_NAME HD44780_C_5x7
#else // fall-back

View File

@ -755,25 +755,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -752,25 +752,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -764,25 +764,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -766,25 +766,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -789,25 +789,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // K8200: for Display VM8201
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE // K8200: for Display VM8201
//
// LCD TYPE

View File

@ -772,25 +772,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -767,25 +767,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -780,25 +780,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -793,25 +793,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -764,25 +764,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -772,25 +772,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -901,25 +901,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -901,25 +901,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -905,25 +905,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -898,25 +898,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -906,25 +906,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -775,25 +775,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -766,25 +766,29 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo
//
//#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
//
// LCD CHARACTER SET
//
// Choose ONE of the following charset options. This selection depends on
// your physical hardware, so it must match your character-based LCD.
//
// Note: This option is NOT applicable to graphical displays.
//
// To find out what type of display you have:
// - Compile and upload with the language (above) set to 'test'
// - Click the controller to view the LCD menu
//
// The LCD will display two lines from the upper half of the character set.
//
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
//
#define DISPLAY_CHARSET_HD44780_JAPAN // this is the most common hardware
//#define DISPLAY_CHARSET_HD44780_WESTERN
//#define DISPLAY_CHARSET_HD44780_CYRILLIC
/**
* LCD Character Set
*
* Note: This option is NOT applicable to Graphical Displays.
*
* All character-based LCD's provide ASCII plus one of these
* language extensions:
*
* - JAPANESE ... the most common
* - WESTERN ... with more accented characters
* - CYRILLIC ... for the Russian language
*
* To determine the language extension installed on your controller:
*
* - Compile and upload with LCD_LANGUAGE set to 'test'
* - Click the controller to view the LCD menu
* - The LCD will display Japanese, Western, or Cyrillic text
*
* See https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
*
* :['JAPANESE','WESTERN','CYRILLIC']
*/
#define DISPLAY_CHARSET_HD44780 JAPANESE
//
// LCD TYPE

View File

@ -27,6 +27,10 @@
#define GENERATE_LANGUAGE_INCLUDE(M) STRINGIFY_(language_##M.h)
// For character-based LCD controllers (DISPLAY_CHARSET_HD44780)
#define JAPANESE 1
#define WESTERN 2
#define CYRILLIC 3
// NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES
//
@ -232,10 +236,6 @@
// LCD Menu Messages
#if DISABLED(DISPLAY_CHARSET_HD44780_JAPAN) && DISABLED(DISPLAY_CHARSET_HD44780_WESTERN) && DISABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
#define DISPLAY_CHARSET_HD44780_JAPAN
#endif
#include LANGUAGE_INCLUDE
#include "language_en.h"

View File

@ -40,7 +40,7 @@
#define MAPPER_ONE_TO_ONE
#endif
#else // SIMULATE_ROMFONT
#if ENABLED(DISPLAY_CHARSET_HD44780_JAPAN)
#if DISPLAY_CHARSET_HD44780 == JAPANESE
#if ENABLED(MAPPER_C2C3)
const PROGMEM uint8_t utf_recode[] =
{ // 0 1 2 3 4 5 6 7 8 9 a b c d e f This is fair for symbols
@ -77,7 +77,7 @@
#error( "Cyrillic on a japanese dsplay makes no sense. There are no matching symbols.");
#endif
#elif ENABLED(DISPLAY_CHARSET_HD44780_WESTERN)
#elif DISPLAY_CHARSET_HD44780 == WESTERN
#if ENABLED(MAPPER_C2C3)
const PROGMEM uint8_t utf_recode[] =
{ // 0 1 2 3 4 5 6 7 8 9 a b c d e f This is relative complete.
@ -111,28 +111,28 @@
#error( "Katakana on a western display makes no sense. There are no matching symbols." );
#endif
#elif ENABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
#elif DISPLAY_CHARSET_HD44780 == CYRILLIC
#if ENABLED(MAPPER_D0D1)
#define MAPPER_D0D1_MOD
// 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, // unicode U+0400 to U+047f
// A Б->Ё B Г Д E Ж З // 0 Ѐ Ё Ђ Ѓ Є Ѕ І Ї
// A Б->Ё B Г Д E Ж З // 0 Ѐ Ё Ђ Ѓ Є Ѕ І Ї
0xa5,0xa6,0x4b,0xa7,0x4d,0x48,0x4f,0xa8, // Ј Љ Њ Ћ Ќ Ѝ Ў Џ
// И Й K Л M H O П // 1 А Б В Г Д Е Ж З
// И Й K Л M H O П // 1 А Б В Г Д Е Ж З
0x50,0x43,0x54,0xa9,0xaa,0x58,0xe1,0xab, // И Й К Л М Н О П
// P C T У Ф X Ч ч // 2 Р С Т У Ф Х Г Ч
// P C T У Ф X Ч ч // 2 Р С Т У Ф Х Г Ч
0xac,0xe2,0xad,0xae,0x62,0xaf,0xb0,0xb1, // Ш Щ Ъ Ы Ь Э Ю Я
// Ш Щ Ъ Ы b Э Ю Я // 3 а б в г д е ж з
// Ш Щ Ъ Ы b Э Ю Я // 3 а б в г д е ж з
0x61,0xb2,0xb3,0xb4,0xe3,0x65,0xb6,0xb7, // и й к л м н о п
// a б->ё в г д e ж з // 4 р с т у ф х ц ч
// a б->ё в г д e ж з // 4 р с т у ф х ц ч
0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0x6f,0xbe, // ш щ ъ ы ь э ю я
// и й к л м н o п // 5 ѐ ё ђ ѓ є ѕ і ї
// и й к л м н o п // 5 ѐ ё ђ ѓ є ѕ і ї
0x70,0x63,0xbf,0x79,0xe4,0x78,0xe5,0xc0, // ј љ њ ћ ќ ѝ ў џ
// p c т y ф x ц ч // 6 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ
// p c т y ф x ц ч // 6 Ѡ ѡ Ѣ ѣ Ѥ ѥ Ѧ ѧ
0xc1,0xe6,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7 // Ѫ ѩ Ѫ ѫ Ѭ ѭ Ѯ ѯ
// ш щ ъ ы ь э ю я // 7 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ
// ш щ ъ ы ь э ю я // 7 Ѱ ѱ Ѳ ѳ Ѵ ѵ Ѷ ѷ
}; // ѻ ѹ Ѻ ѻ Ѽ ѽ Ѿ ѿ
#elif ENABLED(MAPPER_C2C3)
#error( "Western languages on a cyrillic display makes no sense. There are no matching symbols." );
@ -140,8 +140,8 @@
#error( "Katakana on a cyrillic display makes no sense. There are no matching symbols." );
#endif
#else
#error("Something went wrong in the selection of DISPLAY_CHARSET_HD44780's");
#endif // DISPLAY_CHARSET_HD44780_CYRILLIC
#error("Something went wrong in the setting of DISPLAY_CHARSET_HD44780");
#endif // DISPLAY_CHARSET_HD44780
#endif // SIMULATE_ROMFONT
#if ENABLED(MAPPER_NON)