Menu reorganized.

Toshiba FlashAir switchable.
This commit is contained in:
bubnikv 2016-08-05 13:34:21 +02:00
parent 32c8e9c2dc
commit 52fc724cb4
13 changed files with 391 additions and 168 deletions

View File

@ -42,6 +42,7 @@
#define EEPROM_BED_CORRECTION_RIGHT (EEPROM_BED_CORRECTION_LEFT-1) #define EEPROM_BED_CORRECTION_RIGHT (EEPROM_BED_CORRECTION_LEFT-1)
#define EEPROM_BED_CORRECTION_FRONT (EEPROM_BED_CORRECTION_RIGHT-1) #define EEPROM_BED_CORRECTION_FRONT (EEPROM_BED_CORRECTION_RIGHT-1)
#define EEPROM_BED_CORRECTION_REAR (EEPROM_BED_CORRECTION_FRONT-1) #define EEPROM_BED_CORRECTION_REAR (EEPROM_BED_CORRECTION_FRONT-1)
#define EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY (EEPROM_BED_CORRECTION_REAR-1)
// Currently running firmware, each digit stored as uint16_t. // Currently running firmware, each digit stored as uint16_t.
// The flavor differentiates a dev, alpha, beta, release candidate or a release version. // The flavor differentiates a dev, alpha, beta, release candidate or a release version.
@ -282,6 +283,8 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
#define Z_HEIGHT_HIDE_LIVE_ADJUST_MENU 2.0f
//============================= Bed Auto Leveling =========================== //============================= Bed Auto Leveling ===========================
//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) //#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

View File

@ -1017,6 +1017,9 @@ void setup()
farm_no = 0; farm_no = 0;
} }
// Enable Toshiba FlashAir SD card / WiFi enahanced card.
card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1);
if (eeprom_read_dword((uint32_t*)(EEPROM_TOP-4)) == 0x0ffffffff && if (eeprom_read_dword((uint32_t*)(EEPROM_TOP-4)) == 0x0ffffffff &&
eeprom_read_dword((uint32_t*)(EEPROM_TOP-8)) == 0x0ffffffff && eeprom_read_dword((uint32_t*)(EEPROM_TOP-8)) == 0x0ffffffff &&
eeprom_read_dword((uint32_t*)(EEPROM_TOP-12)) == 0x0ffffffff) { eeprom_read_dword((uint32_t*)(EEPROM_TOP-12)) == 0x0ffffffff) {

View File

@ -501,12 +501,14 @@ bool Sd2Card::readData(uint8_t* dst, uint16_t count) {
#endif #endif
chipSelectHigh(); chipSelectHigh();
// Toshiba FlashAir Patch. Purge pending status byte. // Toshiba FlashAir Patch. Purge pending status byte.
if (flash_air_compatible_)
spiSend(0XFF); spiSend(0XFF);
return true; return true;
fail: fail:
chipSelectHigh(); chipSelectHigh();
// Toshiba FlashAir Patch. Purge pending status byte. // Toshiba FlashAir Patch. Purge pending status byte.
if (flash_air_compatible_)
spiSend(0XFF); spiSend(0XFF);
return false; return false;
} }

View File

@ -162,7 +162,7 @@ uint8_t const SPI_SCK_PIN = SOFT_SPI_SCK_PIN;
class Sd2Card { class Sd2Card {
public: public:
/** Construct an instance of Sd2Card. */ /** Construct an instance of Sd2Card. */
Sd2Card() : errorCode_(SD_CARD_ERROR_INIT_NOT_CALLED), type_(0) {} Sd2Card() : errorCode_(SD_CARD_ERROR_INIT_NOT_CALLED), type_(0), flash_air_compatible_(false) {}
uint32_t cardSize(); uint32_t cardSize();
bool erase(uint32_t firstBlock, uint32_t lastBlock); bool erase(uint32_t firstBlock, uint32_t lastBlock);
bool eraseSingleBlockEnable(); bool eraseSingleBlockEnable();
@ -225,6 +225,9 @@ class Sd2Card {
// Toshiba FlashAir support // Toshiba FlashAir support
uint8_t readExtMemory(uint8_t mio, uint8_t func, uint32_t addr, uint16_t count, uint8_t* dst); uint8_t readExtMemory(uint8_t mio, uint8_t func, uint32_t addr, uint16_t count, uint8_t* dst);
void setFlashAirCompatible(bool flashAirCompatible) { flash_air_compatible_ = flashAirCompatible; }
bool getFlashAirCompatible() const { return flash_air_compatible_; }
private: private:
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
uint8_t chipSelectPin_; uint8_t chipSelectPin_;
@ -232,6 +235,7 @@ class Sd2Card {
uint8_t spiRate_; uint8_t spiRate_;
uint8_t status_; uint8_t status_;
uint8_t type_; uint8_t type_;
bool flash_air_compatible_;
// private functions // private functions
uint8_t cardAcmd(uint8_t cmd, uint32_t arg) { uint8_t cardAcmd(uint8_t cmd, uint32_t arg) {
cardCommand(CMD55, 0); cardCommand(CMD55, 0);

View File

@ -47,6 +47,8 @@ public:
FORCE_INLINE uint8_t percentDone(){if(!isFileOpen()) return 0; if(filesize) return sdpos/((filesize+99)/100); else return 0;}; FORCE_INLINE uint8_t percentDone(){if(!isFileOpen()) return 0; if(filesize) return sdpos/((filesize+99)/100); else return 0;};
FORCE_INLINE char* getWorkDirName(){workDir.getFilename(filename);return filename;}; FORCE_INLINE char* getWorkDirName(){workDir.getFilename(filename);return filename;};
bool ToshibaFlashAir_isEnabled() const { return card.getFlashAirCompatible(); }
void ToshibaFlashAir_enable(bool enable) { card.setFlashAirCompatible(enable); }
bool ToshibaFlashAir_GetIP(uint8_t *ip); bool ToshibaFlashAir_GetIP(uint8_t *ip);
public: public:

View File

@ -16,19 +16,30 @@ sub parselang
my $out = {}; my $out = {};
while (my $line = <$fh>) { while (my $line = <$fh>) {
chomp $line; chomp $line;
next if (index($line, 'MSG') == -1); next if (index($line, '#define') == -1 || index($line, 'MSG') == -1);
my $modifiers = {};
my $symbol = '';
my $value = '';
if (index($line, '#define(') == -1) {
# Extended definition, which specifies the string formatting.
$line =~ /(?is)\#define\s*(\S*)\s*(.*)/; $line =~ /(?is)\#define\s*(\S*)\s*(.*)/;
my $symbol = $1; $symbol = "$1";
my $v = $2; $value = $2;
} else {
$line =~ /(?is)\#define\((.*)\)\s*(\S*)\s*(.*)/;
my $options = $1;
$symbol = "$2";
$value = $3;
}
next if (! defined $symbol or length($symbol) == 0); next if (! defined $symbol or length($symbol) == 0);
# Trim whitespaces from both sides # Trim whitespaces from both sides
$v =~ s/^\s+|\s+$//g; $value =~ s/^\s+|\s+$//g;
#$string =~ s/" MACHINE_NAME "/Prusa i3/; #$string =~ s/" MACHINE_NAME "/Prusa i3/;
$v =~ s/" FIRMWARE_URL "/https:\/\/github.com\/prusa3d\/Prusa-i3-Plus\//; $value =~ s/" FIRMWARE_URL "/https:\/\/github.com\/prusa3d\/Prusa-i3-Plus\//;
$v =~ s/" PROTOCOL_VERSION "/1.0/; $value =~ s/" PROTOCOL_VERSION "/1.0/;
$v =~ s/" STRINGIFY\(EXTRUDERS\) "/1/; $value =~ s/" STRINGIFY\(EXTRUDERS\) "/1/;
$v =~ s/" MACHINE_UUID "/00000000-0000-0000-0000-000000000000/; $value =~ s/" MACHINE_UUID "/00000000-0000-0000-0000-000000000000/;
${$out}{$symbol} = $v; ${$out}{$symbol} = { value=>$value, %$modifiers };
} }
return $out; return $out;
} }
@ -97,6 +108,7 @@ sub break_text_fullscreen
} }
my %texts; my %texts;
my %attributes;
my $num_languages = 0; my $num_languages = 0;
foreach my $lang (@langs) { foreach my $lang (@langs) {
my $symbols = parselang("language_$lang.h"); my $symbols = parselang("language_$lang.h");
@ -104,10 +116,11 @@ foreach my $lang (@langs) {
if (! (exists $texts{$key})) { if (! (exists $texts{$key})) {
$texts{$key} = []; $texts{$key} = [];
} }
my $symbol_value = ${$symbols}{$key};
my $strings = $texts{$key}; my $strings = $texts{$key};
die "Symbol $key defined first in $lang, undefined in the preceding language files." die "Symbol $key defined first in $lang, undefined in the preceding language files."
if (scalar(@$strings) != $num_languages); if (scalar(@$strings) != $num_languages);
push @$strings, ${$symbols}{$key}; push @$strings, ${$symbol_value}{value};
} }
$num_languages += 1; $num_languages += 1;
foreach my $key (keys %texts) { foreach my $key (keys %texts) {

View File

@ -115,12 +115,14 @@ const char * const MSG_BABYSTEP_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_BABYSTEP_Z_NOT_SET_EN[] PROGMEM = "Printer has not been calibrated yet. Run calibration G-code to adjust Z height."; const char MSG_BABYSTEP_Z_NOT_SET_EN[] PROGMEM = "Printer has not been calibrated yet. Run calibration G-code to adjust Z height.";
const char MSG_BABYSTEP_Z_NOT_SET_CZ[] PROGMEM = "Tiskarna nebyla jeste zkalibrovana. Spustte kalibracni G-kod a doladte Z."; const char MSG_BABYSTEP_Z_NOT_SET_CZ[] PROGMEM = "Tiskarna nebyla jeste zkalibrovana. Spustte kalibracni G-kod a doladte Z.";
const char MSG_BABYSTEP_Z_NOT_SET_ES[] PROGMEM = "Impresora aun no calibrada. Ejecutar el G-code de calibracion para ajustar la altura de Z.";
const char MSG_BABYSTEP_Z_NOT_SET_PL[] PROGMEM = "Drukarka nie byla kalibrowana. Wlaczyc kalibracyjny G-kod i dostroic Z.";
const char * const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BABYSTEP_Z_NOT_SET_EN, MSG_BABYSTEP_Z_NOT_SET_EN,
MSG_BABYSTEP_Z_NOT_SET_CZ, MSG_BABYSTEP_Z_NOT_SET_CZ,
MSG_BABYSTEP_Z_NOT_SET_EN, MSG_BABYSTEP_Z_NOT_SET_EN,
MSG_BABYSTEP_Z_NOT_SET_EN, MSG_BABYSTEP_Z_NOT_SET_ES,
MSG_BABYSTEP_Z_NOT_SET_EN MSG_BABYSTEP_Z_NOT_SET_PL
}; };
const char MSG_BED_EN[] PROGMEM = "Bed"; const char MSG_BED_EN[] PROGMEM = "Bed";
@ -137,42 +139,50 @@ const char * const MSG_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side um"; const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side um";
const char MSG_BED_CORRECTION_FRONT_CZ[] PROGMEM = "Vpredu [um]"; const char MSG_BED_CORRECTION_FRONT_CZ[] PROGMEM = "Vpredu [um]";
const char MSG_BED_CORRECTION_FRONT_ES[] PROGMEM = "Hacia adelante um";
const char MSG_BED_CORRECTION_FRONT_PL[] PROGMEM = "Do przodu [um]";
const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_CORRECTION_FRONT_EN, MSG_BED_CORRECTION_FRONT_EN,
MSG_BED_CORRECTION_FRONT_CZ, MSG_BED_CORRECTION_FRONT_CZ,
MSG_BED_CORRECTION_FRONT_EN, MSG_BED_CORRECTION_FRONT_EN,
MSG_BED_CORRECTION_FRONT_EN, MSG_BED_CORRECTION_FRONT_ES,
MSG_BED_CORRECTION_FRONT_EN MSG_BED_CORRECTION_FRONT_PL
}; };
const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side um"; const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side um";
const char MSG_BED_CORRECTION_LEFT_CZ[] PROGMEM = "Vlevo [um]"; const char MSG_BED_CORRECTION_LEFT_CZ[] PROGMEM = "Vlevo [um]";
const char MSG_BED_CORRECTION_LEFT_ES[] PROGMEM = "Hacia la izquierda um";
const char MSG_BED_CORRECTION_LEFT_PL[] PROGMEM = "W lewo [um]";
const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_CORRECTION_LEFT_EN, MSG_BED_CORRECTION_LEFT_EN,
MSG_BED_CORRECTION_LEFT_CZ, MSG_BED_CORRECTION_LEFT_CZ,
MSG_BED_CORRECTION_LEFT_EN, MSG_BED_CORRECTION_LEFT_EN,
MSG_BED_CORRECTION_LEFT_EN, MSG_BED_CORRECTION_LEFT_ES,
MSG_BED_CORRECTION_LEFT_EN MSG_BED_CORRECTION_LEFT_PL
}; };
const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct"; const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct";
const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky"; const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky";
const char MSG_BED_CORRECTION_MENU_ES[] PROGMEM = "Nivel de cama correcto";
const char MSG_BED_CORRECTION_MENU_PL[] PROGMEM = "Korekta podkladki";
const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_CORRECTION_MENU_EN, MSG_BED_CORRECTION_MENU_EN,
MSG_BED_CORRECTION_MENU_CZ, MSG_BED_CORRECTION_MENU_CZ,
MSG_BED_CORRECTION_MENU_EN, MSG_BED_CORRECTION_MENU_EN,
MSG_BED_CORRECTION_MENU_EN, MSG_BED_CORRECTION_MENU_ES,
MSG_BED_CORRECTION_MENU_EN MSG_BED_CORRECTION_MENU_PL
}; };
const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side um"; const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side um";
const char MSG_BED_CORRECTION_REAR_CZ[] PROGMEM = "Vzadu [um]"; const char MSG_BED_CORRECTION_REAR_CZ[] PROGMEM = "Vzadu [um]";
const char MSG_BED_CORRECTION_REAR_ES[] PROGMEM = "Hacia atras um";
const char MSG_BED_CORRECTION_REAR_PL[] PROGMEM = "Do tylu [um]";
const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_CORRECTION_REAR_EN, MSG_BED_CORRECTION_REAR_EN,
MSG_BED_CORRECTION_REAR_CZ, MSG_BED_CORRECTION_REAR_CZ,
MSG_BED_CORRECTION_REAR_EN, MSG_BED_CORRECTION_REAR_EN,
MSG_BED_CORRECTION_REAR_EN, MSG_BED_CORRECTION_REAR_ES,
MSG_BED_CORRECTION_REAR_EN MSG_BED_CORRECTION_REAR_PL
}; };
const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset"; const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset";
@ -182,12 +192,14 @@ const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[1] PROGMEM = {
const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side um"; const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side um";
const char MSG_BED_CORRECTION_RIGHT_CZ[] PROGMEM = "Vpravo [um]"; const char MSG_BED_CORRECTION_RIGHT_CZ[] PROGMEM = "Vpravo [um]";
const char MSG_BED_CORRECTION_RIGHT_ES[] PROGMEM = "Hacia la derecha um";
const char MSG_BED_CORRECTION_RIGHT_PL[] PROGMEM = "W prawo [um]";
const char * const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_CORRECTION_RIGHT_EN, MSG_BED_CORRECTION_RIGHT_EN,
MSG_BED_CORRECTION_RIGHT_CZ, MSG_BED_CORRECTION_RIGHT_CZ,
MSG_BED_CORRECTION_RIGHT_EN, MSG_BED_CORRECTION_RIGHT_EN,
MSG_BED_CORRECTION_RIGHT_EN, MSG_BED_CORRECTION_RIGHT_ES,
MSG_BED_CORRECTION_RIGHT_EN MSG_BED_CORRECTION_RIGHT_PL
}; };
const char MSG_BED_DONE_EN[] PROGMEM = "Bed done"; const char MSG_BED_DONE_EN[] PROGMEM = "Bed done";
@ -218,137 +230,169 @@ const char * const MSG_BED_HEATING_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_EN[] PROGMEM = "Bed leveling failed. Sensor triggered too high. Waiting for reset."; const char MSG_BED_LEVELING_FAILED_POINT_HIGH_EN[] PROGMEM = "Bed leveling failed. Sensor triggered too high. Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."; const char MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_ES[] PROGMEM = "Nivelacion cama fallada. El sensor funcino' demasiado temprano. Pendiente el reset.";
const char MSG_BED_LEVELING_FAILED_POINT_HIGH_PL[] PROGMEM = "Kalibracja Z niepowiedziona. Sensor dotknal zbyt wysoko. Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_LEVELING_FAILED_POINT_HIGH_EN, MSG_BED_LEVELING_FAILED_POINT_HIGH_EN,
MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ, MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ,
MSG_BED_LEVELING_FAILED_POINT_HIGH_EN, MSG_BED_LEVELING_FAILED_POINT_HIGH_EN,
MSG_BED_LEVELING_FAILED_POINT_HIGH_EN, MSG_BED_LEVELING_FAILED_POINT_HIGH_ES,
MSG_BED_LEVELING_FAILED_POINT_HIGH_EN MSG_BED_LEVELING_FAILED_POINT_HIGH_PL
}; };
const char MSG_BED_LEVELING_FAILED_POINT_LOW_EN[] PROGMEM = "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."; const char MSG_BED_LEVELING_FAILED_POINT_LOW_EN[] PROGMEM = "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."; const char MSG_BED_LEVELING_FAILED_POINT_LOW_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_ES[] PROGMEM = "Nivelacion cama fallada. El sensor no funciono'. Escombros en la boquilla? Pendiente el reset.";
const char MSG_BED_LEVELING_FAILED_POINT_LOW_PL[] PROGMEM = "Kalibracja Z niepowiedziona. Sensor nie dotknal. Zanieczyszczona dysza? Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_LEVELING_FAILED_POINT_LOW_EN, MSG_BED_LEVELING_FAILED_POINT_LOW_EN,
MSG_BED_LEVELING_FAILED_POINT_LOW_CZ, MSG_BED_LEVELING_FAILED_POINT_LOW_CZ,
MSG_BED_LEVELING_FAILED_POINT_LOW_EN, MSG_BED_LEVELING_FAILED_POINT_LOW_EN,
MSG_BED_LEVELING_FAILED_POINT_LOW_EN, MSG_BED_LEVELING_FAILED_POINT_LOW_ES,
MSG_BED_LEVELING_FAILED_POINT_LOW_EN MSG_BED_LEVELING_FAILED_POINT_LOW_PL
}; };
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN[] PROGMEM = "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."; const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN[] PROGMEM = "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset."; const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_ES[] PROGMEM = "Nivelacion cama fallada. Sensor desconectado o cables danados. Pendiente el reset.";
const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_PL[] PROGMEM = "Kalibracja Z niepowiedziona. Sensor jest odlaczony lub uszkodzony kabel. Czekam na reset.";
const char * const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN, MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN,
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ, MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ,
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN, MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN,
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN, MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_ES,
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN[] PROGMEM = "X/Y calibration failed. Front calibration points not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN[] PROGMEM = "XYZ calibration failed. Front calibration points not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace X/Y selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_ES[] PROGMEM = "Calibracion XYZ fallad. Punto delanteros no alcanzables.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_PL[] PROGMEM = "Kalibracja XYZ niepowiedziona. Przednie punkty kalibracyjne zbyt wysuniete do przodu. Wyrownac drukarke.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN[] PROGMEM = "X/Y calibration failed. Left front calibration point not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN[] PROGMEM = "XYZ calibration failed. Left front calibration point not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace X/Y selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_ES[] PROGMEM = "Calibracion XYZ fallad. Punto delantero izquierdo no alcanzable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_PL[] PROGMEM = "Kalibracja XYZ niepowiedziona. Lewy przedni punkt zbyt wysuniety do przodu. Wyrownac drukarke.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN[] PROGMEM = "X/Y calibration failed. Right front calibration point not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN[] PROGMEM = "XYZ calibration failed. Right front calibration point not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace X/Y selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."; const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_ES[] PROGMEM = "Calibracion XYZ fallad. Punto delantero derecho no alcanzable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_PL[] PROGMEM = "Kalibracja XYZ niepowiedziona. Prawy przedni punkt zbyt wysuniety do przodu. Wyrownac drukarke.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN[] PROGMEM = "X/Y calibration failed. Please consult the manual."; const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN[] PROGMEM = "XYZ calibration failed. Please consult the manual.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ[] PROGMEM = "Kalibrace X/Y selhala. Nahlednete do manualu."; const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ[] PROGMEM = "Kalibrace XYZ selhala. Nahlednete do manualu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_ES[] PROGMEM = "Calibracion XYZ fallada. Consultar el manual por favor.";
const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_PL[] PROGMEM = "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN, MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ, MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN, MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN,
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN, MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_ES,
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN[] PROGMEM = "X/Y calibration ok. X/Y axes are perpendicular."; const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN[] PROGMEM = "XYZ calibration ok. X/Y axes are perpendicular.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[1] PROGMEM = { const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_ES[] PROGMEM = "Calibracion XYZ ok. Ejes X/Y perpendiculares.";
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_PL[] PROGMEM = "Kalibracja XYZ ok. Osie X/Y sa prostopadle.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN,
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN,
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN,
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_ES,
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN[] PROGMEM = "X/Y calibration failed. Bed calibration point was not found."; const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN[] PROGMEM = "XYZ calibration failed. Bed calibration point was not found.";
const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ[] PROGMEM = "Kalibrace X/Y selhala. Kalibracni bod podlozky nenalezen."; const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ[] PROGMEM = "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen.";
const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_ES[] PROGMEM = "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados.";
const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_PL[] PROGMEM = "Kalibracja XYZ niepowiedziona. Kalibracyjny punkt podkladki nieznaleziony.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN, MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN,
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ, MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN, MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN,
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN, MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_ES,
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN[] PROGMEM = "X/Y skewed severly. Skew will be corrected automatically."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN[] PROGMEM = "X/Y skewed severly. Skew will be corrected automatically.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ[] PROGMEM = "X/Y osy jsou silne zkosene. Zkoseni bude automaticky vyrovnano pri tisku."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ[] PROGMEM = "X/Y osy jsou silne zkosene. Zkoseni bude automaticky vyrovnano pri tisku.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_ES[] PROGMEM = "X/Y muy distorsionado. La distorsion sera corregida automaticamente.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_PL[] PROGMEM = "Osie X/Y sa mocno skosne. Skos bedzie automatycznie wyrownany przy druku.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_ES,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN[] PROGMEM = "X/Y calibration all right. X/Y axes are slightly skewed."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN[] PROGMEM = "XYZ calibration all right. X/Y axes are slightly skewed.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ[] PROGMEM = "Kalibrace X/Y v poradku. X/Y osy mirne zkosene."; const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ[] PROGMEM = "Kalibrace XYZ v poradku. X/Y osy mirne zkosene.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_ES[] PROGMEM = "Calibracion XYZ conseguida. Ejes X/Y un poco torcidos.";
const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_PL[] PROGMEM = "Kalibracja XYZ w porzadku. Osie X/Y lekko skosne.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN, MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_ES,
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN[] PROGMEM = "X/Y calibration compromised. Front calibration points not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN[] PROGMEM = "XYZ calibration compromised. Front calibration points not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace X/Y nepresna. Predni kalibracni body moc vpredu."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delanteros no alcanzables.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_PL[] PROGMEM = "Kalibracja XYZ niedokladna. Przednie punkty kalibracyjne zbyt wysuniete do przodu.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN[] PROGMEM = "X/Y calibration compromised. Left front calibration point not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN[] PROGMEM = "XYZ calibration compromised. Left front calibration point not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace X/Y nepresna. Levy predni bod moc vpredu."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Levy predni bod moc vpredu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delantero izquierdo no alcanzable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_PL[] PROGMEM = "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_PL
}; };
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN[] PROGMEM = "X/Y calibration compromised. Right front calibration point not reachable."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN[] PROGMEM = "XYZ calibration compromised. Right front calibration point not reachable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace X/Y nepresna. Pravy predni bod moc vpredu."; const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delantero derecho no alcanzable.";
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_PL[] PROGMEM = "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu.";
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN, MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_ES,
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_PL
}; };
const char MSG_BEGIN_FILE_LIST_EN[] PROGMEM = "Begin file list"; const char MSG_BEGIN_FILE_LIST_EN[] PROGMEM = "Begin file list";
@ -361,24 +405,27 @@ const char * const MSG_BROWNOUT_RESET_LANG_TABLE[1] PROGMEM = {
MSG_BROWNOUT_RESET_EN MSG_BROWNOUT_RESET_EN
}; };
const char MSG_CALIBRATE_BED_EN[] PROGMEM = "Calibrate X/Y"; const char MSG_CALIBRATE_BED_EN[] PROGMEM = "Calibrate XYZ";
const char MSG_CALIBRATE_BED_CZ[] PROGMEM = "Kalibrace X/Y"; const char MSG_CALIBRATE_BED_CZ[] PROGMEM = "Kalibrace XYZ";
const char MSG_CALIBRATE_BED_ES[] PROGMEM = "Calibra XYZ";
const char MSG_CALIBRATE_BED_PL[] PROGMEM = "Kalibracja XYZ";
const char * const MSG_CALIBRATE_BED_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_CALIBRATE_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CALIBRATE_BED_EN, MSG_CALIBRATE_BED_EN,
MSG_CALIBRATE_BED_CZ, MSG_CALIBRATE_BED_CZ,
MSG_CALIBRATE_BED_EN, MSG_CALIBRATE_BED_EN,
MSG_CALIBRATE_BED_EN, MSG_CALIBRATE_BED_ES,
MSG_CALIBRATE_BED_EN MSG_CALIBRATE_BED_PL
}; };
const char MSG_CALIBRATE_BED_RESET_EN[] PROGMEM = "Reset X/Y calibr."; const char MSG_CALIBRATE_BED_RESET_EN[] PROGMEM = "Reset XYZ calibr.";
const char MSG_CALIBRATE_BED_RESET_CZ[] PROGMEM = "Reset X/Y kalibr."; const char MSG_CALIBRATE_BED_RESET_CZ[] PROGMEM = "Reset XYZ kalibr.";
const char MSG_CALIBRATE_BED_RESET_PL[] PROGMEM = "Reset kalibr. XYZ";
const char * const MSG_CALIBRATE_BED_RESET_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_CALIBRATE_BED_RESET_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CALIBRATE_BED_RESET_EN, MSG_CALIBRATE_BED_RESET_EN,
MSG_CALIBRATE_BED_RESET_CZ, MSG_CALIBRATE_BED_RESET_CZ,
MSG_CALIBRATE_BED_RESET_EN, MSG_CALIBRATE_BED_RESET_EN,
MSG_CALIBRATE_BED_RESET_EN, MSG_CALIBRATE_BED_RESET_EN,
MSG_CALIBRATE_BED_RESET_EN MSG_CALIBRATE_BED_RESET_PL
}; };
const char MSG_CARD_MENU_EN[] PROGMEM = "Print from SD"; const char MSG_CARD_MENU_EN[] PROGMEM = "Print from SD";
@ -438,22 +485,26 @@ const char * const MSG_CONFIGURATION_VER_LANG_TABLE[1] PROGMEM = {
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN[] PROGMEM = "Are left and right Z~carriages all up?"; const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN[] PROGMEM = "Are left and right Z~carriages all up?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ[] PROGMEM = "Dojely oba Z voziky k~hornimu dorazu?"; const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ[] PROGMEM = "Dojely oba Z voziky k~hornimu dorazu?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_ES[] PROGMEM = "Los carros Z izquierdo/derecho estan arriba al maximo?";
const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_PL[] PROGMEM = "Oba wozki Z dojechaly do gornej ramy?";
const char * const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN, MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN,
MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ, MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ,
MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN, MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN,
MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN, MSG_CONFIRM_CARRIAGE_AT_THE_TOP_ES,
MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN MSG_CONFIRM_CARRIAGE_AT_THE_TOP_PL
}; };
const char MSG_CONFIRM_NOZZLE_CLEAN_EN[] PROGMEM = "Please clean the nozzle for calibration. Click when done."; const char MSG_CONFIRM_NOZZLE_CLEAN_EN[] PROGMEM = "Please clean the nozzle for calibration. Click when done.";
const char MSG_CONFIRM_NOZZLE_CLEAN_CZ[] PROGMEM = "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."; const char MSG_CONFIRM_NOZZLE_CLEAN_CZ[] PROGMEM = "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem.";
const char MSG_CONFIRM_NOZZLE_CLEAN_ES[] PROGMEM = "Limpiar boquilla para calibracion. Click cuando acabes.";
const char MSG_CONFIRM_NOZZLE_CLEAN_PL[] PROGMEM = "Dla prawidlowej kalibracji prosze oczyscic dysze. Potwierdzic guzikiem.";
const char * const MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_CONFIRM_NOZZLE_CLEAN_EN, MSG_CONFIRM_NOZZLE_CLEAN_EN,
MSG_CONFIRM_NOZZLE_CLEAN_CZ, MSG_CONFIRM_NOZZLE_CLEAN_CZ,
MSG_CONFIRM_NOZZLE_CLEAN_EN, MSG_CONFIRM_NOZZLE_CLEAN_EN,
MSG_CONFIRM_NOZZLE_CLEAN_EN, MSG_CONFIRM_NOZZLE_CLEAN_ES,
MSG_CONFIRM_NOZZLE_CLEAN_EN MSG_CONFIRM_NOZZLE_CLEAN_PL
}; };
const char MSG_CONTRAST_EN[] PROGMEM = "LCD contrast"; const char MSG_CONTRAST_EN[] PROGMEM = "LCD contrast";
@ -732,32 +783,38 @@ const char * const MSG_FILE_SAVED_LANG_TABLE[1] PROGMEM = {
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Searching bed"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Searching bed";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Hledam kalibracni"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Hledam kalibracni";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_ES[] PROGMEM = "Buscando cama";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_PL[] PROGMEM = "Szukam kalibracyjnego";
const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ, MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_ES,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_PL
}; };
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = "calibration point"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = "calibration point";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = "bod podlozky"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = "bod podlozky";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_ES[] PROGMEM = "punto de calibracion";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_PL[] PROGMEM = "punktu podkladki";
const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ, MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_ES,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_PL
}; };
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN[] PROGMEM = " of 4"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN[] PROGMEM = " of 4";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_CZ[] PROGMEM = " z 4"; const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_CZ[] PROGMEM = " z 4";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_ES[] PROGMEM = " de 4";
const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_PL[] PROGMEM = " z 4";
const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_CZ, MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_CZ,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_ES,
MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_EN MSG_FIND_BED_OFFSET_AND_SKEW_LINE3_PL
}; };
const char MSG_FLOW_EN[] PROGMEM = "Flow"; const char MSG_FLOW_EN[] PROGMEM = "Flow";
@ -883,32 +940,38 @@ const char * const MSG_HOTEND_OFFSET_LANG_TABLE[1] PROGMEM = {
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Improving bed"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Improving bed";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Zlepsuji presnost"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Zlepsuji presnost";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_ES[] PROGMEM = "Mejorando cama";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_PL[] PROGMEM = "Ulepszam dokladnosc";
const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_ES,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_PL
}; };
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = "calibration point"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = "calibration point";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = "kalibracniho bodu"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = "kalibracniho bodu";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_ES[] PROGMEM = "punto de calibracion";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_PL[] PROGMEM = "punktu kalibracyjnego";
const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_ES,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_PL
}; };
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN[] PROGMEM = " of 9"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN[] PROGMEM = " of 9";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_CZ[] PROGMEM = " z 9"; const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_CZ[] PROGMEM = " z 9";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_ES[] PROGMEM = " de 9";
const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_PL[] PROGMEM = " z 9";
const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_CZ, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_CZ,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN, MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_ES,
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_EN MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3_PL
}; };
const char MSG_INIT_SDCARD_EN[] PROGMEM = "Init. SD card"; const char MSG_INIT_SDCARD_EN[] PROGMEM = "Init. SD card";
@ -1085,6 +1148,16 @@ const char * const MSG_MAX_LANG_TABLE[1] PROGMEM = {
MSG_MAX_EN MSG_MAX_EN
}; };
const char MSG_MENU_CALIBRATION_EN[] PROGMEM = "Calibration";
const char MSG_MENU_CALIBRATION_CZ[] PROGMEM = "Kalibrace";
const char * const MSG_MENU_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_MENU_CALIBRATION_EN,
MSG_MENU_CALIBRATION_CZ,
MSG_MENU_CALIBRATION_EN,
MSG_MENU_CALIBRATION_EN,
MSG_MENU_CALIBRATION_EN
};
const char MSG_MESH_BED_LEVELING_EN[] PROGMEM = "Mesh Bed Leveling"; const char MSG_MESH_BED_LEVELING_EN[] PROGMEM = "Mesh Bed Leveling";
const char * const MSG_MESH_BED_LEVELING_LANG_TABLE[1] PROGMEM = { const char * const MSG_MESH_BED_LEVELING_LANG_TABLE[1] PROGMEM = {
MSG_MESH_BED_LEVELING_EN MSG_MESH_BED_LEVELING_EN
@ -1152,14 +1225,16 @@ const char * const MSG_MOVE_AXIS_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_MOVE_AXIS_PL MSG_MOVE_AXIS_PL
}; };
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_EN[] PROGMEM = "Calibrating X/Y. Move Z carriage up to the end stoppers. Click when done."; const char MSG_MOVE_CARRIAGE_TO_THE_TOP_EN[] PROGMEM = "Calibrating XYZ. Move Z carriage up to the end stoppers. Click when done.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ[] PROGMEM = "Kalibrace X/Y. Posunte prosim Z osu az k~hornimu dorazu. Potvrdte tlacitkem."; const char MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ[] PROGMEM = "Kalibrace XYZ. Posunte prosim Z osu az k~hornimu dorazu. Potvrdte tlacitkem.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_ES[] PROGMEM = "Calibrando XYZ. Subir carro Z hasta maximo. Click cuando acabes.";
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_PL[] PROGMEM = "Kalibracja XYZ. Prosze przesunac os Z do gornej ramy. Potwierdzic guzikiem.";
const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_MOVE_CARRIAGE_TO_THE_TOP_EN, MSG_MOVE_CARRIAGE_TO_THE_TOP_EN,
MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ, MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ,
MSG_MOVE_CARRIAGE_TO_THE_TOP_EN, MSG_MOVE_CARRIAGE_TO_THE_TOP_EN,
MSG_MOVE_CARRIAGE_TO_THE_TOP_EN, MSG_MOVE_CARRIAGE_TO_THE_TOP_ES,
MSG_MOVE_CARRIAGE_TO_THE_TOP_EN MSG_MOVE_CARRIAGE_TO_THE_TOP_PL
}; };
const char MSG_MOVE_E_EN[] PROGMEM = "Extruder"; const char MSG_MOVE_E_EN[] PROGMEM = "Extruder";
@ -1224,22 +1299,26 @@ const char * const MSG_MOVE_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_NEW_FIRMWARE_AVAILABLE_EN[] PROGMEM = "New firmware version available:"; const char MSG_NEW_FIRMWARE_AVAILABLE_EN[] PROGMEM = "New firmware version available:";
const char MSG_NEW_FIRMWARE_AVAILABLE_CZ[] PROGMEM = "Vysla nova verze firmware:"; const char MSG_NEW_FIRMWARE_AVAILABLE_CZ[] PROGMEM = "Vysla nova verze firmware:";
const char MSG_NEW_FIRMWARE_AVAILABLE_ES[] PROGMEM = "Nuevo firmware disponible:";
const char MSG_NEW_FIRMWARE_AVAILABLE_PL[] PROGMEM = "Wyszla nowa wersja firmware:";
const char * const MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_NEW_FIRMWARE_AVAILABLE_EN, MSG_NEW_FIRMWARE_AVAILABLE_EN,
MSG_NEW_FIRMWARE_AVAILABLE_CZ, MSG_NEW_FIRMWARE_AVAILABLE_CZ,
MSG_NEW_FIRMWARE_AVAILABLE_EN, MSG_NEW_FIRMWARE_AVAILABLE_EN,
MSG_NEW_FIRMWARE_AVAILABLE_EN, MSG_NEW_FIRMWARE_AVAILABLE_ES,
MSG_NEW_FIRMWARE_AVAILABLE_EN MSG_NEW_FIRMWARE_AVAILABLE_PL
}; };
const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN[] PROGMEM = "Please upgrade."; const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN[] PROGMEM = "Please upgrade.";
const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ[] PROGMEM = "Prosim aktualizujte."; const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ[] PROGMEM = "Prosim aktualizujte.";
const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_ES[] PROGMEM = "Actualizar por favor.";
const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_PL[] PROGMEM = "Prosze zaktualizowac.";
const char * const MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN, MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN,
MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ, MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ,
MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN, MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN,
MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN, MSG_NEW_FIRMWARE_PLEASE_UPGRADE_ES,
MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN MSG_NEW_FIRMWARE_PLEASE_UPGRADE_PL
}; };
const char MSG_NO_EN[] PROGMEM = "No"; const char MSG_NO_EN[] PROGMEM = "No";
@ -2147,12 +2226,14 @@ const char * const MSG_SET_ORIGIN_LANG_TABLE[LANG_NUM] PROGMEM = {
const char MSG_SHOW_END_STOPS_EN[] PROGMEM = "Show end stops"; const char MSG_SHOW_END_STOPS_EN[] PROGMEM = "Show end stops";
const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Zobraz konc. spinace"; const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Zobraz konc. spinace";
const char MSG_SHOW_END_STOPS_ES[] PROGMEM = "Ensena fin de paso";
const char MSG_SHOW_END_STOPS_PL[] PROGMEM = "Pokaz krancowki";
const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = { const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_SHOW_END_STOPS_EN, MSG_SHOW_END_STOPS_EN,
MSG_SHOW_END_STOPS_CZ, MSG_SHOW_END_STOPS_CZ,
MSG_SHOW_END_STOPS_EN, MSG_SHOW_END_STOPS_EN,
MSG_SHOW_END_STOPS_EN, MSG_SHOW_END_STOPS_ES,
MSG_SHOW_END_STOPS_EN MSG_SHOW_END_STOPS_PL
}; };
const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]"; const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]";
@ -2357,6 +2438,16 @@ const char * const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
MSG_TEMPERATURE_PL MSG_TEMPERATURE_PL
}; };
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card [normal]";
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[1] PROGMEM = {
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN
};
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [FlshAir]";
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[1] PROGMEM = {
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN
};
const char MSG_TUNE_EN[] PROGMEM = "Tune"; const char MSG_TUNE_EN[] PROGMEM = "Tune";
const char MSG_TUNE_CZ[] PROGMEM = "Ladit"; const char MSG_TUNE_CZ[] PROGMEM = "Ladit";
const char MSG_TUNE_IT[] PROGMEM = "Adatta"; const char MSG_TUNE_IT[] PROGMEM = "Adatta";

View File

@ -90,8 +90,8 @@ extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LA
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE) #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE)
extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM]; extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM];
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE) #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE)
extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[1]; extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM];
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT LANG_TABLE_SELECT_EXPLICIT(MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE, 0) #define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE)
extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM]; extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM];
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE) #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE)
extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM]; extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM];
@ -286,6 +286,8 @@ extern const char* const MSG_MAIN_LANG_TABLE[LANG_NUM];
#define MSG_MAIN LANG_TABLE_SELECT(MSG_MAIN_LANG_TABLE) #define MSG_MAIN LANG_TABLE_SELECT(MSG_MAIN_LANG_TABLE)
extern const char* const MSG_MAX_LANG_TABLE[1]; extern const char* const MSG_MAX_LANG_TABLE[1];
#define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0) #define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0)
extern const char* const MSG_MENU_CALIBRATION_LANG_TABLE[LANG_NUM];
#define MSG_MENU_CALIBRATION LANG_TABLE_SELECT(MSG_MENU_CALIBRATION_LANG_TABLE)
extern const char* const MSG_MESH_BED_LEVELING_LANG_TABLE[1]; extern const char* const MSG_MESH_BED_LEVELING_LANG_TABLE[1];
#define MSG_MESH_BED_LEVELING LANG_TABLE_SELECT_EXPLICIT(MSG_MESH_BED_LEVELING_LANG_TABLE, 0) #define MSG_MESH_BED_LEVELING LANG_TABLE_SELECT_EXPLICIT(MSG_MESH_BED_LEVELING_LANG_TABLE, 0)
extern const char* const MSG_MIN_LANG_TABLE[1]; extern const char* const MSG_MIN_LANG_TABLE[1];
@ -542,6 +544,10 @@ extern const char* const MSG_TAKE_EFFECT_LANG_TABLE[LANG_NUM];
#define MSG_TAKE_EFFECT LANG_TABLE_SELECT(MSG_TAKE_EFFECT_LANG_TABLE) #define MSG_TAKE_EFFECT LANG_TABLE_SELECT(MSG_TAKE_EFFECT_LANG_TABLE)
extern const char* const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM]; extern const char* const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM];
#define MSG_TEMPERATURE LANG_TABLE_SELECT(MSG_TEMPERATURE_LANG_TABLE) #define MSG_TEMPERATURE LANG_TABLE_SELECT(MSG_TEMPERATURE_LANG_TABLE)
extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[1];
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE, 0)
extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[1];
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON LANG_TABLE_SELECT_EXPLICIT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE, 0)
extern const char* const MSG_TUNE_LANG_TABLE[LANG_NUM]; extern const char* const MSG_TUNE_LANG_TABLE[LANG_NUM];
#define MSG_TUNE LANG_TABLE_SELECT(MSG_TUNE_LANG_TABLE) #define MSG_TUNE LANG_TABLE_SELECT(MSG_TUNE_LANG_TABLE)
extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1]; extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1];

View File

@ -279,10 +279,10 @@
#define MSG_USB_PRINTING "Tisk z USB " #define MSG_USB_PRINTING "Tisk z USB "
#define MSG_SHOW_END_STOPS "Zobraz konc. spinace" #define MSG_SHOW_END_STOPS "Zobraz konc. spinace"
#define MSG_CALIBRATE_BED "Kalibrace X/Y" #define MSG_CALIBRATE_BED "Kalibrace XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset X/Y kalibr." #define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrace X/Y. Posunte prosim Z osu az k~hornimu dorazu. Potvrdte tlacitkem." #define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrace XYZ. Posunte prosim Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
#define MSG_CONFIRM_NOZZLE_CLEAN "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem." #define MSG_CONFIRM_NOZZLE_CLEAN "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Dojely oba Z voziky k~hornimu dorazu?" #define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Dojely oba Z voziky k~hornimu dorazu?"
@ -293,17 +293,17 @@
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "kalibracniho bodu" #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "kalibracniho bodu"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " z 9" #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " z 9"
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace X/Y selhala. Kalibracni bod podlozky nenalezen." #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace X/Y selhala. Nahlednete do manualu." #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace XYZ selhala. Nahlednete do manualu."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "X/Y calibration ok. X/Y axes are perpendicular." #define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ calibration ok. X/Y axes are perpendicular."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibrace X/Y v poradku. X/Y osy mirne zkosene." #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibrace XYZ v poradku. X/Y osy mirne zkosene."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y osy jsou silne zkosene. Zkoseni bude automaticky vyrovnano pri tisku." #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y osy jsou silne zkosene. Zkoseni bude automaticky vyrovnano pri tisku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibrace X/Y selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibrace X/Y selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibrace X/Y selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibrace X/Y nepresna. Levy predni bod moc vpredu." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibrace XYZ nepresna. Levy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibrace X/Y nepresna. Pravy predni bod moc vpredu." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibrace X/Y nepresna. Predni kalibracni body moc vpredu." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset." #define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset." #define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."
@ -320,4 +320,7 @@
#define MSG_BED_CORRECTION_REAR "Vzadu [um]" #define MSG_BED_CORRECTION_REAR "Vzadu [um]"
#define MSG_BED_CORRECTION_RESET "Reset" #define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MENU_CALIBRATION "Kalibrace"
#endif // LANGUAGE_EN_H #endif // LANGUAGE_EN_H

View File

@ -272,10 +272,10 @@
#define MSG_HOMEYZ_DONE "Calibration done" #define MSG_HOMEYZ_DONE "Calibration done"
#define MSG_SHOW_END_STOPS "Show end stops" #define MSG_SHOW_END_STOPS "Show end stops"
#define MSG_CALIBRATE_BED "Calibrate X/Y" #define MSG_CALIBRATE_BED "Calibrate XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset X/Y calibr." #define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrating X/Y. Move Z carriage up to the end stoppers. Click when done." #define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrating XYZ. Move Z carriage up to the end stoppers. Click when done."
#define MSG_CONFIRM_NOZZLE_CLEAN "Please clean the nozzle for calibration. Click when done." #define MSG_CONFIRM_NOZZLE_CLEAN "Please clean the nozzle for calibration. Click when done."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Are left and right Z~carriages all up?" #define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Are left and right Z~carriages all up?"
@ -286,17 +286,17 @@
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "calibration point" #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "calibration point"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " of 9" #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " of 9"
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "X/Y calibration failed. Bed calibration point was not found." #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ calibration failed. Bed calibration point was not found."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "X/Y calibration failed. Please consult the manual." #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ calibration failed. Please consult the manual."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "X/Y calibration ok. X/Y axes are perpendicular." #define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ calibration ok. X/Y axes are perpendicular."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "X/Y calibration all right. X/Y axes are slightly skewed." #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ calibration all right. X/Y axes are slightly skewed."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y skewed severly. Skew will be corrected automatically." #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y skewed severly. Skew will be corrected automatically."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "X/Y calibration failed. Left front calibration point not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ calibration failed. Left front calibration point not reachable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "X/Y calibration failed. Right front calibration point not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ calibration failed. Right front calibration point not reachable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "X/Y calibration failed. Front calibration points not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ calibration failed. Front calibration points not reachable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "X/Y calibration compromised. Left front calibration point not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ calibration compromised. Left front calibration point not reachable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "X/Y calibration compromised. Right front calibration point not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ calibration compromised. Right front calibration point not reachable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "X/Y calibration compromised. Front calibration points not reachable." #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ calibration compromised. Front calibration points not reachable."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset." #define MSG_BED_LEVELING_FAILED_POINT_LOW "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed leveling failed. Sensor triggered too high. Waiting for reset." #define MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed leveling failed. Sensor triggered too high. Waiting for reset."
@ -314,8 +314,9 @@
#define MSG_BED_CORRECTION_REAR "Rear side um" #define MSG_BED_CORRECTION_REAR "Rear side um"
#define MSG_BED_CORRECTION_RESET "Reset" #define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling" #define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibration"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#endif // LANGUAGE_EN_H #endif // LANGUAGE_EN_H

View File

@ -272,5 +272,41 @@
#define MSG_STATISTICS "Estadistica " #define MSG_STATISTICS "Estadistica "
#define MSG_USB_PRINTING "Impresion de USB " #define MSG_USB_PRINTING "Impresion de USB "
#define MSG_SHOW_END_STOPS "Ensena fin de paso"
#define MSG_CALIBRATE_BED "Calibra XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando XYZ. Subir carro Z hasta maximo. Click cuando acabes."
#define MSG_CONFIRM_NOZZLE_CLEAN "Limpiar boquilla para calibracion. Click cuando acabes."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Los carros Z izquierdo/derecho estan arriba al maximo?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Buscando cama"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 "punto de calibracion"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE3 " de 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Mejorando cama"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "punto de calibracion"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " de 9"
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consultar el manual por favor."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibracion XYZ conseguida. Ejes X/Y un poco torcidos."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y muy distorsionado. La distorsion sera corregida automaticamente."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibracion XYZ fallad. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibracion XYZ fallad. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibracion XYZ fallad. Punto delanteros no alcanzables."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibrazion XYZ comprometida. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazion XYZ comprometida. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazion XYZ comprometida. Punto delanteros no alcanzables."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Nivelacion cama fallada. El sensor no funciono'. Escombros en la boquilla? Pendiente el reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Nivelacion cama fallada. El sensor funcino' demasiado temprano. Pendiente el reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Nivelacion cama fallada. Sensor desconectado o cables danados. Pendiente el reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Nuevo firmware disponible:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Actualizar por favor."
#define MSG_BABYSTEP_Z_NOT_SET "Impresora aun no calibrada. Ejecutar el G-code de calibracion para ajustar la altura de Z."
#define MSG_BED_CORRECTION_MENU "Nivel de cama correcto"
#define MSG_BED_CORRECTION_LEFT "Hacia la izquierda um"
#define MSG_BED_CORRECTION_RIGHT "Hacia la derecha um"
#define MSG_BED_CORRECTION_FRONT "Hacia adelante um"
#define MSG_BED_CORRECTION_REAR "Hacia atras um"
#define MSG_BED_CORRECTION_RESET "Reset"
#endif // LANGUAGE_EN_H #endif // LANGUAGE_EN_H

