Merge pull request #786 from XPila/MK3-new_lang

Mk3 new lang
This commit is contained in:
PavelSindler 2018-05-30 14:54:47 +02:00 committed by GitHub
commit 2561ab9c7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 592 additions and 16030 deletions

File diff suppressed because it is too large Load diff

View file

@ -970,6 +970,35 @@ void erase_eeprom_section(uint16_t offset, uint16_t bytes)
for (int i = offset; i < (offset+bytes); i++) eeprom_write_byte((uint8_t*)i, 0xFF);
}
#include "bootapp.h"
void __test()
{
cli();
boot_app_magic = 0x55aa55aa;
boot_app_flags = BOOT_APP_FLG_USER0;
boot_reserved = 0x00;
wdt_enable(WDTO_15MS);
while(1);
}
void upgrade_sec_lang_from_external_flash()
{
if ((boot_app_magic == 0x55aa55aa) && (boot_app_flags & BOOT_APP_FLG_USER0))
{
fprintf_P(lcdout, PSTR(ESC_2J ESC_H(1,1) "TEST %d"), boot_reserved);
boot_reserved++;
if (boot_reserved < 4)
{
_delay_ms(1000);
cli();
wdt_enable(WDTO_15MS);
while(1);
}
}
boot_app_flags &= ~BOOT_APP_FLG_USER0;
}
// "Setup" function is called by the Arduino framework on startup.
// Before startup, the Timers-functions (PWM)/Analog RW and HardwareSerial provided by the Arduino-code
// are initialized by the main() routine provided by the Arduino framework.
@ -977,6 +1006,9 @@ void setup()
{
lcd_init();
fdev_setup_stream(lcdout, lcd_putchar, NULL, _FDEV_SETUP_WRITE); //setup lcdout stream
// upgrade_sec_lang_from_external_flash();
lcd_splash();
setup_killpin();
setup_powerhold();

32
Firmware/bootapp.c Normal file
View file

@ -0,0 +1,32 @@
//bootapp.c
#include "bootapp.h"
#include <avr/pgmspace.h>
#include <avr/wdt.h>
#include <avr/interrupt.h>
/*
void bootapp_print_vars()
{
printf_P(_n("boot_src_addr =0x%08lx\n"), boot_src_addr);
printf_P(_n("boot_dst_addr =0x%08lx\n"), boot_dst_addr);
printf_P(_n("boot_copy_size =0x%04x\n"), boot_copy_size);
printf_P(_n("boot_reserved =0x%02x\n"), boot_reserved);
printf_P(_n("boot_app_flags =0x%02x\n"), boot_app_flags);
printf_P(_n("boot_app_magic =0x%08lx\n"), boot_app_magic);
}
*/
void bootapp_ram2flash(uint16_t rptr, uint16_t fptr, uint16_t size)
{
cli();
// uint16_t ui; for (ui = 0; ui < size; ui++)
// ram_array[ui+rptr] = 0xff;
boot_app_magic = 0x55aa55aa;
boot_app_flags = BOOT_APP_FLG_ERASE | BOOT_APP_FLG_COPY;
boot_copy_size = (uint16_t)size;
boot_src_addr = (uint32_t)rptr;
boot_dst_addr = (uint32_t)fptr;
wdt_enable(WDTO_15MS);
while(1);
}

36
Firmware/bootapp.h Normal file
View file

@ -0,0 +1,36 @@
//language.h
#ifndef BOOTAPP_H
#define BOOTAPP_H
#include "config.h"
#include <inttypes.h>
#define RAMSIZE 0x2000
#define ram_array ((uint8_t*)(0))
#define boot_src_addr (*((uint32_t*)(RAMSIZE - 16)))
#define boot_dst_addr (*((uint32_t*)(RAMSIZE - 12)))
#define boot_copy_size (*((uint16_t*)(RAMSIZE - 8)))
#define boot_reserved (*((uint8_t*)(RAMSIZE - 6)))
#define boot_app_flags (*((uint8_t*)(RAMSIZE - 5)))
#define boot_app_magic (*((uint32_t*)(RAMSIZE - 4)))
#define BOOT_APP_FLG_ERASE 0x01
#define BOOT_APP_FLG_COPY 0x02
#define BOOT_APP_FLG_FLASH 0x04
#define BOOT_APP_FLG_USER0 0x80
#if defined(__cplusplus)
extern "C" {
#endif //defined(__cplusplus)
extern void bootapp_ram2flash(uint16_t rptr, uint16_t fptr, uint16_t size);
#if defined(__cplusplus)
}
#endif //defined(__cplusplus)
#endif //BOOTAPP_H

View file

@ -2,6 +2,7 @@
#include "language.h"
#include <inttypes.h>
#include <avr/pgmspace.h>
#include "bootapp.h"
// Currectly active language selection.
@ -93,3 +94,4 @@ const char* lang_get_name(unsigned char lang)
}
const char MSG_LANGUAGE_NAME[] PROGMEM_I1 = ISTR("English"); ////c=0 r=0

