Commit 0912a715 authored by Franco (nextime) Lanza's avatar Franco (nextime) Lanza

Merge remote-tracking branch 'upstream/dev' into dev

parents f9402c11 2797e1bc
......@@ -326,7 +326,7 @@
/**
* Thermal Protection parameters for the bed are just as above for hotends.
*/
//#define THERMAL_PROTECTION_BED
//#define THERMAL_PROTECTION_BED
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
......@@ -666,18 +666,35 @@
* *
* Add support for filament exchange support M600 *
* *
* Uncomment FILAMENTCHANGEENABLE to enable this feature *
* Uncomment FILAMENT CHANGE FEATURE to enable this feature *
* Requires display *
* *
**************************************************************************/
//#define FILAMENTCHANGEENABLE
#define FILAMENTCHANGE_XPOS 3
#define FILAMENTCHANGE_YPOS 3
#define FILAMENTCHANGE_ZADD 10
#define FILAMENTCHANGE_FIRSTRETRACT -2
#define FILAMENTCHANGE_FINALRETRACT -100
#define FILAMENTCHANGE_PRINTEROFF 5 // Minutes
//#define FILAMENT_CHANGE_FEATURE
#define FILAMENT_CHANGE_X_POS 3 // X position of hotend
#define FILAMENT_CHANGE_Y_POS 3 // Y position of hotend
#define FILAMENT_CHANGE_Z_ADD 10 // Z addition of hotend (lift)
#define FILAMENT_CHANGE_XY_FEEDRATE 100 // X and Y axes feedrate in mm/s (also used for delta printers Z axis)
#define FILAMENT_CHANGE_Z_FEEDRATE 5 // Z axis feedrate in mm/s (not used for delta printers)
#define FILAMENT_CHANGE_RETRACT_LENGTH 2 // Initial retract in mm
// It is a short retract used immediately after print interrupt before move to filament exchange position
#define FILAMENT_CHANGE_RETRACT_FEEDRATE 50 // Initial retract feedrate in mm/s
#define FILAMENT_CHANGE_UNLOAD_LENGTH 100 // Unload filament length from hotend in mm
// Longer length for bowden printers to unload filament from whole bowden tube,
// shorter lenght for printers without bowden to unload filament from extruder only,
// 0 to disable unloading for manual unloading
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 100 // Unload filament feedrate in mm/s - filament unloading can be fast
#define FILAMENT_CHANGE_LOAD_LENGTH 100 // Load filament length over hotend in mm
// Longer length for bowden printers to fast load filament into whole bowden tube over the hotend,
// Short or zero length for printers without bowden where loading is not used
#define FILAMENT_CHANGE_LOAD_FEEDRATE 100 // Load filament feedrate in mm/s - filament loading into the bowden tube can be fast
#define FILAMENT_CHANGE_EXTRUDE_LENGTH 50 // Extrude filament length in mm after filament is load over the hotend,
// 0 to disable for manual extrusion
// Filament can be extruded repeatedly from the filament exchange menu to fill the hotend,
// or until outcoming filament color is not clear for filament color change
#define FILAMENT_CHANGE_EXTRUDE_FEEDRATE 5 // Extrude filament feedrate in mm/s - must be slower than load feedrate
#define FILAMENT_CHANGE_PRINTER_OFF 5 // Minutes
/**************************************************************************/
......
......@@ -229,6 +229,7 @@ double printer_usage_filament;
static float bed_safe_z;
static int loopcount;
static bool home_all_axis = true;
static bool delta_leveling_in_progress = false;
#else
static bool home_all_axis = true;
#endif
......@@ -252,7 +253,11 @@ double printer_usage_filament;
#endif
#if HAS(FILRUNOUT)
static bool filrunoutEnqueued = false;
static bool filament_ran_out = false;
#endif
#if ENABLED(FILAMENT_CHANGE_FEATURE)
FilamentChangeMenuResponse filament_change_menu_response;
#endif
#if MB(ALLIGATOR)
......@@ -274,10 +279,6 @@ double printer_usage_filament;
#endif
#endif
#if ENABLED(FILAMENTCHANGEENABLE)
bool filament_changing = false;
#endif
#if ENABLED(IDLE_OOZING_PREVENT)
unsigned long axis_last_activity = 0;
bool IDLE_OOZING_enabled = true;
......@@ -1350,6 +1351,7 @@ static void setup_for_endstop_move() {
saved_feedrate_multiplier = feedrate_multiplier;
feedrate_multiplier = 100;
refresh_cmd_timeout();
if (DEBUGGING(INFO)) ECHO_LM(INFO, "setup_for_endstop_move > endstops.enable()");
endstops.enable();
}
......@@ -1387,7 +1389,12 @@ static void do_blocking_move_to(float x, float y, float z) {
destination[X_AXIS] = x;
destination[Y_AXIS] = y;
destination[Z_AXIS] = z;
prepare_move_raw(); // this will also set_current_to_destination
if (x == current_position[X_AXIS] && y == current_position[Y_AXIS])
prepare_move_raw(); // this will also set_current_to_destination
else
prepare_move(); // this will also set_current_to_destination
st_synchronize();
#else
......@@ -2143,14 +2150,14 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
endstop_adj[i] -= high_endstop;
}
sw_endstop_max[Z_AXIS] -= high_endstop;
}
}/*
else if (high_endstop < 0) {
ECHO_LMV(DB, "Increment Build height by ", abs(high_endstop));
for(uint8_t i = 0; i < 3; i++) {
endstop_adj[i] -= high_endstop;
}
sw_endstop_max[Z_AXIS] -= high_endstop;
}
}*/
set_delta_constants();
}
......@@ -2592,7 +2599,7 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
static void calibration_report() {
// Display Report
ECHO_LM(DB, "|\tZ-Tower\t\t\tEndstop Offsets");
ECHO_LM(DB, "| \tZ-Tower\t\t\tEndstop Offsets");
ECHO_SM(DB, "| \t");
if (bed_level_z >= 0) ECHO_M(" ");
......@@ -2636,12 +2643,6 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
}
static void home_delta_axis() {
saved_feedrate = feedrate;
saved_feedrate_multiplier = feedrate_multiplier;
feedrate_multiplier = 100;
refresh_cmd_timeout();
endstops.enable();
set_destination_to_current();
......@@ -2668,13 +2669,6 @@ inline void do_blocking_move_to_z(float z) { do_blocking_move_to(current_positio
sync_plan_position_delta();
#if ENABLED(ENDSTOPS_ONLY_FOR_HOMING)
endstops.enable(false);
#endif
feedrate = saved_feedrate;
feedrate_multiplier = saved_feedrate_multiplier;
refresh_cmd_timeout();
endstops.hit_on_purpose(); // clear endstop hit flags
}
......@@ -3516,26 +3510,7 @@ inline void gcode_G28() {
* all axis have to home at the same time
*/
// Pretend the current position is 0,0,0
for (int i = X_AXIS; i <= Z_AXIS; i++) current_position[i] = 0;
sync_plan_position();
// Move all carriages up together until the first endstop is hit.
for (int i = X_AXIS; i <= Z_AXIS; i++) destination[i] = 3 * (Z_MAX_LENGTH);
feedrate = 1.732 * homing_feedrate[X_AXIS];
line_to_destination();
st_synchronize();
endstops.hit_on_purpose(); // clear endstop hit flags
// Destination reached
for (int i = X_AXIS; i <= Z_AXIS; i++) current_position[i] = destination[i];
// take care of back off and rehome now we are all at the top
HOMEAXIS(X);
HOMEAXIS(Y);
HOMEAXIS(Z);
sync_plan_position_delta();
home_delta_axis();
if (DEBUGGING(INFO))
DEBUG_POS("(DELTA)", current_position);
......@@ -4368,23 +4343,23 @@ inline void gcode_G28() {
return;
}
saved_feedrate = feedrate;
saved_feedrate_multiplier = feedrate_multiplier;
feedrate_multiplier = 100;
setup_for_endstop_move();
if (!axis_homed[X_AXIS] || !axis_homed[Y_AXIS] || !axis_homed[Z_AXIS])
home_delta_axis();
delta_leveling_in_progress = true;
deploy_z_probe();
bed_safe_z = current_position[Z_AXIS];
calibrate_print_surface();
retract_z_probe();
clean_up_after_endstop_move();
KEEPALIVE_STATE(IN_HANDLER);
if (DEBUGGING(INFO)) ECHO_LM(INFO, "<<< gcode_G29");
delta_leveling_in_progress = false;
report_current_position();
KEEPALIVE_STATE(IN_HANDLER);
}
/* G30: Delta AutoCalibration
......@@ -4401,9 +4376,7 @@ inline void gcode_G28() {
inline void gcode_G30() {
if (DEBUGGING(INFO)) ECHO_LM(INFO, "gcode_G30 >>>");
saved_feedrate = feedrate;
saved_feedrate_multiplier = feedrate_multiplier;
feedrate_multiplier = 100;
setup_for_endstop_move();
// Reset the bed level array
reset_bed_level();
......@@ -4411,7 +4384,9 @@ inline void gcode_G28() {
// Homing and deploy z probe
if (!axis_homed[X_AXIS] || !axis_homed[Y_AXIS] || !axis_homed[Z_AXIS])
home_delta_axis();
deploy_z_probe();
delta_leveling_in_progress = true;
bed_safe_z = current_position[Z_AXIS];
if (code_seen('X') and code_seen('Y')) {
......@@ -4544,7 +4519,7 @@ inline void gcode_G28() {
// Tower positions have been changed .. home to endstops
ECHO_LM(DB, "Tower Positions changed .. Homing");
home_delta_axis();
deploy_z_probe();
do_blocking_move_to_z(z_probe_deploy_start_location[Z_AXIS]);
}
else {
ECHO_LM(DB, "Checking Diagonal Rod Length");
......@@ -4552,7 +4527,7 @@ inline void gcode_G28() {
// If diagonal rod length has been changed .. home to endstops
ECHO_LM(DB, "Diagonal Rod Length changed .. Homing");
home_delta_axis();
deploy_z_probe();
do_blocking_move_to_z(z_probe_deploy_start_location[Z_AXIS]);
}
}
bed_probe_all();
......@@ -4586,10 +4561,11 @@ inline void gcode_G28() {
clean_up_after_endstop_move();
KEEPALIVE_STATE(IN_HANDLER);
if (DEBUGGING(INFO)) ECHO_LM(INFO, "<<< gcode_G30");
delta_leveling_in_progress = false;
report_current_position();
KEEPALIVE_STATE(IN_HANDLER);
}
#endif // DELTA && Z_PROBE_ENDSTOP
......@@ -4821,7 +4797,7 @@ inline void gcode_M11() {
enqueue_and_echo_commands_P(PSTR(STOP_PRINTING_SCRIPT));
#endif
#if HAS(FILRUNOUT)
filrunoutEnqueued = false;
filament_ran_out = false;
ECHO_LM(DB, "Filament runout deactivated.");
#endif
}
......@@ -4832,7 +4808,7 @@ inline void gcode_M11() {
enqueue_and_echo_commands_P(PSTR(START_PRINTING_SCRIPT));
#endif
#if HAS(FILRUNOUT)
filrunoutEnqueued = false;
filament_ran_out = false;
ECHO_LM(DB, "Filament runout activated.");
ECHO_S(RESUME);
ECHO_E;
......@@ -4906,7 +4882,7 @@ inline void gcode_M17() {
*/
inline void gcode_M26() {
if (card.cardOK && code_seen('S'))
card.setIndex(code_value_short());
card.setIndex(code_value_long());
}
/**
......@@ -7172,7 +7148,7 @@ inline void gcode_M503() {
}
#endif // HEATER_USES_AD595
#if ENABLED(FILAMENTCHANGEENABLE)
#if ENABLED(FILAMENT_CHANGE_FEATURE)
/**
* M600: Pause for filament change
*
......@@ -7192,57 +7168,68 @@ inline void gcode_M503() {
return;
}
// Show initial message and wait for synchronize steppers
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INIT);
st_synchronize();
float lastpos[NUM_AXIS];
filament_changing = true;
// Save current position of all axes
for (int i = 0; i < NUM_AXIS; i++)
lastpos[i] = destination[i] = current_position[i];
#if MECH(DELTA)
float fr60 = feedrate / 60;
#define RUNPLAN calculate_delta(destination); \
plan_buffer_line(delta[TOWER_1], delta[TOWER_2], delta[TOWER_3], destination[E_AXIS], fr60, active_extruder, active_driver);
#define RUNPLAN calculate_delta(destination); \
plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], destination[E_AXIS], FILAMENT_CHANGE_XY_FEEDRATE * 60, active_extruder, active_driver);
#else
#define RUNPLAN line_to_destination();
#define RUNPLAN line_to_destination(FILAMENT_CHANGE_XY_FEEDRATE * 60);
#endif
//retract by E
KEEPALIVE_STATE(IN_HANDLER);
// Initial retract before move to filament change position
if (code_seen('E')) destination[E_AXIS] += code_value();
#if ENABLED(FILAMENTCHANGE_FIRSTRETRACT)
else destination[E_AXIS] += FILAMENTCHANGE_FIRSTRETRACT;
#if ENABLED(FILAMENT_CHANGE_RETRACT_LENGTH)
else destination[E_AXIS] += FILAMENT_CHANGE_RETRACT_LENGTH;
#endif
line_to_destination(FILAMENT_CHANGE_RETRACT_FEEDRATE * 60);
RUNPLAN
//lift Z
// Lift Z axis
if (code_seen('Z')) destination[Z_AXIS] += code_value();
#if ENABLED(FILAMENTCHANGE_ZADD)
else destination[Z_AXIS] += FILAMENTCHANGE_ZADD;
#if ENABLED(FILAMENT_CHANGE_Z_ADD)
else {
if (destination[Z_AXIS] + FILAMENT_CHANGE_Z_ADD > Z_MAX_POS)
destination[Z_AXIS] = Z_MAX_POS;
else
destination[Z_AXIS] += FILAMENT_CHANGE_Z_ADD;
}
#endif
RUNPLAN
//move xy
// Move XY axes to filament exchange position
if (code_seen('X')) destination[X_AXIS] = code_value();
#if ENABLED(FILAMENTCHANGE_XPOS)
else destination[X_AXIS] = FILAMENTCHANGE_XPOS;
#if ENABLED(FILAMENT_CHANGE_X_POS)
else destination[X_AXIS] = FILAMENT_CHANGE_X_POS;
#endif
if (code_seen('Y')) destination[Y_AXIS] = code_value();
#if ENABLED(FILAMENTCHANGE_YPOS)
else destination[Y_AXIS] = FILAMENTCHANGE_YPOS;
#if ENABLED(FILAMENT_CHANGE_Y_POS)
else destination[Y_AXIS] = FILAMENT_CHANGE_Y_POS;
#endif
RUNPLAN
st_synchronize();
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_UNLOAD);
if (code_seen('L')) destination[E_AXIS] += code_value();
#if ENABLED(FILAMENTCHANGE_FINALRETRACT)
else destination[E_AXIS] += FILAMENTCHANGE_FINALRETRACT;
#if ENABLED(FILAMENT_CHANGE_UNLOAD_LENGTH)
else destination[E_AXIS] += FILAMENT_CHANGE_UNLOAD_LENGTH;
#endif
line_to_destination(FILAMENT_CHANGE_UNLOAD_FEEDRATE * 60);
RUNPLAN
//finish moves
// Synchronize steppers and then disable extruders steppers for manual filament changing
st_synchronize();
//disable extruder steppers so filament can be removed
disable_e();
......@@ -7250,39 +7237,42 @@ inline void gcode_M503() {
boolean beep = true;
boolean sleep = false;
uint8_t cnt = 0;
int old_target_temperature[HOTENDS] = { 0 };
for (uint8_t e = 0; e < HOTENDS; e++) {
old_target_temperature[e] = target_temperature[e];
}
int old_target_temperature_bed = target_temperature_bed;
millis_t last_set = millis();
PRESSBUTTON:
KEEPALIVE_STATE(PAUSED_FOR_USER);
LCD_ALERTMESSAGEPGM(MSG_FILAMENTCHANGE);
// Wait for filament insert by user and press button
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_INSERT);
while (!lcd_clicked()) {
idle();
if ((millis() - last_set > 60000) && cnt <= FILAMENTCHANGE_PRINTEROFF) beep = true;
if (cnt >= FILAMENTCHANGE_PRINTEROFF && !sleep) {
if ((millis() - last_set > 60000) && cnt <= FILAMENT_CHANGE_PRINTER_OFF) beep = true;
if (cnt >= FILAMENT_CHANGE_PRINTER_OFF && !sleep) {
disable_all_heaters();
disable_all_steppers();
sleep = true;
lcd_reset_alert_level();
LCD_ALERTMESSAGEPGM("Zzzz Zzzz Zzzz");
}
if (beep) {
#if HAS(BUZZER)
for(uint8_t i = 0; i < 3; i++) buzz(100, 1000);
for(uint8_t i = 0; i < 3; i++) buzz(300, 1000);
#endif
last_set = millis();
beep = false;
++cnt;
}
idle(true);
} // while(!lcd_clicked)
KEEPALIVE_STATE(IN_HANDLER);
lcd_quick_feedback(); // click sound feedback
lcd_reset_alert_level(); //reset LCD alert message
delay(100);
while (lcd_clicked()) idle(true);
delay(100);
// Reset LCD alert message
lcd_reset_alert_level();
if (sleep) {
enable_all_steppers(); // Enable all stepper
......@@ -7292,48 +7282,67 @@ inline void gcode_M503() {
}
setTargetBed(old_target_temperature_bed);
wait_bed();
sleep = false;
beep = true;
cnt = 0;
goto PRESSBUTTON;
}
//return to normal
// Show load message
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_LOAD);
// Load filament
if (code_seen('L')) destination[E_AXIS] -= code_value();
#if ENABLED(FILAMENTCHANGE_FINALRETRACT)
else destination[E_AXIS] -= FILAMENTCHANGE_FINALRETRACT;
#if ENABLED(FILAMENT_CHANGE_LOAD_LENGTH)
else destination[E_AXIS] -= FILAMENT_CHANGE_LOAD_LENGTH;
#endif
current_position[E_AXIS] = destination[E_AXIS]; //the long retract of L is compensated by manual filament feeding
plan_set_e_position(current_position[E_AXIS]);
line_to_destination(FILAMENT_CHANGE_LOAD_FEEDRATE * 60);
st_synchronize();
RUNPLAN // should do nothing
#if ENABLED(FILAMENT_CHANGE_EXTRUDE_LENGTH)
do {
// Extrude filament to get into hotend
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_EXTRUDE);
destination[E_AXIS] += FILAMENT_CHANGE_EXTRUDE_LENGTH;
line_to_destination(FILAMENT_CHANGE_EXTRUDE_FEEDRATE * 60);
st_synchronize();
// Ask user if more filament should be extruded
KEEPALIVE_STATE(PAUSED_FOR_USER);
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_OPTION);
while (filament_change_menu_response == FILAMENT_CHANGE_RESPONSE_WAIT_FOR) idle(true);
KEEPALIVE_STATE(IN_HANDLER);
} while (filament_change_menu_response != FILAMENT_CHANGE_RESPONSE_RESUME_PRINT);
#endif
lcd_reset_alert_level();
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_RESUME);
KEEPALIVE_STATE(IN_HANDLER);
// Set extruder to saved position
current_position[E_AXIS] = lastpos[E_AXIS];
destination[E_AXIS] = lastpos[E_AXIS];
plan_set_e_position(current_position[E_AXIS]);
#if MECH(DELTA)
// Move XYZ to starting position, then E
calculate_delta(lastpos);
plan_buffer_line(delta[TOWER_1], delta[TOWER_2], delta[TOWER_3], destination[E_AXIS], fr60, active_extruder, active_driver);
plan_buffer_line(delta[TOWER_1], delta[TOWER_2], delta[TOWER_3], lastpos[E_AXIS], fr60, active_extruder, active_driver);
plan_buffer_line(delta[TOWER_1], delta[TOWER_2], delta[TOWER_3], destination[E_AXIS], FILAMENT_CHANGE_XY_FEEDRATE * 60, active_extruder, active_driver);
plan_buffer_line(delta[TOWER_1], delta[TOWER_2], delta[TOWER_3], lastpos[E_AXIS], FILAMENT_CHANGE_XY_FEEDRATE * 60, active_extruder, active_driver);
#else
// Move XY to starting position, then Z, then E
destination[X_AXIS] = lastpos[X_AXIS];
destination[Y_AXIS] = lastpos[Y_AXIS];
line_to_destination();
line_to_destination(FILAMENT_CHANGE_XY_FEEDRATE * 60);
destination[Z_AXIS] = lastpos[Z_AXIS];
line_to_destination();
destination[E_AXIS] = lastpos[E_AXIS];
line_to_destination();
line_to_destination(FILAMENT_CHANGE_Z_FEEDRATE * 60);
#endif
st_synchronize();
#if HAS(FILRUNOUT)
filrunoutEnqueued = false;
filament_ran_out = false;
#endif
filament_changing = false;
// Show status screen
lcd_filament_change_show_message(FILAMENT_CHANGE_MESSAGE_STATUS);
}
#endif //FILAMENTCHANGEENABLE
#endif // FILAMENT_CHANGE_FEATURE
#if ENABLED(DUAL_X_CARRIAGE)
/**
......@@ -8417,7 +8426,7 @@ void process_next_command() {
gcode_M595(); break;
#endif
#if ENABLED(FILAMENTCHANGEENABLE)
#if ENABLED(FILAMENT_CHANGE_FEATURE)
case 600: // Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
gcode_M600(); break;
#endif
......@@ -8643,7 +8652,8 @@ static void report_current_position() {
#endif
calculate_delta(target);
adjust_delta(target);
if (!delta_leveling_in_progress) adjust_delta(target);
if (DEBUGGING(DEBUG)) {
DEBUG_POS("prepare_move_delta", target);
......@@ -9042,13 +9052,13 @@ void plan_arc(
* Standard idle routine keeps the machine alive
*/
void idle(
#if ENABLED(FILAMENTCHANGEENABLE)
#if ENABLED(FILAMENT_CHANGE_FEATURE)
bool no_stepper_sleep/*=false*/
#endif
) {
manage_temp_controller();
manage_inactivity(
#if ENABLED(FILAMENTCHANGEENABLE)
#if ENABLED(FILAMENT_CHANGE_FEATURE)
no_stepper_sleep
#endif
);
......@@ -9338,8 +9348,8 @@ void kill(const char* lcd_msg) {
#if HAS(FILRUNOUT)
void filrunout() {
if (!filrunoutEnqueued) {
filrunoutEnqueued = true;
if (!filament_ran_out) {
filament_ran_out = true;
enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT));
st_synchronize();
}
......
......@@ -29,7 +29,7 @@
void get_command();
void idle(
#if ENABLED(FILAMENTCHANGEENABLE)
#if ENABLED(FILAMENT_CHANGE_FEATURE)
bool no_stepper_sleep=false // pass true to keep steppers from disabling on timeout
#endif
);
......@@ -197,6 +197,15 @@ extern int fanSpeed;
extern int meas_delay_cm; //delay distance
#endif
#if ENABLED(FILAMENT_CHANGE_FEATURE)
enum FilamentChangeMenuResponse {
FILAMENT_CHANGE_RESPONSE_WAIT_FOR,
FILAMENT_CHANGE_RESPONSE_EXTRUDE_MORE,
FILAMENT_CHANGE_RESPONSE_RESUME_PRINT
};
extern FilamentChangeMenuResponse filament_change_menu_response;
#endif
#if HAS(POWER_CONSUMPTION_SENSOR)
extern float power_consumption_meas; //holds the power consumption as accurately measured
extern unsigned long power_consumption_hour; //holds the power consumption per hour as accurately measured
......
......@@ -12,11 +12,11 @@
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Aragonese
*
......@@ -13,7 +35,7 @@
#define WELCOME_MSG MACHINE_NAME " parada."
#define MSG_SD "SD"
#define MSG_SD "Tarcheta"
#define MSG_SD_INSERTED MSG_SD " colocada"
#define MSG_SD_REMOVED MSG_SD " retirada"
#define MSG_MAIN "Menu prencipal"
......@@ -34,20 +56,19 @@
#define MSG_ONFOR "On x:"
#define MSG_PWRCONSUMED "P.er:"
#define MSG_FILCONSUMED "F:"
#define MSG_PREHEAT "Prec."
#define MSG_CONGIG "conf."
#define MSG_PREHEAT_PLA MSG_PREHEAT " PLA"
#define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " All"
#define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " Bed"
#define MSG_PREHEAT_PLA_SETTINGS MSG_CONGIG " PLA"
#define MSG_PREHEAT_ABS MSG_PREHEAT " ABS"
#define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " All"
#define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " Bed"
#define MSG_PREHEAT_ABS_SETTINGS MSG_CONGIG " ABS"
#define MSG_PREHEAT_GUM MSG_PREHEAT " GUM"
#define MSG_PREHEAT_GUM_ALL MSG_PREHEAT_GUM " All"
#define MSG_PREHEAT_GUM_BEDONLY MSG_PREHEAT_GUM " Bed"
#define MSG_PREHEAT_GUM_SETTINGS MSG_CONGIG " GUM"
#define MSG_PREHEAT "Precalentar"
#define MSG_PREHEAT_PLA "Precalentar PLA"
#define MSG_PREHEAT_PLA_ALL "Precalentar PLA a"
#define MSG_PREHEAT_PLA_BEDONLY "Prec. PLA Base"
#define MSG_PREHEAT_PLA_SETTINGS "Achustar tem. PLA"
#define MSG_PREHEAT_ABS "Precalentar ABS"
#define MSG_PREHEAT_ABS_ALL "Precalentar ABS a"
#define MSG_PREHEAT_ABS_BEDONLY "Prec. ABS Base"
#define MSG_PREHEAT_ABS_SETTINGS "Achustar tem. ABS"
#define MSG_PREHEAT_GUM "Precalentar GUM"
#define MSG_PREHEAT_GUM_ALL "Precalentar GUM a"
#define MSG_PREHEAT_GUM_BEDONLY "Achustar tem. "
#define MSG_PREHEAT_GUM_SETTINGS "Achustar tem. GUM"
#define MSG_TOO_COLD_FOR_FILAMENTCHANGE "Hotend too cold to change filament"
#define MSG_COOLDOWN "Enfriar"
#define MSG_SWITCH_PS_ON "Enchegar Fuent"
......@@ -69,8 +90,8 @@
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
#define MSG_IDLEOOZING "Anti oozing"
#define MSG_AUTOTEMP "Autotemp"
#define MSG_ON "ON "
#define MSG_OFF "OFF"
#define MSG_ON "On"
#define MSG_OFF "Off"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
......@@ -82,13 +103,13 @@
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ves-jerk"
#define MSG_VMAX "Vmax "
#define MSG_VMAX "Vmax"
#define MSG_X "X"
#define MSG_Y "Y"
#define MSG_Z "Z"
#define MSG_E "E"
#define MSG_MOVE "Move"
#define MSG_MOVE_AXIS MSG_MOVE " axis"
#define MSG_MOVE "Mover"
#define MSG_MOVE_AXIS MSG_MOVE " Eixes"
#define MSG_MOVE_X MSG_MOVE " " MSG_X
#define MSG_MOVE_Y MSG_MOVE " " MSG_Y
#define MSG_MOVE_Z MSG_MOVE " " MSG_Z
......@@ -98,7 +119,7 @@
#define MSG_MOVE_E "Extruder"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_AMAX "Amax"
#define MSG_A_RETRACT "A-retrac."
#define MSG_A_TRAVEL "A-travel"
#define MSG_XSTEPS MSG_X " trangos/mm"
......@@ -124,8 +145,8 @@
#define MSG_PAUSE_PRINT "Pausar impresion"
#define MSG_RESUME_PRINT "Contin. impresion"
#define MSG_STOP_PRINT "Detener Impresion"
#define MSG_CARD_MENU "Menu de " MSG_SD
#define MSG_NO_CARD "No i hai " MSG_SD
#define MSG_CARD_MENU "Menu de SD"
#define MSG_NO_CARD "No i hai tarcheta"
#define MSG_DWELL "Reposo..."
#define MSG_USERWAIT "Asperan. ordines"
#define MSG_RESUMING "Contin. impresion"
......@@ -134,7 +155,7 @@
#define MSG_KILLED "ATURADA D'EMERCH."
#define MSG_STOPPED "ATURADA."
#define MSG_CONTROL_RETRACT "Retraer mm"
#define MSG_CONTROL_RETRACT_SWAP "Swap Re. mm"
#define MSG_CONTROL_RETRACT_SWAP "Swap Retraer mm"
#define MSG_CONTROL_RETRACTF "Retraer F"
#define MSG_CONTROL_RETRACT_ZLIFT "Devantar mm"
#define MSG_CONTROL_RETRACT_RECOVER "DesRet +mm"
......@@ -142,8 +163,8 @@
#define MSG_CONTROL_RETRACT_RECOVERF "DesRet F"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Cambear"
#define MSG_INIT_SDCARD "Encetan. " MSG_SD
#define MSG_CNG_SDCARD "Cambiar " MSG_SD
#define MSG_INIT_SDCARD "Encetan. tarcheta"
#define MSG_CNG_SDCARD "Cambiar tarcheta"
#define MSG_ZPROBE_OUT "Z probe out. bed"
#define MSG_POSITION_UNKNOWN "Home X/Y before Z"
#define MSG_ZPROBE_ZOFFSET "Z Offset"
......@@ -155,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -212,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Bulgarian
*
* LCD Menu Messages
......@@ -13,9 +35,8 @@
#define WELCOME_MSG MACHINE_NAME " Готов."
#define MSG_SD "SD"
#define MSG_SD_INSERTED MSG_SD " поставена"
#define MSG_SD_REMOVED MSG_SD " извадена"
#define MSG_SD_INSERTED "Картата е поставена"
#define MSG_SD_REMOVED "Картата е извадена"
#define MSG_MAIN "Меню"
#define MSG_AUTOSTART "Автостарт"
#define MSG_DISABLE_STEPPERS "Изкл. двигатели"
......@@ -155,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -212,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Catalan
*
......@@ -154,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -211,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Chinese
*
......@@ -154,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -211,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Czech
*
* LCD Menu Messages
* See also documentation/LCDLanguageFont.md
*
* Translated by Petr Zahradnik, Computer Laboratory
* Blog and video blog Zahradnik se bavi
* http://www.zahradniksebavi.cz
*
*/
#ifndef LANGUAGE_CZ_H
#define LANGUAGE_CZ_H
#define MAPPER_NON // For direct asci codes
#define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays.
#define WELCOME_MSG MACHINE_NAME " pripraven."
#define MSG_SD_INSERTED "Karta vlozena"
#define MSG_SD_REMOVED "Karta vyjmuta"
#define MSG_MAIN "Hlavni nabidka"
#define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Uvolnit motory"
#define MSG_AUTO_HOME "Domovska pozice"
#define MSG_MBL_SETTING "Manual Bed Leveling"
#define MSG_MBL_BUTTON " Press the button "
#define MSG_MBL_INTRO " Leveling bed... "
#define MSG_MBL_1 " Adjust first point "
#define MSG_MBL_2 " Adjust second point"
#define MSG_MBL_3 " Adjust third point "
#define MSG_MBL_4 " Adjust fourth point"
#define MSG_MBL_5 " Is it ok? "
#define MSG_MBL_6 " BED leveled! "
#define MSG_SET_HOME_OFFSETS "Nastavit ofsety"
#define MSG_SET_ORIGIN "Nastavit pocatek"
#define MSG_ONFOR "On x:"
#define MSG_PWRCONSUMED "P.er:"
#define MSG_FILCONSUMED "F:"
#define MSG_PREHEAT "Zahrat"
#define MSG_PREHEAT_PLA "Zahrat PLA"
#define MSG_PREHEAT_PLA_ALL MSG_PREHEAT_PLA " Vse"
#define MSG_PREHEAT_PLA_BEDONLY MSG_PREHEAT_PLA " Podloz"
#define MSG_PREHEAT_PLA_SETTINGS MSG_PREHEAT_PLA " Nast"
#define MSG_PREHEAT_ABS "Zahrat ABS"
#define MSG_PREHEAT_ABS_ALL MSG_PREHEAT_ABS " Vse"
#define MSG_PREHEAT_ABS_BEDONLY MSG_PREHEAT_ABS " Podloz"
#define MSG_PREHEAT_ABS_SETTINGS MSG_PREHEAT_ABS " Nast"
#define MSG_PREHEAT_GUM MSG_PREHEAT " GUM"
#define MSG_PREHEAT_GUM_ALL MSG_PREHEAT_GUM " All"
#define MSG_PREHEAT_GUM_BEDONLY MSG_PREHEAT_GUM " Bed"
#define MSG_PREHEAT_GUM_SETTINGS "GUM conf."
#define MSG_TOO_COLD_FOR_FILAMENTCHANGE "Hotend too cold to change filament"
#define MSG_COOLDOWN "Zchladit"
#define MSG_SWITCH_PS_ON "Zapnout napajeni"
#define MSG_SWITCH_PS_OFF "Vypnout napajeni"
#define MSG_EXTRUDE "Vytlacit (extr.)"
#define MSG_RETRACT "Zatlacit (retr.)"
#define MSG_MOVE_AXIS "Posunout osy"
#define MSG_LEVEL_BED "Vyrovnat podlozku"
#define MSG_MOVE_X "Posunout X"
#define MSG_MOVE_Y "Posunout Y"
#define MSG_MOVE_Z "Posunout Z"
#define MSG_FAN_SPEED "Rychlost vent."
#define MSG_FLOW "Prutok"
#define MSG_CONTROL "Ovladani"
#define MSG_STATS "Statistics"
#define MSG_FIX_LOSE_STEPS "Fix axis steps"
#define MSG_MIN " " LCD_STR_THERMOMETER " Min"
#define MSG_MAX " " LCD_STR_THERMOMETER " Max"
#define MSG_FACTOR " " LCD_STR_THERMOMETER " Fakt"
#define MSG_IDLEOOZING "Anti oozing"
#define MSG_AUTOTEMP "Autoteplota"
#define MSG_ON "Zap"
#define MSG_OFF "Vyp"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_H1 " H1"
#define MSG_H2 " H2"
#define MSG_H3 " H3"
#define MSG_ACC "Zrychl"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX "Vmax "
#define MSG_X "X"
#define MSG_Y "Y"
#define MSG_Z "Z"
#define MSG_E "E"
#define MSG_MOVE "Posunout"
#define MSG_MOVE_AXIS MSG_MOVE " axis"
#define MSG_MOVE_X MSG_MOVE " " MSG_X
#define MSG_MOVE_Y MSG_MOVE " " MSG_Y
#define MSG_MOVE_Z MSG_MOVE " " MSG_Z
#define MSG_MOVE_01MM MSG_MOVE " 0.1mm"
#define MSG_MOVE_1MM MSG_MOVE " 1mm"
#define MSG_MOVE_10MM MSG_MOVE " 10mm"
#define MSG_MOVE_E "Extruder"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_A_RETRACT "A-retrakt"
#define MSG_A_TRAVEL "A-prejezd"
#define MSG_XSTEPS "Xkroku/mm"
#define MSG_YSTEPS "Ykroku/mm"
#define MSG_ZSTEPS "Zkroku/mm"
#define MSG_E0STEPS MSG_E "0 Zkroku/mm"
#define MSG_E1STEPS MSG_E "1 Zkroku/mm"
#define MSG_E2STEPS MSG_E "2 Zkroku/mm"
#define MSG_E3STEPS MSG_E "3 Zkroku/mm"
#define MSG_TEMPERATURE "Teplota"
#define MSG_MOTION "Pohyb"
#define MSG_FILAMENT "Filament"
#define MSG_VOLUMETRIC_ENABLED "E na mm3"
#define MSG_FILAMENT_SIZE_EXTRUDER "Fil. Prum."
#define MSG_CONTRAST "Kontrast LCD"
#define MSG_STORE_EPROM "Ulozit nastaveni"
#define MSG_LOAD_EPROM "Nacist nastaveni"
#define MSG_RESTORE_FAILSAFE "Obnovit vychozi"
#define MSG_REFRESH "Obnovit"
#define MSG_WATCH "Info obrazovka"
#define MSG_PREPARE "Priprava tisku"
#define MSG_TUNE "Doladeni tisku"
#define MSG_PAUSE_PRINT "Pozastavit tisk"
#define MSG_RESUME_PRINT "Obnovit tisk"
#define MSG_STOP_PRINT "Zastavit tisk"
#define MSG_CARD_MENU "Tisknout z SD"
#define MSG_NO_CARD "Zadna SD karta"
#define MSG_DWELL "Uspano..."
#define MSG_USERWAIT "Cekani na uziv..."
#define MSG_RESUMING "Obnovovani tisku"
#define MSG_PRINT_ABORTED "Tisk zrusen"
#define MSG_NO_MOVE "Zadny pohyb."
#define MSG_KILLED "PRERUSENO. "
#define MSG_STOPPED "ZASTAVENO. "
#define MSG_CONTROL_RETRACT "Retrakt mm"
#define MSG_CONTROL_RETRACT_SWAP "Vymena Re.mm"
#define MSG_CONTROL_RETRACTF "Retraktovat V"
#define MSG_CONTROL_RETRACT_ZLIFT "Zvednuti Z mm"
#define MSG_CONTROL_RETRACT_RECOVER "UnRet +mm"
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "S UnRet+mm"
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet V"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Vymenit filament"
#define MSG_INIT_SDCARD "Nacist SD kartu"
#define MSG_CNG_SDCARD "Vymenit SD kartu"
#define MSG_ZPROBE_OUT "Sonda Z mimo podl"
#define MSG_POSITION_UNKNOWN "Domu X/Y pred Z"
#define MSG_ZPROBE_ZOFFSET "Z ofset"
#define MSG_BABYSTEP "Babystep"
#define MSG_BABYSTEP_X MSG_BABYSTEP " " MSG_X
#define MSG_BABYSTEP_Y MSG_BABYSTEP " " MSG_Y
#define MSG_BABYSTEP_Z MSG_BABYSTEP " " MSG_Z
#define MSG_ENDSTOP_ABORT "Endstop abort"
#define MSG_HEATING_FAILED_LCD "Chyba zahrivani"
#define MSG_ERR_REDUNDANT_TEMP "Chyba: REDUNDANTNI TEPLOTA"
#define MSG_THERMAL_RUNAWAY "TEPLOTNI SKOK"
#define MSG_ERR_MAXTEMP "Chyba: VYSOKA TEPLOTA"
#define MSG_ERR_MINTEMP "Chyba: NIZKA TEPLOTA"
#define MSG_ERR_MAXTEMP_BED "Chyba: VYSOKA TEPLOTA PODL."
#define MSG_ERR_MINTEMP_BED "Chyba: NIZKA TEPLOTA PODL."
#define MSG_END_DAY "days"
#define MSG_END_HOUR "hod"
#define MSG_END_MINUTE "min"
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_BABYSTEPPING "Babystepping"
#define MSG_BABYSTEPPING_X MSG_BABYSTEPPING " " MSG_X
#define MSG_BABYSTEPPING_Y MSG_BABYSTEPPING " " MSG_Y
#define MSG_BABYSTEPPING_Z MSG_BABYSTEPPING " " MSG_Z
#define MSG_ENDSTOP_XS MSG_X
#define MSG_ENDSTOP_YS MSG_Y
#define MSG_ENDSTOP_ZS MSG_Z
#define MSG_ENDSTOP_ZPS MSG_Z "P"
#define MSG_ENDSTOP_ES MSG_E
// Calibrate Delta
#if MECH(DELTA)
#define MSG_DELTA_CALIBRATE "Delta Calibration"
#define MSG_DELTA_CALIBRATE_X "Calibrate " MSG_X
#define MSG_DELTA_CALIBRATE_Y "Calibrate " MSG_Y
#define MSG_DELTA_CALIBRATE_Z "Calibrate " MSG_Z
#define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center"
#endif // DELTA
// Scara
#if MECH(SCARA)
#define MSG_SCALE "Scale"
#define MSG_XSCALE MSG_X " " MSG_SCALE
#define MSG_YSCALE MSG_Y " " MSG_SCALE
#endif
#define MSG_HEATING "Heating..."
#define MSG_HEATING_COMPLETE "Heating done."
#define MSG_BED_HEATING "Bed Heating."
#define MSG_BED_DONE "Bed done."
// Extra
#define MSG_LASER "Laser Preset"
#define MSG_CONFIG "Configuration"
#define MSG_E_BOWDEN_LENGTH MSG_EXTRUDE " " STRINGIFY(BOWDEN_LENGTH) "mm"
#define MSG_R_BOWDEN_LENGTH MSG_RETRACT " " STRINGIFY(BOWDEN_LENGTH) "mm"
#define MSG_PURGE_XMM MSG_PURGE " " STRINGIFY(LCD_PURGE_LENGTH) "mm"
#define MSG_RETRACT_XMM MSG_RETRACT " " STRINGIFY(LCD_RETRACT_LENGTH) "mm"
#define MSG_SAVED_POS "Saved position"
#define MSG_RESTORING_POS "Restoring position"
#define MSG_INVALID_POS_SLOT "Invalid slot, total slots: "
// Rfid module
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
// Firmware Test
#if ENABLED(FIRMWARE_TEST)
#define MSG_FWTEST_YES "Put the Y command to go next"
#define MSG_FWTEST_NO "Put the N command to go next"
#define MSG_FWTEST_YES_NO "Put the Y or N command to go next"
#define MSG_FWTEST_ENDSTOP_ERR "ENDSTOP ERROR! Check wire and connection"
#define MSG_FWTEST_PRESS "Press and hold the endstop "
#define MSG_FWTEST_INVERT "Reverse value of "
#define MSG_FWTEST_XAXIS "Has the nozzle moved to the right?"
#define MSG_FWTEST_YAXIS "Has the nozzle moved forward?"
#define MSG_FWTEST_ZAXIS "Has the nozzle moved up?"
#define MSG_FWTEST_01 "Manually move the axes X, Y and Z away from the endstop"
#define MSG_FWTEST_02 "Do you want check ENDSTOP?"
#define MSG_FWTEST_03 "Start check ENDSTOP"
#define MSG_FWTEST_04 "Start check MOTOR"
#define MSG_FWTEST_ATTENTION "ATTENTION! Check that the three axes are more than 5 mm from the endstop!"
#define MSG_FWTEST_END "Finish Test. Disable FIRMWARE_TEST and recompile."
#define MSG_FWTEST_INTO "into "
#define MSG_FWTEST_ERROR "ERROR"
#define MSG_FWTEST_OK "OK"
#define MSG_FWTEST_NDEF "not defined"
#endif // FIRMWARE_TEST
#endif // LANGUAGE_CZ_H
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Danish
*
......@@ -154,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -211,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* German
*
......@@ -154,7 +176,7 @@
#define MSG_HEATING_FAILED_LCD "Heating failed"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP ERROR"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_HOTEND_AD595 "HOTEND AD595 Offset & Gain"
#define MSG_AD595 "AD595 Offset & Gain"
#define MSG_ERR_MAXTEMP "MAXTEMP ERROR"
#define MSG_ERR_MINTEMP "MINTEMP ERROR"
#define MSG_ERR_MAXTEMP_BED "MAXTEMP BED ERROR"
......@@ -211,9 +233,13 @@
#if ENABLED(RFID_MODULE)
#define MSG_RFID_SPOOL "Spool on E"
#define MSG_RFID_BRAND "Brand: "
#define MSG_RFID_TYPE "Type: "
#define MSG_RFID_COLOR "Color: "
#define MSG_RFID_SIZE "Size: "
#define MSG_RFID_TEMPERATURE "Temperature: "
#define MSG_RFID_TEMP_HOTEND "Temperature Hotend: "
#define MSG_RFID_TEMP_BED "Temperature Bed: "
#define MSG_RFID_TEMP_USER_HOTEND "User temperature Hotend: "
#define MSG_RFID_TEMP_USER_BED "User temperatura Bed: "
#define MSG_RFID_DENSITY "Density: "
#define MSG_RFID_SPOOL_LENGHT "Spool Lenght: "
#endif
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* English
*
......@@ -140,7 +162,7 @@
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Swap UnRet +mm"
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet F"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_FILAMENT_CHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. " MSG_SD
#define MSG_CNG_SDCARD "Change " MSG_SD
#define MSG_ZPROBE_OUT "Z probe out. bed"
......@@ -184,6 +206,30 @@
#define MSG_DELTA_CALIBRATE_CENTER "Calibrate Center"
#endif // DELTA
// FILAMENT_CHANGE_FEATURE
#define MSG_FILAMENT_CHANGE_HEADER "CHANGE FILAMENT"
#define MSG_FILAMENT_CHANGE_INIT_1 "Wait for start"
#define MSG_FILAMENT_CHANGE_INIT_2 "of the filament"
#define MSG_FILAMENT_CHANGE_INIT_3 "change"
#define MSG_FILAMENT_CHANGE_UNLOAD_1 "Wait for"
#define MSG_FILAMENT_CHANGE_UNLOAD_2 "filament unload"
#define MSG_FILAMENT_CHANGE_UNLOAD_3 ""
#define MSG_FILAMENT_CHANGE_INSERT_1 "Insert filament"
#define MSG_FILAMENT_CHANGE_INSERT_2 "and press button"
#define MSG_FILAMENT_CHANGE_INSERT_3 "to continue..."
#define MSG_FILAMENT_CHANGE_LOAD_1 "Wait for"
#define MSG_FILAMENT_CHANGE_LOAD_2 "filament load"
#define MSG_FILAMENT_CHANGE_LOAD_3 ""
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 "Wait for"
#define MSG_FILAMENT_CHANGE_EXTRUDE_2 "filament extrude"
#define MSG_FILAMENT_CHANGE_EXTRUDE_3 ""
#define MSG_FILAMENT_CHANGE_OPTION_HEADER "WHAT NEXT?"
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE "Extrude more"
#define MSG_FILAMENT_CHANGE_OPTION_RESUME "Resume print"
#define MSG_FILAMENT_CHANGE_RESUME_1 "Wait for print"
#define MSG_FILAMENT_CHANGE_RESUME_2 "resume"
#define MSG_FILAMENT_CHANGE_RESUME_3 ""
// Scara
#if MECH(SCARA)
#define MSG_SCALE "Scale"
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Spanish
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Basque-Euskera
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Finnish
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* French
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Galician language (ISO "gl")
*
* LCD Menu Messages
* See also documentation/LCDLanguageFont.md
*
*/
#ifndef LANGUAGE_GL_H
#define LANGUAGE_GL_H
#define MAPPER_C2C3
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
//#define SIMULATE_ROMFONT
#define DISPLAY_CHARSET_ISO10646_1
#define WELCOME_MSG MACHINE_NAME " lista."
#define MSG_SD_INSERTED "Tarxeta inserida"
#define MSG_SD_REMOVED "Tarxeta retirada"
#define MSG_MAIN "Menu principal"
#define MSG_AUTOSTART "Autoarranque"
#define MSG_DISABLE_STEPPERS "Apagar motores"
#define MSG_AUTO_HOME "Ir a orixe"
#define MSG_SET_ORIGIN "Fixar orixe"
#define MSG_PREHEAT_PLA "Prequentar PLA"
#define MSG_PREHEAT_PLA_N "Prequentar PLA "
#define MSG_PREHEAT_PLA_ALL "Preque. PLA Todo"
#define MSG_PREHEAT_PLA_BEDONLY "Preque. PLA Cama"
#define MSG_PREHEAT_PLA_SETTINGS "Preque. PLA conf"
#define MSG_PREHEAT_ABS "Prequentar ABS"
#define MSG_PREHEAT_ABS_N "Prequentar ABS "
#define MSG_PREHEAT_ABS_ALL "Preque. ABS Todo"
#define MSG_PREHEAT_ABS_BEDONLY "Preque. ABS Cama"
#define MSG_PREHEAT_ABS_SETTINGS "Preque. ABS conf"
#define MSG_COOLDOWN "Arrefriar"
#define MSG_SWITCH_PS_ON "Acender"
#define MSG_SWITCH_PS_OFF "Apagar"
#define MSG_EXTRUDE "Extrudir"
#define MSG_RETRACT "Retraer"
#define MSG_MOVE_AXIS "Mover eixe"
#define MSG_LEVEL_BED "Nivelar cama"
#define MSG_MOVE_X "Mover X"
#define MSG_MOVE_Y "Mover Y"
#define MSG_MOVE_Z "Mover Z"
#define MSG_MOVE_E "Extruir"
#define MSG_MOVE_01MM "Mover 0.1mm"
#define MSG_MOVE_1MM "Mover 1mm"
#define MSG_MOVE_10MM "Mover 10mm"
#define MSG_SPEED "Velocidade"
#define MSG_NOZZLE "Bico"
#define MSG_BED "Cama"
#define MSG_FAN_SPEED "Velocidade vent."
#define MSG_FLOW "Fluxo"
#define MSG_CONTROL "Control"
#define MSG_MIN " " LCD_STR_THERMOMETER " Min"
#define MSG_MAX " " LCD_STR_THERMOMETER " Max"
#define MSG_FACTOR " " LCD_STR_THERMOMETER " Fact"
#define MSG_AUTOTEMP "Autotemp"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_E1 " E1"
#define MSG_E2 " E2"
#define MSG_E3 " E3"
#define MSG_E4 " E4"
#define MSG_ACC "Acel"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX "Vmax "
#define MSG_X "X"
#define MSG_Y "Y"
#define MSG_Z "Z"
#define MSG_E "E"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_A_RETRACT "A-retract"
#define MSG_A_TRAVEL "A-travel"
#define MSG_XSTEPS "Xpasos/mm"
#define MSG_YSTEPS "Ypasos/mm"
#define MSG_ZSTEPS "Zpasos/mm"
#define MSG_ESTEPS "Epasos/mm"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movemento"
#define MSG_VOLUMETRIC "Filamento"
#define MSG_VOLUMETRIC_ENABLED "E en mm3"
#define MSG_FILAMENT_DIAM "Diametro filam."
#define MSG_CONTRAST "Constraste LCD"
#define MSG_STORE_EPROM "Gardar en memo."
#define MSG_LOAD_EPROM "Cargar de memo."
#define MSG_RESTORE_FAILSAFE "Cargar de firm."
#define MSG_REFRESH "Volver a cargar"
#define MSG_WATCH "Monitorizacion"
#define MSG_PREPARE "Preparar"
#define MSG_TUNE "Axustar"
#define MSG_PAUSE_PRINT "Pausar impres."
#define MSG_RESUME_PRINT "Seguir impres."
#define MSG_STOP_PRINT "Deter impres."
#define MSG_CARD_MENU "Tarxeta SD"
#define MSG_NO_CARD "Sen tarxeta SD"
#define MSG_DWELL "En repouso..."
#define MSG_USERWAIT "A espera..."
#define MSG_RESUMING "Imprimindo..."
#define MSG_PRINT_ABORTED "Impre. cancelada"
#define MSG_NO_MOVE "Sen movemento."
#define MSG_KILLED "PROGRAMA MORTO"
#define MSG_STOPPED "PROGRAMA PARADO"
#define MSG_CONTROL_RETRACT "Retraccion mm"
#define MSG_CONTROL_RETRACT_SWAP "Cambio retra. mm"
#define MSG_CONTROL_RETRACTF "Retraccion V"
#define MSG_CONTROL_RETRACT_ZLIFT "Alzar Z mm"
#define MSG_CONTROL_RETRACT_RECOVER "Recup. retra. mm"
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Cambio recup. mm"
#define MSG_CONTROL_RETRACT_RECOVERF "Recuperacion V"
#define MSG_AUTORETRACT "Retraccion auto."
#define MSG_FILAMENTCHANGE "Cambiar filamen."
#define MSG_INIT_SDCARD "Iniciando SD"
#define MSG_CNG_SDCARD "Cambiar SD"
#define MSG_ZPROBE_OUT "Sonda-Z sen cama"
#define MSG_YX_UNHOMED "X/Y antes que Z"
#define MSG_ZPROBE_ZOFFSET "Offset Z"
#define MSG_BABYSTEP_X "Micropaso X"
#define MSG_BABYSTEP_Y "Micropaso Y"
#define MSG_BABYSTEP_Z "Micropaso Z"
#define MSG_ENDSTOP_ABORT "Erro fin carro"
#define MSG_HEATING_FAILED_LCD "Fallo quentando"
#define MSG_ERR_REDUNDANT_TEMP "Erro temperatura"
#define MSG_THERMAL_RUNAWAY "Temp. excesiva"
#define MSG_ERR_MAXTEMP "Err: temp. max."
#define MSG_ERR_MINTEMP "Err: temp. min."
#define MSG_ERR_MAXTEMP_BED "Err: MAXTEMP BED"
#define MSG_ERR_MINTEMP_BED "Err: MINTEMP BED"
#define MSG_END_HOUR "horas"
#define MSG_END_MINUTE "minutos"
#define MSG_HEATING "Quentando..."
#define MSG_HEATING_COMPLETE "Xa esta quente"
#define MSG_BED_HEATING "Quentando cama"
#define MSG_BED_DONE "Cama esta quente"
#define MSG_DELTA_CALIBRATE "Calibracion Delta"
#define MSG_DELTA_CALIBRATE_X "Calibrar X"
#define MSG_DELTA_CALIBRATE_Y "Calibrar Y"
#define MSG_DELTA_CALIBRATE_Z "Calibrar Z"
#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro"
#endif // LANGUAGE_GL_H
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Italian
*
......@@ -140,7 +162,7 @@
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Scamb. UnRet +mm"
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet V"
#define MSG_AUTORETRACT "AutoArretramento"
#define MSG_FILAMENTCHANGE "Cambia filamento"
#define MSG_FILAMENT_CHANGE "Cambia filamento"
#define MSG_INIT_SDCARD "Iniz. SD-Card"
#define MSG_CNG_SDCARD "Cambia SD-Card"
#define MSG_ZPROBE_OUT "Z probe out. bed"
......@@ -184,6 +206,30 @@
#define MSG_DELTA_CALIBRATE_CENTER "Calibra Centro"
#endif // DELTA
// FILAMENT_CHANGE_FEATURE
#define MSG_FILAMENT_CHANGE_HEADER "CAMBIO FILO"
#define MSG_FILAMENT_CHANGE_INIT_1 "Attendere"
#define MSG_FILAMENT_CHANGE_INIT_2 "per il cambio"
#define MSG_FILAMENT_CHANGE_INIT_3 "filamento"
#define MSG_FILAMENT_CHANGE_UNLOAD_1 "Attendere lo"
#define MSG_FILAMENT_CHANGE_UNLOAD_2 "scarico filamento"
#define MSG_FILAMENT_CHANGE_UNLOAD_3 ""
#define MSG_FILAMENT_CHANGE_INSERT_1 "Inserire filamento"
#define MSG_FILAMENT_CHANGE_INSERT_2 "premere il bottone"
#define MSG_FILAMENT_CHANGE_INSERT_3 "per continuare..."
#define MSG_FILAMENT_CHANGE_LOAD_1 "Attendere il"
#define MSG_FILAMENT_CHANGE_LOAD_2 "caricamento filo"
#define MSG_FILAMENT_CHANGE_LOAD_3 ""
#define MSG_FILAMENT_CHANGE_EXTRUDE_1 "Attendere"
#define MSG_FILAMENT_CHANGE_EXTRUDE_2 "estrusione filamento"
#define MSG_FILAMENT_CHANGE_EXTRUDE_3 ""
#define MSG_FILAMENT_CHANGE_OPTION_HEADER "Cosa faccio?"
#define MSG_FILAMENT_CHANGE_OPTION_EXTRUDE "Estrudere ancora"
#define MSG_FILAMENT_CHANGE_OPTION_RESUME "Riprendere la stampa"
#define MSG_FILAMENT_CHANGE_RESUME_1 "Attendere che la"
#define MSG_FILAMENT_CHANGE_RESUME_2 "stampa riprenda"
#define MSG_FILAMENT_CHANGE_RESUME_3 ""
// Scara
#if MECH(SCARA)
#define MSG_SCALE "Scale"
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Japanese (Kana)
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Japanese (Kana UTF8 version)
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Dutch
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Polish
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese (Brazil)
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese (Brazil)
*
* LCD Menu Messages
* See also documentation/LCDLanguageFont.md
*
*/
#ifndef LANGUAGE_PT_BR_UTF_H
#define LANGUAGE_PT_BR_UTF_H
#define MAPPER_NON
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
//#define SIMULATE_ROMFONT
#define DISPLAY_CHARSET_ISO10646_1
#define WELCOME_MSG MACHINE_NAME " pronto."
#define MSG_SD_INSERTED "Cartão inserido"
#define MSG_SD_REMOVED "Cartão removido"
#define MSG_MAIN "Menu principal"
#define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Desabi. motores"
#define MSG_AUTO_HOME "Ir para origen"
#define MSG_LEVEL_BED_HOMING "Indo para origem"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
#define MSG_SET_HOME_OFFSETS "Ajustar Jogo"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Ajustar orig."
#define MSG_PREHEAT_PLA "Pre-aquecer PLA"
#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA"
#define MSG_PREHEAT_PLA_ALL "Pre-aq.Todo PLA"
#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base"
#define MSG_PREHEAT_PLA_SETTINGS "Ajustar PLA"
#define MSG_PREHEAT_ABS "Pre-aquecer ABS"
#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS"
#define MSG_PREHEAT_ABS_ALL "Pre-aq.Todo ABS"
#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base"
#define MSG_PREHEAT_ABS_SETTINGS "Ajustar ABS"
#define MSG_COOLDOWN "Esfriar"
#define MSG_SWITCH_PS_ON "Ligar"
#define MSG_SWITCH_PS_OFF "Desligar"
#define MSG_EXTRUDE "Extrudar"
#define MSG_RETRACT "Retrair"
#define MSG_MOVE_AXIS "Mover eixo"
#define MSG_MOVE_X "Mover X"
#define MSG_MOVE_Y "Mover Y"
#define MSG_MOVE_Z "Mover Z"
#define MSG_MOVE_E "Mover Extrusor"
#define MSG_MOVE_01MM "Mover 0.1mm"
#define MSG_MOVE_1MM "Mover 1mm"
#define MSG_MOVE_10MM "Mover 10mm"
#define MSG_SPEED "Velocidade"
#define MSG_BED_Z "Base Z"
#define MSG_NOZZLE LCD_STR_THERMOMETER " Bocal"
#define MSG_BED LCD_STR_THERMOMETER " Base"
#define MSG_FAN_SPEED "Vel. Ventoinha"
#define MSG_FLOW "Fluxo"
#define MSG_CONTROL "Controle"
#define MSG_MIN LCD_STR_THERMOMETER " Min"
#define MSG_MAX LCD_STR_THERMOMETER " Max"
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
#define MSG_AUTOTEMP "Temp. Automática"
#define MSG_ON "Ligado "
#define MSG_OFF "Desligado"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_ACC "Acc"
#define MSG_VXY_JERK "jogo VXY"
#define MSG_VZ_JERK "jogo VZ"
#define MSG_VE_JERK "jogo VE"
#define MSG_VMAX " Vmax "
#define MSG_X "X"
#define MSG_Y "Y"
#define MSG_Z "Z"
#define MSG_E "E"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_A_RETRACT "Retrair A"
#define MSG_A_TRAVEL "A-movimento"
#define MSG_XSTEPS "Passo X/mm"
#define MSG_YSTEPS "Passo Y/mm"
#define MSG_ZSTEPS "Passo Z/mm"
#define MSG_ESTEPS "E/mm"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimento"
#define MSG_VOLUMETRIC "Filamento"
#define MSG_VOLUMETRIC_ENABLED "Extr. em mm3"
#define MSG_FILAMENT_DIAM "Diametro Fil."
#define MSG_CONTRAST "Contraste"
#define MSG_STORE_EPROM "Salvar"
#define MSG_LOAD_EPROM "Ler"
#define MSG_RESTORE_FAILSAFE "Rest. de emerg."
#define MSG_REFRESH LCD_STR_REFRESH " Restaurar"
#define MSG_WATCH "Monitorar"
#define MSG_PREPARE "Preparar"
#define MSG_TUNE "Afinar"
#define MSG_PAUSE_PRINT "Pausar impressão"
#define MSG_RESUME_PRINT "Resumir impressão"
#define MSG_STOP_PRINT "Parar impressão"
#define MSG_CARD_MENU "Imprimir do SD"
#define MSG_NO_CARD "Sem cartão SD"
#define MSG_DWELL "Repouso..."
#define MSG_USERWAIT "Esperando ordem"
#define MSG_RESUMING "Resumindo Impres."
#define MSG_PRINT_ABORTED "Impres. Abortada."
#define MSG_NO_MOVE "Sem movimento"
#define MSG_KILLED "PARADA DE EMERG."
#define MSG_STOPPED "PARADA. "
#define MSG_CONTROL_RETRACT "Retrair mm"
#define MSG_CONTROL_RETRACT_SWAP "Retrair Troca mm"
#define MSG_CONTROL_RETRACTF "Retrair V"
#define MSG_CONTROL_RETRACT_ZLIFT "Levantar mm"
#define MSG_CONTROL_RETRACT_RECOVER "Des Retrair +mm"
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Des RetTroca +mm"
#define MSG_CONTROL_RETRACT_RECOVERF "Des Retrair V"
#define MSG_AUTORETRACT "Retração Autom."
#define MSG_FILAMENTCHANGE "Trocar Filamento"
#define MSG_INIT_SDCARD "Iniciar SD"
#define MSG_CNG_SDCARD "Trocar SD"
#define MSG_ZPROBE_OUT "Son. fora da mesa"
#define MSG_YX_UNHOMED "Pos. Desconhecida"
#define MSG_ZPROBE_ZOFFSET "Deslocamento no Z"
#define MSG_BABYSTEP_X "Passinho X"
#define MSG_BABYSTEP_Y "Passinho Y"
#define MSG_BABYSTEP_Z "Passinho Z"
#define MSG_ENDSTOP_ABORT "Fim de Curso"
#define MSG_HEATING_FAILED_LCD "Aquecimento falhou"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_ERR_MAXTEMP "Err: T Máxima"
#define MSG_ERR_MINTEMP "Err: T Mínima"
#define MSG_ERR_MAXTEMP_BED "Err: T Base Máxima"
#define MSG_ERR_MINTEMP_BED "Err: T Base Mínima"
#define MSG_END_HOUR "Horas"
#define MSG_END_MINUTE "Minutos"
#define MSG_HEATING "Aquecendo..."
#define MSG_HEATING_COMPLETE "Aquecida."
#define MSG_BED_HEATING "Aquecendo base.."
#define MSG_BED_DONE "Base aquecida."
#define MSG_DELTA_CALIBRATE "Calibrar Delta"
#define MSG_DELTA_CALIBRATE_X "Calibrar X"
#define MSG_DELTA_CALIBRATE_Y "Calibrar Y"
#define MSG_DELTA_CALIBRATE_Z "Calibrar Z"
#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro"
#endif // LANGUAGE_PT_BR_UTF_H
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese
*
......
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Portuguese
*
* LCD Menu Messages
* See also documentation/LCDLanguageFont.md
*
*/
#ifndef LANGUAGE_PT_UTF_H
#define LANGUAGE_PT_UTF_H
#define MAPPER_NON
// Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
//#define SIMULATE_ROMFONT
#define DISPLAY_CHARSET_ISO10646_1
#define WELCOME_MSG MACHINE_NAME " pronto."
#define MSG_SD_INSERTED "Cartão inserido"
#define MSG_SD_REMOVED "Cartão removido"
#define MSG_MAIN "Menu principal"
#define MSG_AUTOSTART "Autostart"
#define MSG_DISABLE_STEPPERS "Desactivar motores"
#define MSG_AUTO_HOME "Ir para origem"
#define MSG_LEVEL_BED_HOMING "Indo para origem"
#define MSG_LEVEL_BED_WAITING "Click to Begin"
#define MSG_LEVEL_BED_DONE "Leveling Done!"
#define MSG_LEVEL_BED_CANCEL "Cancel"
#define MSG_SET_HOME_OFFSETS "Definir desvio"
#define MSG_HOME_OFFSETS_APPLIED "Offsets applied"
#define MSG_SET_ORIGIN "Definir origem"
#define MSG_PREHEAT_PLA "Pre-aquecer PLA"
#define MSG_PREHEAT_PLA_N "Pre-aquecer PLA"
#define MSG_PREHEAT_PLA_ALL "Pre-aq. PLA Tudo"
#define MSG_PREHEAT_PLA_BEDONLY "Pre-aq. PLA " LCD_STR_THERMOMETER "Base"
#define MSG_PREHEAT_PLA_SETTINGS "Definições PLA"
#define MSG_PREHEAT_ABS "Pre-aquecer ABS"
#define MSG_PREHEAT_ABS_N "Pre-aquecer ABS "
#define MSG_PREHEAT_ABS_ALL "Pre-aq. ABS Tudo"
#define MSG_PREHEAT_ABS_BEDONLY "Pre-aq. ABS " LCD_STR_THERMOMETER "Base"
#define MSG_PREHEAT_ABS_SETTINGS "Definições ABS"
#define MSG_COOLDOWN "Arrefecer"
#define MSG_SWITCH_PS_ON "Ligar"
#define MSG_SWITCH_PS_OFF "Desligar"
#define MSG_EXTRUDE "Extrudir"
#define MSG_RETRACT "Retrair"
#define MSG_MOVE_AXIS "Mover eixo"
#define MSG_MOVE_X "Mover X"
#define MSG_MOVE_Y "Mover Y"
#define MSG_MOVE_Z "Mover Z"
#define MSG_MOVE_E "Mover Extrusor"
#define MSG_MOVE_01MM "Mover 0.1mm"
#define MSG_MOVE_1MM "Mover 1mm"
#define MSG_MOVE_10MM "Mover 10mm"
#define MSG_SPEED "Velocidade"
#define MSG_BED_Z "Base Z"
#define MSG_NOZZLE LCD_STR_THERMOMETER " Bico"
#define MSG_BED LCD_STR_THERMOMETER " Base"
#define MSG_FAN_SPEED "Vel. ventoinha"
#define MSG_FLOW "Fluxo"
#define MSG_CONTROL "Controlo"
#define MSG_MIN LCD_STR_THERMOMETER " Min"
#define MSG_MAX LCD_STR_THERMOMETER " Max"
#define MSG_FACTOR LCD_STR_THERMOMETER " Fact"
#define MSG_AUTOTEMP "Temp. Automática"
#define MSG_ON "On "
#define MSG_OFF "Off"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_E1 "E1"
#define MSG_E2 "E2"
#define MSG_E3 "E3"
#define MSG_E4 "E4"
#define MSG_ACC "Acc"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX " Vmax "
#define MSG_X "X"
#define MSG_Y "Y"
#define MSG_Z "Z"
#define MSG_E "E"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax "
#define MSG_A_RETRACT "A-retracção"
#define MSG_A_TRAVEL "A-movimento"
#define MSG_XSTEPS "X passo/mm"
#define MSG_YSTEPS "Y passo/mm"
#define MSG_ZSTEPS "Z passo/mm"
#define MSG_ESTEPS "E passo/mm"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimento"
#define MSG_VOLUMETRIC "Filamento"
#define MSG_VOLUMETRIC_ENABLED "E em mm3"
#define MSG_FILAMENT_DIAM "Fil. Diam."
#define MSG_CONTRAST "Contraste"
#define MSG_STORE_EPROM "Guardar na memoria"
#define MSG_LOAD_EPROM "Carregar da memoria"
#define MSG_RESTORE_FAILSAFE "Rest. de emergen."
#define MSG_REFRESH LCD_STR_REFRESH " Recarregar"
#define MSG_WATCH "Monitorizar"
#define MSG_PREPARE "Preparar"
#define MSG_TUNE "Afinar"
#define MSG_PAUSE_PRINT "Pausar impressão"
#define MSG_RESUME_PRINT "Retomar impressão"
#define MSG_STOP_PRINT "Parar impressão"
#define MSG_CARD_MENU "Imprimir do SD"
#define MSG_NO_CARD "Sem cartão SD"
#define MSG_DWELL "Em espera..."
#define MSG_USERWAIT "Á espera de ordem"
#define MSG_RESUMING "Retomando impressão"
#define MSG_PRINT_ABORTED "Impressão cancelada"
#define MSG_NO_MOVE "Sem movimento"
#define MSG_KILLED "EMERGÊNCIA. "
#define MSG_STOPPED "PARADO. "
#define MSG_CONTROL_RETRACT " Retrair mm"
#define MSG_CONTROL_RETRACT_SWAP "Troca Retrair mm"
#define MSG_CONTROL_RETRACTF " Retrair V"
#define MSG_CONTROL_RETRACT_ZLIFT " Levantar mm"
#define MSG_CONTROL_RETRACT_RECOVER " DesRet +mm"
#define MSG_CONTROL_RETRACT_RECOVER_SWAP "Troca DesRet +mm"
#define MSG_CONTROL_RETRACT_RECOVERF " DesRet V"
#define MSG_AUTORETRACT " AutoRetr."
#define MSG_FILAMENTCHANGE "Trocar filamento"
#define MSG_INIT_SDCARD "Inici. cartão SD"
#define MSG_CNG_SDCARD "Trocar cartão SD"
#define MSG_ZPROBE_OUT "Sensor fora/base"
#define MSG_YX_UNHOMED "XY antes de Z"
#define MSG_ZPROBE_ZOFFSET "Desvio Z"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Babystep Z"
#define MSG_ENDSTOP_ABORT "Fim de curso"
#define MSG_HEATING_FAILED_LCD "Aquecimento falhou"
#define MSG_ERR_REDUNDANT_TEMP "Err: REDUNDANT TEMP"
#define MSG_THERMAL_RUNAWAY "THERMAL RUNAWAY"
#define MSG_ERR_MAXTEMP "Err: T Máxima"
#define MSG_ERR_MINTEMP "Err: T Mínima"
#define MSG_ERR_MAXTEMP_BED "Err: T Base Máxima"
#define MSG_ERR_MINTEMP_BED "Err: T Base Mínima"
#define MSG_END_HOUR "horas"
#define MSG_END_MINUTE "minutos"
#define MSG_HEATING "Aquecendo..."
#define MSG_HEATING_COMPLETE "Aquecida."
#define MSG_BED_HEATING "Aquecendo base.."
#define MSG_BED_DONE "Base aquecida."
#define MSG_DELTA_CALIBRATE "Calibração Delta"
#define MSG_DELTA_CALIBRATE_X "Calibrar X"
#define MSG_DELTA_CALIBRATE_Y "Calibrar Y"
#define MSG_DELTA_CALIBRATE_Z "Calibrar Z"
#define MSG_DELTA_CALIBRATE_CENTER "Calibrar Centro"
#endif // LANGUAGE_PT_UTF_H
/**
* MK & MK4due 3D Printer Firmware
*
* Based on Marlin, Sprinter and grbl
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2013 - 2016 Alberto Cotronei @MagoKimbra
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Russian
*
......
......@@ -139,6 +139,16 @@ static void lcd_status_screen();
static void lcd_control_volumetric_menu();
#endif
#if ENABLED(FILAMENT_CHANGE_FEATURE)
static void lcd_filament_change_option_menu();
static void lcd_filament_change_init_message();
static void lcd_filament_change_unload_message();
static void lcd_filament_change_insert_message();
static void lcd_filament_change_load_message();
static void lcd_filament_change_extrude_message();
static void lcd_filament_change_resume_message();
#endif
#if HAS(LCD_CONTRAST)
static void lcd_set_contrast();
#endif
......@@ -824,12 +834,12 @@ MENU_MULTIPLIER_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);
MENU_ITEM(function, MSG_FIX_LOSE_STEPS, lcd_tune_fixstep);
//
// Change filament
//
#if ENABLED(FILAMENTCHANGEENABLE)
MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600"));
#endif
//
// Change filament
//
#if ENABLED(FILAMENT_CHANGE_FEATURE)
MENU_ITEM(gcode, MSG_FILAMENT_CHANGE, PSTR("M600"));
#endif
END_MENU();
}
......@@ -1937,6 +1947,117 @@ static void laser_set_focus(float f_length) {
#endif // SDSUPPORT
#if ENABLED(FILAMENT_CHANGE_FEATURE)
static void lcd_filament_change_nothing() {
}
static void lcd_filament_change_resume_print() {
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_RESUME_PRINT;
lcdDrawUpdate = 2;
lcd_goto_menu(lcd_status_screen);
}
static void lcd_filament_change_extrude_more() {
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_EXTRUDE_MORE;
}
static void lcd_filament_change_option_menu() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_RESUME, lcd_filament_change_resume_print);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_OPTION_EXTRUDE, lcd_filament_change_extrude_more);
END_MENU();
}
static void lcd_filament_change_init_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INIT_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INIT_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INIT_3, lcd_filament_change_nothing);
END_MENU();
}
static void lcd_filament_change_unload_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_UNLOAD_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_UNLOAD_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_UNLOAD_3, lcd_filament_change_nothing);
END_MENU();
}
static void lcd_filament_change_insert_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INSERT_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INSERT_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_INSERT_3, lcd_filament_change_nothing);
END_MENU();
}
static void lcd_filament_change_load_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_LOAD_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_LOAD_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_LOAD_3, lcd_filament_change_nothing);
END_MENU();
}
static void lcd_filament_change_extrude_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_EXTRUDE_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_EXTRUDE_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_EXTRUDE_3, lcd_filament_change_nothing);
END_MENU();
}
static void lcd_filament_change_resume_message() {
START_MENU();
MENU_ITEM(function, MSG_FILAMENT_CHANGE_HEADER, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_RESUME_1, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_RESUME_2, lcd_filament_change_nothing);
MENU_ITEM(function, MSG_FILAMENT_CHANGE_RESUME_3, lcd_filament_change_nothing);
END_MENU();
}
void lcd_filament_change_show_message(FilamentChangeMessage message) {
switch (message) {
case FILAMENT_CHANGE_MESSAGE_INIT:
defer_return_to_status = true;
lcd_goto_menu(lcd_filament_change_init_message);
break;
case FILAMENT_CHANGE_MESSAGE_UNLOAD:
lcd_goto_menu(lcd_filament_change_unload_message);
break;
case FILAMENT_CHANGE_MESSAGE_INSERT:
lcd_goto_menu(lcd_filament_change_insert_message);
break;
case FILAMENT_CHANGE_MESSAGE_LOAD:
lcd_goto_menu(lcd_filament_change_load_message);
break;
case FILAMENT_CHANGE_MESSAGE_EXTRUDE:
lcd_goto_menu(lcd_filament_change_extrude_message);
break;
case FILAMENT_CHANGE_MESSAGE_OPTION:
while (lcd_clicked()) idle(true);
filament_change_menu_response = FILAMENT_CHANGE_RESPONSE_WAIT_FOR;
lcd_goto_menu(lcd_filament_change_option_menu);
break;
case FILAMENT_CHANGE_MESSAGE_RESUME:
lcd_goto_menu(lcd_filament_change_resume_message);
break;
case FILAMENT_CHANGE_MESSAGE_STATUS:
lcd_return_to_status();
break;
}
}
#endif // FILAMENT_CHANGE_FEATURE
/**
*
* Functions for editing single values
......
......@@ -68,6 +68,19 @@
#if ENABLED(ULTIPANEL)
void lcd_buttons_update();
extern volatile uint8_t buttons; // the last checked buttons in a bit array.
#if ENABLED(FILAMENT_CHANGE_FEATURE)
enum FilamentChangeMessage {
FILAMENT_CHANGE_MESSAGE_INIT,
FILAMENT_CHANGE_MESSAGE_UNLOAD,
FILAMENT_CHANGE_MESSAGE_INSERT,
FILAMENT_CHANGE_MESSAGE_LOAD,
FILAMENT_CHANGE_MESSAGE_EXTRUDE,
FILAMENT_CHANGE_MESSAGE_OPTION,
FILAMENT_CHANGE_MESSAGE_RESUME,
FILAMENT_CHANGE_MESSAGE_STATUS
};
void lcd_filament_change_show_message(FilamentChangeMessage message);
#endif
#else
FORCE_INLINE void lcd_buttons_update() {}
#endif
......
......@@ -321,7 +321,7 @@ void Endstops::update() {
#endif // !Z_DUAL_ENDSTOPS
#endif // HAS_Z_MIN
#if ENABLED(Z_PROBE_ENDSTOP)
#if HAS(Z_PROBE)
if (z_probe_enabled) {
UPDATE_ENDSTOP(Z, PROBE);
if (TEST_ENDSTOP(Z_PROBE)) SBI(endstop_hit_bits, Z_PROBE);
......
......@@ -68,7 +68,7 @@ class Endstops {
/**
* Print an error message reporting the position when the endstops were last hit.
*/
void report_state(); //call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered
void report_state(); // call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered
/**
* Report endstop positions in response to M119
......
......@@ -430,24 +430,24 @@
#endif
#endif
#if ENABLED(FILAMENTCHANGEENABLE)
#if DISABLED(FILAMENTCHANGE_XPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_XPOS
#if ENABLED(FILAMENT_CHANGE_FEATURE)
#if DISABLED(FILAMENT_CHANGE_X_POS)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_X_POS
#endif
#if DISABLED(FILAMENTCHANGE_YPOS)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_YPOS
#if DISABLED(FILAMENT_CHANGE_Y_POS)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_Y_POS
#endif
#if DISABLED(FILAMENTCHANGE_ZADD)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_ZADD
#if DISABLED(FILAMENT_CHANGE_Z_ADD)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_Z_ADD
#endif
#if DISABLED(FILAMENTCHANGE_FIRSTRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FIRSTRETRACT
#if DISABLED(FILAMENT_CHANGE_RETRACT_LENGTH)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_RETRACT_LENGTH
#endif
#if DISABLED(FILAMENTCHANGE_FINALRETRACT)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_FINALRETRACT
#if DISABLED(FILAMENT_CHANGE_UNLOAD_LENGTH)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_UNLOAD_LENGTH
#endif
#if DISABLED(FILAMENTCHANGE_PRINTEROFF)
#error DEPENDENCY ERROR: Missing setting FILAMENTCHANGE_PRINTEROFF
#if DISABLED(FILAMENT_CHANGE_PRINTER_OFF)
#error DEPENDENCY ERROR: Missing setting FILAMENT_CHANGE_PRINTER_OFF
#endif
#endif
......@@ -1496,10 +1496,10 @@
#endif
/**
* Required LCD for FILAMENTCHANGEENABLE
* Required LCD for FILAMENT_CHANGE_FEATURE
*/
#if ENABLED(FILAMENTCHANGEENABLE) && DISABLED(ULTRA_LCD)
#error DEPENDENCY ERROR: You must have LCD in order to use FILAMENTCHANGEENABLE
#if ENABLED(FILAMENT_CHANGE_FEATURE) && DISABLED(ULTRA_LCD)
#error DEPENDENCY ERROR: You must have LCD in order to use FILAMENT_CHANGE_FEATURE
#endif
/**
......
......@@ -110,14 +110,15 @@ unsigned char soft_pwm_cooler;
#endif
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || ENABLED(THERMAL_PROTECTION_BED) || ENABLED(THERMAL_PROTECTION_COOLER)
enum TRState { TRReset, TRInactive, TRFirstRunnig, TRStable, TRRunaway };
enum TRState { TRInactive, TRFirstRunnig, TRStable, TRRunaway };
void thermal_runaway_protection(TRState* state, millis_t* timer, float temperature, float target_temperature, int temp_controller_id, int period_seconds, int hysteresis_degc);
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
static TRState thermal_runaway_state_machine[HOTENDS] = { TRReset };
static TRState thermal_runaway_state_machine[HOTENDS] = { TRInactive };
static millis_t thermal_runaway_timer[HOTENDS] = { 0 };
#endif
#if ENABLED(THERMAL_PROTECTION_BED) && TEMP_SENSOR_BED != 0
static TRState thermal_runaway_bed_state_machine = TRReset;
static TRState thermal_runaway_bed_state_machine = TRInactive;
static millis_t thermal_runaway_bed_timer;
#endif
#if ENABLED(THERMAL_PROTECTION_COOLER) && TEMP_SENSOR_COOLER != 0
......@@ -1553,42 +1554,33 @@ void tp_init() {
// If the target temperature changes, restart
if (tr_target_temperature[temp_controller_index] != target_temperature)
*state = TRReset;
tr_target_temperature[temp_controller_index] = target_temperature;
*state = target_temperature > 0 ? TRFirstRunning : TRInactive;
switch (*state) {
case TRReset:
*timer = 0;
*state = TRInactive;
// Inactive state waits for a target temperature to be set
case TRInactive:
if (target_temperature > 0) {
tr_target_temperature[temp_controller_index] = target_temperature;
*state = TRFirstRunning;
}
break;
case TRInactive: break;
// When first heating/cooling, wait for the temperature to be reached then go to Stable state
case TRFirstRunning:
if (temperature <= tr_target_temperature[temp_controller_index] && temp_controller_index > HEATERS) *state = TRStable;
else if((temperature >= tr_target_temperature[temp_controller_index] && temp_controller_index <= HEATERS) *state = TRStable;
break;
if (temperature < tr_target_temperature[temp_controller_index] && temp_controller_index > HEATERS) break;
else if((temperature > tr_target_temperature[temp_controller_index] && temp_controller_index <= HEATERS) break;
*state = TRStable;
// While the temperature is stable watch for a bad temperature
case TRStable:
// If the temperature is over (-hysteresys, for heaters) or lower (+hysteresys, for coolers) the target restart the timer
if(temp_controller_index <= HEATERS) { // HEATERS
if (temperature >= tr_target_temperature[temp_controller_index] - hysteresis_degc)
*timer = millis();
// If the timer goes too long without a reset, trigger shutdown
else if (ELAPSED(millis() > *timer + period_seconds * 1000UL))
if (temperature < tr_target_temperature[temp_controller_index] - hysteresis_degc && ELAPSED(millis(), *timer))
*state = TRRunaway;
else {
*timer = millis() + period_seconds * 1000UL;
break;
}
else { // COOLERS
if (temperature <= tr_target_temperature[temp_controller_index] + hysteresis_degc)
*timer = millis();
// If the timer goes too long without a reset, trigger shutdown
else if (ELAPSED(millis() > *timer + period_seconds * 1000UL))
*state = TRRunaway;
if (temperature > tr_target_temperature[temp_controller_index] + hysteresis_degc && ELAPSED(millis(), *timer)))
*state = TRRunaway;
else {
*timer = millis() + period_seconds * 1000UL;
break;
}
break;
case TRRunaway:
_temp_error(temp_controller_id, PSTR(SERIAL_T_THERMAL_RUNAWAY), PSTR(MSG_THERMAL_RUNAWAY));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment