Merge upstream
Merging upstream changes up to 35775395d9b5206e584b3734ab7e070e072603f8
This commit is contained in:
parent
a9274af234
commit
7e29a4d88a
|
@ -190,11 +190,17 @@
|
||||||
* Safe Homing Options
|
* Safe Homing Options
|
||||||
*/
|
*/
|
||||||
#if ENABLED(Z_SAFE_HOMING)
|
#if ENABLED(Z_SAFE_HOMING)
|
||||||
|
#if ENABLED(AUTO_BED_LEVELING_UBL)
|
||||||
|
// Home close to center so grid points have z heights very close to 0
|
||||||
|
#define _SAFE_POINT(A) (((GRID_MAX_POINTS_##A) / 2) * (A##_BED_SIZE - 2 * (MESH_INSET)) / (GRID_MAX_POINTS_##A - 1) + MESH_INSET)
|
||||||
|
#else
|
||||||
|
#define _SAFE_POINT(A) A##_CENTER
|
||||||
|
#endif
|
||||||
#ifndef Z_SAFE_HOMING_X_POINT
|
#ifndef Z_SAFE_HOMING_X_POINT
|
||||||
#define Z_SAFE_HOMING_X_POINT X_CENTER
|
#define Z_SAFE_HOMING_X_POINT _SAFE_POINT(X)
|
||||||
#endif
|
#endif
|
||||||
#ifndef Z_SAFE_HOMING_Y_POINT
|
#ifndef Z_SAFE_HOMING_Y_POINT
|
||||||
#define Z_SAFE_HOMING_Y_POINT Y_CENTER
|
#define Z_SAFE_HOMING_Y_POINT _SAFE_POINT(Y)
|
||||||
#endif
|
#endif
|
||||||
#define X_TILT_FULCRUM Z_SAFE_HOMING_X_POINT
|
#define X_TILT_FULCRUM Z_SAFE_HOMING_X_POINT
|
||||||
#define Y_TILT_FULCRUM Z_SAFE_HOMING_Y_POINT
|
#define Y_TILT_FULCRUM Z_SAFE_HOMING_Y_POINT
|
||||||
|
|
|
@ -238,7 +238,7 @@
|
||||||
*
|
*
|
||||||
* :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' }
|
* :{ 0:'No power switch', 1:'ATX', 2:'X-Box 360' }
|
||||||
*/
|
*/
|
||||||
//#define POWER_SUPPLY 1
|
#define POWER_SUPPLY 0
|
||||||
|
|
||||||
#if POWER_SUPPLY > 0
|
#if POWER_SUPPLY > 0
|
||||||
// Enable this option to leave the PSU off at startup.
|
// Enable this option to leave the PSU off at startup.
|
||||||
|
@ -1245,7 +1245,7 @@
|
||||||
//
|
//
|
||||||
#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
|
#define HOST_KEEPALIVE_FEATURE // Disable this if your host doesn't like keepalive messages
|
||||||
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
#define DEFAULT_KEEPALIVE_INTERVAL 2 // Number of seconds between "busy" messages. Set with M113.
|
||||||
//#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
|
#define BUSY_WHILE_HEATING // Some hosts require "busy" messages even during heating
|
||||||
|
|
||||||
//
|
//
|
||||||
// M100 Free Memory Watcher
|
// M100 Free Memory Watcher
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/**
|
||||||
* Marlin 3D Printer Firmware
|
* Marlin 3D Printer Firmware
|
||||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
*
|
*
|
||||||
|
@ -431,7 +431,7 @@
|
||||||
// @section extras
|
// @section extras
|
||||||
|
|
||||||
// minimum time in microseconds that a movement needs to take if the buffer is emptied.
|
// minimum time in microseconds that a movement needs to take if the buffer is emptied.
|
||||||
#define DEFAULT_MINSEGMENTTIME 50000
|
#define DEFAULT_MINSEGMENTTIME 30000
|
||||||
|
|
||||||
// If defined the movements slow down when the look ahead buffer is only half full
|
// If defined the movements slow down when the look ahead buffer is only half full
|
||||||
#define SLOWDOWN
|
#define SLOWDOWN
|
||||||
|
|
|
@ -609,13 +609,7 @@ uint8_t target_extruder;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_POWER_SWITCH
|
#if HAS_POWER_SWITCH
|
||||||
bool powersupply_on = (
|
bool powersupply_on;
|
||||||
#if ENABLED(PS_DEFAULT_OFF)
|
|
||||||
false
|
|
||||||
#else
|
|
||||||
true
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
#if ENABLED(AUTO_POWER_CONTROL)
|
#if ENABLED(AUTO_POWER_CONTROL)
|
||||||
#define PSU_ON() powerManager.power_on()
|
#define PSU_ON() powerManager.power_on()
|
||||||
#define PSU_OFF() powerManager.power_off()
|
#define PSU_OFF() powerManager.power_off()
|
||||||
|
@ -951,9 +945,9 @@ void setup_powerhold() {
|
||||||
#endif
|
#endif
|
||||||
#if HAS_POWER_SWITCH
|
#if HAS_POWER_SWITCH
|
||||||
#if ENABLED(PS_DEFAULT_OFF)
|
#if ENABLED(PS_DEFAULT_OFF)
|
||||||
PSU_OFF();
|
powersupply_on = true; PSU_OFF();
|
||||||
#else
|
#else
|
||||||
PSU_ON();
|
powersupply_on = false; PSU_ON();
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -7217,7 +7211,6 @@ inline void gcode_M17() {
|
||||||
* Used by M125 and M600
|
* Used by M125 and M600
|
||||||
*/
|
*/
|
||||||
static void wait_for_filament_reload(const int8_t max_beep_count=0) {
|
static void wait_for_filament_reload(const int8_t max_beep_count=0) {
|
||||||
nozzle_timed_out = false;
|
|
||||||
nozzle_timed_out = false;
|
nozzle_timed_out = false;
|
||||||
#ifdef ANYCUBIC_TFT_MODEL
|
#ifdef ANYCUBIC_TFT_MODEL
|
||||||
AnycubicTFT.PausedByNozzleTimeout = false;
|
AnycubicTFT.PausedByNozzleTimeout = false;
|
||||||
|
@ -10138,7 +10131,7 @@ inline void gcode_M226() {
|
||||||
NOLESS(thermalManager.lpq_len, 0);
|
NOLESS(thermalManager.lpq_len, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
thermalManager.updatePID();
|
thermalManager.update_pid();
|
||||||
SERIAL_ECHO_START();
|
SERIAL_ECHO_START();
|
||||||
#if ENABLED(PID_PARAMS_PER_HOTEND)
|
#if ENABLED(PID_PARAMS_PER_HOTEND)
|
||||||
SERIAL_ECHOPAIR(" e:", e); // specify extruder in serial output
|
SERIAL_ECHOPAIR(" e:", e); // specify extruder in serial output
|
||||||
|
@ -10284,7 +10277,7 @@ inline void gcode_M303() {
|
||||||
KEEPALIVE_STATE(NOT_BUSY);
|
KEEPALIVE_STATE(NOT_BUSY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
thermalManager.PID_autotune(temp, e, c, u);
|
thermalManager.pid_autotune(temp, e, c, u);
|
||||||
|
|
||||||
#if DISABLED(BUSY_WHILE_HEATING)
|
#if DISABLED(BUSY_WHILE_HEATING)
|
||||||
KEEPALIVE_STATE(IN_HANDLER);
|
KEEPALIVE_STATE(IN_HANDLER);
|
||||||
|
@ -14741,7 +14734,7 @@ void prepare_move_to_destination() {
|
||||||
|
|
||||||
#if ENABLED(TEMP_STAT_LEDS)
|
#if ENABLED(TEMP_STAT_LEDS)
|
||||||
|
|
||||||
static bool red_led = false;
|
static uint8_t red_led = -1; // Invalid value to force leds initializzation on startup
|
||||||
static millis_t next_status_led_update_ms = 0;
|
static millis_t next_status_led_update_ms = 0;
|
||||||
|
|
||||||
void handle_status_leds(void) {
|
void handle_status_leds(void) {
|
||||||
|
@ -14749,20 +14742,18 @@ void prepare_move_to_destination() {
|
||||||
next_status_led_update_ms += 500; // Update every 0.5s
|
next_status_led_update_ms += 500; // Update every 0.5s
|
||||||
float max_temp = 0.0;
|
float max_temp = 0.0;
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
max_temp = MAX3(max_temp, thermalManager.degTargetBed(), thermalManager.degBed());
|
max_temp = MAX(thermalManager.degTargetBed(), thermalManager.degBed());
|
||||||
#endif
|
#endif
|
||||||
HOTEND_LOOP()
|
HOTEND_LOOP()
|
||||||
max_temp = MAX3(max_temp, thermalManager.degHotend(e), thermalManager.degTargetHotend(e));
|
max_temp = MAX3(max_temp, thermalManager.degHotend(e), thermalManager.degTargetHotend(e));
|
||||||
const bool new_led = (max_temp > 55.0) ? true : (max_temp < 54.0) ? false : red_led;
|
const uint8_t new_led = (max_temp > 55.0) ? HIGH : (max_temp < 54.0 || red_led == -1) ? LOW : red_led;
|
||||||
if (new_led != red_led) {
|
if (new_led != red_led) {
|
||||||
red_led = new_led;
|
red_led = new_led;
|
||||||
#if PIN_EXISTS(STAT_LED_RED)
|
#if PIN_EXISTS(STAT_LED_RED)
|
||||||
WRITE(STAT_LED_RED_PIN, new_led ? HIGH : LOW);
|
WRITE(STAT_LED_RED_PIN, new_led);
|
||||||
#if PIN_EXISTS(STAT_LED_BLUE)
|
|
||||||
WRITE(STAT_LED_BLUE_PIN, new_led ? LOW : HIGH);
|
|
||||||
#endif
|
#endif
|
||||||
#else
|
#if PIN_EXISTS(STAT_LED_BLUE)
|
||||||
WRITE(STAT_LED_BLUE_PIN, new_led ? HIGH : LOW);
|
WRITE(STAT_LED_BLUE_PIN, !new_led);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15170,7 +15161,6 @@ void stop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marlin entry-point: Set up before the program loop
|
* Marlin entry-point: Set up before the program loop
|
||||||
* - Set up the kill pin, filament runout, power hold
|
* - Set up the kill pin, filament runout, power hold
|
||||||
|
@ -15445,7 +15435,6 @@ void setup() {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main Marlin program loop
|
* The main Marlin program loop
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/**
|
||||||
* Marlin 3D Printer Firmware
|
* Marlin 3D Printer Firmware
|
||||||
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||||
*
|
*
|
||||||
|
|
|
@ -156,6 +156,6 @@
|
||||||
#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: HARDWARE_MOTHERBOARD=84 make
|
#define BOARD_TEENSY2 84 // Teensy++2.0 (AT90USB1286) - CLI compile: HARDWARE_MOTHERBOARD=84 make
|
||||||
#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
|
#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
|
||||||
|
|
||||||
#define MB(board) (MOTHERBOARD==BOARD_##board)
|
#define MB(board) (defined(BOARD_##board) && MOTHERBOARD==BOARD_##board)
|
||||||
|
|
||||||
#endif // __BOARDS_H
|
#endif // __BOARDS_H
|
||||||
|
|
|
@ -308,7 +308,7 @@ void MarlinSettings::postprocess() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(PIDTEMP)
|
#if ENABLED(PIDTEMP)
|
||||||
thermalManager.updatePID();
|
thermalManager.update_pid();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if DISABLED(NO_VOLUMETRICS)
|
#if DISABLED(NO_VOLUMETRICS)
|
||||||
|
|
|
@ -41,33 +41,34 @@
|
||||||
#define MSG_SD_INSERTED _UxGT("SD-Karte erkannt")
|
#define MSG_SD_INSERTED _UxGT("SD-Karte erkannt")
|
||||||
#define MSG_SD_REMOVED _UxGT("SD-Karte entfernt")
|
#define MSG_SD_REMOVED _UxGT("SD-Karte entfernt")
|
||||||
#define MSG_LCD_ENDSTOPS _UxGT("Endstopp") // Max length 8 characters
|
#define MSG_LCD_ENDSTOPS _UxGT("Endstopp") // Max length 8 characters
|
||||||
|
#define MSG_LCD_SOFT_ENDSTOPS _UxGT("Soft-Endstopp")
|
||||||
#define MSG_MAIN _UxGT("Hauptmenü")
|
#define MSG_MAIN _UxGT("Hauptmenü")
|
||||||
#define MSG_AUTOSTART _UxGT("Autostart")
|
#define MSG_AUTOSTART _UxGT("Autostart")
|
||||||
#define MSG_DISABLE_STEPPERS _UxGT("Motoren deaktivieren") // M84
|
#define MSG_DISABLE_STEPPERS _UxGT("Motoren deaktivieren") // M84
|
||||||
#define MSG_DEBUG_MENU _UxGT("Debug Menü")
|
#define MSG_DEBUG_MENU _UxGT("Debug-Menü")
|
||||||
#define MSG_PROGRESS_BAR_TEST _UxGT("Fortschrittsb. Test")
|
#define MSG_PROGRESS_BAR_TEST _UxGT("Statusbalken-Test")
|
||||||
#define MSG_AUTO_HOME _UxGT("Home") // G28
|
#define MSG_AUTO_HOME _UxGT("Home XYZ") // G28
|
||||||
#define MSG_AUTO_HOME_X _UxGT("Home X")
|
#define MSG_AUTO_HOME_X _UxGT("Home X")
|
||||||
#define MSG_AUTO_HOME_Y _UxGT("Home Y")
|
#define MSG_AUTO_HOME_Y _UxGT("Home Y")
|
||||||
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
#define MSG_AUTO_HOME_Z _UxGT("Home Z")
|
||||||
#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriere Z")
|
#define MSG_TMC_Z_CALIBRATION _UxGT("Kalibriere Z")
|
||||||
#define MSG_LEVEL_BED_HOMING _UxGT("Home XYZ")
|
#define MSG_LEVEL_BED_HOMING _UxGT("Home XYZ")
|
||||||
#define MSG_LEVEL_BED_WAITING _UxGT("Klick für Start")
|
#define MSG_LEVEL_BED_WAITING _UxGT("Klick zum Starten")
|
||||||
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nächste Koordinate")
|
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Nächste Koordinate")
|
||||||
#define MSG_LEVEL_BED_DONE _UxGT("Fertig")
|
#define MSG_LEVEL_BED_DONE _UxGT("Nivellieren fertig!")
|
||||||
#define MSG_Z_FADE_HEIGHT _UxGT("Ausblendhöhe")
|
#define MSG_Z_FADE_HEIGHT _UxGT("Ausblendhöhe")
|
||||||
#define MSG_SET_HOME_OFFSETS _UxGT("Setze Homeversatz")
|
#define MSG_SET_HOME_OFFSETS _UxGT("Setze Homeversatz")
|
||||||
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Homeversatz aktiv")
|
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Homeversatz aktiv")
|
||||||
#define MSG_SET_ORIGIN _UxGT("Setze Nullpunkt") //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
|
#define MSG_SET_ORIGIN _UxGT("Setze Nullpunkte") //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
|
||||||
#define MSG_PREHEAT_1 _UxGT("Vorwärmen PLA")
|
#define MSG_PREHEAT_1 _UxGT("Vorwärmen PLA")
|
||||||
#define MSG_PREHEAT_1_N _UxGT("Vorwärmen PLA ")
|
#define MSG_PREHEAT_1_N _UxGT("Vorwärmen PLA ")
|
||||||
#define MSG_PREHEAT_1_ALL _UxGT("Vorw. PLA Alle")
|
#define MSG_PREHEAT_1_ALL _UxGT("Vorw. PLA Alles")
|
||||||
#define MSG_PREHEAT_1_END _UxGT("Vorw. PLA Extr.")
|
#define MSG_PREHEAT_1_END _UxGT("Vorw. PLA Extr.")
|
||||||
#define MSG_PREHEAT_1_BEDONLY _UxGT("Vorw. PLA Bett")
|
#define MSG_PREHEAT_1_BEDONLY _UxGT("Vorw. PLA Bett")
|
||||||
#define MSG_PREHEAT_1_SETTINGS _UxGT("Vorw. PLA Einst.")
|
#define MSG_PREHEAT_1_SETTINGS _UxGT("Vorw. PLA Einst.")
|
||||||
#define MSG_PREHEAT_2 _UxGT("Vorwärmen ABS")
|
#define MSG_PREHEAT_2 _UxGT("Vorwärmen ABS")
|
||||||
#define MSG_PREHEAT_2_N _UxGT("Vorwärmen ABS ")
|
#define MSG_PREHEAT_2_N _UxGT("Vorwärmen ABS ")
|
||||||
#define MSG_PREHEAT_2_ALL _UxGT("Vorw. ABS Alle")
|
#define MSG_PREHEAT_2_ALL _UxGT("Vorw. ABS Alles")
|
||||||
#define MSG_PREHEAT_2_END _UxGT("Vorw. ABS Extr.")
|
#define MSG_PREHEAT_2_END _UxGT("Vorw. ABS Extr.")
|
||||||
#define MSG_PREHEAT_2_BEDONLY _UxGT("Vorw. ABS Bett")
|
#define MSG_PREHEAT_2_BEDONLY _UxGT("Vorw. ABS Bett")
|
||||||
#define MSG_PREHEAT_2_SETTINGS _UxGT("Vorw. ABS Einst.")
|
#define MSG_PREHEAT_2_SETTINGS _UxGT("Vorw. ABS Einst.")
|
||||||
|
@ -75,20 +76,102 @@
|
||||||
#define MSG_SWITCH_PS_ON _UxGT("Netzteil ein")
|
#define MSG_SWITCH_PS_ON _UxGT("Netzteil ein")
|
||||||
#define MSG_SWITCH_PS_OFF _UxGT("Netzteil aus")
|
#define MSG_SWITCH_PS_OFF _UxGT("Netzteil aus")
|
||||||
#define MSG_EXTRUDE _UxGT("Extrudieren")
|
#define MSG_EXTRUDE _UxGT("Extrudieren")
|
||||||
#define MSG_RETRACT _UxGT("Retract")
|
#define MSG_RETRACT _UxGT("Rückzug")
|
||||||
#define MSG_MOVE_AXIS _UxGT("Bewegen")
|
#define MSG_MOVE_AXIS _UxGT("Achse Bewegen")
|
||||||
#define MSG_BED_LEVELING _UxGT("Bett Nivellierung")
|
#define MSG_BED_LEVELING _UxGT("Bett-Nivellierung")
|
||||||
#define MSG_LEVEL_BED _UxGT("Bett nivellieren")
|
#define MSG_LEVEL_BED _UxGT("Bett nivellieren")
|
||||||
#define MSG_LEVEL_CORNERS _UxGT("Ecken nivellieren")
|
#define MSG_LEVEL_CORNERS _UxGT("Ecken nivellieren")
|
||||||
#define MSG_NEXT_CORNER _UxGT("Nächste Ecke")
|
#define MSG_NEXT_CORNER _UxGT("Nächste Ecke")
|
||||||
#define MSG_EDITING_STOPPED _UxGT("Netzbearb. angeh.")
|
#define MSG_EDITING_STOPPED _UxGT("Netzbearb. angeh.")
|
||||||
#define MSG_USER_MENU _UxGT("Benutzer Menü")
|
#define MSG_USER_MENU _UxGT("Benutzer-Menü")
|
||||||
|
#define MSG_UBL_DOING_G29 _UxGT("G29 ausführen")
|
||||||
|
#define MSG_UBL_UNHOMED _UxGT("Home XYZ zuerst")
|
||||||
|
#define MSG_UBL_TOOLS _UxGT("UBL-Werkzeuge")
|
||||||
|
#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling")
|
||||||
|
#define MSG_UBL_MANUAL_MESH _UxGT("Netz manuell erst.")
|
||||||
|
#define MSG_UBL_BC_INSERT _UxGT("Unterlegen & messen")
|
||||||
|
#define MSG_UBL_BC_INSERT2 _UxGT("Messen")
|
||||||
|
#define MSG_UBL_BC_REMOVE _UxGT("Entfernen & messen")
|
||||||
|
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Nächster Punkt...")
|
||||||
|
#define MSG_UBL_ACTIVATE_MESH _UxGT("UBL aktivieren")
|
||||||
|
#define MSG_UBL_DEACTIVATE_MESH _UxGT("UBL deaktivieren")
|
||||||
|
#define MSG_UBL_SET_BED_TEMP _UxGT("Betttemperatur")
|
||||||
|
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
|
||||||
|
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Hotend-Temp.")
|
||||||
|
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
|
||||||
|
#define MSG_UBL_MESH_EDIT _UxGT("Netz bearbeiten")
|
||||||
|
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Eigenes Netz bearb.")
|
||||||
|
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Feineinstellung...")
|
||||||
|
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Bearbeitung beendet")
|
||||||
|
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Eigenes Netz erst.")
|
||||||
|
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Netz erstellen")
|
||||||
|
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Netz erstellen PLA")
|
||||||
|
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Netz erstellen ABS")
|
||||||
|
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Netz erstellen kalt")
|
||||||
|
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Netzhöhe einst.")
|
||||||
|
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Höhe")
|
||||||
|
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Netz validieren")
|
||||||
|
#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Netz validieren PLA")
|
||||||
|
#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Netz validieren ABS")
|
||||||
|
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Eig. Netz validieren")
|
||||||
|
#define MSG_UBL_CONTINUE_MESH _UxGT("Netzerst. forts.")
|
||||||
|
#define MSG_UBL_MESH_LEVELING _UxGT("Netz-Nivellierung")
|
||||||
|
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-Punkt-Nivell.")
|
||||||
|
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Gitternetz-Nivell.")
|
||||||
|
#define MSG_UBL_MESH_LEVEL _UxGT("Netz nivellieren")
|
||||||
|
#define MSG_UBL_SIDE_POINTS _UxGT("Eckpunkte")
|
||||||
|
#define MSG_UBL_MAP_TYPE _UxGT("Kartentyp")
|
||||||
|
#define MSG_UBL_OUTPUT_MAP _UxGT("Karte ausgeben")
|
||||||
|
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Ausgabe für Host")
|
||||||
|
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Ausgabe für CSV")
|
||||||
|
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Externe Sicherung")
|
||||||
|
#define MSG_UBL_INFO_UBL _UxGT("UBL-Info ausgeben")
|
||||||
|
#define MSG_UBL_EDIT_MESH_MENU _UxGT("Netz bearbeiten")
|
||||||
|
#define MSG_UBL_FILLIN_AMOUNT _UxGT("Menge an Füllung")
|
||||||
|
#define MSG_UBL_MANUAL_FILLIN _UxGT("Manuelles Füllung")
|
||||||
|
#define MSG_UBL_SMART_FILLIN _UxGT("Cleveres Füllen")
|
||||||
|
#define MSG_UBL_FILLIN_MESH _UxGT("Netz Füllen")
|
||||||
|
#define MSG_UBL_INVALIDATE_ALL _UxGT("Alles annullieren")
|
||||||
|
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Nächstlieg. ann.")
|
||||||
|
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Feineinst. Alles")
|
||||||
|
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Feineinst. Nächstl.")
|
||||||
|
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Netz-Speicherplatz")
|
||||||
|
#define MSG_UBL_STORAGE_SLOT _UxGT("Speicherort")
|
||||||
|
#define MSG_UBL_LOAD_MESH _UxGT("Bettnetz laden")
|
||||||
|
#define MSG_UBL_SAVE_MESH _UxGT("Bettnetz speichern")
|
||||||
|
#define MSG_MESH_LOADED _UxGT("Netz %i geladen")
|
||||||
|
#define MSG_MESH_SAVED _UxGT("Netz %i gespeichert")
|
||||||
|
#define MSG_NO_STORAGE _UxGT("Kein Speicher")
|
||||||
|
#define MSG_UBL_SAVE_ERROR _UxGT("ERR:UBL speichern")
|
||||||
|
#define MSG_UBL_RESTORE_ERROR _UxGT("ERR:UBL wiederherst.")
|
||||||
|
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Z-Versatz angehalten")
|
||||||
|
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("Schrittweises UBL")
|
||||||
|
|
||||||
|
#define MSG_LED_CONTROL _UxGT("LED-Steuerung")
|
||||||
|
#define MSG_LEDS _UxGT("Licht")
|
||||||
|
#define MSG_LED_PRESETS _UxGT("Licht-Einstellungen")
|
||||||
|
#define MSG_SET_LEDS_RED _UxGT("Rot")
|
||||||
|
#define MSG_SET_LEDS_ORANGE _UxGT("Orange")
|
||||||
|
#define MSG_SET_LEDS_YELLOW _UxGT("Gelb")
|
||||||
|
#define MSG_SET_LEDS_GREEN _UxGT("Grün")
|
||||||
|
#define MSG_SET_LEDS_BLUE _UxGT("Blau")
|
||||||
|
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
|
||||||
|
#define MSG_SET_LEDS_VIOLET _UxGT("Violett")
|
||||||
|
#define MSG_SET_LEDS_WHITE _UxGT("Weiß")
|
||||||
|
#define MSG_SET_LEDS_DEFAULT _UxGT("Standard")
|
||||||
|
#define MSG_CUSTOM_LEDS _UxGT("Benutzerdef.")
|
||||||
|
#define MSG_INTENSITY_R _UxGT("Intensität Rot")
|
||||||
|
#define MSG_INTENSITY_G _UxGT("Intensität Grün")
|
||||||
|
#define MSG_INTENSITY_B _UxGT("Intensität Blau")
|
||||||
|
#define MSG_INTENSITY_W _UxGT("Intensität Weiß")
|
||||||
|
#define MSG_LED_BRIGHTNESS _UxGT("Helligkeit")
|
||||||
|
|
||||||
#define MSG_MOVING _UxGT("In Bewegung...")
|
#define MSG_MOVING _UxGT("In Bewegung...")
|
||||||
#define MSG_FREE_XY _UxGT("Abstand XY")
|
#define MSG_FREE_XY _UxGT("Abstand XY")
|
||||||
#define MSG_MOVE_X _UxGT("X")
|
#define MSG_MOVE_X _UxGT("Bewege X")
|
||||||
#define MSG_MOVE_Y _UxGT("Y")
|
#define MSG_MOVE_Y _UxGT("Bewege Y")
|
||||||
#define MSG_MOVE_Z _UxGT("Z")
|
#define MSG_MOVE_Z _UxGT("Bewege Z")
|
||||||
#define MSG_MOVE_E _UxGT("Extruder ")
|
#define MSG_MOVE_E _UxGT("Bewege Extruder")
|
||||||
#define MSG_MOVE_01MM _UxGT(" 0,1 mm")
|
#define MSG_MOVE_01MM _UxGT(" 0,1 mm")
|
||||||
#define MSG_MOVE_1MM _UxGT(" 1,0 mm")
|
#define MSG_MOVE_1MM _UxGT(" 1,0 mm")
|
||||||
#define MSG_MOVE_10MM _UxGT("10,0 mm")
|
#define MSG_MOVE_10MM _UxGT("10,0 mm")
|
||||||
|
@ -97,13 +180,13 @@
|
||||||
#define MSG_NOZZLE _UxGT("Düse")
|
#define MSG_NOZZLE _UxGT("Düse")
|
||||||
#define MSG_BED _UxGT("Bett")
|
#define MSG_BED _UxGT("Bett")
|
||||||
#define MSG_FAN_SPEED _UxGT("Lüfter")
|
#define MSG_FAN_SPEED _UxGT("Lüfter")
|
||||||
#define MSG_EXTRA_FAN_SPEED _UxGT("Extra Lüfter")
|
#define MSG_EXTRA_FAN_SPEED _UxGT("Geschw. Extralüfter")
|
||||||
#define MSG_FLOW _UxGT("Flussrate")
|
#define MSG_FLOW _UxGT("Flussrate")
|
||||||
#define MSG_CONTROL _UxGT("Einstellungen")
|
#define MSG_CONTROL _UxGT("Einstellungen")
|
||||||
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" min")
|
#define MSG_MIN LCD_STR_THERMOMETER _UxGT(" min")
|
||||||
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" max")
|
#define MSG_MAX LCD_STR_THERMOMETER _UxGT(" max")
|
||||||
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Faktor")
|
#define MSG_FACTOR LCD_STR_THERMOMETER _UxGT(" Faktor")
|
||||||
#define MSG_AUTOTEMP _UxGT("AutoTemp")
|
#define MSG_AUTOTEMP _UxGT("Auto Temperatur")
|
||||||
#define MSG_ON _UxGT("Ein")
|
#define MSG_ON _UxGT("Ein")
|
||||||
#define MSG_OFF _UxGT("Aus")
|
#define MSG_OFF _UxGT("Aus")
|
||||||
#define MSG_PID_P _UxGT("PID P")
|
#define MSG_PID_P _UxGT("PID P")
|
||||||
|
@ -111,7 +194,7 @@
|
||||||
#define MSG_PID_D _UxGT("PID D")
|
#define MSG_PID_D _UxGT("PID D")
|
||||||
#define MSG_PID_C _UxGT("PID C")
|
#define MSG_PID_C _UxGT("PID C")
|
||||||
#define MSG_SELECT _UxGT("Auswählen")
|
#define MSG_SELECT _UxGT("Auswählen")
|
||||||
#define MSG_ACC _UxGT("A")
|
#define MSG_ACC _UxGT("Beschleunigung")
|
||||||
#define MSG_JERK _UxGT("Jerk")
|
#define MSG_JERK _UxGT("Jerk")
|
||||||
#if IS_KINEMATIC
|
#if IS_KINEMATIC
|
||||||
#define MSG_VA_JERK _UxGT("V A Jerk")
|
#define MSG_VA_JERK _UxGT("V A Jerk")
|
||||||
|
@ -123,13 +206,14 @@
|
||||||
#define MSG_VC_JERK _UxGT("V Z Jerk")
|
#define MSG_VC_JERK _UxGT("V Z Jerk")
|
||||||
#endif
|
#endif
|
||||||
#define MSG_VE_JERK _UxGT("V E Jerk")
|
#define MSG_VE_JERK _UxGT("V E Jerk")
|
||||||
|
#define MSG_JUNCTION_DEVIATION _UxGT("Junction Dev")
|
||||||
#define MSG_VELOCITY _UxGT("Geschwindigkeit")
|
#define MSG_VELOCITY _UxGT("Geschwindigkeit")
|
||||||
#define MSG_VMAX _UxGT("V max ") // space by purpose
|
#define MSG_VMAX _UxGT("V max ") // space intentional
|
||||||
#define MSG_VMIN _UxGT("V min")
|
#define MSG_VMIN _UxGT("V min")
|
||||||
#define MSG_VTRAV_MIN _UxGT("V min Leerfahrt")
|
#define MSG_VTRAV_MIN _UxGT("V min Leerfahrt")
|
||||||
#define MSG_ACCELERATION _UxGT("Beschleunigung")
|
#define MSG_ACCELERATION _UxGT("Beschleunigung")
|
||||||
#define MSG_AMAX _UxGT("A max ") // space by purpose
|
#define MSG_AMAX _UxGT("A max ") // space intentional
|
||||||
#define MSG_A_RETRACT _UxGT("A Retract")
|
#define MSG_A_RETRACT _UxGT("A Rückzug")
|
||||||
#define MSG_A_TRAVEL _UxGT("A Leerfahrt")
|
#define MSG_A_TRAVEL _UxGT("A Leerfahrt")
|
||||||
#define MSG_STEPS_PER_MM _UxGT("Steps/mm")
|
#define MSG_STEPS_PER_MM _UxGT("Steps/mm")
|
||||||
#if IS_KINEMATIC
|
#if IS_KINEMATIC
|
||||||
|
@ -151,11 +235,11 @@
|
||||||
#define MSG_MOTION _UxGT("Bewegung")
|
#define MSG_MOTION _UxGT("Bewegung")
|
||||||
#define MSG_FILAMENT _UxGT("Filament")
|
#define MSG_FILAMENT _UxGT("Filament")
|
||||||
#define MSG_VOLUMETRIC_ENABLED _UxGT("E in mm³")
|
#define MSG_VOLUMETRIC_ENABLED _UxGT("E in mm³")
|
||||||
#define MSG_FILAMENT_DIAM _UxGT("D Fil.")
|
#define MSG_FILAMENT_DIAM _UxGT("Durchm. Filament")
|
||||||
#define MSG_FILAMENT_UNLOAD _UxGT("Entladen mm")
|
#define MSG_FILAMENT_UNLOAD _UxGT("Entladen mm")
|
||||||
#define MSG_FILAMENT_LOAD _UxGT("Laden mm")
|
#define MSG_FILAMENT_LOAD _UxGT("Laden mm")
|
||||||
#define MSG_ADVANCE_K _UxGT("Advance Faktor")
|
#define MSG_ADVANCE_K _UxGT("Vorschubfaktor")
|
||||||
#define MSG_CONTRAST _UxGT("LCD Kontrast")
|
#define MSG_CONTRAST _UxGT("LCD-Kontrast")
|
||||||
#define MSG_STORE_EEPROM _UxGT("Konfig. speichern")
|
#define MSG_STORE_EEPROM _UxGT("Konfig. speichern")
|
||||||
#define MSG_LOAD_EEPROM _UxGT("Konfig. laden")
|
#define MSG_LOAD_EEPROM _UxGT("Konfig. laden")
|
||||||
#define MSG_RESTORE_FAILSAFE _UxGT("Standardwerte laden")
|
#define MSG_RESTORE_FAILSAFE _UxGT("Standardwerte laden")
|
||||||
|
@ -164,49 +248,52 @@
|
||||||
#define MSG_WATCH _UxGT("Info")
|
#define MSG_WATCH _UxGT("Info")
|
||||||
#define MSG_PREPARE _UxGT("Vorbereitung")
|
#define MSG_PREPARE _UxGT("Vorbereitung")
|
||||||
#define MSG_TUNE _UxGT("Justierung")
|
#define MSG_TUNE _UxGT("Justierung")
|
||||||
#define MSG_PAUSE_PRINT _UxGT("SD-Druck Pause")
|
#define MSG_PAUSE_PRINT _UxGT("SD-Druck pausieren")
|
||||||
#define MSG_RESUME_PRINT _UxGT("SD-Druck Fortsetzung")
|
#define MSG_RESUME_PRINT _UxGT("SD-Druck fortsetzen")
|
||||||
#define MSG_STOP_PRINT _UxGT("SD-Druck Abbruch")
|
#define MSG_STOP_PRINT _UxGT("SD-Druck abbrechen")
|
||||||
#define MSG_CARD_MENU _UxGT("SD-Karte")
|
#define MSG_POWER_LOSS_RECOVERY _UxGT("Wiederh. n. Stroma.")
|
||||||
|
#define MSG_CARD_MENU _UxGT("Druck v. SD-Karte")
|
||||||
#define MSG_NO_CARD _UxGT("Keine SD-Karte")
|
#define MSG_NO_CARD _UxGT("Keine SD-Karte")
|
||||||
#define MSG_DWELL _UxGT("Warten...")
|
#define MSG_DWELL _UxGT("Warten...")
|
||||||
#define MSG_USERWAIT _UxGT("Warte auf Nutzer")
|
#define MSG_USERWAIT _UxGT("Klick zum Fortsetzen")
|
||||||
#define MSG_PRINT_PAUSED _UxGT("Druck pausiert")
|
#define MSG_PRINT_PAUSED _UxGT("Druck pausiert...")
|
||||||
|
#define MSG_PRINTING _UxGT("Druckt...")
|
||||||
#define MSG_PRINT_ABORTED _UxGT("Druck abgebrochen")
|
#define MSG_PRINT_ABORTED _UxGT("Druck abgebrochen")
|
||||||
#define MSG_NO_MOVE _UxGT("Motoren eingeschaltet")
|
#define MSG_NO_MOVE _UxGT("Motoren angeschaltet")
|
||||||
#define MSG_KILLED _UxGT("ABGEBROCHEN")
|
#define MSG_KILLED _UxGT("ABGEBROCHEN")
|
||||||
#define MSG_STOPPED _UxGT("ANGEHALTEN")
|
#define MSG_STOPPED _UxGT("ANGEHALTEN")
|
||||||
#define MSG_CONTROL_RETRACT _UxGT("Retract mm")
|
#define MSG_CONTROL_RETRACT _UxGT("Rückzug mm")
|
||||||
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Wechs. Retract mm")
|
#define MSG_CONTROL_RETRACT_SWAP _UxGT("Wechs. Rückzug mm")
|
||||||
#define MSG_CONTROL_RETRACTF _UxGT("Retract V")
|
#define MSG_CONTROL_RETRACTF _UxGT("Rückzug V")
|
||||||
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Z-Hop mm")
|
#define MSG_CONTROL_RETRACT_ZLIFT _UxGT("Z-Sprung mm")
|
||||||
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm")
|
#define MSG_CONTROL_RETRACT_RECOVER _UxGT("UnRet mm")
|
||||||
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Wechs. UnRet mm")
|
#define MSG_CONTROL_RETRACT_RECOVER_SWAP _UxGT("Wechs. UnRet mm")
|
||||||
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V")
|
#define MSG_CONTROL_RETRACT_RECOVERF _UxGT("UnRet V")
|
||||||
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V")
|
#define MSG_CONTROL_RETRACT_RECOVER_SWAPF _UxGT("S UnRet V")
|
||||||
#define MSG_AUTORETRACT _UxGT("Autom. Retract")
|
#define MSG_AUTORETRACT _UxGT("Autom. Rückzug")
|
||||||
#define MSG_FILAMENTCHANGE _UxGT("Filament wechseln")
|
#define MSG_FILAMENTCHANGE _UxGT("Filament wechseln")
|
||||||
#define MSG_FILAMENTLOAD _UxGT("Filament laden")
|
#define MSG_FILAMENTLOAD _UxGT("Filament laden")
|
||||||
#define MSG_FILAMENTUNLOAD _UxGT("Filament entladen")
|
#define MSG_FILAMENTUNLOAD _UxGT("Filament entladen")
|
||||||
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Alles entladen")
|
#define MSG_FILAMENTUNLOAD_ALL _UxGT("Alles entladen")
|
||||||
#define MSG_INIT_SDCARD _UxGT("SD-Karte erkennen") // Manually initialize the SD-card via user interface
|
#define MSG_INIT_SDCARD _UxGT("SD-Karte initialisi.") // Manually initialize the SD-card via user interface
|
||||||
#define MSG_CNG_SDCARD _UxGT("SD-Karte getauscht") // SD-card changed by user. For machines with no autocarddetect. Both send "M21"
|
#define MSG_CNG_SDCARD _UxGT("SD-Karte getauscht") // SD-card changed by user. For machines with no autocarddetect. Both send "M21"
|
||||||
#define MSG_ZPROBE_OUT _UxGT("Sensor ausserhalb")
|
#define MSG_ZPROBE_OUT _UxGT("Z-Sonde außerhalb")
|
||||||
#define MSG_SKEW_FACTOR _UxGT("Skew Faktor")
|
#define MSG_SKEW_FACTOR _UxGT("Korrekturfaktor")
|
||||||
#define MSG_BLTOUCH _UxGT("BLTouch")
|
#define MSG_BLTOUCH _UxGT("BLTouch")
|
||||||
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Test")
|
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Selbsttest")
|
||||||
#define MSG_BLTOUCH_RESET _UxGT("BLTouch Reset")
|
#define MSG_BLTOUCH_RESET _UxGT("BLTouch zurücks.")
|
||||||
#define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch ausfahren")
|
#define MSG_BLTOUCH_DEPLOY _UxGT("BLTouch ausfahren")
|
||||||
#define MSG_BLTOUCH_STOW _UxGT("BLTouch einfahren")
|
#define MSG_BLTOUCH_STOW _UxGT("BLTouch einfahren")
|
||||||
#define MSG_HOME _UxGT("Vorher") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
|
#define MSG_HOME _UxGT("Vorher") // Used as MSG_HOME " " MSG_X MSG_Y MSG_Z " " MSG_FIRST
|
||||||
#define MSG_FIRST _UxGT("homen")
|
#define MSG_FIRST _UxGT("homen")
|
||||||
#define MSG_ZPROBE_ZOFFSET _UxGT("Z Versatz")
|
#define MSG_ZPROBE_ZOFFSET _UxGT("Sondenversatz Z")
|
||||||
#define MSG_BABYSTEP_X _UxGT("Babystep X")
|
#define MSG_BABYSTEP_X _UxGT("Babystep X")
|
||||||
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
|
#define MSG_BABYSTEP_Y _UxGT("Babystep Y")
|
||||||
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
|
#define MSG_BABYSTEP_Z _UxGT("Babystep Z")
|
||||||
#define MSG_ENDSTOP_ABORT _UxGT("Endstopp-Abbr.")
|
#define MSG_ENDSTOP_ABORT _UxGT("Endstopp Abbr.")
|
||||||
#define MSG_HEATING_FAILED_LCD _UxGT("HEIZEN FEHLGESCHLAGEN")
|
#define MSG_HEATING_FAILED_LCD _UxGT("HEIZEN ERFOLGLOS")
|
||||||
#define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEMPERATURABWEICHUNG")
|
#define MSG_HEATING_FAILED_LCD_BED _UxGT("Bett heizen fehlge.")
|
||||||
|
#define MSG_ERR_REDUNDANT_TEMP _UxGT("REDUND. TEMP-ABWEI.")
|
||||||
#define MSG_THERMAL_RUNAWAY LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT")
|
#define MSG_THERMAL_RUNAWAY LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT")
|
||||||
#define MSG_THERMAL_RUNAWAY_BED _UxGT("BETT") MSG_THERMAL_RUNAWAY
|
#define MSG_THERMAL_RUNAWAY_BED _UxGT("BETT") MSG_THERMAL_RUNAWAY
|
||||||
#define MSG_ERR_MAXTEMP LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN")
|
#define MSG_ERR_MAXTEMP LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN")
|
||||||
|
@ -215,12 +302,14 @@
|
||||||
#define MSG_ERR_MINTEMP_BED _UxGT("BETT ") LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN")
|
#define MSG_ERR_MINTEMP_BED _UxGT("BETT ") LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN")
|
||||||
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
|
#define MSG_ERR_Z_HOMING MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
|
||||||
#define MSG_HALTED _UxGT("DRUCKER STOPP")
|
#define MSG_HALTED _UxGT("DRUCKER STOPP")
|
||||||
#define MSG_PLEASE_RESET _UxGT("Bitte Resetten")
|
#define MSG_PLEASE_RESET _UxGT("Bitte neustarten")
|
||||||
#define MSG_SHORT_DAY _UxGT("t") // One character only
|
#define MSG_SHORT_DAY _UxGT("t") // One character only
|
||||||
#define MSG_SHORT_HOUR _UxGT("h") // One character only
|
#define MSG_SHORT_HOUR _UxGT("h") // One character only
|
||||||
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
|
#define MSG_SHORT_MINUTE _UxGT("m") // One character only
|
||||||
#define MSG_HEATING _UxGT("Extr. heizt...")
|
#define MSG_HEATING _UxGT("Extr. heizt...")
|
||||||
|
#define MSG_COOLING _UxGT("Extr. kühlt...")
|
||||||
#define MSG_BED_HEATING _UxGT("Bett heizt...")
|
#define MSG_BED_HEATING _UxGT("Bett heizt...")
|
||||||
|
#define MSG_BED_COOLING _UxGT("Bett kühlt...")
|
||||||
#define MSG_DELTA_CALIBRATE _UxGT("Delta kalibrieren")
|
#define MSG_DELTA_CALIBRATE _UxGT("Delta kalibrieren")
|
||||||
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibriere X")
|
#define MSG_DELTA_CALIBRATE_X _UxGT("Kalibriere X")
|
||||||
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibriere Y")
|
#define MSG_DELTA_CALIBRATE_Y _UxGT("Kalibriere Y")
|
||||||
|
@ -229,170 +318,93 @@
|
||||||
#define MSG_DELTA_SETTINGS _UxGT("Delta Einst. anzeig.")
|
#define MSG_DELTA_SETTINGS _UxGT("Delta Einst. anzeig.")
|
||||||
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autom. Kalibrierung")
|
#define MSG_DELTA_AUTO_CALIBRATE _UxGT("Autom. Kalibrierung")
|
||||||
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Delta Höhe setzen")
|
#define MSG_DELTA_HEIGHT_CALIBRATE _UxGT("Delta Höhe setzen")
|
||||||
|
#define MSG_DELTA_Z_OFFSET_CALIBRATE _UxGT("Sondenversatz Z")
|
||||||
#define MSG_DELTA_DIAG_ROD _UxGT("Diag Rod")
|
#define MSG_DELTA_DIAG_ROD _UxGT("Diag Rod")
|
||||||
#define MSG_DELTA_HEIGHT _UxGT("Höhe")
|
#define MSG_DELTA_HEIGHT _UxGT("Höhe")
|
||||||
#define MSG_DELTA_RADIUS _UxGT("Radius")
|
#define MSG_DELTA_RADIUS _UxGT("Radius")
|
||||||
#define MSG_INFO_MENU _UxGT("Über den Drucker")
|
#define MSG_INFO_MENU _UxGT("Über den Drucker")
|
||||||
#define MSG_INFO_PRINTER_MENU _UxGT("Drucker Info")
|
#define MSG_INFO_PRINTER_MENU _UxGT("Drucker-Info")
|
||||||
#define MSG_3POINT_LEVELING _UxGT("3-Punkt Nivellierung")
|
#define MSG_3POINT_LEVELING _UxGT("3-Punkt-Nivellierung")
|
||||||
#define MSG_LINEAR_LEVELING _UxGT("Lineare Nivellierung")
|
#define MSG_LINEAR_LEVELING _UxGT("Lineare Nivellierung")
|
||||||
#define MSG_BILINEAR_LEVELING _UxGT("Bilineare Nivell.")
|
#define MSG_BILINEAR_LEVELING _UxGT("Bilineare Nivell.")
|
||||||
#define MSG_UBL_LEVELING _UxGT("Unified Bed Leveling")
|
#define MSG_UBL_LEVELING _UxGT("Unified Bed Leveling")
|
||||||
#define MSG_MESH_LEVELING _UxGT("Netz Nivellierung")
|
#define MSG_MESH_LEVELING _UxGT("Netz-Nivellierung")
|
||||||
#define MSG_INFO_STATS_MENU _UxGT("Drucker Statistik")
|
#define MSG_INFO_STATS_MENU _UxGT("Drucker-Statistik")
|
||||||
#define MSG_INFO_BOARD_MENU _UxGT("Board Info")
|
#define MSG_INFO_BOARD_MENU _UxGT("Board-Info")
|
||||||
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistoren")
|
#define MSG_INFO_THERMISTOR_MENU _UxGT("Thermistoren")
|
||||||
#define MSG_INFO_EXTRUDERS _UxGT("Extruder")
|
#define MSG_INFO_EXTRUDERS _UxGT("Extruder")
|
||||||
#define MSG_INFO_BAUDRATE _UxGT("Baud")
|
#define MSG_INFO_BAUDRATE _UxGT("Baudrate")
|
||||||
#define MSG_INFO_PROTOCOL _UxGT("Protokoll")
|
#define MSG_INFO_PROTOCOL _UxGT("Protokoll")
|
||||||
#define MSG_CASE_LIGHT _UxGT("Beleuchtung")
|
#define MSG_CASE_LIGHT _UxGT("Beleuchtung")
|
||||||
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Helligkeit")
|
#define MSG_CASE_LIGHT_BRIGHTNESS _UxGT("Helligkeit")
|
||||||
|
|
||||||
#define MSG_UBL_DOING_G29 _UxGT("G29 UBL läuft!")
|
|
||||||
#define MSG_UBL_UNHOMED _UxGT("Erst XYZ homen")
|
|
||||||
#define MSG_UBL_TOOLS _UxGT("UBL Werkzeuge")
|
|
||||||
#define MSG_UBL_LEVEL_BED _UxGT("Unified Bed Leveling")
|
|
||||||
#define MSG_UBL_MANUAL_MESH _UxGT("Netz manuell erst.")
|
|
||||||
#define MSG_UBL_BC_INSERT _UxGT("Unterlegen & messen")
|
|
||||||
#define MSG_UBL_BC_INSERT2 _UxGT("Messen")
|
|
||||||
#define MSG_UBL_BC_REMOVE _UxGT("Entfernen & messen")
|
|
||||||
#define MSG_UBL_MOVING_TO_NEXT _UxGT("Nächster Punkt...")
|
|
||||||
#define MSG_UBL_ACTIVATE_MESH _UxGT("UBL aktivieren")
|
|
||||||
#define MSG_UBL_DEACTIVATE_MESH _UxGT("UBL deaktivieren")
|
|
||||||
#define MSG_UBL_SET_BED_TEMP _UxGT("Bett Temp.")
|
|
||||||
#define MSG_UBL_CUSTOM_BED_TEMP MSG_UBL_SET_BED_TEMP
|
|
||||||
#define MSG_UBL_SET_HOTEND_TEMP _UxGT("Hotend Temp.")
|
|
||||||
#define MSG_UBL_CUSTOM_HOTEND_TEMP MSG_UBL_SET_HOTEND_TEMP
|
|
||||||
#define MSG_UBL_MESH_EDIT _UxGT("Netz bearbeiten")
|
|
||||||
#define MSG_UBL_EDIT_CUSTOM_MESH _UxGT("Eigenes Netz bearb.")
|
|
||||||
#define MSG_UBL_FINE_TUNE_MESH _UxGT("Feineinstellung...")
|
|
||||||
#define MSG_UBL_DONE_EDITING_MESH _UxGT("Bearbeitung beendet")
|
|
||||||
#define MSG_UBL_BUILD_CUSTOM_MESH _UxGT("Eigenes Netz erst.")
|
|
||||||
#define MSG_UBL_BUILD_MESH_MENU _UxGT("Netz erstellen")
|
|
||||||
#define MSG_UBL_BUILD_PLA_MESH _UxGT("Netz erstellen PLA")
|
|
||||||
#define MSG_UBL_BUILD_ABS_MESH _UxGT("Netz erstellen ABS")
|
|
||||||
#define MSG_UBL_BUILD_COLD_MESH _UxGT("Netz erstellen kalt")
|
|
||||||
#define MSG_UBL_MESH_HEIGHT_ADJUST _UxGT("Netz Höhe einst.")
|
|
||||||
#define MSG_UBL_MESH_HEIGHT_AMOUNT _UxGT("Höhe")
|
|
||||||
#define MSG_UBL_VALIDATE_MESH_MENU _UxGT("Netz validieren")
|
|
||||||
#define MSG_UBL_VALIDATE_PLA_MESH _UxGT("Netz validieren PLA")
|
|
||||||
#define MSG_UBL_VALIDATE_ABS_MESH _UxGT("Netz validieren ABS")
|
|
||||||
#define MSG_UBL_VALIDATE_CUSTOM_MESH _UxGT("Eig. Netz validieren")
|
|
||||||
#define MSG_UBL_CONTINUE_MESH _UxGT("Netzerst. forts.")
|
|
||||||
#define MSG_UBL_MESH_LEVELING _UxGT("Netz Nivellierung")
|
|
||||||
#define MSG_UBL_3POINT_MESH_LEVELING _UxGT("3-Punkt Nivellierung")
|
|
||||||
#define MSG_UBL_GRID_MESH_LEVELING _UxGT("Gitternetz Nivell.")
|
|
||||||
#define MSG_UBL_MESH_LEVEL _UxGT("Netz nivellieren")
|
|
||||||
#define MSG_UBL_SIDE_POINTS _UxGT("Eckpunkte")
|
|
||||||
#define MSG_UBL_MAP_TYPE _UxGT("Kartentyp")
|
|
||||||
#define MSG_UBL_OUTPUT_MAP _UxGT("Karte ausgeben")
|
|
||||||
#define MSG_UBL_OUTPUT_MAP_HOST _UxGT("Ausgabe für Host")
|
|
||||||
#define MSG_UBL_OUTPUT_MAP_CSV _UxGT("Ausgabe für CSV")
|
|
||||||
#define MSG_UBL_OUTPUT_MAP_BACKUP _UxGT("Externe Sicherung")
|
|
||||||
#define MSG_UBL_INFO_UBL _UxGT("UBL Info ausgeben")
|
|
||||||
#define MSG_UBL_EDIT_MESH_MENU _UxGT("Netz bearbeiten")
|
|
||||||
#define MSG_UBL_FILLIN_AMOUNT _UxGT("Menge an Fill-in")
|
|
||||||
#define MSG_UBL_MANUAL_FILLIN _UxGT("Manuelles Fill-in")
|
|
||||||
#define MSG_UBL_SMART_FILLIN _UxGT("Kluges Fill-in")
|
|
||||||
#define MSG_UBL_FILLIN_MESH _UxGT("Fill-in Netz")
|
|
||||||
#define MSG_UBL_INVALIDATE_ALL _UxGT("Alles annullieren")
|
|
||||||
#define MSG_UBL_INVALIDATE_CLOSEST _UxGT("Nächstlieg. ann.")
|
|
||||||
#define MSG_UBL_FINE_TUNE_ALL _UxGT("Feineinstellung Alle")
|
|
||||||
#define MSG_UBL_FINE_TUNE_CLOSEST _UxGT("Feineinst. Nächstl.")
|
|
||||||
#define MSG_UBL_STORAGE_MESH_MENU _UxGT("Netz Speicherplatz")
|
|
||||||
#define MSG_UBL_STORAGE_SLOT _UxGT("Memory Slot")
|
|
||||||
#define MSG_UBL_LOAD_MESH _UxGT("Bett Netz laden")
|
|
||||||
#define MSG_UBL_SAVE_MESH _UxGT("Bett Netz speichern")
|
|
||||||
#define MSG_MESH_LOADED _UxGT("Netz %i geladen")
|
|
||||||
#define MSG_MESH_SAVED _UxGT("Netz %i gespeichert")
|
|
||||||
#define MSG_NO_STORAGE _UxGT("Kein Speicher")
|
|
||||||
#define MSG_UBL_SAVE_ERROR _UxGT("ERR:UBL speichern")
|
|
||||||
#define MSG_UBL_RESTORE_ERROR _UxGT("ERR:UBL wiederherst.")
|
|
||||||
#define MSG_UBL_Z_OFFSET_STOPPED _UxGT("Z-Versatz angehalten")
|
|
||||||
#define MSG_UBL_STEP_BY_STEP_MENU _UxGT("Schrittweises UBL")
|
|
||||||
|
|
||||||
#define MSG_LED_CONTROL _UxGT("LED Kontrolle")
|
|
||||||
#define MSG_LEDS _UxGT("Licht")
|
|
||||||
#define MSG_LED_PRESETS _UxGT("Licht Einstellungen")
|
|
||||||
#define MSG_SET_LEDS_RED _UxGT("Rot")
|
|
||||||
#define MSG_SET_LEDS_ORANGE _UxGT("Orange")
|
|
||||||
#define MSG_SET_LEDS_YELLOW _UxGT("Gelb")
|
|
||||||
#define MSG_SET_LEDS_GREEN _UxGT("Grün")
|
|
||||||
#define MSG_SET_LEDS_BLUE _UxGT("Blau")
|
|
||||||
#define MSG_SET_LEDS_INDIGO _UxGT("Indigo")
|
|
||||||
#define MSG_SET_LEDS_VIOLET _UxGT("Violett")
|
|
||||||
#define MSG_SET_LEDS_WHITE _UxGT("Weiß")
|
|
||||||
#define MSG_SET_LEDS_DEFAULT _UxGT("Standard")
|
|
||||||
#define MSG_CUSTOM_LEDS _UxGT("Benutzerdef.")
|
|
||||||
#define MSG_INTENSITY_R _UxGT("Intensität Rot")
|
|
||||||
#define MSG_INTENSITY_G _UxGT("Intensität Grün")
|
|
||||||
#define MSG_INTENSITY_B _UxGT("Intensität Blau")
|
|
||||||
#define MSG_INTENSITY_W _UxGT("Intensität Weiß")
|
|
||||||
#define MSG_LED_BRIGHTNESS _UxGT("Helligkeit")
|
|
||||||
|
|
||||||
#if LCD_WIDTH >= 20
|
#if LCD_WIDTH >= 20
|
||||||
#define MSG_INFO_PRINT_COUNT _UxGT("Gesamte Drucke")
|
#define MSG_INFO_PRINT_COUNT _UxGT("Gesamte Drucke")
|
||||||
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Beendete Drucke")
|
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Komplette Drucke")
|
||||||
#define MSG_INFO_PRINT_TIME _UxGT("Gesamte Druckzeit")
|
#define MSG_INFO_PRINT_TIME _UxGT("Gesamte Druckzeit")
|
||||||
#define MSG_INFO_PRINT_LONGEST _UxGT("Längster Druckjob")
|
#define MSG_INFO_PRINT_LONGEST _UxGT("Längste Druckzeit")
|
||||||
#define MSG_INFO_PRINT_FILAMENT _UxGT("Gesamt Extrudiert")
|
#define MSG_INFO_PRINT_FILAMENT _UxGT("Gesamt Extrudiert")
|
||||||
#else
|
#else
|
||||||
#define MSG_INFO_PRINT_COUNT _UxGT("Drucke")
|
#define MSG_INFO_PRINT_COUNT _UxGT("Drucke")
|
||||||
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Komplett")
|
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Komplette")
|
||||||
#define MSG_INFO_PRINT_TIME _UxGT("Gesamt ")
|
#define MSG_INFO_PRINT_TIME _UxGT("Gesamte")
|
||||||
#define MSG_INFO_PRINT_LONGEST _UxGT("Längster")
|
#define MSG_INFO_PRINT_LONGEST _UxGT("Längste")
|
||||||
#define MSG_INFO_PRINT_FILAMENT _UxGT("Extrud.")
|
#define MSG_INFO_PRINT_FILAMENT _UxGT("Extrud.")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
|
#define MSG_INFO_MIN_TEMP _UxGT("Min Temp")
|
||||||
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
|
#define MSG_INFO_MAX_TEMP _UxGT("Max Temp")
|
||||||
#define MSG_INFO_PSU _UxGT("Netzteil")
|
#define MSG_INFO_PSU _UxGT("Netzteil")
|
||||||
|
#define MSG_DRIVE_STRENGTH _UxGT("Motorleistung")
|
||||||
#define MSG_DRIVE_STRENGTH _UxGT("Motorströme")
|
|
||||||
#define MSG_DAC_PERCENT _UxGT("Treiber %")
|
#define MSG_DAC_PERCENT _UxGT("Treiber %")
|
||||||
#define MSG_DAC_EEPROM_WRITE _UxGT("Werte speichern")
|
#define MSG_DAC_EEPROM_WRITE _UxGT("Werte speichern")
|
||||||
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("DRUCK PAUSIERT")
|
#define MSG_FILAMENT_CHANGE_HEADER_PAUSE _UxGT("DRUCK PAUSIERT")
|
||||||
#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("FILAMENT LADEN")
|
#define MSG_FILAMENT_CHANGE_HEADER_LOAD _UxGT("FILAMENT LADEN")
|
||||||
#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("FILAMENT ENTLADEN")
|
#define MSG_FILAMENT_CHANGE_HEADER_UNLOAD _UxGT("FILAMENT ENTLADEN")
|
||||||
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("FORTS. OPTIONEN:")
|
#define MSG_FILAMENT_CHANGE_OPTION_HEADER _UxGT("FORTS. OPTIONEN:")
|
||||||
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Mehr entleeren")
|
#define MSG_FILAMENT_CHANGE_OPTION_PURGE _UxGT("Mehr entladen")
|
||||||
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Drucke weiter")
|
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Druck weiter")
|
||||||
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Düse: ")
|
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Düse: ")
|
||||||
#define MSG_ERR_HOMING_FAILED _UxGT("Homing gescheitert")
|
#define MSG_ERR_HOMING_FAILED _UxGT("Homing gescheitert")
|
||||||
#define MSG_ERR_PROBING_FAILED _UxGT("Probing gescheitert")
|
#define MSG_ERR_PROBING_FAILED _UxGT("Probing gescheitert")
|
||||||
#define MSG_M600_TOO_COLD _UxGT("M600: Zu kalt")
|
#define MSG_M600_TOO_COLD _UxGT("M600: zu kalt")
|
||||||
|
|
||||||
|
//
|
||||||
|
// Die Filament-Change-Bildschirme können bis zu 3 Zeilen auf einem 4-Zeilen-Display anzeigen
|
||||||
|
// ...oder 2 Zeilen auf einem 3-Zeilen-Display.
|
||||||
#if LCD_HEIGHT >= 4
|
#if LCD_HEIGHT >= 4
|
||||||
// Up to 3 lines allowed
|
// Up to 3 lines allowed
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Warte auf den")
|
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Warte auf den")
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("Start des")
|
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("Start des")
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("Filamentwechsels")
|
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("Filamentwechsels...")
|
||||||
|
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Filament einlegen")
|
||||||
|
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("und Knopf drücken")
|
||||||
|
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("um fortzusetzen")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Knopf drücken um")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Düse aufzuheizen")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Düse heizt auf")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("bitte warten...")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Warte auf")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Warte auf")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("Herausnahme")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("Herausnahme")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("des Filaments...")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_3 _UxGT("des Filaments...")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Filament einlegen")
|
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("und Knopf")
|
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("drücken...")
|
|
||||||
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Knopf drücken um")
|
|
||||||
#define MSG_FILAMENT_CHANGE_HEAT_2 _UxGT("Düse aufzuheizen.")
|
|
||||||
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Düse heizt auf...")
|
|
||||||
#define MSG_FILAMENT_CHANGE_HEATING_2 _UxGT("Bitte warten...")
|
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Warte auf")
|
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Warte auf")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Laden des")
|
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Laden des")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("Filaments")
|
#define MSG_FILAMENT_CHANGE_LOAD_3 _UxGT("Filaments...")
|
||||||
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Warte auf")
|
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Warte auf")
|
||||||
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("Entleeren des")
|
#define MSG_FILAMENT_CHANGE_PURGE_2 _UxGT("Entladen des")
|
||||||
#define MSG_FILAMENT_CHANGE_PURGE_3 _UxGT("Filaments")
|
#define MSG_FILAMENT_CHANGE_PURGE_3 _UxGT("Filaments...")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Warte auf")
|
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Warte auf")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("Fortsetzung des")
|
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("Fortsetzen des")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("Druckes...")
|
#define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("Drucks...")
|
||||||
#else // LCD_HEIGHT < 4
|
#else // LCD_HEIGHT < 4
|
||||||
// Up to 2 lines allowed
|
// Up to 2 lines allowed
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Bitte warten...")
|
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Bitte warten...")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Auswerfen...")
|
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Laden und Klick")
|
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Laden und Klick")
|
||||||
|
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Klick zum Heizen")
|
||||||
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Heizen...")
|
#define MSG_FILAMENT_CHANGE_HEATING_1 _UxGT("Heizen...")
|
||||||
|
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Entladen...")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Laden...")
|
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Laden...")
|
||||||
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Entleeren...")
|
#define MSG_FILAMENT_CHANGE_PURGE_1 _UxGT("Entladen...")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Fortsetzen...")
|
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Fortsetzen...")
|
||||||
#endif // LCD_HEIGHT < 4
|
#endif // LCD_HEIGHT < 4
|
||||||
|
|
||||||
|
|
|
@ -251,26 +251,25 @@
|
||||||
|
|
||||||
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ")
|
#define MSG_FILAMENT_CHANGE_NOZZLE _UxGT(" Boquilla: ")
|
||||||
|
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando iniciar")
|
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Esperando para")
|
||||||
|
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento")
|
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte el filamento")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el boton")
|
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("y presione el boton")
|
||||||
|
|
||||||
#if LCD_HEIGHT >= 4
|
#if LCD_HEIGHT >= 4
|
||||||
// Up to 3 lines allowed
|
// Up to 3 lines allowed
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("del filamento")
|
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar cambio")
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("cambiar")
|
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("de filamento")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("para continuar...")
|
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("para continuar...")
|
||||||
#else // LCD_HEIGHT < 4
|
#else // LCD_HEIGHT < 4
|
||||||
// Up to 2 lines allowed
|
// Up to 2 lines allowed
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("del fil. cambiar")
|
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("iniciar cambio fil.")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Inserte filamento")
|
|
||||||
#endif // LCD_HEIGHT < 4
|
#endif // LCD_HEIGHT < 4
|
||||||
|
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Esperado por")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Esperando para")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("filamento expulsado")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("expulsar filamento")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado por")
|
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Esperado para")
|
||||||
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("Cargar filamento")
|
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("cargar el filamento")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.")
|
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando imp.")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir")
|
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("para resumir")
|
||||||
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima boton para")
|
#define MSG_FILAMENT_CHANGE_HEAT_1 _UxGT("Oprima boton para")
|
||||||
|
|
|
@ -369,7 +369,7 @@
|
||||||
|
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando impressao")
|
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Esperando impressao")
|
||||||
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("continuar")
|
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("continuar")
|
||||||
#else LCD_HEIGHT < 4
|
#else // LCD_HEIGHT < 4
|
||||||
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Aguarde...")
|
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Aguarde...")
|
||||||
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejetando...")
|
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Ejetando...")
|
||||||
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insira e Clique")
|
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Insira e Clique")
|
||||||
|
|
|
@ -157,16 +157,17 @@
|
||||||
#define LCD_SDSS 28
|
#define LCD_SDSS 28
|
||||||
#if ENABLED(ADC_KEYPAD)
|
#if ENABLED(ADC_KEYPAD)
|
||||||
#define SERVO0_PIN 27 // free for BLTouch/3D-Touch
|
#define SERVO0_PIN 27 // free for BLTouch/3D-Touch
|
||||||
|
#ifndef LCD_I2C_TYPE_PCF8575
|
||||||
#define LCD_PINS_RS 28
|
#define LCD_PINS_RS 28
|
||||||
#define LCD_PINS_ENABLE 29
|
#define LCD_PINS_ENABLE 29
|
||||||
#define LCD_PINS_D4 10
|
#define LCD_PINS_D4 10
|
||||||
#define LCD_PINS_D5 11
|
#define LCD_PINS_D5 11
|
||||||
#define LCD_PINS_D6 16
|
#define LCD_PINS_D6 16
|
||||||
#define LCD_PINS_D7 17
|
#define LCD_PINS_D7 17
|
||||||
#define BTN_EN1 -1
|
#endif
|
||||||
#define BTN_EN2 -1
|
#ifndef ADC_KEYPAD_PIN
|
||||||
#define BTN_ENC -1
|
#define ADC_KEYPAD_PIN 1 // Analog Input
|
||||||
#define ADC_KEYPAD_PIN 1
|
#endif
|
||||||
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(ANET_FULL_GRAPHICS_LCD)
|
#elif ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) || ENABLED(ANET_FULL_GRAPHICS_LCD)
|
||||||
// Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics
|
// Pin definitions for the Anet A6 Full Graphics display and the RepRapDiscount Full Graphics
|
||||||
// display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb
|
// display using an adapter board // https://go.aisler.net/benlye/anet-lcd-adapter/pcb
|
||||||
|
|
|
@ -509,7 +509,7 @@
|
||||||
#define BTN_ENC 35
|
#define BTN_ENC 35
|
||||||
|
|
||||||
#define SD_DETECT_PIN 49
|
#define SD_DETECT_PIN 49
|
||||||
#define KILL_PIN 64
|
#define KILL_PIN 41
|
||||||
|
|
||||||
#elif ENABLED(MINIPANEL)
|
#elif ENABLED(MINIPANEL)
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||||
* Alternately heat and cool the nozzle, observing its behavior to
|
* Alternately heat and cool the nozzle, observing its behavior to
|
||||||
* determine the best PID values to achieve a stable temperature.
|
* determine the best PID values to achieve a stable temperature.
|
||||||
*/
|
*/
|
||||||
void Temperature::PID_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result/*=false*/) {
|
void Temperature::pid_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result/*=false*/) {
|
||||||
float current = 0.0;
|
float current = 0.0;
|
||||||
int cycles = 0;
|
int cycles = 0;
|
||||||
bool heating = true;
|
bool heating = true;
|
||||||
|
@ -308,7 +308,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target > GHV(BED_MAXTEMP, maxttemp[hotend]) - 10) {
|
if (target > GHV(BED_MAXTEMP, maxttemp[hotend]) - 15) {
|
||||||
SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
|
SERIAL_ECHOLNPGM(MSG_PID_TEMP_TOO_HIGH);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -327,7 +327,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||||
const millis_t ms = millis();
|
const millis_t ms = millis();
|
||||||
|
|
||||||
if (temp_meas_ready) { // temp sample ready
|
if (temp_meas_ready) { // temp sample ready
|
||||||
updateTemperaturesFromRawValues();
|
calculate_celsius_temperatures();
|
||||||
|
|
||||||
// Get the current temperature and constrain it
|
// Get the current temperature and constrain it
|
||||||
current = GHV(current_temperature_bed, current_temperature[hotend]);
|
current = GHV(current_temperature_bed, current_temperature[hotend]);
|
||||||
|
@ -336,7 +336,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||||
|
|
||||||
#if HAS_AUTO_FAN
|
#if HAS_AUTO_FAN
|
||||||
if (ELAPSED(ms, next_auto_fan_check_ms)) {
|
if (ELAPSED(ms, next_auto_fan_check_ms)) {
|
||||||
checkExtruderAutoFans();
|
check_extruder_auto_fans();
|
||||||
next_auto_fan_check_ms = ms + 2500UL;
|
next_auto_fan_check_ms = ms + 2500UL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -483,7 +483,7 @@ uint8_t Temperature::soft_pwm_amount[HOTENDS];
|
||||||
PID_PARAM(Kp, hotend) = workKp; \
|
PID_PARAM(Kp, hotend) = workKp; \
|
||||||
PID_PARAM(Ki, hotend) = scalePID_i(workKi); \
|
PID_PARAM(Ki, hotend) = scalePID_i(workKi); \
|
||||||
PID_PARAM(Kd, hotend) = scalePID_d(workKd); \
|
PID_PARAM(Kd, hotend) = scalePID_d(workKd); \
|
||||||
updatePID(); }while(0)
|
update_pid(); }while(0)
|
||||||
|
|
||||||
// Use the result? (As with "M303 U1")
|
// Use the result? (As with "M303 U1")
|
||||||
if (set_result) {
|
if (set_result) {
|
||||||
|
@ -524,7 +524,7 @@ int Temperature::getHeaterPower(const int heater) {
|
||||||
|
|
||||||
#if HAS_AUTO_FAN
|
#if HAS_AUTO_FAN
|
||||||
|
|
||||||
void Temperature::checkExtruderAutoFans() {
|
void Temperature::check_extruder_auto_fans() {
|
||||||
static const pin_t fanPin[] PROGMEM = { E0_AUTO_FAN_PIN, E1_AUTO_FAN_PIN, E2_AUTO_FAN_PIN, E3_AUTO_FAN_PIN, E4_AUTO_FAN_PIN, CHAMBER_AUTO_FAN_PIN };
|
static const pin_t fanPin[] PROGMEM = { E0_AUTO_FAN_PIN, E1_AUTO_FAN_PIN, E2_AUTO_FAN_PIN, E3_AUTO_FAN_PIN, E4_AUTO_FAN_PIN, CHAMBER_AUTO_FAN_PIN };
|
||||||
static const uint8_t fanBit[] PROGMEM = {
|
static const uint8_t fanBit[] PROGMEM = {
|
||||||
0,
|
0,
|
||||||
|
@ -613,18 +613,9 @@ float Temperature::get_pid_output(const int8_t e) {
|
||||||
pid_error[HOTEND_INDEX] = target_temperature[HOTEND_INDEX] - current_temperature[HOTEND_INDEX];
|
pid_error[HOTEND_INDEX] = target_temperature[HOTEND_INDEX] - current_temperature[HOTEND_INDEX];
|
||||||
dTerm[HOTEND_INDEX] = PID_K2 * PID_PARAM(Kd, HOTEND_INDEX) * (current_temperature[HOTEND_INDEX] - temp_dState[HOTEND_INDEX]) + float(PID_K1) * dTerm[HOTEND_INDEX];
|
dTerm[HOTEND_INDEX] = PID_K2 * PID_PARAM(Kd, HOTEND_INDEX) * (current_temperature[HOTEND_INDEX] - temp_dState[HOTEND_INDEX]) + float(PID_K1) * dTerm[HOTEND_INDEX];
|
||||||
temp_dState[HOTEND_INDEX] = current_temperature[HOTEND_INDEX];
|
temp_dState[HOTEND_INDEX] = current_temperature[HOTEND_INDEX];
|
||||||
#if HEATER_IDLE_HANDLER
|
|
||||||
if (heater_idle_timeout_exceeded[HOTEND_INDEX]) {
|
if (target_temperature[HOTEND_INDEX] == 0
|
||||||
pid_output = 0;
|
|| pid_error[HOTEND_INDEX] < -(PID_FUNCTIONAL_RANGE)
|
||||||
pid_reset[HOTEND_INDEX] = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
if (pid_error[HOTEND_INDEX] > PID_FUNCTIONAL_RANGE) {
|
|
||||||
pid_output = BANG_MAX;
|
|
||||||
pid_reset[HOTEND_INDEX] = true;
|
|
||||||
}
|
|
||||||
else if (pid_error[HOTEND_INDEX] < -(PID_FUNCTIONAL_RANGE) || target_temperature[HOTEND_INDEX] == 0
|
|
||||||
#if HEATER_IDLE_HANDLER
|
#if HEATER_IDLE_HANDLER
|
||||||
|| heater_idle_timeout_exceeded[HOTEND_INDEX]
|
|| heater_idle_timeout_exceeded[HOTEND_INDEX]
|
||||||
#endif
|
#endif
|
||||||
|
@ -632,6 +623,10 @@ float Temperature::get_pid_output(const int8_t e) {
|
||||||
pid_output = 0;
|
pid_output = 0;
|
||||||
pid_reset[HOTEND_INDEX] = true;
|
pid_reset[HOTEND_INDEX] = true;
|
||||||
}
|
}
|
||||||
|
else if (pid_error[HOTEND_INDEX] > PID_FUNCTIONAL_RANGE) {
|
||||||
|
pid_output = BANG_MAX;
|
||||||
|
pid_reset[HOTEND_INDEX] = true;
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if (pid_reset[HOTEND_INDEX]) {
|
if (pid_reset[HOTEND_INDEX]) {
|
||||||
temp_iState[HOTEND_INDEX] = 0.0;
|
temp_iState[HOTEND_INDEX] = 0.0;
|
||||||
|
@ -764,7 +759,7 @@ void Temperature::manage_heater() {
|
||||||
|
|
||||||
if (!temp_meas_ready) return;
|
if (!temp_meas_ready) return;
|
||||||
|
|
||||||
updateTemperaturesFromRawValues(); // also resets the watchdog
|
calculate_celsius_temperatures(); // also resets the watchdog
|
||||||
|
|
||||||
#if ENABLED(HEATER_0_USES_MAX6675)
|
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||||
if (current_temperature[0] > MIN(HEATER_0_MAXTEMP, MAX6675_TMAX - 1.0)) max_temp_error(0);
|
if (current_temperature[0] > MIN(HEATER_0_MAXTEMP, MAX6675_TMAX - 1.0)) max_temp_error(0);
|
||||||
|
@ -809,7 +804,7 @@ void Temperature::manage_heater() {
|
||||||
|
|
||||||
#if HAS_AUTO_FAN
|
#if HAS_AUTO_FAN
|
||||||
if (ELAPSED(ms, next_auto_fan_check_ms)) { // only need to check fan state very infrequently
|
if (ELAPSED(ms, next_auto_fan_check_ms)) { // only need to check fan state very infrequently
|
||||||
checkExtruderAutoFans();
|
check_extruder_auto_fans();
|
||||||
next_auto_fan_check_ms = ms + 2500UL;
|
next_auto_fan_check_ms = ms + 2500UL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -919,7 +914,7 @@ void Temperature::manage_heater() {
|
||||||
|
|
||||||
// Derived from RepRap FiveD extruder::getTemperature()
|
// Derived from RepRap FiveD extruder::getTemperature()
|
||||||
// For hot end temperature measurement.
|
// For hot end temperature measurement.
|
||||||
float Temperature::analog2temp(const int raw, const uint8_t e) {
|
float Temperature::analog_to_celsius_hotend(const int raw, const uint8_t e) {
|
||||||
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
||||||
if (e > HOTENDS)
|
if (e > HOTENDS)
|
||||||
#else
|
#else
|
||||||
|
@ -991,7 +986,7 @@ float Temperature::analog2temp(const int raw, const uint8_t e) {
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
// Derived from RepRap FiveD extruder::getTemperature()
|
// Derived from RepRap FiveD extruder::getTemperature()
|
||||||
// For bed temperature measurement.
|
// For bed temperature measurement.
|
||||||
float Temperature::analog2tempBed(const int raw) {
|
float Temperature::analog_to_celsius_bed(const int raw) {
|
||||||
#if ENABLED(HEATER_BED_USES_THERMISTOR)
|
#if ENABLED(HEATER_BED_USES_THERMISTOR)
|
||||||
SCAN_THERMISTOR_TABLE(BEDTEMPTABLE, BEDTEMPTABLE_LEN);
|
SCAN_THERMISTOR_TABLE(BEDTEMPTABLE, BEDTEMPTABLE_LEN);
|
||||||
#elif ENABLED(HEATER_BED_USES_AD595)
|
#elif ENABLED(HEATER_BED_USES_AD595)
|
||||||
|
@ -1007,7 +1002,7 @@ float Temperature::analog2temp(const int raw, const uint8_t e) {
|
||||||
#if HAS_TEMP_CHAMBER
|
#if HAS_TEMP_CHAMBER
|
||||||
// Derived from RepRap FiveD extruder::getTemperature()
|
// Derived from RepRap FiveD extruder::getTemperature()
|
||||||
// For chamber temperature measurement.
|
// For chamber temperature measurement.
|
||||||
float Temperature::analog2tempChamber(const int raw) {
|
float Temperature::analog_to_celsius_chamber(const int raw) {
|
||||||
#if ENABLED(HEATER_CHAMBER_USES_THERMISTOR)
|
#if ENABLED(HEATER_CHAMBER_USES_THERMISTOR)
|
||||||
SCAN_THERMISTOR_TABLE(CHAMBERTEMPTABLE, CHAMBERTEMPTABLE_LEN);
|
SCAN_THERMISTOR_TABLE(CHAMBERTEMPTABLE, CHAMBERTEMPTABLE_LEN);
|
||||||
#elif ENABLED(HEATER_CHAMBER_USES_AD595)
|
#elif ENABLED(HEATER_CHAMBER_USES_AD595)
|
||||||
|
@ -1026,22 +1021,22 @@ float Temperature::analog2temp(const int raw, const uint8_t e) {
|
||||||
* and this function is called from normal context
|
* and this function is called from normal context
|
||||||
* as it would block the stepper routine.
|
* as it would block the stepper routine.
|
||||||
*/
|
*/
|
||||||
void Temperature::updateTemperaturesFromRawValues() {
|
void Temperature::calculate_celsius_temperatures() {
|
||||||
#if ENABLED(HEATER_0_USES_MAX6675)
|
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||||
current_temperature_raw[0] = read_max6675();
|
current_temperature_raw[0] = read_max6675();
|
||||||
#endif
|
#endif
|
||||||
HOTEND_LOOP() current_temperature[e] = Temperature::analog2temp(current_temperature_raw[e], e);
|
HOTEND_LOOP() current_temperature[e] = analog_to_celsius_hotend(current_temperature_raw[e], e);
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
current_temperature_bed = Temperature::analog2tempBed(current_temperature_bed_raw);
|
current_temperature_bed = analog_to_celsius_bed(current_temperature_bed_raw);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_TEMP_CHAMBER
|
#if HAS_TEMP_CHAMBER
|
||||||
current_temperature_chamber = Temperature::analog2tempChamber(current_temperature_chamber_raw);
|
current_temperature_chamber = analog_to_celsius_chamber(current_temperature_chamber_raw);
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
#if ENABLED(TEMP_SENSOR_1_AS_REDUNDANT)
|
||||||
redundant_temperature = Temperature::analog2temp(redundant_temperature_raw, 1);
|
redundant_temperature = analog_to_celsius_hotend(redundant_temperature_raw, 1);
|
||||||
#endif
|
#endif
|
||||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||||
filament_width_meas = analog2widthFil();
|
filament_width_meas = analog_to_mm_fil_width();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(USE_WATCHDOG)
|
#if ENABLED(USE_WATCHDOG)
|
||||||
|
@ -1056,7 +1051,7 @@ void Temperature::updateTemperaturesFromRawValues() {
|
||||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||||
|
|
||||||
// Convert raw Filament Width to millimeters
|
// Convert raw Filament Width to millimeters
|
||||||
float Temperature::analog2widthFil() {
|
float Temperature::analog_to_mm_fil_width() {
|
||||||
return current_raw_filwidth * 5.0f * (1.0f / 16383.0);
|
return current_raw_filwidth * 5.0f * (1.0f / 16383.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1256,7 +1251,7 @@ void Temperature::init() {
|
||||||
|
|
||||||
#define TEMP_MIN_ROUTINE(NR) \
|
#define TEMP_MIN_ROUTINE(NR) \
|
||||||
minttemp[NR] = HEATER_ ##NR## _MINTEMP; \
|
minttemp[NR] = HEATER_ ##NR## _MINTEMP; \
|
||||||
while (analog2temp(minttemp_raw[NR], NR) < HEATER_ ##NR## _MINTEMP) { \
|
while (analog_to_celsius_hotend(minttemp_raw[NR], NR) < HEATER_ ##NR## _MINTEMP) { \
|
||||||
if (HEATER_ ##NR## _RAW_LO_TEMP < HEATER_ ##NR## _RAW_HI_TEMP) \
|
if (HEATER_ ##NR## _RAW_LO_TEMP < HEATER_ ##NR## _RAW_HI_TEMP) \
|
||||||
minttemp_raw[NR] += OVERSAMPLENR; \
|
minttemp_raw[NR] += OVERSAMPLENR; \
|
||||||
else \
|
else \
|
||||||
|
@ -1264,7 +1259,7 @@ void Temperature::init() {
|
||||||
}
|
}
|
||||||
#define TEMP_MAX_ROUTINE(NR) \
|
#define TEMP_MAX_ROUTINE(NR) \
|
||||||
maxttemp[NR] = HEATER_ ##NR## _MAXTEMP; \
|
maxttemp[NR] = HEATER_ ##NR## _MAXTEMP; \
|
||||||
while (analog2temp(maxttemp_raw[NR], NR) > HEATER_ ##NR## _MAXTEMP) { \
|
while (analog_to_celsius_hotend(maxttemp_raw[NR], NR) > HEATER_ ##NR## _MAXTEMP) { \
|
||||||
if (HEATER_ ##NR## _RAW_LO_TEMP < HEATER_ ##NR## _RAW_HI_TEMP) \
|
if (HEATER_ ##NR## _RAW_LO_TEMP < HEATER_ ##NR## _RAW_HI_TEMP) \
|
||||||
maxttemp_raw[NR] -= OVERSAMPLENR; \
|
maxttemp_raw[NR] -= OVERSAMPLENR; \
|
||||||
else \
|
else \
|
||||||
|
@ -1312,7 +1307,7 @@ void Temperature::init() {
|
||||||
|
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
#ifdef BED_MINTEMP
|
#ifdef BED_MINTEMP
|
||||||
while (analog2tempBed(bed_minttemp_raw) < BED_MINTEMP) {
|
while (analog_to_celsius_bed(bed_minttemp_raw) < BED_MINTEMP) {
|
||||||
#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
|
#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
|
||||||
bed_minttemp_raw += OVERSAMPLENR;
|
bed_minttemp_raw += OVERSAMPLENR;
|
||||||
#else
|
#else
|
||||||
|
@ -1321,7 +1316,7 @@ void Temperature::init() {
|
||||||
}
|
}
|
||||||
#endif // BED_MINTEMP
|
#endif // BED_MINTEMP
|
||||||
#ifdef BED_MAXTEMP
|
#ifdef BED_MAXTEMP
|
||||||
while (analog2tempBed(bed_maxttemp_raw) > BED_MAXTEMP) {
|
while (analog_to_celsius_bed(bed_maxttemp_raw) > BED_MAXTEMP) {
|
||||||
#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
|
#if HEATER_BED_RAW_LO_TEMP < HEATER_BED_RAW_HI_TEMP
|
||||||
bed_maxttemp_raw -= OVERSAMPLENR;
|
bed_maxttemp_raw -= OVERSAMPLENR;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -318,13 +318,13 @@ class Temperature {
|
||||||
/**
|
/**
|
||||||
* Static (class) methods
|
* Static (class) methods
|
||||||
*/
|
*/
|
||||||
static float analog2temp(const int raw, const uint8_t e);
|
static float analog_to_celsius_hotend(const int raw, const uint8_t e);
|
||||||
|
|
||||||
#if HAS_HEATED_BED
|
#if HAS_HEATED_BED
|
||||||
static float analog2tempBed(const int raw);
|
static float analog_to_celsius_bed(const int raw);
|
||||||
#endif
|
#endif
|
||||||
#if HAS_TEMP_CHAMBER
|
#if HAS_TEMP_CHAMBER
|
||||||
static float analog2tempChamber(const int raw);
|
static float analog_to_celsius_chamber(const int raw);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -365,7 +365,7 @@ class Temperature {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
#if ENABLED(FILAMENT_WIDTH_SENSOR)
|
||||||
static float analog2widthFil(); // Convert raw Filament Width to millimeters
|
static float analog_to_mm_fil_width(); // Convert raw Filament Width to millimeters
|
||||||
static int8_t widthFil_to_size_ratio(); // Convert Filament Width (mm) to an extrusion ratio
|
static int8_t widthFil_to_size_ratio(); // Convert Filament Width (mm) to an extrusion ratio
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -414,7 +414,7 @@ class Temperature {
|
||||||
#if ENABLED(AUTO_POWER_CONTROL)
|
#if ENABLED(AUTO_POWER_CONTROL)
|
||||||
powerManager.power_on();
|
powerManager.power_on();
|
||||||
#endif
|
#endif
|
||||||
target_temperature[HOTEND_INDEX] = MIN(celsius, maxttemp[HOTEND_INDEX] - 10);
|
target_temperature[HOTEND_INDEX] = MIN(celsius, maxttemp[HOTEND_INDEX] - 15);
|
||||||
#if WATCH_HOTENDS
|
#if WATCH_HOTENDS
|
||||||
start_watching_heater(HOTEND_INDEX);
|
start_watching_heater(HOTEND_INDEX);
|
||||||
#endif
|
#endif
|
||||||
|
@ -449,7 +449,7 @@ class Temperature {
|
||||||
#endif
|
#endif
|
||||||
target_temperature_bed =
|
target_temperature_bed =
|
||||||
#ifdef BED_MAXTEMP
|
#ifdef BED_MAXTEMP
|
||||||
MIN(celsius, BED_MAXTEMP - 10)
|
MIN(celsius, BED_MAXTEMP - 15)
|
||||||
#else
|
#else
|
||||||
celsius
|
celsius
|
||||||
#endif
|
#endif
|
||||||
|
@ -489,13 +489,13 @@ class Temperature {
|
||||||
* Perform auto-tuning for hotend or bed in response to M303
|
* Perform auto-tuning for hotend or bed in response to M303
|
||||||
*/
|
*/
|
||||||
#if HAS_PID_HEATING
|
#if HAS_PID_HEATING
|
||||||
static void PID_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result=false);
|
static void pid_autotune(const float &target, const int8_t hotend, const int8_t ncycles, const bool set_result=false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the temp manager when PID values change
|
* Update the temp manager when PID values change
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PIDTEMP)
|
#if ENABLED(PIDTEMP)
|
||||||
FORCE_INLINE static void updatePID() {
|
FORCE_INLINE static void update_pid() {
|
||||||
#if ENABLED(PID_EXTRUSION_SCALING)
|
#if ENABLED(PID_EXTRUSION_SCALING)
|
||||||
last_e_position = 0;
|
last_e_position = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -612,13 +612,13 @@ class Temperature {
|
||||||
|
|
||||||
static void set_current_temp_raw();
|
static void set_current_temp_raw();
|
||||||
|
|
||||||
static void updateTemperaturesFromRawValues();
|
static void calculate_celsius_temperatures();
|
||||||
|
|
||||||
#if ENABLED(HEATER_0_USES_MAX6675)
|
#if ENABLED(HEATER_0_USES_MAX6675)
|
||||||
static int read_max6675();
|
static int read_max6675();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void checkExtruderAutoFans();
|
static void check_extruder_auto_fans();
|
||||||
|
|
||||||
static float get_pid_output(const int8_t e);
|
static float get_pid_output(const int8_t e);
|
||||||
|
|
||||||
|
|
|
@ -210,8 +210,11 @@
|
||||||
serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n"));
|
serialprintPGM(csv ? PSTR("CSV:\n") : PSTR("LCD:\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
const float current_xi = get_cell_index_x(current_position[X_AXIS] + (MESH_X_DIST) / 2.0),
|
// Add XY_PROBE_OFFSET_FROM_EXTRUDER because probe_pt() subtracts these when
|
||||||
current_yi = get_cell_index_y(current_position[Y_AXIS] + (MESH_Y_DIST) / 2.0);
|
// moving to the xy position to be measured. This ensures better agreement between
|
||||||
|
// the current Z position after G28 and the mesh values.
|
||||||
|
const float current_xi = find_closest_x_index(current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER),
|
||||||
|
current_yi = find_closest_y_index(current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER);
|
||||||
|
|
||||||
if (!lcd) SERIAL_EOL();
|
if (!lcd) SERIAL_EOL();
|
||||||
for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) {
|
for (int8_t j = GRID_MAX_POINTS_Y - 1; j >= 0; j--) {
|
||||||
|
|
|
@ -1287,8 +1287,8 @@
|
||||||
out_mesh.distance = -99999.9f;
|
out_mesh.distance = -99999.9f;
|
||||||
|
|
||||||
// Get our reference position. Either the nozzle or probe location.
|
// Get our reference position. Either the nozzle or probe location.
|
||||||
const float px = rx - (probe_as_reference == USE_PROBE_AS_REFERENCE ? X_PROBE_OFFSET_FROM_EXTRUDER : 0),
|
const float px = rx + (probe_as_reference == USE_PROBE_AS_REFERENCE ? X_PROBE_OFFSET_FROM_EXTRUDER : 0),
|
||||||
py = ry - (probe_as_reference == USE_PROBE_AS_REFERENCE ? Y_PROBE_OFFSET_FROM_EXTRUDER : 0);
|
py = ry + (probe_as_reference == USE_PROBE_AS_REFERENCE ? Y_PROBE_OFFSET_FROM_EXTRUDER : 0);
|
||||||
|
|
||||||
float best_so_far = 99999.99f;
|
float best_so_far = 99999.99f;
|
||||||
|
|
||||||
|
|
|
@ -3414,14 +3414,14 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
||||||
UNUSED(e);
|
UNUSED(e);
|
||||||
#endif
|
#endif
|
||||||
PID_PARAM(Ki, e) = scalePID_i(raw_Ki);
|
PID_PARAM(Ki, e) = scalePID_i(raw_Ki);
|
||||||
thermalManager.updatePID();
|
thermalManager.update_pid();
|
||||||
}
|
}
|
||||||
void copy_and_scalePID_d(int16_t e) {
|
void copy_and_scalePID_d(int16_t e) {
|
||||||
#if DISABLED(PID_PARAMS_PER_HOTEND) || HOTENDS == 1
|
#if DISABLED(PID_PARAMS_PER_HOTEND) || HOTENDS == 1
|
||||||
UNUSED(e);
|
UNUSED(e);
|
||||||
#endif
|
#endif
|
||||||
PID_PARAM(Kd, e) = scalePID_d(raw_Kd);
|
PID_PARAM(Kd, e) = scalePID_d(raw_Kd);
|
||||||
thermalManager.updatePID();
|
thermalManager.update_pid();
|
||||||
}
|
}
|
||||||
#define _DEFINE_PIDTEMP_BASE_FUNCS(N) \
|
#define _DEFINE_PIDTEMP_BASE_FUNCS(N) \
|
||||||
void copy_and_scalePID_i_E ## N() { copy_and_scalePID_i(N); } \
|
void copy_and_scalePID_i_E ## N() { copy_and_scalePID_i(N); } \
|
||||||
|
@ -3524,7 +3524,7 @@ void lcd_quick_feedback(const bool clear_buttons) {
|
||||||
MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &planner.autotemp_enabled);
|
MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &planner.autotemp_enabled);
|
||||||
MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, float(HEATER_0_MAXTEMP) - 15);
|
MENU_ITEM_EDIT(float3, MSG_MIN, &planner.autotemp_min, 0, float(HEATER_0_MAXTEMP) - 15);
|
||||||
MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, float(HEATER_0_MAXTEMP) - 15);
|
MENU_ITEM_EDIT(float3, MSG_MAX, &planner.autotemp_max, 0, float(HEATER_0_MAXTEMP) - 15);
|
||||||
MENU_ITEM_EDIT(float52, MSG_FACTOR, &planner.autotemp_factor, 0, 1);
|
MENU_ITEM_EDIT(float52, MSG_FACTOR, &planner.autotemp_factor, 0, 10);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -5606,15 +5606,14 @@ void lcd_reset_alert_level() { lcd_status_message_level = 0; }
|
||||||
|
|
||||||
#endif // LCD_HAS_DIRECTIONAL_BUTTONS
|
#endif // LCD_HAS_DIRECTIONAL_BUTTONS
|
||||||
|
|
||||||
buttons = newbutton;
|
|
||||||
#if ENABLED(LCD_HAS_SLOW_BUTTONS)
|
#if ENABLED(LCD_HAS_SLOW_BUTTONS)
|
||||||
buttons |= slow_buttons;
|
newbutton |= slow_buttons;
|
||||||
#endif
|
#endif
|
||||||
|
buttons = newbutton;
|
||||||
|
|
||||||
#if ENABLED(ADC_KEYPAD)
|
#if ENABLED(ADC_KEYPAD)
|
||||||
|
|
||||||
uint8_t newbutton_reprapworld_keypad = 0;
|
uint8_t newbutton_reprapworld_keypad = 0;
|
||||||
buttons = 0;
|
|
||||||
if (buttons_reprapworld_keypad == 0) {
|
if (buttons_reprapworld_keypad == 0) {
|
||||||
newbutton_reprapworld_keypad = get_ADC_keyValue();
|
newbutton_reprapworld_keypad = get_ADC_keyValue();
|
||||||
if (WITHIN(newbutton_reprapworld_keypad, 1, 8))
|
if (WITHIN(newbutton_reprapworld_keypad, 1, 8))
|
||||||
|
|
|
@ -338,7 +338,7 @@ Notable contributors include:
|
||||||
- [[@paulusjacobus](https://github.com/paulusjacobus)]
|
- [[@paulusjacobus](https://github.com/paulusjacobus)]
|
||||||
- [[@psavva](https://github.com/psavva)]
|
- [[@psavva](https://github.com/psavva)]
|
||||||
- [[@Tannoo](https://github.com/Tannoo)]
|
- [[@Tannoo](https://github.com/Tannoo)]
|
||||||
- [[@TheSFReader](https://github.com/TheSFReader)]
|
- [[@teemuatlut](https://github.com/teemuatlut)]
|
||||||
- ...and many others
|
- ...and many others
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
Loading…
Reference in New Issue