View file

@ -35,7 +35,7 @@
#define _T(s) s
#else //(LANG_MODE == 0)
#define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff"s; &__c[0];}))
#define ISTR(s) "\xff\xff"s
#define ISTR(s) "\xff\xff" s
#define _i(s) lang_get_translation(_I(s))
#define _T(s) lang_get_translation(s)
#endif //(LANG_MODE == 0)
@ -76,6 +76,7 @@ extern const char* lang_select(unsigned char lang);
extern unsigned char lang_get_count();
extern const char* lang_get_name(unsigned char lang);
#if defined(__cplusplus)
}
#endif //defined(__cplusplus)
@ -88,5 +89,5 @@ extern const char MSG_LANGUAGE_NAME[];
#include "messages.h"
#endif //__LANGUAGE_H
#endif //LANGUAGE_H

File diff suppressed because it is too large Load diff

View file

@ -290,6 +290,10 @@
"Endstops"
"Topes finales"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Espanol"
#MSG_Enqueing c=0 r=0
"enqueing \x22"
"enqueing \x22"

View file

@ -290,6 +290,10 @@
"Endstops"
"Finecorsa (2)"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Italiano"
#MSG_Enqueing c=0 r=0
"enqueing \x22"
"enqueing \x22"

View file

@ -290,6 +290,10 @@
"Endstops"
"Endstops"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Polski"
#MSG_Enqueing c=0 r=0
"enqueing \x22"
"enqueing \x22"

File diff suppressed because it is too large Load diff

View file

@ -260,7 +260,7 @@
+ #define(length = 20, lines = 3) MSG_WAITING_TEMP "Warten auf Abkuehlung von Heater und Bett."
+ #define(length = 20, lines = 2) MSG_FILAMENT_CLEAN "Ist Farbe rein?"
+ #define(lenght = 20, lines = 1) MSG_UNLOADING_FILAMENT "Filament auswerfen"
+ #define(length = 20, lines = 1) MSG_UNLOADING_FILAMENT "Filament auswerfen"
+ #define(length = 20, lines = 8) MSG_PAPER "Legen ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier einklemmt, Drucker sofort ausschalten"
+
+#define MSG_BED_CORRECTION_MENU "Bett level Korrekt"

View file

@ -69,25 +69,27 @@ process_language_xx()
{
echo -n " processing language_$1.h ..." | tee -a make_msgs.out
#list all defines from language_cz.h
cat "../Firmware/language_$1.h" | grep "^#define" >"msgs_$1.txt_0"
cat "msgs_$1.txt_0" | sed -E "s/^#define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 \2/g" | sort >"msgs_$1.txt"
cat "../lang_backup/language_$1.h" | sed "s/[ \t]*\+//;s/^\+ #/#/;s/^\+#/#/" | grep -E "^#define" >"msgs_$1.txt_0"
cat "msgs_$1.txt_0" | sed "s/(length = [0-9]*)//" | sed "s/(length = [0-9]*, lines = [0-9]*)//" > "msgs_$1.txt_1"
cat "msgs_$1.txt_1" | sed -E "s/^#define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 \2/g" | sort >"msgs_$1.txt"
#calculate msgcount
msgcount=$(grep -c '' "msgs_$1.txt")
#calculate charcount
charcount=$(calc_charcount "msgs_$1.txt" 2)
#remove tmp files
rm "msgs_$1.txt_0"
rm "msgs_$1.txt_1"
echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out
}
process_language_common
process_language_en
process_language_xx cz
#process_language_common
#process_language_en
#process_language_xx cz
process_language_xx de
process_language_xx it
process_language_xx pl
process_language_xx es
#process_language_xx it
#process_language_xx pl
#process_language_xx es
echo "step1 finished... press key"
echo "make_msgs.sh finished... press key"
read

View file

@ -1,49 +1,276 @@
MSG_ADJUSTZ "Auto Z einstellen?"
MSG_ALL "Alle"
MSG_AUTO_HOME "Startposition"
MSG_BABYSTEP_X "Babystep X"
MSG_BABYSTEP_Y "Babystep Y"
MSG_BABYSTEP_Z "Z einstellen"
MSG_BABYSTEP_Z_NOT_SET "Der Abstand zwischen der Spitze der Duese und der Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, section First layer calibration."
MSG_BABYSTEPPING_X "Babystepping X"
MSG_BABYSTEPPING_Y "Babystepping Y"
MSG_BABYSTEPPING_Z "Z wurde eingestellt"
MSG_BED "Bett"
MSG_BED_CORRECTION_FRONT "Vorne [um]"
MSG_BED_CORRECTION_LEFT "Links [um]"
MSG_BED_CORRECTION_MENU "Bett level Korrekt"
MSG_BED_CORRECTION_REAR "Hinten [um]"
MSG_BED_CORRECTION_RESET "Ruecksetzen"
MSG_BED_CORRECTION_RIGHT "Rechts [um]"
MSG_BED_DONE "Bett OK"
MSG_BED_HEATING "Bett aufwaermen"
MSG_BED_LEVELING_FAILED_POINT_HIGH "Z-Kalibrierung fehlgeschlg. Sensor zu hoch ausgeloest. Warte auf Reset."
MSG_BED_LEVELING_FAILED_POINT_LOW "Z-Kal. fehlgeschlg. Sensor nicht ausgeloest. Schmutzige Duese? Warte auf Reset"
MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Z-Kalibrierung fehlgeschlg. Sensor nicht angeschlossen. Warte auf Reset."
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte sind zu weit vorne."
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker vorderer Kalibrierpunkt ist zu weit vorne."
MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ Kalibrierung in Ordnung. Schiefheit wird automatisch korrigiert."
MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schief."
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte sind zu weit vorne."
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt ist zu weit vorne."
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
MSG_BEGIN_FILE_LIST "Beginn Dateiliste"
MSG_CALIBRATE_BED "Kalibrierung XYZ"
MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr."
MSG_CALIBRATE_E "Kalibriere E"
MSG_CALIBRATE_PINDA "Kalibrieren"
MSG_CALIBRATION_PINDA_MENU "Temp. kalibrieren"
MSG_CARD_MENU "Drucken von SD"
MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig."
MSG_CNG_SDCARD "Wechsel SD Karte"
MSG_CONFIGURATION_VER " Letztes Update:"
MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Ist der Schlitten ganz oben?"
MSG_CONFIRM_NOZZLE_CLEAN "Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber."
MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
MSG_CONTROL "Kontrolle"
MSG_COOLDOWN "Abkuehlen"
MSG_CORRECTLY "Wechsel ok?"
MSG_CURRENT "Aktuelles"
MSG_DATE "Datum"
MSG_DISABLE_STEPPERS "Motoren aus"
MSG_DWELL "Einen Moment bitte."
MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
MSG_END_FILE_LIST "Ende Dateiliste"
MSG_ENDSTOP_HIT "AUSGELOEST"
MSG_ENDSTOP_OPEN "offen"
MSG_ENDSTOPS_HIT "Endanschlag erreicht"
MSG_Enqueing "enqueuing \"
MSG_ERR_COLD_EXTRUDE_STOP "Stopp, Extruder kalt!"
MSG_ERR_CHECKSUM_MISMATCH "Pruefsummenfehler, Letzte Zeile: " //Checksum Fehler, Letzte Zeile: "
MSG_ERR_KILLED "Printer gestoppt. kill() aufgerufen!"
MSG_ERR_NO_CHECKSUM "Keine Pruefsumme mit Zeilennummer, Letzte Zeile: " //Keine Checksum mit Zeilennummer, Letzte Zeile: "
MSG_ERR_NO_THERMISTORS "Keine Thermistoren - keine Temperatur"
MSG_ERR_STOPPED "Drucker aufgrund von Fehlern gestoppt. Fehler beheben und mit M999 neu starten. (Temperatur wird zurueckgesetzt. Nach dem Neustart neu einstellen!)"
MSG_ERROR "FEHLER:"
MSG_EXTRUDER "Extruder"
MSG_EXTRUDER_1 "Extruder 1"
MSG_EXTRUDER_2 "Extruder 2"
MSG_EXTRUDER_3 "Extruder 3"
MSG_EXTRUDER_4 "Extruder 4"
MSG_FACTOR " \002 Fakt"
MSG_FAN_SPEED "Luefter-Tempo"
MSG_FIL_ADJUSTING "Filament positionieren. Bitte warten."
MSG_FILAMENT_CLEAN "Ist Farbe rein?"
MSG_FILAMENT_LOADING_T0 "Filament in extruder 1 einlegen. Klicken wenn fertig."
MSG_FILAMENT_LOADING_T1 "Filament in extruder 2 einlegen. Klicken wenn fertig."
MSG_FILAMENT_LOADING_T2 "Filament in extruder 3 einlegen. Klicken wenn fertig."
MSG_FILAMENT_LOADING_T3 "Filament in extruder 4 einlegen. Klicken wenn fertig."
MSG_FILAMENTCHANGE "Filament-Wechsel"
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteration "
MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suchen Bett Kalibrierpunkt"
MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4"
MSG_FINISHING_MOVEMENTS "Bewegung beenden"
MSG_FLOW "Durchfluss"
MSG_FLOW0 "Durchfluss 0"
MSG_FLOW1 "Durchfluss 1"
MSG_FLOW2 "Durchfluss 2"
MSG_FOLLOW_CALIBRATION_FLOW "Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie das Handbuch, Kapitel First steps, Abschnitt Calibration flow."
MSG_FREE_MEMORY " Freier Speicher: "
MSG_HEATING "Aufwaermen"
MSG_HEATING_COMPLETE "Aufwaermen OK"
MSG_HOMEYZ "Kalibrieren Z"
MSG_HOMEYZ_DONE "Kalibrierung OK"
MSG_HOMEYZ_PROGRESS "Kalibriere Z"
MSG_CHANGE_EXTR "Wechsel extruder"
MSG_CHANGE_SUCCESS "Wechsel erfolgr.!"
MSG_CHANGING_FILAMENT "Filament-Wechsel!"
MSG_CHOOSE_EXTRUDER "Waehlen Sie Extruder"
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Verbesserung Bett Kalibrierpunkt"
MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " von 4"
MSG_INIT_SDCARD "Init SD Karte"
MSG_INSERT_FILAMENT "Filament einlegen"
MSG_KILLED "ABGEBROCHEN. "
MSG_LANGUAGE_NAME "Deutsch"
MSG_LANGUAGE_SELECT "Waehle Sprache"
MSG_LEFT "Links:"
MSG_LOAD_ALL "Alle laden"
MSG_LOAD_EPROM "Lade Speicher"
MSG_LOAD_FILAMENT "Filament laden"
MSG_LOAD_FILAMENT_1 "Filament 1 laden"
MSG_LOAD_FILAMENT_2 "Filament 2 laden"
MSG_LOAD_FILAMENT_3 "Filament 3 laden"
MSG_LOAD_FILAMENT_4 "Filament 4 laden"
MSG_LOADING_COLOR "Lade Farbe"
MSG_LOADING_FILAMENT "Filament leadt"
MSG_LOOSE_PULLEY "Lose Riemenscheibe"
MSG_M104_INVALID_EXTRUDER "M104 Falscher Extruder"
MSG_M105_INVALID_EXTRUDER "M105 Falscher Extruder"
MSG_M109_INVALID_EXTRUDER "M109 Falscher Extruder"
MSG_M117_V2_CALIBRATION "M117 Erste-Schicht Kal."
MSG_M119_REPORT "Statusbericht Endanschlag"
MSG_M200_INVALID_EXTRUDER "M200 Falscher Extruder"
MSG_M218_INVALID_EXTRUDER "M218 Falscher Extruder"
MSG_M221_INVALID_EXTRUDER "M221 Falscher Extruder"
MSG_MAIN "Hauptmenue"
MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
MSG_MAX " \002 Max"
MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Messen der Referenzhoehe des Kalibrierpunktes"
MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " von 9"
MSG_MEASURED_SKEW "Schraeglauf:"
MSG_MENU_CALIBRATION "Kalibrierung"
MSG_MESH_BED_LEVELING "Mesh Bett Leveling"
MSG_MIN " \002 Min"
MSG_MOTION "Bewegung"
MSG_MOVE_AXIS "Achsbewegung"
MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
MSG_MOVE_E "Extruder"
MSG_MOVE_X "Bewege X"
MSG_MOVE_Y "Bewege Y"
MSG_MOVE_Z "Bewege Z"
MSG_NEW_FIRMWARE_AVAILABLE "Neue Firmware Version verfuegbar:"
MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Bitte aktualisieren."
MSG_NO "Nein"
MSG_NO_CARD "Keine SD Karte"
MSG_NO_MOVE "Keine Bewegung."
MSG_NOT_COLOR "Farbe unklar"
MSG_NOT_LOADED "Fil. nicht geladen"
MSG_NOZZLE "Duese"
MSG_NOZZLE1 "Duese2"
MSG_NOZZLE2 "Duese3"
MSG_OK "ok"
MSG_PAPER "Legen ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier einklemmt, Drucker sofort ausschalten"
MSG_PAUSE_PRINT "Druck unterbrech."
MSG_PICK_Z "Waehle Abdruck"
MSG_PID_EXTRUDER "PID Kalibrierung"
MSG_PID_FINISHED "PID Kalib. fertig"
MSG_PID_RUNNING "PID Kalib."
MSG_PINDA_NOT_CALIBRATED "Temperatur wurde nicht kalibriert"
MSG_PINDA_PREHEAT "PINDA erwaermen"
MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?"
MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
MSG_PLEASE_LOAD_PLA "Bitte laden Sie zuerst PLA Filament."
MSG_PLEASE_WAIT "Bitte warten"
MSG_POWERUP "Einschalten"
MSG_PREHEAT "Vorwaermen"
MSG_PREHEAT_NOZZLE "Duese Vorwaermen"
MSG_PREPARE_FILAMENT "Filam. bereithalten"
MSG_PRESS "und Knopf druecken"
MSG_PRINT_ABORTED "Druck abgebrochen"
MSG_PRINT_PAUSED "Druck pausiert"
MSG_PRUSA3D "prusa3d.com"
MSG_PRUSA3D_FORUM "forum.prusa3d.com"
MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
MSG_REBOOT "Zum Uebernehmen "
MSG_RECTRACT "Retract"
MSG_REFRESH "\xF8" "Erneuern"
MSG_RESEND "Wiederholen: "
MSG_RESTORE_FAILSAFE "Standardwerte setzen"
MSG_RESUME_PRINT "Fortsetzen"
MSG_RESUMING "Druck fortgesetzt"
MSG_RESUMING_PRINT "Druck weitergehen"
MSG_RIGHT "Rechts:"
MSG_SD_CANT_ENTER_SUBDIR "Zugangsproblem Unterverzeichnis: "
MSG_SD_CANT_OPEN_SUBDIR "Kann Unterverz. nicht oeffnen"
MSG_SD_CARD_OK "SD Karte ok"
MSG_SD_ERR_WRITE_TO_FILE "Fehler beim Schreiben in Datei"
MSG_SD_FILE_OPENED "Datei geoeffnet: "
MSG_SD_FILE_SELECTED "Datei ausgewaehlt"
MSG_SD_INIT_FAIL "SD Init fehlerhaft"
MSG_SD_INSERTED "SD eingesetzt"
MSG_SD_NOT_PRINTING "Kein SD Print"
MSG_SD_OPEN_FILE_FAIL "Fehler beim Oeffnen der Datei: "
MSG_SD_OPENROOT_FAIL "Zugriff auf Basisverzeichnis misslungen"
MSG_SD_PRINTING_BYTE "SD printing byte "
MSG_SD_REMOVED "SD entfernt "
MSG_SD_VOL_INIT_FAIL "Dateisystem Init fehlerhaft"
MSG_SD_WORKDIR_FAIL "Oeffnen Arbeitsverzeichnis misslungen"
MSG_SD_WRITE_TO_FILE "Schreiben der Datei: "
MSG_SELFTEST "Selbsttest "
MSG_SELFTEST_BEDHEATER "Bett / Heater"
MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?"
MSG_SELFTEST_ENDSTOP "Endstop"
MSG_SELFTEST_ENDSTOP_NOTHIT "Ende nicht getrof."
MSG_SELFTEST_ENDSTOPS "Endschalter"
MSG_SELFTEST_ERROR "Selbtest Fehler!"
MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?"
MSG_SELFTEST_FAILED "Selbsttest misslung."
MSG_SELFTEST_FAN "Lueftertest"
MSG_SELFTEST_FAN_NO "Dreht nicht"
MSG_SELFTEST_FAN_YES "Dreht"
MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
MSG_SELFTEST_CHECK_ALLCORRECT "Alles richtig "
MSG_SELFTEST_CHECK_BED "Pruefe Bett "
MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter "
MSG_SELFTEST_CHECK_HOTEND "Pruefe Duese"
MSG_SELFTEST_CHECK_X "Pruefe X Achse "
MSG_SELFTEST_CHECK_Y "Pruefe Y Achse "
MSG_SELFTEST_CHECK_Z "Pruefe Z Achse "
MSG_SELFTEST_MOTOR "Motor"
MSG_SELFTEST_NOTCONNECTED "Nicht angeschlossen"
MSG_SELFTEST_OK "Selbsttest OK"
MSG_SELFTEST_PLEASECHECK "Bitte pruefe:"
MSG_SELFTEST_START "Selbsttest start "
MSG_SELFTEST_WIRINGERROR "Verdrahtungfehler"
MSG_SERIAL_ERROR_MENU_STRUCTURE "Menuestruktur fehlerhaft"
MSG_SET_HOME_OFFSETS "Abstand vom Ursprung einstellen"
MSG_SET_ORIGIN "Ursprung einstellen"
MSG_SET_TEMPERATURE "Temp. einsetzen"
MSG_SETTINGS "Einstellungen"
MSG_SEVERE_SKEW "Schwerer Schr.:"
MSG_SHOW_END_STOPS "Endschalter Stat."
MSG_SILENT_MODE_OFF "Mode [Hohe Leist]"
MSG_SILENT_MODE_ON "Mode [leise]"
MSG_SLIGHT_SKEW "Leichter Schr.:"
MSG_SPEED "Geschwindigkeit"
MSG_STATISTICS "Statistiken "
MSG_STATS_FILAMENTUSED "Filamentverbrauch:"
MSG_STATS_PRINTTIME "Druckzeit: "
MSG_STATS_TOTALFILAMENT "Gesamtfilament:"
MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:"
MSG_STEPPER_TOO_HIGH "Schrittrate zu hoch"
MSG_STOP_PRINT "Druck abbrechen"
MSG_STOPPED "GESTOPPT. "
MSG_STORE_EPROM "Abspeichern"
MSG_SUPPORT "Support"
MSG_SWITCH_PS_OFF "Netzteil AUS"
MSG_SWITCH_PS_ON "Netzteil EIN"
MSG_TAKE_EFFECT "Drucker neu starten"
MSG_TEMP_CALIBRATION "Temp Kalib. "
MSG_TEMP_CALIBRATION_DONE "Temp. Kalibrierung fertig. Klicken um weiter zu gehen."
MSG_TEMP_CALIBRATION_OFF "Temp. Kal. [OFF]"
MSG_TEMP_CALIBRATION_ON "Temp. Kal. [ON]"
MSG_TEMPERATURE "Temperatur"
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD Karte [normal]"
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD Karte [FlashAir]"
MSG_TUNE "Feineinstellung"
MSG_UNLOAD_ALL "Alles entladen"
MSG_UNLOAD_FILAMENT "Filament entladen"
MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen"
MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen"
MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen"
MSG_UNLOAD_FILAMENT_4 "Filam. 4 entladen"
MSG_UNLOADING_FILAMENT "Filament auswerfen"
MSG_USB_PRINTING "Drucken ueber USB"
MSG_USED "Beim Druck benutzte"
MSG_USERWAIT "Warte auf user..."
MSG_V2_CALIBRATION "Erste-Schicht Kal"
MSG_VOLUMETRIC "Filament"
MSG_VOLUMETRIC_ENABLED "E in mm3"
MSG_WAITING_TEMP "Warten auf Abkuehlung von Heater und Bett."
MSG_WATCH "Information"
MSG_WIZARD "Wizard"
MSG_WIZARD_CALIBRATION_FAILED "Bitte ueberpruefen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten."
MSG_WIZARD_CLEAN_HEATBED "Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf."
@ -65,3 +292,5 @@ MSG_WIZARD_XYZ_CAL "Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird c
MSG_WIZARD_Z_CAL "Ich werde jetzt die Z Kalibrierung durchfuehren."
MSG_XYZ_DETAILS "XYZ Kal. Details"
MSG_Y_DISTANCE_FROM_MIN "Y Entfernung vom min"
MSG_YES "Ja"
WELCOME_MSG CUSTOM_MENDEL_NAME " bereit."