View File

@ -288,5 +288,46 @@
#define MSG_STATISTICS "Statystyka " #define MSG_STATISTICS "Statystyka "
#define MSG_USB_PRINTING "Druk z USB " #define MSG_USB_PRINTING "Druk z USB "
#define MSG_SHOW_END_STOPS "Pokaz krancowki"
#define MSG_CALIBRATE_BED "Kalibracja XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset kalibr. XYZ"
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibracja XYZ. Prosze przesunac os Z do gornej ramy. Potwierdzic guzikiem."
#define MSG_CONFIRM_NOZZLE_CLEAN "Dla prawidlowej kalibracji prosze oczyscic dysze. Potwierdzic guzikiem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Oba wozki Z dojechaly do gornej ramy?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Szukam kalibracyjnego"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 "punktu podkladki"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE3 " z 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Ulepszam dokladnosc"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 "punktu kalibracyjnego"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE3 " z 9"
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibracja XYZ niepowiedziona. Kalibracyjny punkt podkladki nieznaleziony."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibracja XYZ ok. Osie X/Y sa prostopadle."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibracja XYZ w porzadku. Osie X/Y lekko skosne."
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Osie X/Y sa mocno skosne. Skos bedzie automatycznie wyrownany przy druku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibracja XYZ niepowiedziona. Lewy przedni punkt zbyt wysuniety do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibracja XYZ niepowiedziona. Prawy przedni punkt zbyt wysuniety do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibracja XYZ niepowiedziona. Przednie punkty kalibracyjne zbyt wysuniete do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibracja XYZ niedokladna. Przednie punkty kalibracyjne zbyt wysuniete do przodu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibracja Z niepowiedziona. Sensor nie dotknal. Zanieczyszczona dysza? Czekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibracja Z niepowiedziona. Sensor dotknal zbyt wysoko. Czekam na reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibracja Z niepowiedziona. Sensor jest odlaczony lub uszkodzony kabel. Czekam na reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Wyszla nowa wersja firmware:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosze zaktualizowac."
#define MSG_BABYSTEP_Z_NOT_SET "Drukarka nie byla kalibrowana. Wlaczyc kalibracyjny G-kod i dostroic Z."
#define MSG_BED_CORRECTION_MENU "Korekta podkladki"
#define MSG_BED_CORRECTION_LEFT "W lewo [um]"
#define MSG_BED_CORRECTION_RIGHT "W prawo [um]"
#define MSG_BED_CORRECTION_FRONT "Do przodu [um]"
#define MSG_BED_CORRECTION_REAR "Do tylu [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#endif // LANGUAGE_EN_H #endif // LANGUAGE_EN_H

View File

@ -136,8 +136,8 @@ static void lcd_main_menu();
static void lcd_tune_menu(); static void lcd_tune_menu();
static void lcd_prepare_menu(); static void lcd_prepare_menu();
static void lcd_move_menu(); static void lcd_move_menu();
static void lcd_control_menu();
static void lcd_settings_menu(); static void lcd_settings_menu();
static void lcd_calibration_menu();
static void lcd_language_menu(); static void lcd_language_menu();
static void lcd_control_temperature_menu(); static void lcd_control_temperature_menu();
static void lcd_control_temperature_preheat_pla_settings_menu(); static void lcd_control_temperature_preheat_pla_settings_menu();
@ -765,7 +765,7 @@ static void lcd_support_menu()
// Menu was entered or SD card status has changed (plugged in or removed). // Menu was entered or SD card status has changed (plugged in or removed).
// Initialize its status. // Initialize its status.
menuData.supportMenu.status = 1; menuData.supportMenu.status = 1;
menuData.supportMenu.is_flash_air = card.ToshibaFlashAir_GetIP(menuData.supportMenu.ip); menuData.supportMenu.is_flash_air = card.ToshibaFlashAir_isEnabled() && card.ToshibaFlashAir_GetIP(menuData.supportMenu.ip);
if (menuData.supportMenu.is_flash_air) if (menuData.supportMenu.is_flash_air)
sprintf_P(menuData.supportMenu.ip_str, PSTR("%d.%d.%d.%d"), sprintf_P(menuData.supportMenu.ip_str, PSTR("%d.%d.%d.%d"),
menuData.supportMenu.ip[0], menuData.supportMenu.ip[1], menuData.supportMenu.ip[0], menuData.supportMenu.ip[1],
@ -1325,7 +1325,7 @@ static void lcd_adjust_bed()
eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2); eeprom_update_int8((unsigned char*)EEPROM_BED_CORRECTION_REAR, menuData.adjustBed.rear = menuData.adjustBed.rear2);
START_MENU(); START_MENU();
MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); MENU_ITEM(back, MSG_SETTINGS, lcd_calibration_menu);
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_LEFT, &menuData.adjustBed.left2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_RIGHT, &menuData.adjustBed.right2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX); MENU_ITEM_EDIT(int3, MSG_BED_CORRECTION_FRONT, &menuData.adjustBed.front2, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);
@ -1682,7 +1682,7 @@ static void lcd_show_end_stops() {
static void menu_show_end_stops() { static void menu_show_end_stops() {
lcd_show_end_stops(); lcd_show_end_stops();
if (LCD_CLICKED) lcd_goto_menu(lcd_settings_menu); if (LCD_CLICKED) lcd_goto_menu(lcd_calibration_menu);
} }
// Lets the user move the Z carriage up to the end stoppers. // Lets the user move the Z carriage up to the end stoppers.
@ -2055,6 +2055,12 @@ void lcd_mesh_calibration_z()
lcd_return_to_status(); lcd_return_to_status();
} }
void lcd_toshiba_flash_air_compatibility_toggle()
{
card.ToshibaFlashAir_enable(! card.ToshibaFlashAir_isEnabled());
eeprom_update_byte((uint8_t*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY, card.ToshibaFlashAir_isEnabled());
}
static void lcd_settings_menu() static void lcd_settings_menu()
{ {
EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu)); EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu));
@ -2065,23 +2071,9 @@ static void lcd_settings_menu()
MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu); MENU_ITEM(submenu, MSG_TEMPERATURE, lcd_control_temperature_menu);
MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu_1mm); MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu_1mm);
if (!isPrintPaused)
{
#ifndef MESH_BED_LEVELING
// "Calibrate Z"
MENU_ITEM(gcode, MSG_HOMEYZ, PSTR("G28 Z"));
#else
// "Calibrate Z" with storing the reference values to EEPROM.
MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z);
// "Mesh Bed Leveling"
MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling);
#endif
}
if (!isPrintPaused) if (!isPrintPaused)
{ {
MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84")); MENU_ITEM(gcode, MSG_DISABLE_STEPPERS, PSTR("M84"));
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28 W"));
} }
if (SilentModeMenu == 0) { if (SilentModeMenu == 0) {
@ -2093,14 +2085,40 @@ static void lcd_settings_menu()
if (!isPrintPaused) if (!isPrintPaused)
{ {
MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8 MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8
MENU_ITEM(submenu, MSG_BED_CORRECTION_MENU, lcd_adjust_bed);
} }
MENU_ITEM(submenu, MSG_LANGUAGE_SELECT, lcd_language_menu); MENU_ITEM(submenu, MSG_LANGUAGE_SELECT, lcd_language_menu);
if (card.ToshibaFlashAir_isEnabled()) {
MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON, lcd_toshiba_flash_air_compatibility_toggle);
} else {
MENU_ITEM(function, MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF, lcd_toshiba_flash_air_compatibility_toggle);
}
END_MENU();
}
static void lcd_calibration_menu()
{
START_MENU();
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
if (!isPrintPaused) if (!isPrintPaused)
{ {
MENU_ITEM(submenu, MSG_SELFTEST, lcd_selftest); MENU_ITEM(submenu, MSG_SELFTEST, lcd_selftest);
MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops); #ifndef MESH_BED_LEVELING
// MK1
// "Calibrate Z"
MENU_ITEM(gcode, MSG_HOMEYZ, PSTR("G28 Z"));
#else
// MK2
MENU_ITEM(submenu, MSG_CALIBRATE_BED, lcd_mesh_calibration); MENU_ITEM(submenu, MSG_CALIBRATE_BED, lcd_mesh_calibration);
// "Calibrate Z" with storing the reference values to EEPROM.
MENU_ITEM(submenu, MSG_HOMEYZ, lcd_mesh_calibration_z);
// "Mesh Bed Leveling"
MENU_ITEM(submenu, MSG_MESH_BED_LEVELING, lcd_mesh_bedleveling);
#endif
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28 W"));
MENU_ITEM(submenu, MSG_BED_CORRECTION_MENU, lcd_adjust_bed);
MENU_ITEM(submenu, MSG_SHOW_END_STOPS, menu_show_end_stops);
MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44")); MENU_ITEM(gcode, MSG_CALIBRATE_BED_RESET, PSTR("M44"));
} }
if (farm_mode) if (farm_mode)
@ -2423,7 +2441,7 @@ static void lcd_main_menu()
MENU_ITEM(back, MSG_WATCH, lcd_status_screen); MENU_ITEM(back, MSG_WATCH, lcd_status_screen);
if ( ( IS_SD_PRINTING || is_usb_printing ) && (current_position[Z_AXIS] < 0.5) ) if ( ( IS_SD_PRINTING || is_usb_printing ) && (current_position[Z_AXIS] < Z_HEIGHT_HIDE_LIVE_ADJUST_MENU) )
{ {
MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8 MENU_ITEM(submenu, MSG_BABYSTEP_Z, lcd_babystep_z);//8
} }
@ -2480,6 +2498,7 @@ static void lcd_main_menu()
MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament); MENU_ITEM(function, MSG_LOAD_FILAMENT, lcd_LoadFilament);
MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament); MENU_ITEM(function, MSG_UNLOAD_FILAMENT, lcd_unLoadFilament);
MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu); MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu);
} }
if (!is_usb_printing) if (!is_usb_printing)
@ -2557,7 +2576,6 @@ static void lcd_control_temperature_menu()
START_MENU(); START_MENU();
MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu); MENU_ITEM(back, MSG_SETTINGS, lcd_settings_menu);
//MENU_ITEM(back, MSG_CONTROL, lcd_control_menu);
#if TEMP_SENSOR_0 != 0 #if TEMP_SENSOR_0 != 0
MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10); MENU_ITEM_EDIT(int3, MSG_NOZZLE, &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);
#endif #endif