Roll back to 3.0.12 DENL...

...-250k_baud-FR_SENS_24-PID_BED
This commit is contained in:
3d-gussner 2017-07-11 23:30:39 +02:00 committed by GitHub
parent 96c1e5961c
commit e55a1cdd9f
21 changed files with 12730 additions and 13089 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,442 +1,442 @@
#include "Marlin.h"
#include "planner.h"
#include "temperature.h"
#include "ultralcd.h"
#include "ConfigurationStore.h"
#include "Configuration_prusa.h"
#ifdef MESH_BED_LEVELING
#include "mesh_bed_leveling.h"
#endif
void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size)
{
do
{
eeprom_write_byte((unsigned char*)pos, *value);
pos++;
value++;
}while(--size);
}
#define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value))
void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size)
{
do
{
*value = eeprom_read_byte((unsigned char*)pos);
pos++;
value++;
}while(--size);
}
#define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value))
//======================================================================================
#define EEPROM_OFFSET 20
// IMPORTANT: Whenever there are changes made to the variables stored in EEPROM
// in the functions below, also increment the version number. This makes sure that
// the default values are used whenever there is a change to the data, to prevent
// wrong data being written to the variables.
// ALSO: always make sure the variables in the Store and retrieve sections are in the same order.
#define EEPROM_VERSION "V1"
#ifdef EEPROM_SETTINGS
void Config_StoreSettings()
{
char ver[4]= "000";
int i=EEPROM_OFFSET;
EEPROM_WRITE_VAR(i,ver); // invalidate data first
EEPROM_WRITE_VAR(i,axis_steps_per_unit);
EEPROM_WRITE_VAR(i,max_feedrate);
EEPROM_WRITE_VAR(i,max_acceleration_units_per_sq_second);
EEPROM_WRITE_VAR(i,acceleration);
EEPROM_WRITE_VAR(i,retract_acceleration);
EEPROM_WRITE_VAR(i,minimumfeedrate);
EEPROM_WRITE_VAR(i,mintravelfeedrate);
EEPROM_WRITE_VAR(i,minsegmenttime);
EEPROM_WRITE_VAR(i,max_jerk[X_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[Y_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[Z_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[E_AXIS]);
EEPROM_WRITE_VAR(i,add_homing);
#ifndef ULTIPANEL
int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
int absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
#endif
/* EEPROM_WRITE_VAR(i,plaPreheatHotendTemp);
EEPROM_WRITE_VAR(i,plaPreheatHPBTemp);
EEPROM_WRITE_VAR(i,plaPreheatFanSpeed);
EEPROM_WRITE_VAR(i,absPreheatHotendTemp);
EEPROM_WRITE_VAR(i,absPreheatHPBTemp);
EEPROM_WRITE_VAR(i,absPreheatFanSpeed);
*/
EEPROM_WRITE_VAR(i,zprobe_zoffset);
#ifdef PIDTEMP
EEPROM_WRITE_VAR(i,Kp);
EEPROM_WRITE_VAR(i,Ki);
EEPROM_WRITE_VAR(i,Kd);
#else
float dummy = 3000.0f;
EEPROM_WRITE_VAR(i,dummy);
dummy = 0.0f;
EEPROM_WRITE_VAR(i,dummy);
EEPROM_WRITE_VAR(i,dummy);
#endif
#ifdef PIDTEMPBED
EEPROM_WRITE_VAR(i, bedKp);
EEPROM_WRITE_VAR(i, bedKi);
EEPROM_WRITE_VAR(i, bedKd);
#endif
#ifndef DOGLCD
int lcd_contrast = 32;
#endif
EEPROM_WRITE_VAR(i,lcd_contrast);
#ifdef FWRETRACT
EEPROM_WRITE_VAR(i,autoretract_enabled);
EEPROM_WRITE_VAR(i,retract_length);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i,retract_length_swap);
#endif
EEPROM_WRITE_VAR(i,retract_feedrate);
EEPROM_WRITE_VAR(i,retract_zlift);
EEPROM_WRITE_VAR(i,retract_recover_length);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i,retract_recover_length_swap);
#endif
EEPROM_WRITE_VAR(i,retract_recover_feedrate);
#endif
// Save filament sizes
EEPROM_WRITE_VAR(i, volumetric_enabled);
EEPROM_WRITE_VAR(i, filament_size[0]);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i, filament_size[1]);
#if EXTRUDERS > 2
EEPROM_WRITE_VAR(i, filament_size[2]);
#endif
#endif
/*MYSERIAL.print("Top address used:\n");
MYSERIAL.print(i);
MYSERIAL.print("\n");
*/
char ver2[4]=EEPROM_VERSION;
i=EEPROM_OFFSET;
EEPROM_WRITE_VAR(i,ver2); // validate data
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Settings Stored");
}
#endif //EEPROM_SETTINGS
#ifndef DISABLE_M503
void Config_PrintSettings()
{ // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Steps per unit:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[X_AXIS]);
SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[Y_AXIS]);
SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[Z_AXIS]);
SERIAL_ECHOPAIR(" E",axis_steps_per_unit[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]);
SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]);
SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]);
SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M201 X" ,max_acceleration_units_per_sq_second[X_AXIS] );
SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[Z_AXIS] );
SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M204 S",acceleration );
SERIAL_ECHOPAIR(" T" ,retract_acceleration);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M205 S",minimumfeedrate );
SERIAL_ECHOPAIR(" T" ,mintravelfeedrate );
SERIAL_ECHOPAIR(" B" ,minsegmenttime );
SERIAL_ECHOPAIR(" X" ,max_jerk[X_AXIS] );
SERIAL_ECHOPAIR(" Y" ,max_jerk[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,max_jerk[Z_AXIS] );
SERIAL_ECHOPAIR(" E" ,max_jerk[E_AXIS] );
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Home offset (mm):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M206 X",add_homing[X_AXIS] );
SERIAL_ECHOPAIR(" Y" ,add_homing[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,add_homing[Z_AXIS] );
SERIAL_ECHOLN("");
#ifdef PIDTEMP
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("PID settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M301 P",Kp);
SERIAL_ECHOPAIR(" I" ,unscalePID_i(Ki));
SERIAL_ECHOPAIR(" D" ,unscalePID_d(Kd));
SERIAL_ECHOLN("");
#endif
#ifdef PIDTEMPBED
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("PID heatbed settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M304 P", bedKp);
SERIAL_ECHOPAIR(" I", unscalePID_i(bedKi));
SERIAL_ECHOPAIR(" D", unscalePID_d(bedKd));
SERIAL_ECHOLN("");
#endif
#ifdef FWRETRACT
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M207 S",retract_length);
SERIAL_ECHOPAIR(" F" ,retract_feedrate*60);
SERIAL_ECHOPAIR(" Z" ,retract_zlift);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M208 S",retract_recover_length);
SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0));
SERIAL_ECHOLN("");
#if EXTRUDERS > 1
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Multi-extruder settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap);
SERIAL_ECHOLN("");
#endif
SERIAL_ECHO_START;
if (volumetric_enabled) {
SERIAL_ECHOLNPGM("Filament settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 D", filament_size[0]);
SERIAL_ECHOLN("");
#if EXTRUDERS > 1
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]);
SERIAL_ECHOLN("");
#if EXTRUDERS > 2
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]);
SERIAL_ECHOLN("");
#endif
#endif
} else {
SERIAL_ECHOLNPGM("Filament settings: Disabled");
}
#endif
}
#endif
#ifdef EEPROM_SETTINGS
void Config_RetrieveSettings()
{
int i=EEPROM_OFFSET;
char stored_ver[4];
char ver[4]=EEPROM_VERSION;
EEPROM_READ_VAR(i,stored_ver); //read stored version
// SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]");
if (strncmp(ver,stored_ver,3) == 0)
{
// version number match
EEPROM_READ_VAR(i,axis_steps_per_unit);
EEPROM_READ_VAR(i,max_feedrate);
EEPROM_READ_VAR(i,max_acceleration_units_per_sq_second);
// steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
reset_acceleration_rates();
EEPROM_READ_VAR(i,acceleration);
EEPROM_READ_VAR(i,retract_acceleration);
EEPROM_READ_VAR(i,minimumfeedrate);
EEPROM_READ_VAR(i,mintravelfeedrate);
EEPROM_READ_VAR(i,minsegmenttime);
EEPROM_READ_VAR(i,max_jerk[X_AXIS]);
EEPROM_READ_VAR(i,max_jerk[Y_AXIS]);
EEPROM_READ_VAR(i,max_jerk[Z_AXIS]);
EEPROM_READ_VAR(i,max_jerk[E_AXIS]);
EEPROM_READ_VAR(i,add_homing);
#ifndef ULTIPANEL
int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed;
int absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed;
#endif
/*
EEPROM_READ_VAR(i,plaPreheatHotendTemp);
EEPROM_READ_VAR(i,plaPreheatHPBTemp);
EEPROM_READ_VAR(i,plaPreheatFanSpeed);
EEPROM_READ_VAR(i,absPreheatHotendTemp);
EEPROM_READ_VAR(i,absPreheatHPBTemp);
EEPROM_READ_VAR(i,absPreheatFanSpeed);
*/
EEPROM_READ_VAR(i,zprobe_zoffset);
#ifndef PIDTEMP
float Kp,Ki,Kd;
#endif
// do not need to scale PID values as the values in EEPROM are already scaled
EEPROM_READ_VAR(i,Kp);
EEPROM_READ_VAR(i,Ki);
EEPROM_READ_VAR(i,Kd);
#ifdef PIDTEMPBED
EEPROM_READ_VAR(i, bedKp);
EEPROM_READ_VAR(i, bedKi);
EEPROM_READ_VAR(i, bedKd);
#endif
#ifndef DOGLCD
int lcd_contrast;
#endif
EEPROM_READ_VAR(i,lcd_contrast);
#ifdef FWRETRACT
EEPROM_READ_VAR(i,autoretract_enabled);
EEPROM_READ_VAR(i,retract_length);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i,retract_length_swap);
#endif
EEPROM_READ_VAR(i,retract_feedrate);
EEPROM_READ_VAR(i,retract_zlift);
EEPROM_READ_VAR(i,retract_recover_length);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i,retract_recover_length_swap);
#endif
EEPROM_READ_VAR(i,retract_recover_feedrate);
#endif
EEPROM_READ_VAR(i, volumetric_enabled);
EEPROM_READ_VAR(i, filament_size[0]);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i, filament_size[1]);
#if EXTRUDERS > 2
EEPROM_READ_VAR(i, filament_size[2]);
#endif
#endif
calculate_volumetric_multipliers();
// Call updatePID (similar to when we have processed M301)
updatePID();
float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT;
axis_steps_per_unit[3] = tmp1[3];
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Stored settings retrieved");
}
else
{
Config_ResetDefault();
}
#ifdef EEPROM_CHITCHAT
Config_PrintSettings();
#endif
}
#endif
void Config_ResetDefault()
{
float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT;
float tmp2[]=DEFAULT_MAX_FEEDRATE;
long tmp3[]=DEFAULT_MAX_ACCELERATION;
for (short i=0;i<4;i++)
{
axis_steps_per_unit[i]=tmp1[i];
max_feedrate[i]=tmp2[i];
max_acceleration_units_per_sq_second[i]=tmp3[i];
}
// steps per sq second need to be updated to agree with the units per sq second
reset_acceleration_rates();
acceleration=DEFAULT_ACCELERATION;
retract_acceleration=DEFAULT_RETRACT_ACCELERATION;
minimumfeedrate=DEFAULT_MINIMUMFEEDRATE;
minsegmenttime=DEFAULT_MINSEGMENTTIME;
mintravelfeedrate=DEFAULT_MINTRAVELFEEDRATE;
max_jerk[X_AXIS] = DEFAULT_XJERK;
max_jerk[Y_AXIS] = DEFAULT_YJERK;
max_jerk[Z_AXIS] = DEFAULT_ZJERK;
max_jerk[E_AXIS] = DEFAULT_EJERK;
add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0;
#ifdef ENABLE_AUTO_BED_LEVELING
zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER;
#endif
#ifdef DOGLCD
lcd_contrast = DEFAULT_LCD_CONTRAST;
#endif
#ifdef PIDTEMP
Kp = DEFAULT_Kp;
Ki = scalePID_i(DEFAULT_Ki);
Kd = scalePID_d(DEFAULT_Kd);
// call updatePID (similar to when we have processed M301)
updatePID();
#ifdef PID_ADD_EXTRUSION_RATE
Kc = DEFAULT_Kc;
#endif//PID_ADD_EXTRUSION_RATE
#endif//PIDTEMP
#ifdef FWRETRACT
autoretract_enabled = false;
retract_length = RETRACT_LENGTH;
#if EXTRUDERS > 1
retract_length_swap = RETRACT_LENGTH_SWAP;
#endif
retract_feedrate = RETRACT_FEEDRATE;
retract_zlift = RETRACT_ZLIFT;
retract_recover_length = RETRACT_RECOVER_LENGTH;
#if EXTRUDERS > 1
retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
#endif
retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
#endif
volumetric_enabled = false;
filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA;
#if EXTRUDERS > 1
filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA;
#if EXTRUDERS > 2
filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA;
#endif
#endif
calculate_volumetric_multipliers();
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
}
#include "Marlin.h"
#include "planner.h"
#include "temperature.h"
#include "ultralcd.h"
#include "ConfigurationStore.h"
#include "Configuration_prusa.h"
#ifdef MESH_BED_LEVELING
#include "mesh_bed_leveling.h"
#endif
void _EEPROM_writeData(int &pos, uint8_t* value, uint8_t size)
{
do
{
eeprom_write_byte((unsigned char*)pos, *value);
pos++;
value++;
}while(--size);
}
#define EEPROM_WRITE_VAR(pos, value) _EEPROM_writeData(pos, (uint8_t*)&value, sizeof(value))
void _EEPROM_readData(int &pos, uint8_t* value, uint8_t size)
{
do
{
*value = eeprom_read_byte((unsigned char*)pos);
pos++;
value++;
}while(--size);
}
#define EEPROM_READ_VAR(pos, value) _EEPROM_readData(pos, (uint8_t*)&value, sizeof(value))
//======================================================================================
#define EEPROM_OFFSET 20
// IMPORTANT: Whenever there are changes made to the variables stored in EEPROM
// in the functions below, also increment the version number. This makes sure that
// the default values are used whenever there is a change to the data, to prevent
// wrong data being written to the variables.
// ALSO: always make sure the variables in the Store and retrieve sections are in the same order.
#define EEPROM_VERSION "V1"
#ifdef EEPROM_SETTINGS
void Config_StoreSettings()
{
char ver[4]= "000";
int i=EEPROM_OFFSET;
EEPROM_WRITE_VAR(i,ver); // invalidate data first
EEPROM_WRITE_VAR(i,axis_steps_per_unit);
EEPROM_WRITE_VAR(i,max_feedrate);
EEPROM_WRITE_VAR(i,max_acceleration_units_per_sq_second);
EEPROM_WRITE_VAR(i,acceleration);
EEPROM_WRITE_VAR(i,retract_acceleration);
EEPROM_WRITE_VAR(i,minimumfeedrate);
EEPROM_WRITE_VAR(i,mintravelfeedrate);
EEPROM_WRITE_VAR(i,minsegmenttime);
EEPROM_WRITE_VAR(i,max_jerk[X_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[Y_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[Z_AXIS]);
EEPROM_WRITE_VAR(i,max_jerk[E_AXIS]);
EEPROM_WRITE_VAR(i,add_homing);
#ifndef ULTIPANEL
int plaPreheatHotendTemp = PLA_PREHEAT_HOTEND_TEMP, plaPreheatHPBTemp = PLA_PREHEAT_HPB_TEMP, plaPreheatFanSpeed = PLA_PREHEAT_FAN_SPEED;
int absPreheatHotendTemp = ABS_PREHEAT_HOTEND_TEMP, absPreheatHPBTemp = ABS_PREHEAT_HPB_TEMP, absPreheatFanSpeed = ABS_PREHEAT_FAN_SPEED;
#endif
/* EEPROM_WRITE_VAR(i,plaPreheatHotendTemp);
EEPROM_WRITE_VAR(i,plaPreheatHPBTemp);
EEPROM_WRITE_VAR(i,plaPreheatFanSpeed);
EEPROM_WRITE_VAR(i,absPreheatHotendTemp);
EEPROM_WRITE_VAR(i,absPreheatHPBTemp);
EEPROM_WRITE_VAR(i,absPreheatFanSpeed);
*/
EEPROM_WRITE_VAR(i,zprobe_zoffset);
#ifdef PIDTEMP
EEPROM_WRITE_VAR(i,Kp);
EEPROM_WRITE_VAR(i,Ki);
EEPROM_WRITE_VAR(i,Kd);
#else
float dummy = 3000.0f;
EEPROM_WRITE_VAR(i,dummy);
dummy = 0.0f;
EEPROM_WRITE_VAR(i,dummy);
EEPROM_WRITE_VAR(i,dummy);
#endif
#ifdef PIDTEMPBED
EEPROM_WRITE_VAR(i, bedKp);
EEPROM_WRITE_VAR(i, bedKi);
EEPROM_WRITE_VAR(i, bedKd);
#endif
#ifndef DOGLCD
int lcd_contrast = 32;
#endif
EEPROM_WRITE_VAR(i,lcd_contrast);
#ifdef FWRETRACT
EEPROM_WRITE_VAR(i,autoretract_enabled);
EEPROM_WRITE_VAR(i,retract_length);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i,retract_length_swap);
#endif
EEPROM_WRITE_VAR(i,retract_feedrate);
EEPROM_WRITE_VAR(i,retract_zlift);
EEPROM_WRITE_VAR(i,retract_recover_length);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i,retract_recover_length_swap);
#endif
EEPROM_WRITE_VAR(i,retract_recover_feedrate);
#endif
// Save filament sizes
EEPROM_WRITE_VAR(i, volumetric_enabled);
EEPROM_WRITE_VAR(i, filament_size[0]);
#if EXTRUDERS > 1
EEPROM_WRITE_VAR(i, filament_size[1]);
#if EXTRUDERS > 2
EEPROM_WRITE_VAR(i, filament_size[2]);
#endif
#endif
/*MYSERIAL.print("Top address used:\n");
MYSERIAL.print(i);
MYSERIAL.print("\n");
*/
char ver2[4]=EEPROM_VERSION;
i=EEPROM_OFFSET;
EEPROM_WRITE_VAR(i,ver2); // validate data
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Settings Stored");
}
#endif //EEPROM_SETTINGS
#ifndef DISABLE_M503
void Config_PrintSettings()
{ // Always have this function, even with EEPROM_SETTINGS disabled, the current values will be shown
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Steps per unit:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M92 X",axis_steps_per_unit[X_AXIS]);
SERIAL_ECHOPAIR(" Y",axis_steps_per_unit[Y_AXIS]);
SERIAL_ECHOPAIR(" Z",axis_steps_per_unit[Z_AXIS]);
SERIAL_ECHOPAIR(" E",axis_steps_per_unit[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Maximum feedrates (mm/s):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M203 X", max_feedrate[X_AXIS]);
SERIAL_ECHOPAIR(" Y", max_feedrate[Y_AXIS]);
SERIAL_ECHOPAIR(" Z", max_feedrate[Z_AXIS]);
SERIAL_ECHOPAIR(" E", max_feedrate[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Maximum Acceleration (mm/s2):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M201 X" ,max_acceleration_units_per_sq_second[X_AXIS] );
SERIAL_ECHOPAIR(" Y" , max_acceleration_units_per_sq_second[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,max_acceleration_units_per_sq_second[Z_AXIS] );
SERIAL_ECHOPAIR(" E" ,max_acceleration_units_per_sq_second[E_AXIS]);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Acceleration: S=acceleration, T=retract acceleration");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M204 S",acceleration );
SERIAL_ECHOPAIR(" T" ,retract_acceleration);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M205 S",minimumfeedrate );
SERIAL_ECHOPAIR(" T" ,mintravelfeedrate );
SERIAL_ECHOPAIR(" B" ,minsegmenttime );
SERIAL_ECHOPAIR(" X" ,max_jerk[X_AXIS] );
SERIAL_ECHOPAIR(" Y" ,max_jerk[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,max_jerk[Z_AXIS] );
SERIAL_ECHOPAIR(" E" ,max_jerk[E_AXIS] );
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Home offset (mm):");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M206 X",add_homing[X_AXIS] );
SERIAL_ECHOPAIR(" Y" ,add_homing[Y_AXIS] );
SERIAL_ECHOPAIR(" Z" ,add_homing[Z_AXIS] );
SERIAL_ECHOLN("");
#ifdef PIDTEMP
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("PID settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M301 P",Kp);
SERIAL_ECHOPAIR(" I" ,unscalePID_i(Ki));
SERIAL_ECHOPAIR(" D" ,unscalePID_d(Kd));
SERIAL_ECHOLN("");
#endif
#ifdef PIDTEMPBED
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("PID heatbed settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M304 P", bedKp);
SERIAL_ECHOPAIR(" I", unscalePID_i(bedKi));
SERIAL_ECHOPAIR(" D", unscalePID_d(bedKd));
SERIAL_ECHOLN("");
#endif
#ifdef FWRETRACT
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Retract: S=Length (mm) F:Speed (mm/m) Z: ZLift (mm)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M207 S",retract_length);
SERIAL_ECHOPAIR(" F" ,retract_feedrate*60);
SERIAL_ECHOPAIR(" Z" ,retract_zlift);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Recover: S=Extra length (mm) F:Speed (mm/m)");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M208 S",retract_recover_length);
SERIAL_ECHOPAIR(" F", retract_recover_feedrate*60);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Auto-Retract: S=0 to disable, 1 to interpret extrude-only moves as retracts or recoveries");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M209 S", (unsigned long)(autoretract_enabled ? 1 : 0));
SERIAL_ECHOLN("");
#if EXTRUDERS > 1
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Multi-extruder settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap retract length (mm): ", retract_length_swap);
SERIAL_ECHOLN("");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" Swap rec. addl. length (mm): ", retract_recover_length_swap);
SERIAL_ECHOLN("");
#endif
SERIAL_ECHO_START;
if (volumetric_enabled) {
SERIAL_ECHOLNPGM("Filament settings:");
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 D", filament_size[0]);
SERIAL_ECHOLN("");
#if EXTRUDERS > 1
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T1 D", filament_size[1]);
SERIAL_ECHOLN("");
#if EXTRUDERS > 2
SERIAL_ECHO_START;
SERIAL_ECHOPAIR(" M200 T2 D", filament_size[2]);
SERIAL_ECHOLN("");
#endif
#endif
} else {
SERIAL_ECHOLNPGM("Filament settings: Disabled");
}
#endif
}
#endif
#ifdef EEPROM_SETTINGS
void Config_RetrieveSettings()
{
int i=EEPROM_OFFSET;
char stored_ver[4];
char ver[4]=EEPROM_VERSION;
EEPROM_READ_VAR(i,stored_ver); //read stored version
// SERIAL_ECHOLN("Version: [" << ver << "] Stored version: [" << stored_ver << "]");
if (strncmp(ver,stored_ver,3) == 0)
{
// version number match
EEPROM_READ_VAR(i,axis_steps_per_unit);
EEPROM_READ_VAR(i,max_feedrate);
EEPROM_READ_VAR(i,max_acceleration_units_per_sq_second);
// steps per sq second need to be updated to agree with the units per sq second (as they are what is used in the planner)
reset_acceleration_rates();
EEPROM_READ_VAR(i,acceleration);
EEPROM_READ_VAR(i,retract_acceleration);
EEPROM_READ_VAR(i,minimumfeedrate);
EEPROM_READ_VAR(i,mintravelfeedrate);
EEPROM_READ_VAR(i,minsegmenttime);
EEPROM_READ_VAR(i,max_jerk[X_AXIS]);
EEPROM_READ_VAR(i,max_jerk[Y_AXIS]);
EEPROM_READ_VAR(i,max_jerk[Z_AXIS]);
EEPROM_READ_VAR(i,max_jerk[E_AXIS]);
EEPROM_READ_VAR(i,add_homing);
#ifndef ULTIPANEL
int plaPreheatHotendTemp, plaPreheatHPBTemp, plaPreheatFanSpeed;
int absPreheatHotendTemp, absPreheatHPBTemp, absPreheatFanSpeed;
#endif
/*
EEPROM_READ_VAR(i,plaPreheatHotendTemp);
EEPROM_READ_VAR(i,plaPreheatHPBTemp);
EEPROM_READ_VAR(i,plaPreheatFanSpeed);
EEPROM_READ_VAR(i,absPreheatHotendTemp);
EEPROM_READ_VAR(i,absPreheatHPBTemp);
EEPROM_READ_VAR(i,absPreheatFanSpeed);
*/
EEPROM_READ_VAR(i,zprobe_zoffset);
#ifndef PIDTEMP
float Kp,Ki,Kd;
#endif
// do not need to scale PID values as the values in EEPROM are already scaled
EEPROM_READ_VAR(i,Kp);
EEPROM_READ_VAR(i,Ki);
EEPROM_READ_VAR(i,Kd);
#ifdef PIDTEMPBED
EEPROM_READ_VAR(i, bedKp);
EEPROM_READ_VAR(i, bedKi);
EEPROM_READ_VAR(i, bedKd);
#endif
#ifndef DOGLCD
int lcd_contrast;
#endif
EEPROM_READ_VAR(i,lcd_contrast);
#ifdef FWRETRACT
EEPROM_READ_VAR(i,autoretract_enabled);
EEPROM_READ_VAR(i,retract_length);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i,retract_length_swap);
#endif
EEPROM_READ_VAR(i,retract_feedrate);
EEPROM_READ_VAR(i,retract_zlift);
EEPROM_READ_VAR(i,retract_recover_length);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i,retract_recover_length_swap);
#endif
EEPROM_READ_VAR(i,retract_recover_feedrate);
#endif
EEPROM_READ_VAR(i, volumetric_enabled);
EEPROM_READ_VAR(i, filament_size[0]);
#if EXTRUDERS > 1
EEPROM_READ_VAR(i, filament_size[1]);
#if EXTRUDERS > 2
EEPROM_READ_VAR(i, filament_size[2]);
#endif
#endif
calculate_volumetric_multipliers();
// Call updatePID (similar to when we have processed M301)
updatePID();
float tmp1[] = DEFAULT_AXIS_STEPS_PER_UNIT;
axis_steps_per_unit[3] = tmp1[3];
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Stored settings retrieved");
}
else
{
Config_ResetDefault();
}
#ifdef EEPROM_CHITCHAT
Config_PrintSettings();
#endif
}
#endif
void Config_ResetDefault()
{
float tmp1[]=DEFAULT_AXIS_STEPS_PER_UNIT;
float tmp2[]=DEFAULT_MAX_FEEDRATE;
long tmp3[]=DEFAULT_MAX_ACCELERATION;
for (short i=0;i<4;i++)
{
axis_steps_per_unit[i]=tmp1[i];
max_feedrate[i]=tmp2[i];
max_acceleration_units_per_sq_second[i]=tmp3[i];
}
// steps per sq second need to be updated to agree with the units per sq second
reset_acceleration_rates();
acceleration=DEFAULT_ACCELERATION;
retract_acceleration=DEFAULT_RETRACT_ACCELERATION;
minimumfeedrate=DEFAULT_MINIMUMFEEDRATE;
minsegmenttime=DEFAULT_MINSEGMENTTIME;
mintravelfeedrate=DEFAULT_MINTRAVELFEEDRATE;
max_jerk[X_AXIS] = DEFAULT_XJERK;
max_jerk[Y_AXIS] = DEFAULT_YJERK;
max_jerk[Z_AXIS] = DEFAULT_ZJERK;
max_jerk[E_AXIS] = DEFAULT_EJERK;
add_homing[X_AXIS] = add_homing[Y_AXIS] = add_homing[Z_AXIS] = 0;
#ifdef ENABLE_AUTO_BED_LEVELING
zprobe_zoffset = -Z_PROBE_OFFSET_FROM_EXTRUDER;
#endif
#ifdef DOGLCD
lcd_contrast = DEFAULT_LCD_CONTRAST;
#endif
#ifdef PIDTEMP
Kp = DEFAULT_Kp;
Ki = scalePID_i(DEFAULT_Ki);
Kd = scalePID_d(DEFAULT_Kd);
// call updatePID (similar to when we have processed M301)
updatePID();
#ifdef PID_ADD_EXTRUSION_RATE
Kc = DEFAULT_Kc;
#endif//PID_ADD_EXTRUSION_RATE
#endif//PIDTEMP
#ifdef FWRETRACT
autoretract_enabled = false;
retract_length = RETRACT_LENGTH;
#if EXTRUDERS > 1
retract_length_swap = RETRACT_LENGTH_SWAP;
#endif
retract_feedrate = RETRACT_FEEDRATE;
retract_zlift = RETRACT_ZLIFT;
retract_recover_length = RETRACT_RECOVER_LENGTH;
#if EXTRUDERS > 1
retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
#endif
retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
#endif
volumetric_enabled = false;
filament_size[0] = DEFAULT_NOMINAL_FILAMENT_DIA;
#if EXTRUDERS > 1
filament_size[1] = DEFAULT_NOMINAL_FILAMENT_DIA;
#if EXTRUDERS > 2
filament_size[2] = DEFAULT_NOMINAL_FILAMENT_DIA;
#endif
#endif
calculate_volumetric_multipliers();
SERIAL_ECHO_START;
SERIAL_ECHOLNPGM("Hardcoded Default Settings Loaded");
}

View File

@ -1,449 +1,428 @@
#ifndef CONFIGURATION_ADV_H
#define CONFIGURATION_ADV_H
//===========================================================================
//=============================Thermal Settings ============================
//===========================================================================
#ifdef BED_LIMIT_SWITCHING
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
#endif
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
//// Heating sanity check:
// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperatureLCD_PROGRESS_BAR
// If the temperature has not increased at the end of that period, the target temperature is set to zero.
// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
// differ by at least 2x WATCH_TEMP_INCREASE
//#define WATCH_TEMP_PERIOD 40000 //40 seconds
//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds
#ifdef PIDTEMP
// this adds an experimental additional term to the heating power, proportional to the extrusion speed.
// if Kc is chosen well, the additional required power due to increased melting should be compensated.
#define PID_ADD_EXTRUSION_RATE
#ifdef PID_ADD_EXTRUSION_RATE
#define DEFAULT_Kc (1) //heating power=Kc*(e_speed)
#endif
#endif
//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
//The maximum buffered steps/sec of the extruder motor are called "se".
//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
// you exit the value by any M109 without F*
// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
//#define AUTOTEMP
#ifdef AUTOTEMP
#define AUTOTEMP_OLDWEIGHT 0.98
#endif
//Show Temperature ADC value
//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
//#define SHOW_TEMP_ADC_VALUES
// extruder run-out prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
//#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_SECONDS 30.
#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament
#define EXTRUDER_RUNOUT_SPEED 1500. //extrusion speed
#define EXTRUDER_RUNOUT_EXTRUDE 100
//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
#define TEMP_SENSOR_AD595_OFFSET 0.0
#define TEMP_SENSOR_AD595_GAIN 1.0
//This is for controlling a fan to cool down the stepper drivers
//it will turn on when any driver is enabled
//and turn off after the set amount of seconds from last driver being disabled again
#define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller (-1 to disable)
#define CONTROLLERFAN_SECS 60 //How many seconds, after all motors were disabled, the fan should run
#define CONTROLLERFAN_SPEED 255 // == full speed
// When first starting the main fan, run it at full speed for the
// given number of milliseconds. This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
//#define FAN_KICKSTART_TIME 100
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
//// AUTOSET LOCATIONS OF LIMIT SWITCHES
//// Added by ZetaPhoenix 09-15-2012
#ifdef MANUAL_HOME_POSITIONS // Use manual limit switch locations
#define X_HOME_POS MANUAL_X_HOME_POS
#define Y_HOME_POS MANUAL_Y_HOME_POS
#define Z_HOME_POS MANUAL_Z_HOME_POS
#else //Set min/max homing switch positions based upon homing direction and min/max travel limits
//X axis
#if X_HOME_DIR == -1
#ifdef BED_CENTER_AT_0_0
#define X_HOME_POS X_MAX_LENGTH * -0.5
#else
#define X_HOME_POS X_MIN_POS
#endif //BED_CENTER_AT_0_0
#else
#ifdef BED_CENTER_AT_0_0
#define X_HOME_POS X_MAX_LENGTH * 0.5
#else
#define X_HOME_POS X_MAX_POS
#endif //BED_CENTER_AT_0_0
#endif //X_HOME_DIR == -1
//Y axis
#if Y_HOME_DIR == -1
#ifdef BED_CENTER_AT_0_0
#define Y_HOME_POS Y_MAX_LENGTH * -0.5
#else
#define Y_HOME_POS Y_MIN_POS
#endif //BED_CENTER_AT_0_0
#else
#ifdef BED_CENTER_AT_0_0
#define Y_HOME_POS Y_MAX_LENGTH * 0.5
#else
#define Y_HOME_POS Y_MAX_POS
#endif //BED_CENTER_AT_0_0
#endif //Y_HOME_DIR == -1
// Z axis
#if Z_HOME_DIR == -1 //BED_CENTER_AT_0_0 not used
#define Z_HOME_POS Z_MIN_POS
#else
#define Z_HOME_POS Z_MAX_POS
#endif //Z_HOME_DIR == -1
#endif //End auto min/max positions
//END AUTOSET LOCATIONS OF LIMIT SWITCHES -ZP
//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
// A single Z stepper driver is usually used to drive 2 stepper motors.
// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
//#define Z_DUAL_STEPPER_DRIVERS
#ifdef Z_DUAL_STEPPER_DRIVERS
#undef EXTRUDERS
#define EXTRUDERS 1
#endif
// Same again but for Y Axis.
//#define Y_DUAL_STEPPER_DRIVERS
// Define if the two Y drives need to rotate in opposite directions
#define INVERT_Y2_VS_Y_DIR true
#ifdef Y_DUAL_STEPPER_DRIVERS
#undef EXTRUDERS
#define EXTRUDERS 1
#endif
#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS)
#error "You cannot have dual drivers for both Y and Z"
#endif
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
#define X_HOME_RETRACT_MM 5
#define Y_HOME_RETRACT_MM 5
#define Z_HOME_RETRACT_MM 2
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
#define AXIS_RELATIVE_MODES {false, false, false, false}
#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step). Toshiba steppers are 4x slower, but Prusa3D does not use those.
//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
#define INVERT_X_STEP_PIN false
#define INVERT_Y_STEP_PIN false
#define INVERT_Z_STEP_PIN false
#define INVERT_E_STEP_PIN false
//default stepper release if idle
#define DEFAULT_STEPPER_DEACTIVE_TIME 60
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
#define DEFAULT_MINTRAVELFEEDRATE 0.0
// Feedrates for manual moves along X, Y, Z, E from panel
//Comment to disable setting feedrate multiplier via encoder
#ifdef ULTIPANEL
#define ULTIPANEL_FEEDMULTIPLY
#endif
// minimum time in microseconds that a movement needs to take if the buffer is emptied.
#define DEFAULT_MINSEGMENTTIME 20000
// If defined the movements slow down when the look ahead buffer is only half full
#define SLOWDOWN
// MS1 MS2 Stepper Driver Microstepping mode table
#define MICROSTEP1 LOW,LOW
#define MICROSTEP2 HIGH,LOW
#define MICROSTEP4 LOW,HIGH
#define MICROSTEP8 HIGH,HIGH
#define MICROSTEP16 HIGH,HIGH
// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
//#define DIGIPOT_I2C
// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8
#define DIGIPOT_I2C_NUM_CHANNELS 8
// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
//===========================================================================
//=============================Additional Features===========================
//===========================================================================
//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
// using:
//#define MENU_ADDAUTOSTART
// Show a progress bar on the LCD when printing from SD?
//#define LCD_PROGRESS_BAR
#ifdef LCD_PROGRESS_BAR
// Amount of time (ms) to show the bar
#define PROGRESS_BAR_BAR_TIME 2000
// Amount of time (ms) to show the status message
#define PROGRESS_BAR_MSG_TIME 3000
// Amount of time (ms) to retain the status message (0=forever)
#define PROGRESS_MSG_EXPIRE 0
// Enable this to show messages for MSG_TIME then hide them
//#define PROGRESS_MSG_ONCE
#endif
// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
//#define USE_WATCHDOG
#ifdef USE_WATCHDOG
// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset.
// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled.
//#define WATCHDOG_RESET_MANUAL
#endif
// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
// it can e.g. be used to change z-positions in the print startup phase in real-time
// does not respect endstops!
#define BABYSTEPPING
#ifdef BABYSTEPPING
#define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions
#define BABYSTEP_INVERT_Z false //true for inverse movements in Z
#define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
#ifdef COREXY
#error BABYSTEPPING not implemented for COREXY yet.
#endif
#endif
/**
* Implementation of linear pressure control
*
* Assumption: advance = k * (delta velocity)
* K=0 means advance disabled.
* See Marlin documentation for calibration instructions.
*/
#define LIN_ADVANCE
#ifdef LIN_ADVANCE
#define LIN_ADVANCE_K 0 //Try around 45 for PLA, around 25 for ABS.
/**
* Some Slicers produce Gcode with randomly jumping extrusion widths occasionally.
* For example within a 0.4mm perimeter it may produce a single segment of 0.05mm width.
* While this is harmless for normal printing (the fluid nature of the filament will
* close this very, very tiny gap), it throws off the LIN_ADVANCE pressure adaption.
*
* For this case LIN_ADVANCE_E_D_RATIO can be used to set the extrusion:distance ratio
* to a fixed value. Note that using a fixed ratio will lead to wrong nozzle pressures
* if the slicer is using variable widths or layer heights within one print!
*
* This option sets the default E:D ratio at startup. Use `M900` to override this value.
*
* Example: `M900 W0.4 H0.2 D1.75`, where:
* - W is the extrusion width in mm
* - H is the layer height in mm
* - D is the filament diameter in mm
*
* Example: `M900 R0.0458` to set the ratio directly.
*
* Set to 0 to auto-detect the ratio based on given Gcode G1 print moves.
*
* Slic3r (including Prusa Slic3r) produces Gcode compatible with the automatic mode.
* Cura (as of this writing) may produce Gcode incompatible with the automatic mode.
*/
#define LIN_ADVANCE_E_D_RATIO 0 // The calculated ratio (or 0) according to the formula W * H / ((D / 2) ^ 2 * PI)
// Example: 0.4 * 0.2 / ((1.75 / 2) ^ 2 * PI) = 0.033260135
#endif
// Arc interpretation settings:
#define MM_PER_ARC_SEGMENT 1
#define N_ARC_CORRECTION 25
const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
// in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should
// be commented out otherwise
#define SDCARDDETECTINVERTED
#ifdef ULTIPANEL
#undef SDCARDDETECTINVERTED
#endif
// Power Signal Control Definitions
// By default use ATX definition
#ifndef POWER_SUPPLY
#define POWER_SUPPLY 1
#endif
// 1 = ATX
#if (POWER_SUPPLY == 1)
#define PS_ON_AWAKE LOW
#define PS_ON_ASLEEP HIGH
#endif
// 2 = X-Box 360 203W
#if (POWER_SUPPLY == 2)
#define PS_ON_AWAKE HIGH
#define PS_ON_ASLEEP LOW
#endif
// Control heater 0 and heater 1 in parallel.
//#define HEATERS_PARALLEL
//===========================================================================
//=============================Buffers ============================
//===========================================================================
// The number of linear motions that can be in the plan at any give time.
// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
#if defined SDSUPPORT
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif
//The ASCII buffer for receiving from the serial:
#define MAX_CMD_SIZE 96
#define BUFSIZE 4
// Firmware based and LCD controlled retract
// M207 and M208 can be used to define parameters for the retraction.
// The retraction can be called by the slicer using G10 and G11
// until then, intended retractions can be detected by moves that only extrude and the direction.
// the moves are than replaced by the firmware controlled ones.
#define FWRETRACT //ONLY PARTIALLY TESTED
#ifdef FWRETRACT
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt
#define RETRACT_LENGTH 3 //default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change)
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif
//adds support for experimental filament exchange support M600; requires display
#ifdef FILAMENTCHANGEENABLE
#ifdef EXTRUDER_RUNOUT_PREVENT
#error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE
#endif
#endif
//===========================================================================
//============================= Define Defines ============================
//===========================================================================
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
#endif
#if EXTRUDERS > 1 && defined HEATERS_PARALLEL
#error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1"
#endif
#if TEMP_SENSOR_0 > 0
#define THERMISTORHEATER_0 TEMP_SENSOR_0
#define HEATER_0_USES_THERMISTOR
#endif
#if TEMP_SENSOR_1 > 0
#define THERMISTORHEATER_1 TEMP_SENSOR_1
#define HEATER_1_USES_THERMISTOR
#endif
#if TEMP_SENSOR_2 > 0
#define THERMISTORHEATER_2 TEMP_SENSOR_2
#define HEATER_2_USES_THERMISTOR
#endif
#if TEMP_SENSOR_BED > 0
#define THERMISTORBED TEMP_SENSOR_BED
#define BED_USES_THERMISTOR
#endif
#if TEMP_SENSOR_0 == -1
#define HEATER_0_USES_AD595
#endif
#if TEMP_SENSOR_1 == -1
#define HEATER_1_USES_AD595
#endif
#if TEMP_SENSOR_2 == -1
#define HEATER_2_USES_AD595
#endif
#if TEMP_SENSOR_BED == -1
#define BED_USES_AD595
#endif
#if TEMP_SENSOR_0 == -2
#define HEATER_0_USES_MAX6675
#endif
#if TEMP_SENSOR_0 == 0
#undef HEATER_0_MINTEMP
#undef HEATER_0_MAXTEMP
#endif
#if TEMP_SENSOR_1 == 0
#undef HEATER_1_MINTEMP
#undef HEATER_1_MAXTEMP
#endif
#if TEMP_SENSOR_2 == 0
#undef HEATER_2_MINTEMP
#undef HEATER_2_MAXTEMP
#endif
#if TEMP_SENSOR_BED == 0
#undef BED_MINTEMP
#undef BED_MAXTEMP
#endif
#endif //__CONFIGURATION_ADV_H
#ifndef CONFIGURATION_ADV_H
#define CONFIGURATION_ADV_H
//===========================================================================
//=============================Thermal Settings ============================
//===========================================================================
#ifdef BED_LIMIT_SWITCHING
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
#endif
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control
//// Heating sanity check:
// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperatureLCD_PROGRESS_BAR
// If the temperature has not increased at the end of that period, the target temperature is set to zero.
// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
// differ by at least 2x WATCH_TEMP_INCREASE
//#define WATCH_TEMP_PERIOD 40000 //40 seconds
//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds
#ifdef PIDTEMP
// this adds an experimental additional term to the heating power, proportional to the extrusion speed.
// if Kc is chosen well, the additional required power due to increased melting should be compensated.
#define PID_ADD_EXTRUSION_RATE
#ifdef PID_ADD_EXTRUSION_RATE
#define DEFAULT_Kc (1) //heating power=Kc*(e_speed)
#endif
#endif
//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode.
//The maximum buffered steps/sec of the extruder motor are called "se".
//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor>
// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp
// you exit the value by any M109 without F*
// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp.
// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode
//#define AUTOTEMP
#ifdef AUTOTEMP
#define AUTOTEMP_OLDWEIGHT 0.98
#endif
//Show Temperature ADC value
//The M105 command return, besides traditional information, the ADC value read from temperature sensors.
//#define SHOW_TEMP_ADC_VALUES
// extruder run-out prevention.
//if the machine is idle, and the temperature over MINTEMP, every couple of SECONDS some filament is extruded
//#define EXTRUDER_RUNOUT_PREVENT
#define EXTRUDER_RUNOUT_MINTEMP 190
#define EXTRUDER_RUNOUT_SECONDS 30.
#define EXTRUDER_RUNOUT_ESTEPS 14. //mm filament
#define EXTRUDER_RUNOUT_SPEED 1500. //extrusion speed
#define EXTRUDER_RUNOUT_EXTRUDE 100
//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
#define TEMP_SENSOR_AD595_OFFSET 0.0
#define TEMP_SENSOR_AD595_GAIN 1.0
//This is for controlling a fan to cool down the stepper drivers
//it will turn on when any driver is enabled
//and turn off after the set amount of seconds from last driver being disabled again
#define CONTROLLERFAN_PIN -1 //Pin used for the fan to cool controller (-1 to disable)
#define CONTROLLERFAN_SECS 60 //How many seconds, after all motors were disabled, the fan should run
#define CONTROLLERFAN_SPEED 255 // == full speed
// When first starting the main fan, run it at full speed for the
// given number of milliseconds. This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
//#define FAN_KICKSTART_TIME 100
//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================
#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
//// AUTOSET LOCATIONS OF LIMIT SWITCHES
//// Added by ZetaPhoenix 09-15-2012
#ifdef MANUAL_HOME_POSITIONS // Use manual limit switch locations
#define X_HOME_POS MANUAL_X_HOME_POS
#define Y_HOME_POS MANUAL_Y_HOME_POS
#define Z_HOME_POS MANUAL_Z_HOME_POS
#else //Set min/max homing switch positions based upon homing direction and min/max travel limits
//X axis
#if X_HOME_DIR == -1
#ifdef BED_CENTER_AT_0_0
#define X_HOME_POS X_MAX_LENGTH * -0.5
#else
#define X_HOME_POS X_MIN_POS
#endif //BED_CENTER_AT_0_0
#else
#ifdef BED_CENTER_AT_0_0
#define X_HOME_POS X_MAX_LENGTH * 0.5
#else
#define X_HOME_POS X_MAX_POS
#endif //BED_CENTER_AT_0_0
#endif //X_HOME_DIR == -1
//Y axis
#if Y_HOME_DIR == -1
#ifdef BED_CENTER_AT_0_0
#define Y_HOME_POS Y_MAX_LENGTH * -0.5
#else
#define Y_HOME_POS Y_MIN_POS
#endif //BED_CENTER_AT_0_0
#else
#ifdef BED_CENTER_AT_0_0
#define Y_HOME_POS Y_MAX_LENGTH * 0.5
#else
#define Y_HOME_POS Y_MAX_POS
#endif //BED_CENTER_AT_0_0
#endif //Y_HOME_DIR == -1
// Z axis
#if Z_HOME_DIR == -1 //BED_CENTER_AT_0_0 not used
#define Z_HOME_POS Z_MIN_POS
#else
#define Z_HOME_POS Z_MAX_POS
#endif //Z_HOME_DIR == -1
#endif //End auto min/max positions
//END AUTOSET LOCATIONS OF LIMIT SWITCHES -ZP
//#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
// A single Z stepper driver is usually used to drive 2 stepper motors.
// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
//#define Z_DUAL_STEPPER_DRIVERS
#ifdef Z_DUAL_STEPPER_DRIVERS
#undef EXTRUDERS
#define EXTRUDERS 1
#endif
// Same again but for Y Axis.
//#define Y_DUAL_STEPPER_DRIVERS
// Define if the two Y drives need to rotate in opposite directions
#define INVERT_Y2_VS_Y_DIR true
#ifdef Y_DUAL_STEPPER_DRIVERS
#undef EXTRUDERS
#define EXTRUDERS 1
#endif
#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS)
#error "You cannot have dual drivers for both Y and Z"
#endif
//homing hits the endstop, then retracts by this distance, before it tries to slowly bump again:
#define X_HOME_RETRACT_MM 5
#define Y_HOME_RETRACT_MM 5
#define Z_HOME_RETRACT_MM 2
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
#define AXIS_RELATIVE_MODES {false, false, false, false}
#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step). Toshiba steppers are 4x slower, but Prusa3D does not use those.
//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
#define INVERT_X_STEP_PIN false
#define INVERT_Y_STEP_PIN false
#define INVERT_Z_STEP_PIN false
#define INVERT_E_STEP_PIN false
//default stepper release if idle
#define DEFAULT_STEPPER_DEACTIVE_TIME 60
#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate
#define DEFAULT_MINTRAVELFEEDRATE 0.0
// Feedrates for manual moves along X, Y, Z, E from panel
//Comment to disable setting feedrate multiplier via encoder
#ifdef ULTIPANEL
#define ULTIPANEL_FEEDMULTIPLY
#endif
// minimum time in microseconds that a movement needs to take if the buffer is emptied.
#define DEFAULT_MINSEGMENTTIME 20000
// If defined the movements slow down when the look ahead buffer is only half full
#define SLOWDOWN
// MS1 MS2 Stepper Driver Microstepping mode table
#define MICROSTEP1 LOW,LOW
#define MICROSTEP2 HIGH,LOW
#define MICROSTEP4 LOW,HIGH
#define MICROSTEP8 HIGH,HIGH
#define MICROSTEP16 HIGH,HIGH
// Microstep setting (Only functional when stepper driver microstep pins are connected to MCU.
#define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16]
// uncomment to enable an I2C based DIGIPOT like on the Azteeg X3 Pro
//#define DIGIPOT_I2C
// Number of channels available for I2C digipot, For Azteeg X3 Pro we have 8
#define DIGIPOT_I2C_NUM_CHANNELS 8
// actual motor currents in Amps, need as many here as DIGIPOT_I2C_NUM_CHANNELS
#define DIGIPOT_I2C_MOTOR_CURRENTS {1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0}
//===========================================================================
//=============================Additional Features===========================
//===========================================================================
//#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/
#define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again
#define SD_FINISHED_STEPPERRELEASE true //if sd support and the file is finished: disable steppers?
#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.
#define SDCARD_RATHERRECENTFIRST //reverse file order of sd card menu display. Its sorted practically after the file system block order.
// if a file is deleted, it frees a block. hence, the order is not purely chronological. To still have auto0.g accessible, there is again the option to do that.
// using:
//#define MENU_ADDAUTOSTART
// Show a progress bar on the LCD when printing from SD?
//#define LCD_PROGRESS_BAR
#ifdef LCD_PROGRESS_BAR
// Amount of time (ms) to show the bar
#define PROGRESS_BAR_BAR_TIME 2000
// Amount of time (ms) to show the status message
#define PROGRESS_BAR_MSG_TIME 3000
// Amount of time (ms) to retain the status message (0=forever)
#define PROGRESS_MSG_EXPIRE 0
// Enable this to show messages for MSG_TIME then hide them
//#define PROGRESS_MSG_ONCE
#endif
// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
//#define USE_WATCHDOG
#ifdef USE_WATCHDOG
// If you have a watchdog reboot in an ArduinoMega2560 then the device will hang forever, as a watchdog reset will leave the watchdog on.
// The "WATCHDOG_RESET_MANUAL" goes around this by not using the hardware reset.
// However, THIS FEATURE IS UNSAFE!, as it will only work if interrupts are disabled. And the code could hang in an interrupt routine with interrupts disabled.
//#define WATCHDOG_RESET_MANUAL
#endif
// Enable the option to stop SD printing when hitting and endstops, needs to be enabled from the LCD menu when this option is enabled.
//#define ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
// Babystepping enables the user to control the axis in tiny amounts, independently from the normal printing process
// it can e.g. be used to change z-positions in the print startup phase in real-time
// does not respect endstops!
#define BABYSTEPPING
#ifdef BABYSTEPPING
#define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions
#define BABYSTEP_INVERT_Z false //true for inverse movements in Z
#define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements
#ifdef COREXY
#error BABYSTEPPING not implemented for COREXY yet.
#endif
#endif
// extruder advance constant (s2/mm3)
//
// advance (steps) = STEPS_PER_CUBIC_MM_E * EXTRUDER_ADVANCE_K * cubic mm per second ^ 2
//
// Hooke's law says: force = k * distance
// Bernoulli's principle says: v ^ 2 / 2 + g . h + pressure / density = constant
// so: v ^ 2 is proportional to number of steps we advance the extruder
//#define ADVANCE
#ifdef ADVANCE
#define EXTRUDER_ADVANCE_K .006
#define D_FILAMENT 1.75
#define STEPS_MM_E 174.6
#define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159)
#define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA)
#endif // ADVANCE
// Arc interpretation settings:
#define MM_PER_ARC_SEGMENT 1
#define N_ARC_CORRECTION 25
const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement
// If you are using a RAMPS board or cheap E-bay purchased boards that do not detect when an SD card is inserted
// You can get round this by connecting a push button or single throw switch to the pin defined as SDCARDCARDDETECT
// in the pins.h file. When using a push button pulling the pin to ground this will need inverted. This setting should
// be commented out otherwise
#define SDCARDDETECTINVERTED
#ifdef ULTIPANEL
#undef SDCARDDETECTINVERTED
#endif
// Power Signal Control Definitions
// By default use ATX definition
#ifndef POWER_SUPPLY
#define POWER_SUPPLY 1
#endif
// 1 = ATX
#if (POWER_SUPPLY == 1)
#define PS_ON_AWAKE LOW
#define PS_ON_ASLEEP HIGH
#endif
// 2 = X-Box 360 203W
#if (POWER_SUPPLY == 2)
#define PS_ON_AWAKE HIGH
#define PS_ON_ASLEEP LOW
#endif
// Control heater 0 and heater 1 in parallel.
//#define HEATERS_PARALLEL
//===========================================================================
//=============================Buffers ============================
//===========================================================================
// The number of linear motions that can be in the plan at any give time.
// THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering.
#if defined SDSUPPORT
#define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller
#else
#define BLOCK_BUFFER_SIZE 16 // maximize block buffer
#endif
//The ASCII buffer for receiving from the serial:
#define MAX_CMD_SIZE 96
#define BUFSIZE 4
// Firmware based and LCD controlled retract
// M207 and M208 can be used to define parameters for the retraction.
// The retraction can be called by the slicer using G10 and G11
// until then, intended retractions can be detected by moves that only extrude and the direction.
// the moves are than replaced by the firmware controlled ones.
#define FWRETRACT //ONLY PARTIALLY TESTED
#ifdef FWRETRACT
#define MIN_RETRACT 0.1 //minimum extruded mm to accept a automatic gcode retraction attempt
#define RETRACT_LENGTH 3 //default retract length (positive mm)
#define RETRACT_LENGTH_SWAP 13 //default swap retract length (positive mm), for extruder change
#define RETRACT_FEEDRATE 45 //default feedrate for retracting (mm/s)
#define RETRACT_ZLIFT 0 //default retract Z-lift
#define RETRACT_RECOVER_LENGTH 0 //default additional recover length (mm, added to retract length when recovering)
#define RETRACT_RECOVER_LENGTH_SWAP 0 //default additional swap recover length (mm, added to retract length when recovering from extruder change)
#define RETRACT_RECOVER_FEEDRATE 8 //default feedrate for recovering from retraction (mm/s)
#endif
//adds support for experimental filament exchange support M600; requires display
#ifdef FILAMENTCHANGEENABLE
#ifdef EXTRUDER_RUNOUT_PREVENT
#error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE
#endif
#endif
//===========================================================================
//============================= Define Defines ============================
//===========================================================================
#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT
#error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1"
#endif
#if EXTRUDERS > 1 && defined HEATERS_PARALLEL
#error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1"
#endif
#if TEMP_SENSOR_0 > 0
#define THERMISTORHEATER_0 TEMP_SENSOR_0
#define HEATER_0_USES_THERMISTOR
#endif
#if TEMP_SENSOR_1 > 0
#define THERMISTORHEATER_1 TEMP_SENSOR_1
#define HEATER_1_USES_THERMISTOR
#endif
#if TEMP_SENSOR_2 > 0
#define THERMISTORHEATER_2 TEMP_SENSOR_2
#define HEATER_2_USES_THERMISTOR
#endif
#if TEMP_SENSOR_BED > 0
#define THERMISTORBED TEMP_SENSOR_BED
#define BED_USES_THERMISTOR
#endif
#if TEMP_SENSOR_0 == -1
#define HEATER_0_USES_AD595
#endif
#if TEMP_SENSOR_1 == -1
#define HEATER_1_USES_AD595
#endif
#if TEMP_SENSOR_2 == -1
#define HEATER_2_USES_AD595
#endif
#if TEMP_SENSOR_BED == -1
#define BED_USES_AD595
#endif
#if TEMP_SENSOR_0 == -2
#define HEATER_0_USES_MAX6675
#endif
#if TEMP_SENSOR_0 == 0
#undef HEATER_0_MINTEMP
#undef HEATER_0_MAXTEMP
#endif
#if TEMP_SENSOR_1 == 0
#undef HEATER_1_MINTEMP
#undef HEATER_1_MAXTEMP
#endif
#if TEMP_SENSOR_2 == 0
#undef HEATER_2_MINTEMP
#undef HEATER_2_MAXTEMP
#endif
#if TEMP_SENSOR_BED == 0
#undef BED_MINTEMP
#undef BED_MAXTEMP
#endif
#endif //__CONFIGURATION_ADV_H

View File

@ -348,8 +348,4 @@ float temp_comp_interpolation(float temperature);
void temp_compensation_apply();
void temp_compensation_start();
void wait_for_heater(long codenum);
void serialecho_temperatures();
extern void save_print_to_eeprom();
extern void restore_print_from_eeprom();
extern void position_menu();
void serialecho_temperatures();

View File

@ -199,7 +199,6 @@
// M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
// M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
// M605 - Set dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ]
// M900 - Set LIN_ADVANCE options, if enabled. See Configuration_adv.h for details.
// M907 - Set digital trimpot motor current using axis codes.
// M908 - Control digital trimpot directly.
// M350 - Set microstepping mode.
@ -1380,6 +1379,7 @@ void get_command()
continue;
if(serial_char == '\n' ||
serial_char == '\r' ||
(serial_char == ':' && comment_mode == false) ||
serial_count >= (MAX_CMD_SIZE - 1) )
{
if(!serial_count) { //if empty line
@ -1610,15 +1610,6 @@ static inline long code_value_long() { return strtol(strchr_pointer+1, NUL
static inline int16_t code_value_short() { return int16_t(strtol(strchr_pointer+1, NULL, 10)); };
static inline uint8_t code_value_uint8() { return uint8_t(strtol(strchr_pointer+1, NULL, 10)); };
static inline float code_value_float() {
char* e = strchr(strchr_pointer, 'E');
if (!e) return strtod(strchr_pointer + 1, NULL);
*e = 0;
float ret = strtod(strchr_pointer + 1, NULL);
*e = 'E';
return ret;
}
#define DEFINE_PGM_READ_ANY(type, reader) \
static inline type pgm_read_any(const type *p) \
{ return pgm_read_##reader##_near(p); }
@ -1804,39 +1795,6 @@ static float probe_pt(float x, float y, float z_before) {
#endif // #ifdef ENABLE_AUTO_BED_LEVELING
#ifdef LIN_ADVANCE
/**
* M900: Set and/or Get advance K factor and WH/D ratio
*
* K<factor> Set advance K factor
* R<ratio> Set ratio directly (overrides WH/D)
* W<width> H<height> D<diam> Set ratio from WH/D
*/
inline void gcode_M900() {
st_synchronize();
const float newK = code_seen('K') ? code_value_float() : -1;
if (newK >= 0) extruder_advance_k = newK;
float newR = code_seen('R') ? code_value_float() : -1;
if (newR < 0) {
const float newD = code_seen('D') ? code_value_float() : -1,
newW = code_seen('W') ? code_value_float() : -1,
newH = code_seen('H') ? code_value_float() : -1;
if (newD >= 0 && newW >= 0 && newH >= 0)
newR = newD ? (newW * newH) / (sq(newD * 0.5) * M_PI) : 0;
}
if (newR >= 0) advance_ed_ratio = newR;
SERIAL_ECHO_START;
SERIAL_ECHOPGM("Advance K=");
SERIAL_ECHOLN(extruder_advance_k);
SERIAL_ECHOPGM(" E/D=");
const float ratio = advance_ed_ratio;
if (ratio) SERIAL_ECHOLN(ratio); else SERIAL_ECHOLNPGM("Auto");
}
#endif // LIN_ADVANCE
void homeaxis(int axis) {
#define HOMEAXIS_DO(LETTER) \
((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
@ -3490,7 +3448,6 @@ void process_commands()
starttime=millis();
break;
case 25: //M25 - Pause SD print
save_print_to_eeprom();
card.pauseSDPrint();
break;
case 26: //M26 - Set SD index
@ -4379,12 +4336,6 @@ Sigma_Exit:
}
}
break;
case 110: // M110 - reset line pos
if (code_seen('N'))
gcode_LastN = code_value_long();
else
gcode_LastN = 0;
break;
case 115: // M115
if (code_seen('V')) {
// Report the Prusa version number.
@ -5399,12 +5350,6 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
}
break;
#ifdef LIN_ADVANCE
case 900: // M900: Set LIN_ADVANCE options.
gcode_M900();
break;
#endif
case 907: // M907 Set digital trimpot motor current using axis codes.
{
#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
@ -5556,12 +5501,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
}
snmm_filaments_used |= (1 << tmp_extruder); //for stop print
#ifdef SNMM
#ifdef LIN_ADVANCE
if (snmm_extruder != tmp_extruder)
clear_current_adv_vars(); //Check if the selected extruder is not the active one and reset LIN_ADVANCE variables if so.
#endif
snmm_extruder = tmp_extruder;
snmm_extruder = tmp_extruder;
st_synchronize();
delay(100);
@ -6659,41 +6599,3 @@ void serialecho_temperatures() {
SERIAL_PROTOCOL_F(degBed(), 1);
SERIAL_PROTOCOLLN("");
}
void save_print_to_eeprom() {
eeprom_update_dword((uint32_t*)(EEPROM_FILE_POSITION), card.get_sdpos());
}
void restore_print_from_eeprom() {
char cmd[30];
char* c;
char filename[13];
char str[5] = ".gco";
for (int i = 0; i < 8; i++) {
filename[i] = eeprom_read_byte((uint8_t*)EEPROM_FILENAME + i);
}
filename[8] = '\0';
MYSERIAL.print(filename);
strcat(filename, str);
sprintf_P(cmd, PSTR("M23 %s"), filename);
for (c = &cmd[4]; *c; c++)
*c = tolower(*c);
enquecommand(cmd);
uint32_t position = eeprom_read_dword((uint32_t*)(EEPROM_FILE_POSITION));
SERIAL_ECHOPGM("Position read from eeprom:");
MYSERIAL.println(position);
card.setIndex(position);
enquecommand_P(PSTR("M24"));
sprintf_P(cmd, PSTR("M26 S%d"), position);
enquecommand(cmd);
}
void position_menu() {
SERIAL_ECHOPGM("Percent done:");
MYSERIAL.println(card.percentDone());
SERIAL_ECHOPGM("sdpos:");
MYSERIAL.println(card.get_sdpos());
}

View File

@ -1,107 +1,106 @@
#ifndef CARDREADER_H
#define CARDREADER_H
#ifdef SDSUPPORT
#define MAX_DIR_DEPTH 10
#include "SdFile.h"
enum LsAction {LS_SerialPrint,LS_Count,LS_GetFilename};
class CardReader
{
public:
CardReader();
void initsd();
void write_command(char *buf);
void write_command_no_newline(char *buf);
//files auto[0-9].g on the sd card are performed in a row
//this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset
void checkautostart(bool x);
void openFile(char* name,bool read,bool replace_current=true);
void openLogFile(char* name);
void removeFile(char* name);
void closefile(bool store_location=false);
void release();
void startFileprint();
void pauseSDPrint();
void getStatus();
void printingHasFinished();
void getfilename(uint16_t nr, const char* const match=NULL);
uint16_t getnrfilenames();
void getAbsFilename(char *t);
void ls();
void chdir(const char * relpath);
void updir();
void setroot();
FORCE_INLINE bool isFileOpen() { return file.isOpen(); }
FORCE_INLINE bool eof() { return sdpos>=filesize ;};
FORCE_INLINE int16_t get() { sdpos = file.curPosition();return (int16_t)file.read();};
FORCE_INLINE void setIndex(long index) {sdpos = index;file.seekSet(index);};
FORCE_INLINE uint8_t percentDone(){if(!isFileOpen()) return 0; if(filesize) return sdpos/((filesize+99)/100); else return 0;};
FORCE_INLINE char* getWorkDirName(){workDir.getFilename(filename);return filename;};
FORCE_INLINE uint32_t get_sdpos() { if (!isFileOpen()) return 0; else return(sdpos); };
bool ToshibaFlashAir_isEnabled() const { return card.getFlashAirCompatible(); }
void ToshibaFlashAir_enable(bool enable) { card.setFlashAirCompatible(enable); }
bool ToshibaFlashAir_GetIP(uint8_t *ip);
public:
bool saving;
bool logging;
bool sdprinting ;
bool cardOK ;
char filename[13];
char longFilename[LONG_FILENAME_LENGTH];
bool filenameIsDir;
int lastnr; //last number of the autostart;
private:
SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH];
uint16_t workDirDepth;
Sd2Card card;
SdVolume volume;
SdFile file;
#define SD_PROCEDURE_DEPTH 1
#define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1)
uint8_t file_subcall_ctr;
uint32_t filespos[SD_PROCEDURE_DEPTH];
char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
uint32_t filesize;
//int16_t n;
unsigned long autostart_atmillis;
uint32_t sdpos ;
bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
LsAction lsAction; //stored for recursion.
int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory.
char* diveDirName;
void lsDive(const char *prepend, SdFile parent, const char * const match=NULL);
};
extern CardReader card;
#define IS_SD_PRINTING (card.sdprinting)
#if (SDCARDDETECT > -1)
# ifdef SDCARDDETECTINVERTED
# define IS_SD_INSERTED (READ(SDCARDDETECT)!=0)
# else
# define IS_SD_INSERTED (READ(SDCARDDETECT)==0)
# endif //SDCARDTETECTINVERTED
#else
//If we don't have a card detect line, aways asume the card is inserted
# define IS_SD_INSERTED true
#endif
#else
#define IS_SD_PRINTING (false)
#endif //SDSUPPORT
#endif
#ifndef CARDREADER_H
#define CARDREADER_H
#ifdef SDSUPPORT
#define MAX_DIR_DEPTH 10
#include "SdFile.h"
enum LsAction {LS_SerialPrint,LS_Count,LS_GetFilename};
class CardReader
{
public:
CardReader();
void initsd();
void write_command(char *buf);
void write_command_no_newline(char *buf);
//files auto[0-9].g on the sd card are performed in a row
//this is to delay autostart and hence the initialisaiton of the sd card to some seconds after the normal init, so the device is available quick after a reset
void checkautostart(bool x);
void openFile(char* name,bool read,bool replace_current=true);
void openLogFile(char* name);
void removeFile(char* name);
void closefile(bool store_location=false);
void release();
void startFileprint();
void pauseSDPrint();
void getStatus();
void printingHasFinished();
void getfilename(uint16_t nr, const char* const match=NULL);
uint16_t getnrfilenames();
void getAbsFilename(char *t);
void ls();
void chdir(const char * relpath);
void updir();
void setroot();
FORCE_INLINE bool isFileOpen() { return file.isOpen(); }
FORCE_INLINE bool eof() { return sdpos>=filesize ;};
FORCE_INLINE int16_t get() { sdpos = file.curPosition();return (int16_t)file.read();};
FORCE_INLINE void setIndex(long index) {sdpos = index;file.seekSet(index);};
FORCE_INLINE uint8_t percentDone(){if(!isFileOpen()) return 0; if(filesize) return sdpos/((filesize+99)/100); else return 0;};
FORCE_INLINE char* getWorkDirName(){workDir.getFilename(filename);return filename;};
bool ToshibaFlashAir_isEnabled() const { return card.getFlashAirCompatible(); }
void ToshibaFlashAir_enable(bool enable) { card.setFlashAirCompatible(enable); }
bool ToshibaFlashAir_GetIP(uint8_t *ip);
public:
bool saving;
bool logging;
bool sdprinting ;
bool cardOK ;
char filename[13];
char longFilename[LONG_FILENAME_LENGTH];
bool filenameIsDir;
int lastnr; //last number of the autostart;
private:
SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH];
uint16_t workDirDepth;
Sd2Card card;
SdVolume volume;
SdFile file;
#define SD_PROCEDURE_DEPTH 1
#define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1)
uint8_t file_subcall_ctr;
uint32_t filespos[SD_PROCEDURE_DEPTH];
char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
uint32_t filesize;
//int16_t n;
unsigned long autostart_atmillis;
uint32_t sdpos ;
bool autostart_stilltocheck; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
LsAction lsAction; //stored for recursion.
int16_t nrFiles; //counter for the files in the current directory and recycled as position counter for getting the nrFiles'th name in the directory.
char* diveDirName;
void lsDive(const char *prepend, SdFile parent, const char * const match=NULL);
};
extern CardReader card;
#define IS_SD_PRINTING (card.sdprinting)
#if (SDCARDDETECT > -1)
# ifdef SDCARDDETECTINVERTED
# define IS_SD_INSERTED (READ(SDCARDDETECT)!=0)
# else
# define IS_SD_INSERTED (READ(SDCARDDETECT)==0)
# endif //SDCARDTETECTINVERTED
#else
//If we don't have a card detect line, aways asume the card is inserted
# define IS_SD_INSERTED true
#endif
#else
#define IS_SD_PRINTING (false)
#endif //SDSUPPORT
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,313 +1,313 @@
/**
* English
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " ok"
#define MSG_SD_INSERTED "Karta vlozena"
#define MSG_SD_REMOVED "Karta vyjmuta"
#define MSG_MAIN "Hlavni nabidka"
#define MSG_DISABLE_STEPPERS "Vypnout motory"
#define MSG_AUTO_HOME "Auto home"
#define MSG_SET_HOME_OFFSETS "Nastav pocatek home"
#define MSG_SET_ORIGIN "Nastav pocatek"
#define MSG_COOLDOWN "Zchladit"
#define MSG_SWITCH_PS_ON "Vypnout zdroj"
#define MSG_SWITCH_PS_OFF "Zapnout zdroj"
#define MSG_MOVE_AXIS "Posunout osu"
#define MSG_MOVE_X "Posunout X"
#define MSG_MOVE_Y "Posunout Y"
#define MSG_MOVE_Z "Posunout Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Rychlost"
#define MSG_NOZZLE "Tryska"
#define MSG_NOZZLE1 "Tryska2"
#define MSG_NOZZLE2 "Tryska3"
#define MSG_BED "Bed"
#define MSG_FAN_SPEED "Rychlost vent."
#define MSG_FLOW "Prutok"
#define MSG_FLOW0 "Prutok 0"
#define MSG_FLOW1 "Prutok 1"
#define MSG_FLOW2 "Prutok 2"
#define MSG_CONTROL "Kontrola"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Teplota"
#define MSG_MOTION "Pohyb"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Ulozit pamet"
#define MSG_RESTORE_FAILSAFE "Obnovit vychozi"
#define MSG_REFRESH "\xF8" "Obnovit"
#define MSG_WATCH "Informace"
#define MSG_TUNE "Ladit"
#define MSG_PAUSE_PRINT "Pozastavit tisk"
#define MSG_RESUME_PRINT "Pokracovat"
#define MSG_STOP_PRINT "Zastavit tisk"
#define MSG_CARD_MENU "Tisk z SD"
#define MSG_NO_CARD "Zadna SD karta"
#define MSG_DWELL "Sleep..."
#define MSG_USERWAIT "Wait for user..."
#define MSG_RESUMING "Obnoveni tisku"
#define MSG_PRINT_ABORTED "Tisk prerusen"
#define MSG_NO_MOVE "No move."
#define MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Vymenit filament"
#define MSG_INIT_SDCARD "Inic. SD"
#define MSG_CNG_SDCARD "Vymenit SD"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Doladeni osy Z"
#define MSG_ADJUSTZ "Auto doladit Z ?"
#define MSG_PICK_Z "Vyberte vytisk"
#define MSG_HOMEYZ "Kalibrovat Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruji Z"
#define MSG_HOMEYZ_DONE "Kalibrace OK"
#define MSG_SETTINGS "Nastaveni"
#define MSG_PREHEAT "Predehrev"
#define MSG_UNLOAD_FILAMENT "Vyjmout filament"
#define MSG_LOAD_FILAMENT "Zavest filament"
#define MSG_LOAD_FILAMENT_1 "Zavest filament 1"
#define MSG_LOAD_FILAMENT_2 "Zavest filament 2"
#define MSG_LOAD_FILAMENT_3 "Zavest filament 3"
#define MSG_LOAD_FILAMENT_4 "Zavest filament 4"
#define MSG_UNLOAD_FILAMENT_1 "Vyjmout filam. 1"
#define MSG_UNLOAD_FILAMENT_2 "Vyjmout filam. 2"
#define MSG_UNLOAD_FILAMENT_3 "Vyjmout filam. 3"
#define MSG_UNLOAD_FILAMENT_4 "Vyjmout filam. 4"
#define MSG_UNLOAD_ALL "Vyjmout vse"
#define MSG_LOAD_ALL "Zavest vse"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "CHYBA:"
#define MSG_PREHEAT_NOZZLE "Predehrejte trysku!"
#define MSG_SUPPORT "Podpora"
#define MSG_CORRECTLY "Vymena ok?"
#define MSG_YES "Ano"
#define MSG_NO "Ne"
#define MSG_NOT_LOADED "Filament nezaveden"
#define MSG_NOT_COLOR "Barva neni cista"
#define MSG_LOADING_FILAMENT "Zavadeni filamentu"
#define MSG_PLEASE_WAIT "Prosim cekejte"
#define MSG_LOADING_COLOR "Cisteni barvy"
#define MSG_CHANGE_SUCCESS "Zmena uspesna!"
#define MSG_PRESS "a stisknete tlacitko"
#define MSG_INSERT_FILAMENT "Vlozte filament"
#define MSG_CHANGING_FILAMENT "Vymena filamentu!"
#define MSG_SILENT_MODE_ON "Mod [tichy]"
#define MSG_SILENT_MODE_OFF "Mod [vys. vykon]"
#define MSG_REBOOT "Restartujte tiskarnu"
#define MSG_TAKE_EFFECT " pro projeveni zmen"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Zahrivani"
#define MSG_HEATING_COMPLETE "Zahrivani OK."
#define MSG_BED_HEATING "Zahrivani bed"
#define MSG_BED_DONE "Bed OK."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Dostavovani Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Cestina"
#define MSG_LANGUAGE_SELECT "Vyber jazyka"
#define MSG_PRUSA3D "prusa3d.cz"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.cz"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.cz"
#define MSG_HOMEYZ "Kalibrovat Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruji Z"
#define MSG_HOMEYZ_DONE "Kalibrace OK"
#define MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Zkontrolujte :"
#define MSG_SELFTEST_NOTCONNECTED "Nezapojeno "
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define MSG_SELFTEST_WIRINGERROR "Chyba zapojeni"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test ventilatoru";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Predni tiskovy vent?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Levy vent na trysce?";
#define MSG_SELFTEST_FAN_YES "Toci se";
#define MSG_SELFTEST_FAN_NO "Netoci se";
#define MSG_STATS_TOTALFILAMENT "Filament celkem :"
#define MSG_STATS_TOTALPRINTTIME "Celkovy cas :"
#define MSG_STATS_FILAMENTUSED "Filament : "
#define MSG_STATS_PRINTTIME "Cas tisku : "
#define MSG_SELFTEST_START "Self test start "
#define MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
#define MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend "
#define MSG_SELFTEST_CHECK_X "Kontrola X axis "
#define MSG_SELFTEST_CHECK_Y "Kontrola Y axis "
#define MSG_SELFTEST_CHECK_Z "Kontrola Z axis "
#define MSG_SELFTEST_CHECK_BED "Kontrola bed "
#define MSG_SELFTEST_CHECK_ALLCORRECT "Vse OK "
#define MSG_SELFTEST "Selftest "
#define MSG_SELFTEST_FAILED "Selftest selhal "
#define MSG_STATISTICS "Statistika "
#define MSG_USB_PRINTING "Tisk z USB "
#define MSG_SHOW_END_STOPS "Stav konc. spin."
#define MSG_CALIBRATE_BED "Kalibrace XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
#define MSG_CONFIRM_NOZZLE_CLEAN "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Dojely oba Z voziky k~hornimu dorazu?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Hledam kalibracni bod podlozky"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Zlepsuji presnost kalibracniho bodu"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Merim referencni vysku kalibracniho bodu"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iterace "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace XYZ selhala. Nahlednete do manualu."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibrace XYZ nepresna. Levy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Vysla nova verze firmware:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosim aktualizujte."
#define MSG_FOLLOW_CALIBRATION_FLOW "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace."
#define MSG_BABYSTEP_Z_NOT_SET "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy."
#define MSG_BED_CORRECTION_MENU "Korekce podlozky"
#define MSG_BED_CORRECTION_LEFT "Vlevo [um]"
#define MSG_BED_CORRECTION_RIGHT "Vpravo [um]"
#define MSG_BED_CORRECTION_FRONT "Vpredu [um]"
#define MSG_BED_CORRECTION_REAR "Vzadu [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibrace"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_LOOSE_PULLEY "Uvolnena remenicka"
#define MSG_FILAMENT_LOADING_T0 "Vlozte filament do extruderu 1. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T1 "Vlozte filament do extruderu 2. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T2 "Vlozte filament do extruderu 3. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T3 "Vlozte filament do extruderu 4. Potvrdte tlacitkem."
#define MSG_CHANGE_EXTR "Zmenit extruder"
#define MSG_FIL_ADJUSTING "Probiha srovnani filamentu. Prosim cekejte."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem."
#define MSG_CALIBRATE_E "Kalibrovat E"
#define MSG_E_CAL_KNOB "Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem."
#define MSG_MARK_FIL "Oznacte filament 100 mm od tela extruderu a po te potvrdte tlacitkem."
#define MSG_CLEAN_NOZZLE_E "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem."
#define MSG_WAITING_TEMP "Cekani na zchladnuti trysky a podlozky."
#define MSG_FILAMENT_CLEAN "Je barva cista?"
#define MSG_UNLOADING_FILAMENT "Vysouvam filament"
#define MSG_PAPER "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."
#define MSG_FINISHING_MOVEMENTS "Dokoncovani pohybu"
#define MSG_PRINT_PAUSED "Tisk pozastaven"
#define MSG_RESUMING_PRINT "Obnovovani tisku"
#define MSG_PID_EXTRUDER "PID kalibrace"
#define MSG_SET_TEMPERATURE "Nastavte teplotu:"
#define MSG_PID_FINISHED "PID kal. ukoncena"
#define MSG_PID_RUNNING "PID kal. "
#define MSG_CALIBRATE_PINDA "Zkalibrovat"
#define MSG_CALIBRATION_PINDA_MENU "Teplot. kalibrace"
#define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana"
#define MSG_PINDA_PREHEAT "Nahrivani PINDA"
#define MSG_TEMP_CALIBRATION "Tepl. kal. "
#define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."
#define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Tepl. kal. [OFF]"
#define MSG_PREPARE_FILAMENT "Pripravte filament"
#define MSG_ALL "Vse"
#define MSG_USED "Pouzite behem tisku"
#define MSG_CURRENT "Pouze aktualni"
#define MSG_CHOOSE_EXTRUDER "Vyberte extruder:"
#define MSG_EXTRUDER "Extruder"
#define MSG_EXTRUDER_1 "Extruder 1"
#define MSG_EXTRUDER_2 "Extruder 2"
#define MSG_EXTRUDER_3 "Extruder 3"
#define MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "Detaily XYZ kal."
#define MSG_Y_DISTANCE_FROM_MIN "Y vzdalenost od min:"
#define MSG_LEFT "Levy:"
#define MSG_CENTER "Stred:"
#define MSG_RIGHT "Pravy:"
#define MSG_MEASURED_SKEW "Merene zkoseni:"
#define MSG_SLIGHT_SKEW "Lehke zkoseni:"
/**
* English
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " ok"
#define MSG_SD_INSERTED "Karta vlozena"
#define MSG_SD_REMOVED "Karta vyjmuta"
#define MSG_MAIN "Hlavni nabidka"
#define MSG_DISABLE_STEPPERS "Vypnout motory"
#define MSG_AUTO_HOME "Auto home"
#define MSG_SET_HOME_OFFSETS "Nastav pocatek home"
#define MSG_SET_ORIGIN "Nastav pocatek"
#define MSG_COOLDOWN "Zchladit"
#define MSG_SWITCH_PS_ON "Vypnout zdroj"
#define MSG_SWITCH_PS_OFF "Zapnout zdroj"
#define MSG_MOVE_AXIS "Posunout osu"
#define MSG_MOVE_X "Posunout X"
#define MSG_MOVE_Y "Posunout Y"
#define MSG_MOVE_Z "Posunout Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Rychlost"
#define MSG_NOZZLE "Tryska"
#define MSG_NOZZLE1 "Tryska2"
#define MSG_NOZZLE2 "Tryska3"
#define MSG_BED "Bed"
#define MSG_FAN_SPEED "Rychlost vent."
#define MSG_FLOW "Prutok"
#define MSG_FLOW0 "Prutok 0"
#define MSG_FLOW1 "Prutok 1"
#define MSG_FLOW2 "Prutok 2"
#define MSG_CONTROL "Kontrola"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Teplota"
#define MSG_MOTION "Pohyb"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Ulozit pamet"
#define MSG_RESTORE_FAILSAFE "Obnovit vychozi"
#define MSG_REFRESH "\xF8" "Obnovit"
#define MSG_WATCH "Informace"
#define MSG_TUNE "Ladit"
#define MSG_PAUSE_PRINT "Pozastavit tisk"
#define MSG_RESUME_PRINT "Pokracovat"
#define MSG_STOP_PRINT "Zastavit tisk"
#define MSG_CARD_MENU "Tisk z SD"
#define MSG_NO_CARD "Zadna SD karta"
#define MSG_DWELL "Sleep..."
#define MSG_USERWAIT "Wait for user..."
#define MSG_RESUMING "Obnoveni tisku"
#define MSG_PRINT_ABORTED "Tisk prerusen"
#define MSG_NO_MOVE "No move."
#define MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Vymenit filament"
#define MSG_INIT_SDCARD "Inic. SD"
#define MSG_CNG_SDCARD "Vymenit SD"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Doladeni osy Z"
#define MSG_ADJUSTZ "Auto doladit Z ?"
#define MSG_PICK_Z "Vyberte vytisk"
#define MSG_HOMEYZ "Kalibrovat Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruji Z"
#define MSG_HOMEYZ_DONE "Kalibrace OK"
#define MSG_SETTINGS "Nastaveni"
#define MSG_PREHEAT "Predehrev"
#define MSG_UNLOAD_FILAMENT "Vyjmout filament"
#define MSG_LOAD_FILAMENT "Zavest filament"
#define MSG_LOAD_FILAMENT_1 "Zavest filament 1"
#define MSG_LOAD_FILAMENT_2 "Zavest filament 2"
#define MSG_LOAD_FILAMENT_3 "Zavest filament 3"
#define MSG_LOAD_FILAMENT_4 "Zavest filament 4"
#define MSG_UNLOAD_FILAMENT_1 "Vyjmout filam. 1"
#define MSG_UNLOAD_FILAMENT_2 "Vyjmout filam. 2"
#define MSG_UNLOAD_FILAMENT_3 "Vyjmout filam. 3"
#define MSG_UNLOAD_FILAMENT_4 "Vyjmout filam. 4"
#define MSG_UNLOAD_ALL "Vyjmout vse"
#define MSG_LOAD_ALL "Zavest vse"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "CHYBA:"
#define MSG_PREHEAT_NOZZLE "Predehrejte trysku!"
#define MSG_SUPPORT "Podpora"
#define MSG_CORRECTLY "Vymena ok?"
#define MSG_YES "Ano"
#define MSG_NO "Ne"
#define MSG_NOT_LOADED "Filament nezaveden"
#define MSG_NOT_COLOR "Barva neni cista"
#define MSG_LOADING_FILAMENT "Zavadeni filamentu"
#define MSG_PLEASE_WAIT "Prosim cekejte"
#define MSG_LOADING_COLOR "Cisteni barvy"
#define MSG_CHANGE_SUCCESS "Zmena uspesna!"
#define MSG_PRESS "a stisknete tlacitko"
#define MSG_INSERT_FILAMENT "Vlozte filament"
#define MSG_CHANGING_FILAMENT "Vymena filamentu!"
#define MSG_SILENT_MODE_ON "Mod [tichy]"
#define MSG_SILENT_MODE_OFF "Mod [vys. vykon]"
#define MSG_REBOOT "Restartujte tiskarnu"
#define MSG_TAKE_EFFECT " pro projeveni zmen"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Zahrivani"
#define MSG_HEATING_COMPLETE "Zahrivani OK."
#define MSG_BED_HEATING "Zahrivani bed"
#define MSG_BED_DONE "Bed OK."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Dostavovani Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Cestina"
#define MSG_LANGUAGE_SELECT "Vyber jazyka"
#define MSG_PRUSA3D "prusa3d.cz"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.cz"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.cz"
#define MSG_HOMEYZ "Kalibrovat Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruji Z"
#define MSG_HOMEYZ_DONE "Kalibrace OK"
#define MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Zkontrolujte :"
#define MSG_SELFTEST_NOTCONNECTED "Nezapojeno "
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define MSG_SELFTEST_WIRINGERROR "Chyba zapojeni"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test ventilatoru";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Predni tiskovy vent?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Levy vent na trysce?";
#define MSG_SELFTEST_FAN_YES "Toci se";
#define MSG_SELFTEST_FAN_NO "Netoci se";
#define MSG_STATS_TOTALFILAMENT "Filament celkem :"
#define MSG_STATS_TOTALPRINTTIME "Celkovy cas :"
#define MSG_STATS_FILAMENTUSED "Filament : "
#define MSG_STATS_PRINTTIME "Cas tisku : "
#define MSG_SELFTEST_START "Self test start "
#define MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
#define MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend "
#define MSG_SELFTEST_CHECK_X "Kontrola X axis "
#define MSG_SELFTEST_CHECK_Y "Kontrola Y axis "
#define MSG_SELFTEST_CHECK_Z "Kontrola Z axis "
#define MSG_SELFTEST_CHECK_BED "Kontrola bed "
#define MSG_SELFTEST_CHECK_ALLCORRECT "Vse OK "
#define MSG_SELFTEST "Selftest "
#define MSG_SELFTEST_FAILED "Selftest selhal "
#define MSG_STATISTICS "Statistika "
#define MSG_USB_PRINTING "Tisk z USB "
#define MSG_SHOW_END_STOPS "Stav konc. spin."
#define MSG_CALIBRATE_BED "Kalibrace XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
#define MSG_CONFIRM_NOZZLE_CLEAN "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Dojely oba Z voziky k~hornimu dorazu?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Hledam kalibracni bod podlozky"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Zlepsuji presnost kalibracniho bodu"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Merim referencni vysku kalibracniho bodu"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iterace "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace XYZ selhala. Nahlednete do manualu."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibrace XYZ nepresna. Levy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Vysla nova verze firmware:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosim aktualizujte."
#define MSG_FOLLOW_CALIBRATION_FLOW "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace."
#define MSG_BABYSTEP_Z_NOT_SET "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy."
#define MSG_BED_CORRECTION_MENU "Korekce podlozky"
#define MSG_BED_CORRECTION_LEFT "Vlevo [um]"
#define MSG_BED_CORRECTION_RIGHT "Vpravo [um]"
#define MSG_BED_CORRECTION_FRONT "Vpredu [um]"
#define MSG_BED_CORRECTION_REAR "Vzadu [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibrace"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_LOOSE_PULLEY "Uvolnena remenicka"
#define MSG_FILAMENT_LOADING_T0 "Vlozte filament do extruderu 1. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T1 "Vlozte filament do extruderu 2. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T2 "Vlozte filament do extruderu 3. Potvrdte tlacitkem."
#define MSG_FILAMENT_LOADING_T3 "Vlozte filament do extruderu 4. Potvrdte tlacitkem."
#define MSG_CHANGE_EXTR "Zmenit extruder"
#define MSG_FIL_ADJUSTING "Probiha srovnani filamentu. Prosim cekejte."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem."
#define MSG_CALIBRATE_E "Kalibrovat E"
#define MSG_E_CAL_KNOB "Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem."
#define MSG_MARK_FIL "Oznacte filament 100 mm od tela extruderu a po te potvrdte tlacitkem."
#define MSG_CLEAN_NOZZLE_E "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem."
#define MSG_WAITING_TEMP "Cekani na zchladnuti trysky a podlozky."
#define MSG_FILAMENT_CLEAN "Je barva cista?"
#define MSG_UNLOADING_FILAMENT "Vysouvam filament"
#define MSG_PAPER "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."
#define MSG_FINISHING_MOVEMENTS "Dokoncovani pohybu"
#define MSG_PRINT_PAUSED "Tisk pozastaven"
#define MSG_RESUMING_PRINT "Obnovovani tisku"
#define MSG_PID_EXTRUDER "PID kalibrace"
#define MSG_SET_TEMPERATURE "Nastavte teplotu:"
#define MSG_PID_FINISHED "PID kal. ukoncena"
#define MSG_PID_RUNNING "PID kal. "
#define MSG_CALIBRATE_PINDA "Zkalibrovat"
#define MSG_CALIBRATION_PINDA_MENU "Teplot. kalibrace"
#define MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana"
#define MSG_PINDA_PREHEAT "Nahrivani PINDA"
#define MSG_TEMP_CALIBRATION "Tepl. kal. "
#define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."
#define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Tepl. kal. [OFF]"
#define MSG_PREPARE_FILAMENT "Pripravte filament"
#define MSG_ALL "Vse"
#define MSG_USED "Pouzite behem tisku"
#define MSG_CURRENT "Pouze aktualni"
#define MSG_CHOOSE_EXTRUDER "Vyberte extruder:"
#define MSG_EXTRUDER "Extruder"
#define MSG_EXTRUDER_1 "Extruder 1"
#define MSG_EXTRUDER_2 "Extruder 2"
#define MSG_EXTRUDER_3 "Extruder 3"
#define MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "Detaily XYZ kal."
#define MSG_Y_DISTANCE_FROM_MIN "Y vzdalenost od min:"
#define MSG_LEFT "Levy:"
#define MSG_CENTER "Stred:"
#define MSG_RIGHT "Pravy:"
#define MSG_MEASURED_SKEW "Merene zkoseni:"
#define MSG_SLIGHT_SKEW "Lehke zkoseni:"
#define MSG_SEVERE_SKEW "Tezke zkoseni:"

View File

@ -1,327 +1,327 @@
/**
* German
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " bereit."
#define MSG_SD_INSERTED "SD Karte eingesetzt"
#define MSG_SD_REMOVED "SD Karte entfernt"
#define MSG_MAIN "Hauptmenue"
#define(length=20) MSG_DISABLE_STEPPERS "Motoren aus"
#define MSG_AUTO_HOME "Startposition"
#define MSG_SET_HOME_OFFSETS "Setze Homeversatz"
#define MSG_SET_ORIGIN "Setze Nullpunkt"
#define MSG_COOLDOWN "Abkuehlen"
#define MSG_SWITCH_PS_ON "Netzteil EIN"
#define MSG_SWITCH_PS_OFF "Netzteil AUS"
#define MSG_MOVE_AXIS "Bewege Achse"
#define MSG_MOVE_X "Bewege X"
#define MSG_MOVE_Y "Bewege Y"
#define MSG_MOVE_Z "Bewege Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Geschwindigkeit"
#define MSG_NOZZLE "Duese"
#define MSG_NOZZLE1 "Duese2"
#define MSG_NOZZLE2 "Duese3"
#define MSG_BED "Bett"
#define(length=20) MSG_FAN_SPEED "Luefter-Tempo"
#define MSG_FLOW "Durchfluss"
#define MSG_FLOW0 "Durchfluss 0"
#define MSG_FLOW1 "Durchfluss 1"
#define MSG_FLOW2 "Durchfluss 2"
#define MSG_CONTROL "Einstellungen"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fakt"
#define MSG_TEMPERATURE "Temperatur"
#define MSG_MOTION "Bewegung"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "EPROM speichern"
#define MSG_LOAD_EPROM "EPROM laden"
#define MSG_RESTORE_FAILSAFE "Standardkonfiguration"
#define MSG_REFRESH "Aktualisieren"
#define MSG_WATCH "Information"
#define MSG_TUNE "Feineinstellung"
#define MSG_PAUSE_PRINT "Pause"
#define MSG_RESUME_PRINT "Fortsetzen"
#define MSG_STOP_PRINT "Druck abbrechen"
#define MSG_CARD_MENU "Drucken von SD"
#define MSG_NO_CARD "Keine SD Karte"
#define MSG_DWELL "Warten..."
#define(length=20) MSG_USERWAIT "Warte auf Nutzer..."
#define(length=20) MSG_RESUMING "Druck fortgesetzt"
#define(length=20) MSG_PRINT_ABORTED "Druck abgebrochen"
#define MSG_NO_MOVE "Keine Bewegung."
#define(length=20) MSG_KILLED "ABGEBROCHEN. "
#define MSG_STOPPED "GESTOPPT. "
#define MSG_FILAMENTCHANGE "Filament-Wechsel"
#define MSG_INIT_SDCARD "SD erkennen"
#define MSG_CNG_SDCARD "SD Karte wechsel"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live Z einstellen"
#define(length=20) MSG_ADJUSTZ "Auto Z einstellen?"
#define(length=20) MSG_PICK_Z "Waehle Druck"
#define MSG_SETTINGS "Einstellungen"
#define MSG_PREHEAT "Vorheizen"
#define MSG_UNLOAD_FILAMENT "Filament entnehmen"
#define MSG_LOAD_FILAMENT "Filament laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filament 1 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filament 2 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filament 3 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filament 4 entnehmen"
#define(length=20) MSG_UNLOAD_ALL "Alle entnehmen"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "FEHLER:"
#define(length=20) MSG_PREHEAT_NOZZLE "Duese vorheizen!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Wechsel ok?"
#define MSG_YES "Ja"
#define MSG_NO "Nein"
#define(length=20) MSG_NOT_LOADED "Fil. nicht geladen"
#define(length=20) MSG_NOT_COLOR "Farbe nicht klar."
#define(length=20) MSG_LOADING_FILAMENT "Filament laedt"
#define(length=20) MSG_PLEASE_WAIT "Bitte warten"
#define MSG_LOADING_COLOR "Lade Farbe"
#define(length=20) MSG_CHANGE_SUCCESS "Wechsel erfolgreich!"
#define(length=20) MSG_PRESS "und Knopf druecken"
#define(length=20) MSG_INSERT_FILAMENT "Filament einlegen"
#define(length=20) MSG_CHANGING_FILAMENT "Filament-Wechsel!"
#define MSG_SILENT_MODE_ON "Mode [leise]"
#define MSG_SILENT_MODE_OFF "Mode [Hohe Leist]"
#define(length=20) MSG_REBOOT "Reboot den Drucker"
#define(length=20, lines=2) MSG_TAKE_EFFECT " um wirksam zu werden"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Letzes Updated: "
#define MSG_FREE_MEMORY " Freier Speicher: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "Checksum Fehler, Letzte Zeile: "
#define MSG_ERR_NO_CHECKSUM "Keine Checksum mit Zeilennummer, Letzte Zeile: "
#define MSG_BEGIN_FILE_LIST "Beginn Dateiliste"
#define MSG_END_FILE_LIST "Ende Dateiliste"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define(length=38) MSG_ERR_NO_THERMISTORS "Keine Temp.sensoren - keine Temperatur"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Aufheizen"
#define(length=20) MSG_HEATING_COMPLETE "Aufgeheizen klar."
#define MSG_BED_HEATING "Bett aufheizen"
#define MSG_BED_DONE "Bett OK"
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Drucker gestoppt. kill() aufgerufen!"
#define MSG_ERR_STOPPED "Der Drucker wurde aufgrund von Fehlern gestoppt. Beheben Sie den Fehler und verwenden Sie M999, um neu zu starten. (Temperatur wird reset. Stellen Sie es nach dem Neustart ein)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Endstop status anzeigen"
#define MSG_ENDSTOP_HIT "AUSGELOEST"
#define MSG_ENDSTOP_OPEN "offen"
#define MSG_SD_CANT_OPEN_SUBDIR "Kann Unterverz. nicht oeffnen"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "Datei geoefffnet: "
#define MSG_SD_FILE_SELECTED "Datei ausgewaehlt"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Kein SD Druck"
#define MSG_SD_ERR_WRITE_TO_FILE "Fehler beim Schreiben in Datei"
#define MSG_SD_CANT_ENTER_SUBDIR "Kann nicht ins Unterverz.:"
#define MSG_STEPPER_TOO_HIGH "Steprate too high:"
#define MSG_ENDSTOPS_HIT "endstops hit:"
#define MSG_ERR_COLD_EXTRUDE_STOP " kalte Extrusion verhindert"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Einstellen Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Deutsch"
#define MSG_LANGUAGE_SELECT "Waehle Sprache"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Selbsttest Fehler !"
#define MSG_SELFTEST_PLEASECHECK "Bitte pruefe:"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Nicht angeschlossen"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bett / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Verdrahtungsfehler"
#define MSG_SELFTEST_ENDSTOPS "Endschalter"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endsch. n. erreicht"
#define MSG_SELFTEST_OK "Selbsttest OK"
#define(length=20) MSG_LOOSE_PULLEY "Loser pulley"
#define MSG_SELFTEST_FAN "Lueftertest";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?";
#define MSG_SELFTEST_FAN_YES "Dreht";
#define(length=20) MSG_SELFTEST_FAN_NO "Dreht nicht";
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament Gesamt:"
#define(length=20) MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:"
#define(length=20) MSG_STATS_FILAMENTUSED "Filamentverbrauch:"
#define(length=20) MSG_STATS_PRINTTIME "Druckzeit: "
#define(length=20) MSG_SELFTEST_START "Selbsttest start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter "
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Pruefe Hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Pruefe X Achse "
#define(length=20) MSG_SELFTEST_CHECK_Y "Pruefe Y Achse "
#define(length=20) MSG_SELFTEST_CHECK_Z "Pruefe Z Achse "
#define(length=20) MSG_SELFTEST_CHECK_BED "Pruefe Bett "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "Alles richtig "
#define MSG_SELFTEST "Selbsttest "
#define(length=20) MSG_SELFTEST_FAILED "Selbsttest misluekt"
#define MSG_STATISTICS "Statistiken "
#define MSG_USB_PRINTING "USB drucken "
#define MSG_HOMEYZ "Kalibrieren Z"
#define MSG_HOMEYZ_PROGRESS "Kalibriere Z"
#define MSG_HOMEYZ_DONE "Kalibrierung OK"
#define MSG_SHOW_END_STOPS "Anzeigen Enschalter"
#define MSG_CALIBRATE_BED "Kalibrierung XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn sauber."
#define(length=20, lines=8) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suche Bett Kalibrierpunkt"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Genauigkeit verbessern bei Kalibrierpunkt"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " von 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Messen der Referenzhoehe des Kalibrierpunktes"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " von 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Wiederholung "
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ-Kalibrierung ok. X/Y-Achsen sind etwas schief. Schiefheit wird automatisch korrigiert. Gut gemacht!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ-Kalibrierung ok. X/Y-Achsen sind sehr schief. Schiefheit wird automatisch korrigiert."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker voderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte nicht erreichbar."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bett-Nivellierung fehlgeschlagen. Sensor wurde nicht ausgeloest. Schmutzige Duese? Warte auf Reset."
#define(length=20, lines=5) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bett-Nivellierung fehlgeschlagen. Sensor wurde zu hoch ausgeloest. Warte auf Reset."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bett-Nivellierung fehlgeschlagen. Sensor nicht angeschlossen oder Kabel defekt. Warte auf Reset."
#define(length=20, lines=2) MSG_NEW_FIRMWARE_AVAILABLE "Neue Firmware Version verfuegbar:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Bitte aktualisieren."
#define(length=20, lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel First steps, Abschnitt Calibration flow."
#define(length=20, lines=12) MSG_BABYSTEP_Z_NOT_SET "Der Abstand zwischen der Spitze der Duese und der Druckoberflaeche / Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, Abschnitt First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Filament in extruder 1 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Filament in extruder 2 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Filament in extruder 3 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Filament in extruder 4 einlegen. Klicken wenn fertig."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Wechsel extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Einstellen Filament. Bitte warten."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn sauber."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Kalibriere E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig."
#define(length=20, lines=3) MSG_WAITING_TEMP "Warten auf Abkuehlung von Duese und Bett."
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Ist Farbe rein?"
#define(length=20) MSG_UNLOADING_FILAMENT "Filament auswerfen"
#define(length=20, lines=10) MSG_PAPER "Lege waehrend der Kalibrierung der ersten 4 Punkte ein Blatt Papier unter die Duese. Wenn die Duese das Papier bewegt, Drucker sofort ausschalten!"
#define(length=20) MSG_BED_CORRECTION_MENU "Bett level korrekt"
#define MSG_BED_CORRECTION_LEFT "Links [um]"
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
#define MSG_BED_CORRECTION_FRONT "Vorne [um]"
#define MSG_BED_CORRECTION_REAR "Hinten [um]"
#define MSG_BED_CORRECTION_RESET "Zuruecksetzen"
#define(length=20) MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibrierung"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD Karte [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD Karte [FlshAir]"
#define(length=20) MSG_PRINTER_DISCONNECTED "Drucker getrent"
#define(length=20) MSG_FINISHING_MOVEMENTS "Bewegungen beenden"
#define MSG_PRINT_PAUSED "Druck pausiert"
#define MSG_RESUMING_PRINT "Druck fortsetzen"
#define MSG_PID_EXTRUDER "PID Kalibrierung"
#define MSG_SET_TEMPERATURE "Temp.einstellen"
#define MSG_PID_FINISHED "PID Kal. fertig "
#define MSG_PID_RUNNING "PID Kal. "
#define(length=20, lines=1) MSG_PID_BED "PID Bett Kalibrier. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID Bett Kal. fertig"
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID Bett Kal."
#define MSG_CALIBRATE_PINDA "PINDA Temp. Kal."
#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. Kal."
#define(length=20, lines=3) MSG_PINDA_NOT_CALIBRATED "PINDA Temperatur Kalibrierung wurde noch nicht ausgefuehrt"
#define MSG_PINDA_PREHEAT "PINDA aufwaremen"
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.Kal. "
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "Die PINDA Temperaturkalibrierung ist beendet. Klicke um fortzufahren."
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.Kal. [ON]"
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.Kal.[OFF]"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filam. 4 entladen"
#define(length=20) MSG_UNLOAD_ALL "Alles entladen"
#define(length=20) MSG_PREPARE_FILAMENT "Filam. bereithalten"
#define(length=20) MSG_ALL "Alle"
#define(length=20) MSG_USED "Benutzt beim Druck"
#define(length=20) MSG_CURRENT "Aktuelles"
#define(length=20) MSG_CHOOSE_EXTRUDER "Waehlen Sie Extruder"
#define(length=20) MSG_EXTRUDER "Extruder"
#define(length=20) MSG_EXTRUDER_1 "Extruder 1"
#define(length=20) MSG_EXTRUDER_2 "Extruder 2"
#define(length=20) MSG_EXTRUDER_3 "Extruder 3"
#define(length=20) MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "XYZ Kal. Details"
#define MSG_Y_DISTANCE_FROM_MIN "Y Entfernung von min"
#define MSG_LEFT "Links:"
#define MSG_CENTER "Mitte:"
#define MSG_RIGHT "Rechts:"
#define MSG_MEASURED_SKEW "Symmetrie:"
#define MSG_SLIGHT_SKEW "Geringe Asym.:"
/**
* German
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " bereit."
#define MSG_SD_INSERTED "SD Karte eingesetzt"
#define MSG_SD_REMOVED "SD Karte entfernt"
#define MSG_MAIN "Hauptmenue"
#define(length=20) MSG_DISABLE_STEPPERS "Motoren aus"
#define MSG_AUTO_HOME "Startposition"
#define MSG_SET_HOME_OFFSETS "Setze Homeversatz"
#define MSG_SET_ORIGIN "Setze Nullpunkt"
#define MSG_COOLDOWN "Abkuehlen"
#define MSG_SWITCH_PS_ON "Netzteil EIN"
#define MSG_SWITCH_PS_OFF "Netzteil AUS"
#define MSG_MOVE_AXIS "Bewege Achse"
#define MSG_MOVE_X "Bewege X"
#define MSG_MOVE_Y "Bewege Y"
#define MSG_MOVE_Z "Bewege Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Geschwindigkeit"
#define MSG_NOZZLE "Duese"
#define MSG_NOZZLE1 "Duese2"
#define MSG_NOZZLE2 "Duese3"
#define MSG_BED "Bett"
#define(length=20) MSG_FAN_SPEED "Luefter-Tempo"
#define MSG_FLOW "Durchfluss"
#define MSG_FLOW0 "Durchfluss 0"
#define MSG_FLOW1 "Durchfluss 1"
#define MSG_FLOW2 "Durchfluss 2"
#define MSG_CONTROL "Einstellungen"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fakt"
#define MSG_TEMPERATURE "Temperatur"
#define MSG_MOTION "Bewegung"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "EPROM speichern"
#define MSG_LOAD_EPROM "EPROM laden"
#define MSG_RESTORE_FAILSAFE "Standardkonfiguration"
#define MSG_REFRESH "Aktualisieren"
#define MSG_WATCH "Information"
#define MSG_TUNE "Feineinstellung"
#define MSG_PAUSE_PRINT "Pause"
#define MSG_RESUME_PRINT "Fortsetzen"
#define MSG_STOP_PRINT "Druck abbrechen"
#define MSG_CARD_MENU "Drucken von SD"
#define MSG_NO_CARD "Keine SD Karte"
#define MSG_DWELL "Warten..."
#define(length=20) MSG_USERWAIT "Warte auf Nutzer..."
#define(length=20) MSG_RESUMING "Druck fortgesetzt"
#define(length=20) MSG_PRINT_ABORTED "Druck abgebrochen"
#define MSG_NO_MOVE "Keine Bewegung."
#define(length=20) MSG_KILLED "ABGEBROCHEN. "
#define MSG_STOPPED "GESTOPPT. "
#define MSG_FILAMENTCHANGE "Filament-Wechsel"
#define MSG_INIT_SDCARD "SD erkennen"
#define MSG_CNG_SDCARD "SD Karte wechsel"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live Z einstellen"
#define(length=20) MSG_ADJUSTZ "Auto Z einstellen?"
#define(length=20) MSG_PICK_Z "Waehle Druck"
#define MSG_SETTINGS "Einstellungen"
#define MSG_PREHEAT "Vorheizen"
#define MSG_UNLOAD_FILAMENT "Filament entnehmen"
#define MSG_LOAD_FILAMENT "Filament laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filament 1 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filament 2 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filament 3 entnehmen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filament 4 entnehmen"
#define(length=20) MSG_UNLOAD_ALL "Alle entnehmen"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "FEHLER:"
#define(length=20) MSG_PREHEAT_NOZZLE "Duese vorheizen!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Wechsel ok?"
#define MSG_YES "Ja"
#define MSG_NO "Nein"
#define(length=20) MSG_NOT_LOADED "Fil. nicht geladen"
#define(length=20) MSG_NOT_COLOR "Farbe nicht klar."
#define(length=20) MSG_LOADING_FILAMENT "Filament laedt"
#define(length=20) MSG_PLEASE_WAIT "Bitte warten"
#define MSG_LOADING_COLOR "Lade Farbe"
#define(length=20) MSG_CHANGE_SUCCESS "Wechsel erfolgreich!"
#define(length=20) MSG_PRESS "und Knopf druecken"
#define(length=20) MSG_INSERT_FILAMENT "Filament einlegen"
#define(length=20) MSG_CHANGING_FILAMENT "Filament-Wechsel!"
#define MSG_SILENT_MODE_ON "Mode [leise]"
#define MSG_SILENT_MODE_OFF "Mode [Hohe Leist]"
#define(length=20) MSG_REBOOT "Reboot den Drucker"
#define(length=20, lines=2) MSG_TAKE_EFFECT " um wirksam zu werden"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Letzes Updated: "
#define MSG_FREE_MEMORY " Freier Speicher: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "Checksum Fehler, Letzte Zeile: "
#define MSG_ERR_NO_CHECKSUM "Keine Checksum mit Zeilennummer, Letzte Zeile: "
#define MSG_BEGIN_FILE_LIST "Beginn Dateiliste"
#define MSG_END_FILE_LIST "Ende Dateiliste"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define(length=38) MSG_ERR_NO_THERMISTORS "Keine Temp.sensoren - keine Temperatur"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Aufheizen"
#define(length=20) MSG_HEATING_COMPLETE "Aufgeheizen klar."
#define MSG_BED_HEATING "Bett aufheizen"
#define MSG_BED_DONE "Bett OK"
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Drucker gestoppt. kill() aufgerufen!"
#define MSG_ERR_STOPPED "Der Drucker wurde aufgrund von Fehlern gestoppt. Beheben Sie den Fehler und verwenden Sie M999, um neu zu starten. (Temperatur wird reset. Stellen Sie es nach dem Neustart ein)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Endstop status anzeigen"
#define MSG_ENDSTOP_HIT "AUSGELOEST"
#define MSG_ENDSTOP_OPEN "offen"
#define MSG_SD_CANT_OPEN_SUBDIR "Kann Unterverz. nicht oeffnen"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "Datei geoefffnet: "
#define MSG_SD_FILE_SELECTED "Datei ausgewaehlt"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Kein SD Druck"
#define MSG_SD_ERR_WRITE_TO_FILE "Fehler beim Schreiben in Datei"
#define MSG_SD_CANT_ENTER_SUBDIR "Kann nicht ins Unterverz.:"
#define MSG_STEPPER_TOO_HIGH "Steprate too high:"
#define MSG_ENDSTOPS_HIT "endstops hit:"
#define MSG_ERR_COLD_EXTRUDE_STOP " kalte Extrusion verhindert"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Einstellen Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Deutsch"
#define MSG_LANGUAGE_SELECT "Waehle Sprache"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Selbsttest Fehler !"
#define MSG_SELFTEST_PLEASECHECK "Bitte pruefe:"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Nicht angeschlossen"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bett / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Verdrahtungsfehler"
#define MSG_SELFTEST_ENDSTOPS "Endschalter"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endsch. n. erreicht"
#define MSG_SELFTEST_OK "Selbsttest OK"
#define(length=20) MSG_LOOSE_PULLEY "Loser pulley"
#define MSG_SELFTEST_FAN "Lueftertest";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?";
#define MSG_SELFTEST_FAN_YES "Dreht";
#define(length=20) MSG_SELFTEST_FAN_NO "Dreht nicht";
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament Gesamt:"
#define(length=20) MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:"
#define(length=20) MSG_STATS_FILAMENTUSED "Filamentverbrauch:"
#define(length=20) MSG_STATS_PRINTTIME "Druckzeit: "
#define(length=20) MSG_SELFTEST_START "Selbsttest start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter "
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Pruefe Hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Pruefe X Achse "
#define(length=20) MSG_SELFTEST_CHECK_Y "Pruefe Y Achse "
#define(length=20) MSG_SELFTEST_CHECK_Z "Pruefe Z Achse "
#define(length=20) MSG_SELFTEST_CHECK_BED "Pruefe Bett "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "Alles richtig "
#define MSG_SELFTEST "Selbsttest "
#define(length=20) MSG_SELFTEST_FAILED "Selbsttest misluekt"
#define MSG_STATISTICS "Statistiken "
#define MSG_USB_PRINTING "USB drucken "
#define MSG_HOMEYZ "Kalibrieren Z"
#define MSG_HOMEYZ_PROGRESS "Kalibriere Z"
#define MSG_HOMEYZ_DONE "Kalibrierung OK"
#define MSG_SHOW_END_STOPS "Anzeigen Enschalter"
#define MSG_CALIBRATE_BED "Kalibrierung XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn sauber."
#define(length=20, lines=8) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suche Bett Kalibrierpunkt"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Genauigkeit verbessern bei Kalibrierpunkt"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " von 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Messen der Referenzhoehe des Kalibrierpunktes"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " von 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Wiederholung "
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ-Kalibrierung ok. X/Y-Achsen sind etwas schief. Schiefheit wird automatisch korrigiert. Gut gemacht!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ-Kalibrierung ok. X/Y-Achsen sind sehr schief. Schiefheit wird automatisch korrigiert."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker voderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt nicht erreichbar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte nicht erreichbar."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bett-Nivellierung fehlgeschlagen. Sensor wurde nicht ausgeloest. Schmutzige Duese? Warte auf Reset."
#define(length=20, lines=5) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bett-Nivellierung fehlgeschlagen. Sensor wurde zu hoch ausgeloest. Warte auf Reset."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bett-Nivellierung fehlgeschlagen. Sensor nicht angeschlossen oder Kabel defekt. Warte auf Reset."
#define(length=20, lines=2) MSG_NEW_FIRMWARE_AVAILABLE "Neue Firmware Version verfuegbar:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Bitte aktualisieren."
#define(length=20, lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel First steps, Abschnitt Calibration flow."
#define(length=20, lines=12) MSG_BABYSTEP_Z_NOT_SET "Der Abstand zwischen der Spitze der Duese und der Druckoberflaeche / Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, Abschnitt First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Filament in extruder 1 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Filament in extruder 2 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Filament in extruder 3 einlegen. Klicken wenn fertig."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Filament in extruder 4 einlegen. Klicken wenn fertig."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Wechsel extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Einstellen Filament. Bitte warten."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn sauber."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Kalibriere E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig."
#define(length=20, lines=3) MSG_WAITING_TEMP "Warten auf Abkuehlung von Duese und Bett."
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Ist Farbe rein?"
#define(length=20) MSG_UNLOADING_FILAMENT "Filament auswerfen"
#define(length=20, lines=10) MSG_PAPER "Lege waehrend der Kalibrierung der ersten 4 Punkte ein Blatt Papier unter die Duese. Wenn die Duese das Papier bewegt, Drucker sofort ausschalten!"
#define(length=20) MSG_BED_CORRECTION_MENU "Bett level korrekt"
#define MSG_BED_CORRECTION_LEFT "Links [um]"
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
#define MSG_BED_CORRECTION_FRONT "Vorne [um]"
#define MSG_BED_CORRECTION_REAR "Hinten [um]"
#define MSG_BED_CORRECTION_RESET "Zuruecksetzen"
#define(length=20) MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibrierung"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD Karte [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD Karte [FlshAir]"
#define(length=20) MSG_PRINTER_DISCONNECTED "Drucker getrent"
#define(length=20) MSG_FINISHING_MOVEMENTS "Bewegungen beenden"
#define MSG_PRINT_PAUSED "Druck pausiert"
#define MSG_RESUMING_PRINT "Druck fortsetzen"
#define MSG_PID_EXTRUDER "PID Kalibrierung"
#define MSG_SET_TEMPERATURE "Temp.einstellen"
#define MSG_PID_FINISHED "PID Kal. fertig "
#define MSG_PID_RUNNING "PID Kal. "
#define(length=20, lines=1) MSG_PID_BED "PID Bett Kalibrier. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID Bett Kal. fertig"
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID Bett Kal."
#define MSG_CALIBRATE_PINDA "PINDA Temp. Kal."
#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. Kal."
#define(length=20, lines=3) MSG_PINDA_NOT_CALIBRATED "PINDA Temperatur Kalibrierung wurde noch nicht ausgefuehrt"
#define MSG_PINDA_PREHEAT "PINDA aufwaremen"
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.Kal. "
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "Die PINDA Temperaturkalibrierung ist beendet. Klicke um fortzufahren."
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.Kal. [ON]"
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.Kal.[OFF]"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filam. 4 entladen"
#define(length=20) MSG_UNLOAD_ALL "Alles entladen"
#define(length=20) MSG_PREPARE_FILAMENT "Filam. bereithalten"
#define(length=20) MSG_ALL "Alle"
#define(length=20) MSG_USED "Benutzt beim Druck"
#define(length=20) MSG_CURRENT "Aktuelles"
#define(length=20) MSG_CHOOSE_EXTRUDER "Waehlen Sie Extruder"
#define(length=20) MSG_EXTRUDER "Extruder"
#define(length=20) MSG_EXTRUDER_1 "Extruder 1"
#define(length=20) MSG_EXTRUDER_2 "Extruder 2"
#define(length=20) MSG_EXTRUDER_3 "Extruder 3"
#define(length=20) MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "XYZ Kal. Details"
#define MSG_Y_DISTANCE_FROM_MIN "Y Entfernung von min"
#define MSG_LEFT "Links:"
#define MSG_CENTER "Mitte:"
#define MSG_RIGHT "Rechts:"
#define MSG_MEASURED_SKEW "Symmetrie:"
#define MSG_SLIGHT_SKEW "Geringe Asym.:"
#define MSG_SEVERE_SKEW "Schwere Asym.:"

View File

@ -1,322 +1,316 @@
/**
* English
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " ready."
#define(length=20) MSG_SD_INSERTED "Card inserted"
#define MSG_SD_REMOVED "Card removed"
#define MSG_MAIN "Main"
#define(length=20) MSG_DISABLE_STEPPERS "Disable steppers"
#define MSG_AUTO_HOME "Auto home"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin"
#define MSG_COOLDOWN "Cooldown"
#define MSG_SWITCH_PS_ON "Switch power on"
#define MSG_SWITCH_PS_OFF "Switch power off"
#define MSG_MOVE_AXIS "Move axis"
#define MSG_MOVE_X "Move X"
#define MSG_MOVE_Y "Move Y"
#define MSG_MOVE_Z "Move Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Speed"
#define MSG_NOZZLE "Nozzle"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_BED "Bed"
#define(length=20) MSG_FAN_SPEED "Fan speed"
#define MSG_FLOW "Flow"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Temperature"
#define MSG_MOTION "Motion"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Load memory"
#define MSG_RESTORE_FAILSAFE "Restore failsafe"
#define MSG_REFRESH "\xF8" "Refresh"
#define MSG_WATCH "Info screen"
#define MSG_TUNE "Tune"
#define MSG_PAUSE_PRINT "Pause print"
#define MSG_RESUME_PRINT "Resume print"
#define MSG_STOP_PRINT "Stop print"
#define MSG_CARD_MENU "Print from SD"
#define MSG_NO_CARD "No SD card"
#define MSG_DWELL "Sleep..."
#define(length=20) MSG_USERWAIT "Wait for user..."
#define(length=20) MSG_RESUMING "Resuming print"
#define(length=20) MSG_PRINT_ABORTED "Print aborted"
#define MSG_NO_MOVE "No move."
#define(length=20) MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD card"
#define MSG_CNG_SDCARD "Change SD card"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live adjust Z"
#define(length=20) MSG_ADJUSTZ "Auto adjust Z?"
#define(length=20) MSG_PICK_Z "Pick print"
#define MSG_SETTINGS "Settings"
#define MSG_PREHEAT "Preheat"
#define(length=20) MSG_UNLOAD_FILAMENT "Unload filament"
#define(length=20) MSG_LOAD_FILAMENT "Load filament"
#define(length=20) MSG_LOAD_FILAMENT_1 "Load filament 1"
#define(length=20) MSG_LOAD_FILAMENT_2 "Load filament 2"
#define(length=20) MSG_LOAD_FILAMENT_3 "Load filament 3"
#define(length=20) MSG_LOAD_FILAMENT_4 "Load filament 4"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Unload filament 1"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Unload filament 2"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Unload filament 3"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Unload filament 4"
#define(length=20) MSG_UNLOAD_ALL "Unload all"
#define(length=20) MSG_LOAD_ALL "Load all"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "ERROR:"
#define(length=20) MSG_PREHEAT_NOZZLE "Preheat the nozzle!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Changed correctly?"
#define MSG_YES "Yes"
#define MSG_NO "No"
#define(length=19) MSG_NOT_LOADED "Filament not loaded"
#define(length=20) MSG_NOT_COLOR "Color not clear"
#define(length=20) MSG_LOADING_FILAMENT "Loading filament"
#define(length=20) MSG_PLEASE_WAIT "Please wait"
#define MSG_LOADING_COLOR "Loading color"
#define(length=20) MSG_CHANGE_SUCCESS "Change success!"
#define(length=20) MSG_PRESS "and press the knob"
#define(length=20) MSG_INSERT_FILAMENT "Insert filament"
#define(length=20) MSG_CHANGING_FILAMENT "Changing filament!"
#define MSG_SILENT_MODE_ON "Mode [silent]"
#define MSG_SILENT_MODE_OFF "Mode [high power]"
#define(length=20) MSG_REBOOT "Reboot the printer"
#define(length=20, lines=2) MSG_TAKE_EFFECT " for take effect"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Heating"
#define(length=20) MSG_HEATING_COMPLETE "Heating done."
#define MSG_BED_HEATING "Bed Heating"
#define MSG_BED_DONE "Bed done"
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Adjusting Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "English"
#define MSG_LANGUAGE_SELECT "Select language"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Please check :"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Not connected"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Wiring error"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_LOOSE_PULLEY "Loose pulley"
#define(length=20) MSG_SELFTEST_FAN "Fan test";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Front print fan?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Left hotend fan?";
#define MSG_SELFTEST_FAN_YES "Spinning";
#define(length=20) MSG_SELFTEST_FAN_NO "Not spinning";
#define(length=20) MSG_STATS_TOTALFILAMENT "Total filament :"
#define(length=20) MSG_STATS_TOTALPRINTTIME "Total print time :"
#define(length=20) MSG_STATS_FILAMENTUSED "Filament used: "
#define(length=20) MSG_STATS_PRINTTIME "Print time: "
#define(length=20) MSG_SELFTEST_START "Self test start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Checking endstops"
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Checking hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Checking X axis "
#define(length=20) MSG_SELFTEST_CHECK_Y "Checking Y axis "
#define(length=20) MSG_SELFTEST_CHECK_Z "Checking Z axis "
#define(length=20) MSG_SELFTEST_CHECK_BED "Checking bed "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "All correct "
#define MSG_SELFTEST "Selftest "
#define(length=20) MSG_SELFTEST_FAILED "Selftest failed "
#define MSG_STATISTICS "Statistics "
#define MSG_USB_PRINTING "USB printing "
#define MSG_HOMEYZ "Calibrate Z"
#define MSG_HOMEYZ_PROGRESS "Calibrating Z"
#define MSG_HOMEYZ_DONE "Calibration done"
#define(length=20) MSG_SHOW_END_STOPS "Show end stops"
#define MSG_CALIBRATE_BED "Calibrate XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Please clean the nozzle for calibration. Click when done."
#define(length=20,lines=2) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Are left and right Z~carriages all up?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Searching bed calibration point"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " of 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Improving bed calibration point"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " of 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Measuring reference height of calibration point"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " of 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteration "
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ calibration failed. Bed calibration point was not found."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ calibration failed. Please consult the manual."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ calibration all right. X/Y axes are slightly skewed. Good job!"
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ calibration all right. Skew will be corrected automatically."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ calibration failed. Left front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ calibration failed. Right front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ calibration failed. Front calibration points not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ calibration compromised. Left front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ calibration compromised. Right front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ calibration compromised. Front calibration points not reachable."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed leveling failed. Sensor triggered too high. Waiting for reset."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
#define(length=20,lines=2) MSG_NEW_FIRMWARE_AVAILABLE "New firmware version available:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Please upgrade."
#define(length=20,lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
#define(length=20,lines=12) MSG_BABYSTEP_Z_NOT_SET "Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Insert filament into extruder 1. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Insert filament into extruder 2. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Insert filament into extruder 3. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Insert filament into extruder 4. Click when done."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Change extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Adjusting filaments. Please wait."
#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Calibrate E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Rotate knob until mark reaches extruder body. Click when done."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Mark filament 100mm from extruder body. Click when done."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E calibration finished. Please clean the nozzle. Click when done."
#define(length=20, lines=3) MSG_WAITING_TEMP "Waiting for nozzle and bed cooling"
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Is color clear?"
#define(length=20, lines=1) MSG_UNLOADING_FILAMENT "Unloading filament"
#define(length=20, lines=10) MSG_PAPER "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."
#define(length=20) MSG_BED_CORRECTION_MENU "Bed level correct"
#define(length=20) MSG_BED_CORRECTION_LEFT "Left side [um]"
#define(length=20) MSG_BED_CORRECTION_RIGHT "Right side[um]"
#define(length=20) MSG_BED_CORRECTION_FRONT "Front side[um]"
#define(length=20) MSG_BED_CORRECTION_REAR "Rear side [um]"
#define(length=20) MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibration"
<<<<<<< HEAD
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define(length=20) MSG_PRINTER_DISCONNECTED "Printer disconnected"
=======
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define(length=20, lines=1) MSG_PRINTER_DISCONNECTED "Printer disconnected"
>>>>>>> refs/remotes/prusa3d/MK2
#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements"
#define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused"
#define(length=20, lines=1) MSG_RESUMING_PRINT "Resuming print"
#define(length=20, lines=1) MSG_PID_EXTRUDER "PID calibration"
#define(length=20, lines=1) MSG_SET_TEMPERATURE "Set temperature:"
#define(length=20, lines=1) MSG_PID_FINISHED "PID cal. finished "
#define(length=20, lines=1) MSG_PID_RUNNING "PID cal. "
#define(length=20, lines=1) MSG_PID_BED "PID bed cal. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID bed cal. done "
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID bed cal. "
#define(length=20, lines=1) MSG_CALIBRATE_PINDA "PINDA Temp. cal."
#define(length=20, lines=1) MSG_CALIBRATION_PINDA_MENU "PINDA Temp. cal."
#define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "PINDA temperature calibration has not been run yet"
#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION "PINDA Temp.cal. "
#define(length=20, lines=5) MSG_TEMP_CALIBRATION_DONE "PINDA temperature calibration is finished. Click to continue."
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "PINDA T.cal. [ON]"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "PINDA T.cal.[OFF]"
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament"
#define(length=19, lines=1) MSG_ALL "All"
#define(length=19, lines=1) MSG_USED "Used during print"
#define(length=19, lines=1) MSG_CURRENT "Current"
#define(length=20, lines=1) MSG_CHOOSE_EXTRUDER "Choose extruder:"
#define(length=17, lines=1) MSG_EXTRUDER "Extruder"
#define(length=17, lines=1) MSG_EXTRUDER_1 "Extruder 1"
#define(length=17, lines=1) MSG_EXTRUDER_2 "Extruder 2"
#define(length=17, lines=1) MSG_EXTRUDER_3 "Extruder 3"
#define(length=17, lines=1) MSG_EXTRUDER_4 "Extruder 4"
#define(length=17, lines=1) MSG_DATE "Date:"
#define(length=19, lines=1) MSG_XYZ_DETAILS "XYZ cal. details"
#define(length=20, lines=1) MSG_Y_DISTANCE_FROM_MIN "Y distance from min:"
#define(length=12, lines=1) MSG_LEFT "Left:"
#define(length=12, lines=1) MSG_CENTER "Center:"
#define(length=12, lines=1) MSG_RIGHT "Right:"
#define(length=15, lines=1) MSG_MEASURED_SKEW "Measured skew:"
#define(length=15, lines=1) MSG_SLIGHT_SKEW "Slight skew:"
#define(length=15, lines=1) MSG_SEVERE_SKEW "Severe skew:"
/**
* English
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " ready."
#define(length=20) MSG_SD_INSERTED "Card inserted"
#define MSG_SD_REMOVED "Card removed"
#define MSG_MAIN "Main"
#define(length=20) MSG_DISABLE_STEPPERS "Disable steppers"
#define MSG_AUTO_HOME "Auto home"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin"
#define MSG_COOLDOWN "Cooldown"
#define MSG_SWITCH_PS_ON "Switch power on"
#define MSG_SWITCH_PS_OFF "Switch power off"
#define MSG_MOVE_AXIS "Move axis"
#define MSG_MOVE_X "Move X"
#define MSG_MOVE_Y "Move Y"
#define MSG_MOVE_Z "Move Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Speed"
#define MSG_NOZZLE "Nozzle"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_BED "Bed"
#define(length=20) MSG_FAN_SPEED "Fan speed"
#define MSG_FLOW "Flow"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Temperature"
#define MSG_MOTION "Motion"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Load memory"
#define MSG_RESTORE_FAILSAFE "Restore failsafe"
#define MSG_REFRESH "\xF8" "Refresh"
#define MSG_WATCH "Info screen"
#define MSG_TUNE "Tune"
#define MSG_PAUSE_PRINT "Pause print"
#define MSG_RESUME_PRINT "Resume print"
#define MSG_STOP_PRINT "Stop print"
#define MSG_CARD_MENU "Print from SD"
#define MSG_NO_CARD "No SD card"
#define MSG_DWELL "Sleep..."
#define(length=20) MSG_USERWAIT "Wait for user..."
#define(length=20) MSG_RESUMING "Resuming print"
#define(length=20) MSG_PRINT_ABORTED "Print aborted"
#define MSG_NO_MOVE "No move."
#define(length=20) MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD card"
#define MSG_CNG_SDCARD "Change SD card"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live adjust Z"
#define(length=20) MSG_ADJUSTZ "Auto adjust Z?"
#define(length=20) MSG_PICK_Z "Pick print"
#define MSG_SETTINGS "Settings"
#define MSG_PREHEAT "Preheat"
#define(length=20) MSG_UNLOAD_FILAMENT "Unload filament"
#define(length=20) MSG_LOAD_FILAMENT "Load filament"
#define(length=20) MSG_LOAD_FILAMENT_1 "Load filament 1"
#define(length=20) MSG_LOAD_FILAMENT_2 "Load filament 2"
#define(length=20) MSG_LOAD_FILAMENT_3 "Load filament 3"
#define(length=20) MSG_LOAD_FILAMENT_4 "Load filament 4"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Unload filament 1"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Unload filament 2"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Unload filament 3"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Unload filament 4"
#define(length=20) MSG_UNLOAD_ALL "Unload all"
#define(length=20) MSG_LOAD_ALL "Load all"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "ERROR:"
#define(length=20) MSG_PREHEAT_NOZZLE "Preheat the nozzle!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Changed correctly?"
#define MSG_YES "Yes"
#define MSG_NO "No"
#define(length=19) MSG_NOT_LOADED "Filament not loaded"
#define(length=20) MSG_NOT_COLOR "Color not clear"
#define(length=20) MSG_LOADING_FILAMENT "Loading filament"
#define(length=20) MSG_PLEASE_WAIT "Please wait"
#define MSG_LOADING_COLOR "Loading color"
#define(length=20) MSG_CHANGE_SUCCESS "Change success!"
#define(length=20) MSG_PRESS "and press the knob"
#define(length=20) MSG_INSERT_FILAMENT "Insert filament"
#define(length=20) MSG_CHANGING_FILAMENT "Changing filament!"
#define MSG_SILENT_MODE_ON "Mode [silent]"
#define MSG_SILENT_MODE_OFF "Mode [high power]"
#define(length=20) MSG_REBOOT "Reboot the printer"
#define(length=20, lines=2) MSG_TAKE_EFFECT " for take effect"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Heating"
#define(length=20) MSG_HEATING_COMPLETE "Heating done."
#define MSG_BED_HEATING "Bed Heating"
#define MSG_BED_DONE "Bed done"
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Adjusting Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "English"
#define MSG_LANGUAGE_SELECT "Select language"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Please check :"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Not connected"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Wiring error"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_LOOSE_PULLEY "Loose pulley"
#define(length=20) MSG_SELFTEST_FAN "Fan test";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Front print fan?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Left hotend fan?";
#define MSG_SELFTEST_FAN_YES "Spinning";
#define(length=20) MSG_SELFTEST_FAN_NO "Not spinning";
#define(length=20) MSG_STATS_TOTALFILAMENT "Total filament :"
#define(length=20) MSG_STATS_TOTALPRINTTIME "Total print time :"
#define(length=20) MSG_STATS_FILAMENTUSED "Filament used: "
#define(length=20) MSG_STATS_PRINTTIME "Print time: "
#define(length=20) MSG_SELFTEST_START "Self test start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Checking endstops"
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Checking hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Checking X axis "
#define(length=20) MSG_SELFTEST_CHECK_Y "Checking Y axis "
#define(length=20) MSG_SELFTEST_CHECK_Z "Checking Z axis "
#define(length=20) MSG_SELFTEST_CHECK_BED "Checking bed "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "All correct "
#define MSG_SELFTEST "Selftest "
#define(length=20) MSG_SELFTEST_FAILED "Selftest failed "
#define MSG_STATISTICS "Statistics "
#define MSG_USB_PRINTING "USB printing "
#define MSG_HOMEYZ "Calibrate Z"
#define MSG_HOMEYZ_PROGRESS "Calibrating Z"
#define MSG_HOMEYZ_DONE "Calibration done"
#define(length=20) MSG_SHOW_END_STOPS "Show end stops"
#define MSG_CALIBRATE_BED "Calibrate XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Please clean the nozzle for calibration. Click when done."
#define(length=20,lines=2) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Are left and right Z~carriages all up?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Searching bed calibration point"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " of 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Improving bed calibration point"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " of 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Measuring reference height of calibration point"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " of 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteration "
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ calibration failed. Bed calibration point was not found."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ calibration failed. Please consult the manual."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ calibration all right. X/Y axes are slightly skewed. Good job!"
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ calibration all right. Skew will be corrected automatically."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ calibration failed. Left front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ calibration failed. Right front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ calibration failed. Front calibration points not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ calibration compromised. Left front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ calibration compromised. Right front calibration point not reachable."
#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ calibration compromised. Front calibration points not reachable."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed leveling failed. Sensor triggered too high. Waiting for reset."
#define(length=20,lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
#define(length=20,lines=2) MSG_NEW_FIRMWARE_AVAILABLE "New firmware version available:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Please upgrade."
#define(length=20,lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
#define(length=20,lines=12) MSG_BABYSTEP_Z_NOT_SET "Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Insert filament into extruder 1. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Insert filament into extruder 2. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Insert filament into extruder 3. Click when done."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Insert filament into extruder 4. Click when done."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Change extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Adjusting filaments. Please wait."
#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Calibrate E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Rotate knob until mark reaches extruder body. Click when done."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Mark filament 100mm from extruder body. Click when done."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E calibration finished. Please clean the nozzle. Click when done."
#define(length=20, lines=3) MSG_WAITING_TEMP "Waiting for nozzle and bed cooling"
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Is color clear?"
#define(length=20, lines=1) MSG_UNLOADING_FILAMENT "Unloading filament"
#define(length=20, lines=10) MSG_PAPER "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."
#define(length=20) MSG_BED_CORRECTION_MENU "Bed level correct"
#define(length=20) MSG_BED_CORRECTION_LEFT "Left side [um]"
#define(length=20) MSG_BED_CORRECTION_RIGHT "Right side[um]"
#define(length=20) MSG_BED_CORRECTION_FRONT "Front side[um]"
#define(length=20) MSG_BED_CORRECTION_REAR "Rear side [um]"
#define(length=20) MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibration"
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define(length=20) MSG_PRINTER_DISCONNECTED "Printer disconnected"
#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements"
#define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused"
#define(length=20, lines=1) MSG_RESUMING_PRINT "Resuming print"
#define(length=20, lines=1) MSG_PID_EXTRUDER "PID calibration"
#define(length=20, lines=1) MSG_SET_TEMPERATURE "Set temperature:"
#define(length=20, lines=1) MSG_PID_FINISHED "PID cal. finished "
#define(length=20, lines=1) MSG_PID_RUNNING "PID cal. "
#define(length=20, lines=1) MSG_PID_BED "PID bed cal. "
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID bed cal. done "
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID bed cal. "
#define(length=20, lines=1) MSG_CALIBRATE_PINDA "PINDA Temp. cal."
#define(length=20, lines=1) MSG_CALIBRATION_PINDA_MENU "PINDA Temp. cal."
#define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED "PINDA temperature calibration has not been run yet"
#define(length=20, lines=1) MSG_PINDA_PREHEAT "PINDA Heating"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION "PINDA Temp.cal. "
#define(length=20, lines=5) MSG_TEMP_CALIBRATION_DONE "PINDA temperature calibration is finished. Click to continue."
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "PINDA T.cal. [ON]"
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "PINDA T.cal.[OFF]"
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament"
#define(length=19, lines=1) MSG_ALL "All"
#define(length=19, lines=1) MSG_USED "Used during print"
#define(length=19, lines=1) MSG_CURRENT "Current"
#define(length=20, lines=1) MSG_CHOOSE_EXTRUDER "Choose extruder:"
#define(length=17, lines=1) MSG_EXTRUDER "Extruder"
#define(length=17, lines=1) MSG_EXTRUDER_1 "Extruder 1"
#define(length=17, lines=1) MSG_EXTRUDER_2 "Extruder 2"
#define(length=17, lines=1) MSG_EXTRUDER_3 "Extruder 3"
#define(length=17, lines=1) MSG_EXTRUDER_4 "Extruder 4"
#define(length=17, lines=1) MSG_DATE "Date:"
#define(length=19, lines=1) MSG_XYZ_DETAILS "XYZ cal. details"
#define(length=20, lines=1) MSG_Y_DISTANCE_FROM_MIN "Y distance from min:"
#define(length=12, lines=1) MSG_LEFT "Left:"
#define(length=12, lines=1) MSG_CENTER "Center:"
#define(length=12, lines=1) MSG_RIGHT "Right:"
#define(length=15, lines=1) MSG_MEASURED_SKEW "Measured skew:"
#define(length=15, lines=1) MSG_SLIGHT_SKEW "Slight skew:"
#define(length=15, lines=1) MSG_SEVERE_SKEW "Severe skew:"

View File

@ -1,307 +1,307 @@
/**
* Spanish
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " prep."
#define MSG_SD_INSERTED "Tarjeta insertada"
#define MSG_SD_REMOVED "Tarjeta retirada"
#define MSG_MAIN "Menu principal"
#define MSG_DISABLE_STEPPERS "Apagar motores"
#define MSG_AUTO_HOME "Llevar al origen"
#define MSG_COOLDOWN "Enfriar"
#define MSG_MOVE_AXIS "Mover ejes"
#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_SPEED "Velocidad"
#define MSG_NOZZLE "Boquilla"
#define MSG_BED "Base"
#define MSG_FAN_SPEED "Velocidad Vent."
#define MSG_FLOW "Flujo"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_WATCH "Monitorizar"
#define MSG_TUNE "Ajustar"
#define MSG_PAUSE_PRINT "Pausar impresion"
#define MSG_RESUME_PRINT "Reanudar impres."
#define MSG_STOP_PRINT "Detener impresion"
#define MSG_CARD_MENU "Menu tarjeta SD"
#define MSG_NO_CARD "No hay tarjeta SD"
#define MSG_DWELL "En espera"
#define MSG_USERWAIT "Esperando ordenes"
#define MSG_RESUMING "Resumiendo impresion"
#define MSG_PRINT_ABORTED "Impresion cancelada"
#define MSG_NO_MOVE "Sin movimiento"
#define MSG_KILLED "PARADA DE EMERGENCIA"
#define MSG_STOPPED "PARADA"
#define MSG_FILAMENTCHANGE "Cambiar filamento"
#define MSG_BABYSTEP_Z "Micropaso Eje Z"
#define MSG_ADJUSTZ "Ajustar Eje Z"
#define MSG_PICK_Z "Esc. Modelo Adecuado"
#define MSG_SETTINGS "Configuracion"
#define MSG_PREHEAT "Precalentar"
#define MSG_UNLOAD_FILAMENT "Soltar filamento"
#define MSG_LOAD_FILAMENT "Introducir filam."
#define MSG_ERROR "ERROR:"
#define MSG_PREHEAT_NOZZLE "Precalentar extrusor"
#define MSG_SUPPORT "Soporte"
#define MSG_CORRECTLY "Cambiado correct.?"
#define MSG_YES "Si"
#define MSG_NO "No"
#define MSG_NOT_LOADED "Fil. no introducido"
#define MSG_NOT_COLOR "Color no homogeneo"
#define MSG_LOADING_FILAMENT "Introduciendo filam."
#define MSG_PLEASE_WAIT "Por Favor Esperar"
#define MSG_LOADING_COLOR "Cambiando color"
#define MSG_CHANGE_SUCCESS "Cambio correcto"
#define MSG_PRESS "Pulsar el mando"
#define MSG_INSERT_FILAMENT "Introducir filamento"
#define MSG_CHANGING_FILAMENT "Cambiando filamento"
#define MSG_SILENT_MODE_ON "Modo [silencio]"
#define MSG_SILENT_MODE_OFF "Modo [rend.pleno]"
#define MSG_REBOOT "Reiniciar impresora"
#define MSG_TAKE_EFFECT " para aplicar cambios"
#define MSG_HEATING "Calentando..."
#define MSG_HEATING_COMPLETE "Calentamiento final."
#define MSG_BED_HEATING "Calentando Base"
#define MSG_BED_DONE "Base preparada"
#define MSG_LANGUAGE_NAME "Espanol"
#define MSG_LANGUAGE_SELECT "Cambiae el idioma"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
// Do not translate those!
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Adjusting Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin"
#define MSG_SWITCH_PS_ON "Switch power on"
#define MSG_SWITCH_PS_OFF "Switch power off"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_MOTION "Motion"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Load memory"
#define MSG_RESTORE_FAILSAFE "Restore failsafe"
#define MSG_REFRESH "\xF8" "Refresh"
#define MSG_INIT_SDCARD "Init. SD card"
#define MSG_CNG_SDCARD "Change SD card"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_RECTRACT "Rectract"
#define MSG_HOMEYZ "Calibrar Z"
#define MSG_HOMEYZ_PROGRESS "Calibrando Z"
#define MSG_HOMEYZ_DONE "Calibracion OK"
#define MSG_SELFTEST_ERROR "Autotest error!"
#define MSG_SELFTEST_PLEASECHECK "Controla :"
#define MSG_SELFTEST_NOTCONNECTED "No hay conexion "
#define MSG_SELFTEST_HEATERTHERMISTOR "Calent./Termistor"
#define MSG_SELFTEST_BEDHEATER "Cama/Calentador"
#define MSG_SELFTEST_WIRINGERROR "Error de conexion"
#define MSG_SELFTEST_ENDSTOPS "Topes final"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Tope final"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Tope fin. no toc."
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test del ventilador";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Vent. al frente?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Vent. en la izg?";
#define MSG_SELFTEST_FAN_YES "Ventilador gira";
#define MSG_SELFTEST_FAN_NO "Ventilador no gira";
#define MSG_STATS_TOTALFILAMENT "Filamento total:"
#define MSG_STATS_TOTALPRINTTIME "Tiempo total :"
#define MSG_STATS_FILAMENTUSED "Filamento : "
#define MSG_STATS_PRINTTIME "Tiempo de imp.:"
#define MSG_SELFTEST_START "Autotest salida"
#define MSG_SELFTEST_CHECK_ENDSTOPS "Cont. topes final"
#define MSG_SELFTEST_CHECK_HOTEND "Control hotend "
#define MSG_SELFTEST_CHECK_X "Control del eje X"
#define MSG_SELFTEST_CHECK_Y "Control del eje Y"
#define MSG_SELFTEST_CHECK_Z "Control del eje Z"
#define MSG_SELFTEST_CHECK_BED "Control de cama"
#define MSG_SELFTEST_CHECK_ALLCORRECT "Todo bie "
#define MSG_SELFTEST "Autotest"
#define MSG_SELFTEST_FAILED "Autotest fallado"
#define MSG_STATISTICS "Estadistica "
#define MSG_USB_PRINTING "Impresion de USB "
#define MSG_SHOW_END_STOPS "Ensena tope final"
#define MSG_CALIBRATE_BED "Calibra XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando XYZ. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrando Z. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic."
#define MSG_CONFIRM_NOZZLE_CLEAN "Limpiar boquilla para calibracion. Click cuando acabes."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Carros Z izq./der. estan arriba maximo?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Buscando cama punto de calibracion"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " de 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Mejorando cama punto de calibracion"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " de 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Medir la altura del punto de la calibracion"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiteracion "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consultar el manual por favor."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares. Felicitaciones!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Calibracion XYZ correcta. La inclinacion se corregira automaticamente."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibracion XYZ fallad. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibracion XYZ fallad. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibracion XYZ fallad. Punto delanteros no alcanzables."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibrazion XYZ comprometida. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazion XYZ comprometida. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazion XYZ comprometida. Punto delanteros no alcanzables."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Nivelacion fallada. Sensor no funciona. Escombros en Boqui.? Esperando reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Nivelacion fallada. Sensor funciona demasiado temprano. Esperando reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Nivelacion fallada. Sensor desconectado o cables danados. Esperando reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Nuevo firmware disponible:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Actualizar por favor"
#define MSG_FOLLOW_CALIBRATION_FLOW "Impresora no esta calibrada todavia. Por favor usar el manual, el capitulo First steps, seleccion Calibration flow."
#define MSG_BABYSTEP_Z_NOT_SET "Distancia entre la punta de la boquilla y la superficie de la cama no fijada aun. Por favor siga el manual, capitulo First steps, seccion First layer calibration."
#define MSG_BED_CORRECTION_MENU "Corr. de la cama"
#define MSG_BED_CORRECTION_LEFT "Izquierda [um]"
#define MSG_BED_CORRECTION_RIGHT "Derecha [um]"
#define MSG_BED_CORRECTION_FRONT "Adelante [um]"
#define MSG_BED_CORRECTION_REAR "Atras [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibracion"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_LOOSE_PULLEY "Polea suelta"
#define MSG_FILAMENT_LOADING_T0 "Insertar filamento en el extrusor 1. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T1 "Insertar filamento en el extrusor 2. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T2 "Insertar filamento en el extrusor 3. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T3 "Insertar filamento en el extrusor 4. Haga clic una vez terminado."
#define MSG_CHANGE_EXTR "Cambiar extrusor."
#define MSG_FIL_ADJUSTING "Ajustando filamentos. Esperar por favor."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamentos ajustados. Limpie la boquilla para calibracion. Haga clic una vez terminado."
#define MSG_CALIBRATE_E "Calibrar E"
#define MSG_E_CAL_KNOB "Rotar el mando hasta que la marca llegue al cuerpo del extrusor. Haga clic una vez terminado."
#define MSG_MARK_FIL "Marque el filamento 100 mm por encima del final del extrusor. Hacer clic una vez terminado."
#define MSG_CLEAN_NOZZLE_E "E calibrado. Limpiar la boquilla. Haga clic una vez terminado."
#define MSG_WAITING_TEMP "Esperando enfriamiento de la cama y del extrusor."
#define MSG_FILAMENT_CLEAN "Es el nuevo color nitido?"
#define MSG_UNLOADING_FILAMENT "Soltando filamento"
#define MSG_PAPER "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente."
#define MSG_FINISHING_MOVEMENTS "Term. movimientos"
#define MSG_PRINT_PAUSED "Impresion en pausa"
#define MSG_RESUMING_PRINT "Reanudar impresion"
#define MSG_PID_EXTRUDER "Calibracion PID"
#define MSG_SET_TEMPERATURE "Establecer temp.:"
#define MSG_PID_FINISHED "Cal. PID terminada"
#define MSG_PID_RUNNING "Cal. PID "
#define MSG_CALIBRATE_PINDA "Calibrar"
#define MSG_CALIBRATION_PINDA_MENU "Calibracion temp."
#define MSG_PINDA_NOT_CALIBRATED "La temperatura de calibracion no ha sido ajustada"
#define MSG_PINDA_PREHEAT "Calentando PINDA"
#define MSG_TEMP_CALIBRATION "Cal. temp. "
#define MSG_TEMP_CALIBRATION_DONE "Calibracon temperatura terminada. Presionar para continuar."
#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
#define MSG_PREPARE_FILAMENT "Preparar filamento"
#define MSG_LOAD_ALL "Intr. todos fil."
#define MSG_LOAD_FILAMENT_1 "Introducir fil. 1"
#define MSG_LOAD_FILAMENT_2 "Introducir fil. 2"
#define MSG_LOAD_FILAMENT_3 "Introducir fil. 3"
#define MSG_LOAD_FILAMENT_4 "Introducir fil. 4"
#define MSG_UNLOAD_FILAMENT_1 "Soltar fil. 1"
#define MSG_UNLOAD_FILAMENT_2 "Soltar fil. 2"
#define MSG_UNLOAD_FILAMENT_3 "Soltar fil. 3"
#define MSG_UNLOAD_FILAMENT_4 "Soltar fil. 4"
#define MSG_UNLOAD_ALL "Soltar todos fil."
#define MSG_PREPARE_FILAMENT "Preparar filamento"
#define MSG_ALL "Todos"
#define MSG_USED "Usado en impresion"
#define MSG_CURRENT "Actual"
#define MSG_CHOOSE_EXTRUDER "Elegir extrusor:"
#define MSG_EXTRUDER "Extrusor"
#define MSG_EXTRUDER_1 "Extrusor 1"
#define MSG_EXTRUDER_2 "Extrusor 2"
#define MSG_EXTRUDER_3 "Extrusor 3"
#define MSG_EXTRUDER_4 "Extrusor 4"
#define MSG_DATE "Fecha:"
#define MSG_XYZ_DETAILS "Inform. XYZ cal."
#define MSG_Y_DISTANCE_FROM_MIN "Dist. Y desde min:"
#define MSG_LEFT "Izquierda:"
#define MSG_CENTER "Centro:"
#define MSG_RIGHT "Derecha:"
#define MSG_MEASURED_SKEW "Inclin. medida:"
#define MSG_SLIGHT_SKEW "Inclin. ligera:"
/**
* Spanish
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " prep."
#define MSG_SD_INSERTED "Tarjeta insertada"
#define MSG_SD_REMOVED "Tarjeta retirada"
#define MSG_MAIN "Menu principal"
#define MSG_DISABLE_STEPPERS "Apagar motores"
#define MSG_AUTO_HOME "Llevar al origen"
#define MSG_COOLDOWN "Enfriar"
#define MSG_MOVE_AXIS "Mover ejes"
#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_SPEED "Velocidad"
#define MSG_NOZZLE "Boquilla"
#define MSG_BED "Base"
#define MSG_FAN_SPEED "Velocidad Vent."
#define MSG_FLOW "Flujo"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_WATCH "Monitorizar"
#define MSG_TUNE "Ajustar"
#define MSG_PAUSE_PRINT "Pausar impresion"
#define MSG_RESUME_PRINT "Reanudar impres."
#define MSG_STOP_PRINT "Detener impresion"
#define MSG_CARD_MENU "Menu tarjeta SD"
#define MSG_NO_CARD "No hay tarjeta SD"
#define MSG_DWELL "En espera"
#define MSG_USERWAIT "Esperando ordenes"
#define MSG_RESUMING "Resumiendo impresion"
#define MSG_PRINT_ABORTED "Impresion cancelada"
#define MSG_NO_MOVE "Sin movimiento"
#define MSG_KILLED "PARADA DE EMERGENCIA"
#define MSG_STOPPED "PARADA"
#define MSG_FILAMENTCHANGE "Cambiar filamento"
#define MSG_BABYSTEP_Z "Micropaso Eje Z"
#define MSG_ADJUSTZ "Ajustar Eje Z"
#define MSG_PICK_Z "Esc. Modelo Adecuado"
#define MSG_SETTINGS "Configuracion"
#define MSG_PREHEAT "Precalentar"
#define MSG_UNLOAD_FILAMENT "Soltar filamento"
#define MSG_LOAD_FILAMENT "Introducir filam."
#define MSG_ERROR "ERROR:"
#define MSG_PREHEAT_NOZZLE "Precalentar extrusor"
#define MSG_SUPPORT "Soporte"
#define MSG_CORRECTLY "Cambiado correct.?"
#define MSG_YES "Si"
#define MSG_NO "No"
#define MSG_NOT_LOADED "Fil. no introducido"
#define MSG_NOT_COLOR "Color no homogeneo"
#define MSG_LOADING_FILAMENT "Introduciendo filam."
#define MSG_PLEASE_WAIT "Por Favor Esperar"
#define MSG_LOADING_COLOR "Cambiando color"
#define MSG_CHANGE_SUCCESS "Cambio correcto"
#define MSG_PRESS "Pulsar el mando"
#define MSG_INSERT_FILAMENT "Introducir filamento"
#define MSG_CHANGING_FILAMENT "Cambiando filamento"
#define MSG_SILENT_MODE_ON "Modo [silencio]"
#define MSG_SILENT_MODE_OFF "Modo [rend.pleno]"
#define MSG_REBOOT "Reiniciar impresora"
#define MSG_TAKE_EFFECT " para aplicar cambios"
#define MSG_HEATING "Calentando..."
#define MSG_HEATING_COMPLETE "Calentamiento final."
#define MSG_BED_HEATING "Calentando Base"
#define MSG_BED_DONE "Base preparada"
#define MSG_LANGUAGE_NAME "Espanol"
#define MSG_LANGUAGE_SELECT "Cambiae el idioma"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
// Do not translate those!
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Adjusting Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Set origin"
#define MSG_SWITCH_PS_ON "Switch power on"
#define MSG_SWITCH_PS_OFF "Switch power off"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_MOTION "Motion"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Load memory"
#define MSG_RESTORE_FAILSAFE "Restore failsafe"
#define MSG_REFRESH "\xF8" "Refresh"
#define MSG_INIT_SDCARD "Init. SD card"
#define MSG_CNG_SDCARD "Change SD card"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_RECTRACT "Rectract"
#define MSG_HOMEYZ "Calibrar Z"
#define MSG_HOMEYZ_PROGRESS "Calibrando Z"
#define MSG_HOMEYZ_DONE "Calibracion OK"
#define MSG_SELFTEST_ERROR "Autotest error!"
#define MSG_SELFTEST_PLEASECHECK "Controla :"
#define MSG_SELFTEST_NOTCONNECTED "No hay conexion "
#define MSG_SELFTEST_HEATERTHERMISTOR "Calent./Termistor"
#define MSG_SELFTEST_BEDHEATER "Cama/Calentador"
#define MSG_SELFTEST_WIRINGERROR "Error de conexion"
#define MSG_SELFTEST_ENDSTOPS "Topes final"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Tope final"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Tope fin. no toc."
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test del ventilador";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Vent. al frente?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Vent. en la izg?";
#define MSG_SELFTEST_FAN_YES "Ventilador gira";
#define MSG_SELFTEST_FAN_NO "Ventilador no gira";
#define MSG_STATS_TOTALFILAMENT "Filamento total:"
#define MSG_STATS_TOTALPRINTTIME "Tiempo total :"
#define MSG_STATS_FILAMENTUSED "Filamento : "
#define MSG_STATS_PRINTTIME "Tiempo de imp.:"
#define MSG_SELFTEST_START "Autotest salida"
#define MSG_SELFTEST_CHECK_ENDSTOPS "Cont. topes final"
#define MSG_SELFTEST_CHECK_HOTEND "Control hotend "
#define MSG_SELFTEST_CHECK_X "Control del eje X"
#define MSG_SELFTEST_CHECK_Y "Control del eje Y"
#define MSG_SELFTEST_CHECK_Z "Control del eje Z"
#define MSG_SELFTEST_CHECK_BED "Control de cama"
#define MSG_SELFTEST_CHECK_ALLCORRECT "Todo bie "
#define MSG_SELFTEST "Autotest"
#define MSG_SELFTEST_FAILED "Autotest fallado"
#define MSG_STATISTICS "Estadistica "
#define MSG_USB_PRINTING "Impresion de USB "
#define MSG_SHOW_END_STOPS "Ensena tope final"
#define MSG_CALIBRATE_BED "Calibra XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando XYZ. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrando Z. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic."
#define MSG_CONFIRM_NOZZLE_CLEAN "Limpiar boquilla para calibracion. Click cuando acabes."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Carros Z izq./der. estan arriba maximo?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Buscando cama punto de calibracion"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " de 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Mejorando cama punto de calibracion"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " de 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Medir la altura del punto de la calibracion"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiteracion "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consultar el manual por favor."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares. Felicitaciones!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Calibracion XYZ correcta. La inclinacion se corregira automaticamente."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibracion XYZ fallad. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibracion XYZ fallad. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibracion XYZ fallad. Punto delanteros no alcanzables."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibrazion XYZ comprometida. Punto delantero izquierdo no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazion XYZ comprometida. Punto delantero derecho no alcanzable."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazion XYZ comprometida. Punto delanteros no alcanzables."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Nivelacion fallada. Sensor no funciona. Escombros en Boqui.? Esperando reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Nivelacion fallada. Sensor funciona demasiado temprano. Esperando reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Nivelacion fallada. Sensor desconectado o cables danados. Esperando reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Nuevo firmware disponible:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Actualizar por favor"
#define MSG_FOLLOW_CALIBRATION_FLOW "Impresora no esta calibrada todavia. Por favor usar el manual, el capitulo First steps, seleccion Calibration flow."
#define MSG_BABYSTEP_Z_NOT_SET "Distancia entre la punta de la boquilla y la superficie de la cama no fijada aun. Por favor siga el manual, capitulo First steps, seccion First layer calibration."
#define MSG_BED_CORRECTION_MENU "Corr. de la cama"
#define MSG_BED_CORRECTION_LEFT "Izquierda [um]"
#define MSG_BED_CORRECTION_RIGHT "Derecha [um]"
#define MSG_BED_CORRECTION_FRONT "Adelante [um]"
#define MSG_BED_CORRECTION_REAR "Atras [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Calibracion"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_LOOSE_PULLEY "Polea suelta"
#define MSG_FILAMENT_LOADING_T0 "Insertar filamento en el extrusor 1. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T1 "Insertar filamento en el extrusor 2. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T2 "Insertar filamento en el extrusor 3. Haga clic una vez terminado."
#define MSG_FILAMENT_LOADING_T3 "Insertar filamento en el extrusor 4. Haga clic una vez terminado."
#define MSG_CHANGE_EXTR "Cambiar extrusor."
#define MSG_FIL_ADJUSTING "Ajustando filamentos. Esperar por favor."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamentos ajustados. Limpie la boquilla para calibracion. Haga clic una vez terminado."
#define MSG_CALIBRATE_E "Calibrar E"
#define MSG_E_CAL_KNOB "Rotar el mando hasta que la marca llegue al cuerpo del extrusor. Haga clic una vez terminado."
#define MSG_MARK_FIL "Marque el filamento 100 mm por encima del final del extrusor. Hacer clic una vez terminado."
#define MSG_CLEAN_NOZZLE_E "E calibrado. Limpiar la boquilla. Haga clic una vez terminado."
#define MSG_WAITING_TEMP "Esperando enfriamiento de la cama y del extrusor."
#define MSG_FILAMENT_CLEAN "Es el nuevo color nitido?"
#define MSG_UNLOADING_FILAMENT "Soltando filamento"
#define MSG_PAPER "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente."
#define MSG_FINISHING_MOVEMENTS "Term. movimientos"
#define MSG_PRINT_PAUSED "Impresion en pausa"
#define MSG_RESUMING_PRINT "Reanudar impresion"
#define MSG_PID_EXTRUDER "Calibracion PID"
#define MSG_SET_TEMPERATURE "Establecer temp.:"
#define MSG_PID_FINISHED "Cal. PID terminada"
#define MSG_PID_RUNNING "Cal. PID "
#define MSG_CALIBRATE_PINDA "Calibrar"
#define MSG_CALIBRATION_PINDA_MENU "Calibracion temp."
#define MSG_PINDA_NOT_CALIBRATED "La temperatura de calibracion no ha sido ajustada"
#define MSG_PINDA_PREHEAT "Calentando PINDA"
#define MSG_TEMP_CALIBRATION "Cal. temp. "
#define MSG_TEMP_CALIBRATION_DONE "Calibracon temperatura terminada. Presionar para continuar."
#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
#define MSG_PREPARE_FILAMENT "Preparar filamento"
#define MSG_LOAD_ALL "Intr. todos fil."
#define MSG_LOAD_FILAMENT_1 "Introducir fil. 1"
#define MSG_LOAD_FILAMENT_2 "Introducir fil. 2"
#define MSG_LOAD_FILAMENT_3 "Introducir fil. 3"
#define MSG_LOAD_FILAMENT_4 "Introducir fil. 4"
#define MSG_UNLOAD_FILAMENT_1 "Soltar fil. 1"
#define MSG_UNLOAD_FILAMENT_2 "Soltar fil. 2"
#define MSG_UNLOAD_FILAMENT_3 "Soltar fil. 3"
#define MSG_UNLOAD_FILAMENT_4 "Soltar fil. 4"
#define MSG_UNLOAD_ALL "Soltar todos fil."
#define MSG_PREPARE_FILAMENT "Preparar filamento"
#define MSG_ALL "Todos"
#define MSG_USED "Usado en impresion"
#define MSG_CURRENT "Actual"
#define MSG_CHOOSE_EXTRUDER "Elegir extrusor:"
#define MSG_EXTRUDER "Extrusor"
#define MSG_EXTRUDER_1 "Extrusor 1"
#define MSG_EXTRUDER_2 "Extrusor 2"
#define MSG_EXTRUDER_3 "Extrusor 3"
#define MSG_EXTRUDER_4 "Extrusor 4"
#define MSG_DATE "Fecha:"
#define MSG_XYZ_DETAILS "Inform. XYZ cal."
#define MSG_Y_DISTANCE_FROM_MIN "Dist. Y desde min:"
#define MSG_LEFT "Izquierda:"
#define MSG_CENTER "Centro:"
#define MSG_RIGHT "Derecha:"
#define MSG_MEASURED_SKEW "Inclin. medida:"
#define MSG_SLIGHT_SKEW "Inclin. ligera:"
#define MSG_SEVERE_SKEW "Inclin. severa:"

View File

@ -1,326 +1,326 @@
/**
* Dutch
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " gereed."
#define MSG_SD_INSERTED "SD ingestoken"
#define MSG_SD_REMOVED "SD verwijderd"
#define MSG_MAIN "Hoofdmenu"
#define(length=20) MSG_DISABLE_STEPPERS "Motoren uit"
#define MSG_AUTO_HOME "Startpositie"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Oorsprong instellen"
#define MSG_COOLDOWN "Afkoelen"
#define MSG_SWITCH_PS_ON "Opstarten"
#define MSG_SWITCH_PS_OFF "Uitschakelen"
#define MSG_MOVE_AXIS "As verplaatsen"
#define MSG_MOVE_X "Verplaats X"
#define MSG_MOVE_Y "Verplaats Y"
#define MSG_MOVE_Z "Verplaats Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Snelheid"
#define MSG_NOZZLE "Tuit"
#define MSG_NOZZLE1 "Tuit2"
#define MSG_NOZZLE2 "Tuit3"
#define MSG_BED "Bed"
#define(length=20) MSG_FAN_SPEED "Fan snelheid"
#define MSG_FLOW "Flow"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Temperatuur"
#define MSG_MOTION "Beweging"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Geheugen opslaan"
#define MSG_LOAD_EPROM "Geheugen laden"
#define MSG_RESTORE_FAILSAFE "Backup terugzetten"
#define MSG_REFRESH "\xF8" "Herladen"
#define MSG_WATCH "Info scherm"
#define MSG_TUNE "Fijninstellingen"
#define MSG_PAUSE_PRINT "Print pauzeren"
#define MSG_RESUME_PRINT "Print hervatten"
#define MSG_STOP_PRINT "Print stoppen"
#define MSG_CARD_MENU "Print van SD"
#define MSG_NO_CARD "Geen SD kaart"
#define MSG_DWELL "Slapen..."
#define(length=20) MSG_USERWAIT "Wachten op gebruiker"
#define(length=20, lines=2) MSG_RESUMING "Print hervatten"
#define(length=20) MSG_PRINT_ABORTED "Print afgebroken"
#define MSG_NO_MOVE "Geen beweging."
#define(length=20) MSG_KILLED "NOODSTOP/KILLED. "
#define MSG_STOPPED "GESTOPT. "
#define MSG_FILAMENTCHANGE "Wissel filament"
#define MSG_INIT_SDCARD "Init. SD kaart"
#define MSG_CNG_SDCARD "Wissel SD kaart"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live Z aanpassen"
#define(length=20) MSG_ADJUSTZ "Auto instellen Z?"
#define(length=20) MSG_PICK_Z "Pick print"
#define MSG_SETTINGS "Instellingen"
#define MSG_PREHEAT "Voorverwarmen"
#define MSG_UNLOAD_FILAMENT "Filament uithalen"
#define MSG_LOAD_FILAMENT "Filament laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filament 1 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filament 2 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filament 3 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filament 4 uithalen"
#define(length=20) MSG_UNLOAD_ALL "Alle uithalen"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "FOUT:"
#define(length=20) MSG_PREHEAT_NOZZLE "Tuit voorverwarmen!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Wissel ok?"
#define MSG_YES "Ja"
#define MSG_NO "Nee"
#define(length=20) MSG_NOT_LOADED "Fil. niet geladen"
#define(length=20) MSG_NOT_COLOR "Kleur niet duidelijk"
#define(length=20) MSG_LOADING_FILAMENT "Laade Filament"
#define(length=20) MSG_PLEASE_WAIT "Wacht aub"
#define MSG_LOADING_COLOR "Laade kleur"
#define(length=20) MSG_CHANGE_SUCCESS "Wissel succesvol!"
#define(length=20) MSG_PRESS "en druk op knop"
#define(length=20) MSG_INSERT_FILAMENT "Filament insteken"
#define(length=20) MSG_CHANGING_FILAMENT "Wissel filament!"
#define MSG_SILENT_MODE_ON "Mode [silent]"
#define MSG_SILENT_MODE_OFF "Mode [high power]"
#define(length=20) MSG_REBOOT "Herstart de printer"
#define(length=20, lines=2) MSG_TAKE_EFFECT " om effectief te worden"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Laaste geupdatet: "
#define MSG_FREE_MEMORY " Vrij geheugen: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum fout, Laatste lijn: "
#define MSG_ERR_NO_CHECKSUM "Geen Checksum met lijnnummer Laatste Lijn: "
#define MSG_BEGIN_FILE_LIST "Begin file lijst"
#define MSG_END_FILE_LIST "Eind file lijst"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "Geen Temp.sensoren - geen temperatuur"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Opwarmen"
#define(length=20) MSG_HEATING_COMPLETE "Opwarmen klaar."
#define MSG_BED_HEATING "Bed opwarmen"
#define MSG_BED_DONE "Bed OK."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer gestopt. kill() called!"
#define MSG_ERR_STOPPED "Printer vanwege fouten gestopt. Repareer de fout en gebruiken M999 te herstarten. (Temperatuur is gereset. Stel het na het herstarten)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Endstop status weergeven"
#define MSG_ENDSTOP_HIT "gesloten"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Kan map niet openen"
#define MSG_SD_INIT_FAIL "SD opstarten mislukt"
#define MSG_SD_VOL_INIT_FAIL "volume.init mislukt"
#define MSG_SD_OPENROOT_FAIL "openRoot mislukt"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir openen mislukt"
#define MSG_SD_OPEN_FILE_FAIL "openen mislukt, Bestand : "
#define MSG_SD_FILE_OPENED "Bestand geopend: "
#define MSG_SD_FILE_SELECTED "Bestand geselecteerd"
#define MSG_SD_WRITE_TO_FILE "Naar bestand schrijven: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "geen SD printen"
#define MSG_SD_ERR_WRITE_TO_FILE "fout bij schrijven naar bestand"
#define MSG_SD_CANT_ENTER_SUBDIR "Kan niet in map: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " koude extrusie voorkomen"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Instellen Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Nederlands"
#define MSG_LANGUAGE_SELECT "Kies taal"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Zelftest Fout !"
#define MSG_SELFTEST_PLEASECHECK "Controleer aub:"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Niet aangesloten"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Bedrading fout"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop niet geraakt"
#define MSG_SELFTEST_OK "Zelftest OK"
#define(length=20) MSG_LOOSE_PULLEY "Loose pulley"
#define MSG_SELFTEST_FAN "Fan test";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Voordere fan?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linke fan?";
#define MSG_SELFTEST_FAN_YES "Roteert";
#define(length=20) MSG_SELFTEST_FAN_NO "Roteert niet";
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament total: "
#define(length=20) MSG_STATS_TOTALPRINTTIME "Total printtijd:"
#define(length=20) MSG_STATS_FILAMENTUSED "Filamentverbruik:"
#define(length=20) MSG_STATS_PRINTTIME "Printtijd: "
#define(length=20) MSG_SELFTEST_START "Zelftest start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Controleer endstops"
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Controleer hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Controleer X as "
#define(length=20) MSG_SELFTEST_CHECK_Y "Controleer Y as "
#define(length=20) MSG_SELFTEST_CHECK_Z "Controleer Z as "
#define(length=20) MSG_SELFTEST_CHECK_BED "Controleer bed "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "Allemaal goed "
#define MSG_SELFTEST "Zelftest "
#define(length=20) MSG_SELFTEST_FAILED "Zelftest mislukt "
#define MSG_STATISTICS "Statistieken"
#define MSG_USB_PRINTING "USB printing "
#define MSG_HOMEYZ "Kalibreren Z"
#define MSG_HOMEYZ_PROGRESS "Kalibreren Z"
#define MSG_HOMEYZ_DONE "Kalbibratie OK"
#define MSG_SHOW_END_STOPS "Toon endstops"
#define MSG_CALIBRATE_BED "Kalibratie XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Reinig het tuit voor de kalibratie aub. Klik als klaar."
#define(length=20, lines=8) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Zijn beide Z wagen heelemaal boven?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Zoeke bed kalibratiepunt"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " van 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Nauwkeurigheid verbeteren bij kalibratiepunt"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " van 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Meten van reference hoogte van de kalibratiepunt"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " van 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Herhaling "
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ kalibratie mislukt. Bed kalibratiepunt niet gevonden."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ kalibratie mislukt. Raadpleeg de handleiding."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ kalibratie ok. X/Y-assen staan perpendiculair. Gefeliciteerd!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ kalibratie ok. X/Y-assen zijn iets scheef. Scheefheid wordt automatisch gecorrigeerd. Goed gedaan!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ kalibratie ok. X/Y-assen zijn heel scheef. Scheefheid wordt automatisch gecorrigeerd."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ kalibratie mislukt. Linksvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ kalibratie mislukt. Rechtsvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ kalibratie mislukt. Voorzijde kalibratiepunten niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ kalibratie gecompromitteerd. Linksvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ kalibratie gecompromitteerd. Rechtsvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ kalibratie gecompromitteerd. Voorzijde kalibratiepunten niet bereikbaar."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bed nivellering mislukt. Sensor was niet geactiveerd. Vuil op nozzle? Wacht op reset."
#define(length=20, lines=5) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed nivellering mislukt. Een sensor heeft te hoog getriggerd. Wacht op reset."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bed nivellering mislukt.Sensor niet aangesloten of kabel gebroken.Wacht op reset"
#defineMSG_NEW_FIRMWARE_AVAILABLE "Nieuwe firmware versie beschikbaar:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Upgraden aub."
#define(length=20, lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow."
#define(length=20, lines=12) MSG_BABYSTEP_Z_NOT_SET "Afstand tussen tip van het tuit en het print oppervlak nog niet vastgesteld. Volg de handleiding, First steps, sectie First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Steek filament in de extruder 1. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Steek filament in de extruder 2. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Steek filament in de extruder 3. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Steek filament in de extruder 4. Klik als klaar."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Wissel extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Aanpassen filamenten. Even geduld aub."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenten zijn nu ingesteld. Reinig het tuit voor de kalibratie. Klik als klaar."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Kalibratie E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Draai knop tot mark extruder bereikt is. Klik als klaar."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Mark filament 100mm van extruder body. Klik als klaar."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E kalibratie voltooid. Reinig het tuit. Klik op als klaar."
#define(length=20, lines=3) MSG_WAITING_TEMP "Wachten op afkoelen van heater en bed."
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Is kleur zuiver?"
#define(length=20) MSG_UNLOADING_FILAMENT "Filament uitwerpen"
#define(length=20, lines=10) MSG_PAPER "Leg een vel papier onder het tuit tijdens de kalibratie van de eerste 4 punten. Als het tuit het papier vangt, Printer onmiddellijk uitschakelen."
#define(length=20) MSG_BED_CORRECTION_MENU "Bed juist"
#define MSG_BED_CORRECTION_LEFT "Links [um]"
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
#define MSG_BED_CORRECTION_FRONT "Voorruit [um]"
#define MSG_BED_CORRECTION_REAR "Achter [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibratie"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_PRINTER_DISCONNECTED "Printer ontbonden"
#define(length=20) MSG_FINISHING_MOVEMENTS "Bewegingen afwerken"
#define MSG_PRINT_PAUSED "Druck pauzeren"
#define MSG_RESUMING_PRINT "Print hervatten"
#define MSG_PID_EXTRUDER "PID kalibratie"
#define MSG_SET_TEMPERATURE "Temp. instellen"
#define MSG_PID_FINISHED "PID kal. klaar "
#define MSG_PID_RUNNING "PID kal. "
#define MSG_PID_BED "PID bed kalibratie "
#define MSG_PID_BED_FINISHED "PID bed kal. klaar "
#define MSG_PID_BED_RUNNING "PID bed kal. "
#define MSG_CALIBRATE_PINDA "PINDA Temp. kal."
#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. kal."
#define(length=20, lines=3) MSG_PINDA_NOT_CALIBRATED "PINDA temperatuur calibratie was nog niet uitgevoerd"
#define MSG_PINDA_PREHEAT "PINDA warmt op"
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.kal."
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "PINDA temperatuur calibratie is klaar. Klik om door te gaan."
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.kal. [ON]"
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.kal.[OFF]"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filam. 1 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filam. 2 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filam. 3 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filam. 4 ontladen"
#define(length=20) MSG_UNLOAD_ALL "Alle ontladen"
#define(length=20) MSG_PREPARE_FILAMENT "Filam. voorbereiden"
#define(length=20) MSG_ALL "Alle"
#define(length=20) MSG_USED "Gebruikt bij print"
#define(length=20) MSG_CURRENT "Actueel"
#define(length=20) MSG_CHOOSE_EXTRUDER "Kies Extruder"
#define(length=20) MSG_EXTRUDER "Extruder"
#define(length=20) MSG_EXTRUDER_1 "Extruder 1"
#define(length=20) MSG_EXTRUDER_2 "Extruder 2"
#define(length=20) MSG_EXTRUDER_3 "Extruder 3"
#define(length=20) MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "XYZ kal. details"
#define MSG_Y_DISTANCE_FROM_MIN "Y afstand van min"
#define MSG_LEFT "Links:"
#define MSG_CENTER "Centrum:"
#define MSG_RIGHT "Rechts:"
#define MSG_MEASURED_SKEW "Symmetrie:"
#define MSG_SLIGHT_SKEW "Geringe Asym.:"
/**
* Dutch
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define(length=20) WELCOME_MSG CUSTOM_MENDEL_NAME " gereed."
#define MSG_SD_INSERTED "SD ingestoken"
#define MSG_SD_REMOVED "SD verwijderd"
#define MSG_MAIN "Hoofdmenu"
#define(length=20) MSG_DISABLE_STEPPERS "Motoren uit"
#define MSG_AUTO_HOME "Startpositie"
#define MSG_SET_HOME_OFFSETS "Set home offsets"
#define MSG_SET_ORIGIN "Oorsprong instellen"
#define MSG_COOLDOWN "Afkoelen"
#define MSG_SWITCH_PS_ON "Opstarten"
#define MSG_SWITCH_PS_OFF "Uitschakelen"
#define MSG_MOVE_AXIS "As verplaatsen"
#define MSG_MOVE_X "Verplaats X"
#define MSG_MOVE_Y "Verplaats Y"
#define MSG_MOVE_Z "Verplaats Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Snelheid"
#define MSG_NOZZLE "Tuit"
#define MSG_NOZZLE1 "Tuit2"
#define MSG_NOZZLE2 "Tuit3"
#define MSG_BED "Bed"
#define(length=20) MSG_FAN_SPEED "Fan snelheid"
#define MSG_FLOW "Flow"
#define MSG_FLOW0 "Flow 0"
#define MSG_FLOW1 "Flow 1"
#define MSG_FLOW2 "Flow 2"
#define MSG_CONTROL "Control"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_TEMPERATURE "Temperatuur"
#define MSG_MOTION "Beweging"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Geheugen opslaan"
#define MSG_LOAD_EPROM "Geheugen laden"
#define MSG_RESTORE_FAILSAFE "Backup terugzetten"
#define MSG_REFRESH "\xF8" "Herladen"
#define MSG_WATCH "Info scherm"
#define MSG_TUNE "Fijninstellingen"
#define MSG_PAUSE_PRINT "Print pauzeren"
#define MSG_RESUME_PRINT "Print hervatten"
#define MSG_STOP_PRINT "Print stoppen"
#define MSG_CARD_MENU "Print van SD"
#define MSG_NO_CARD "Geen SD kaart"
#define MSG_DWELL "Slapen..."
#define(length=20) MSG_USERWAIT "Wachten op gebruiker"
#define(length=20, lines=2) MSG_RESUMING "Print hervatten"
#define(length=20) MSG_PRINT_ABORTED "Print afgebroken"
#define MSG_NO_MOVE "Geen beweging."
#define(length=20) MSG_KILLED "NOODSTOP/KILLED. "
#define MSG_STOPPED "GESTOPT. "
#define MSG_FILAMENTCHANGE "Wissel filament"
#define MSG_INIT_SDCARD "Init. SD kaart"
#define MSG_CNG_SDCARD "Wissel SD kaart"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_BABYSTEP_Z "Live Z aanpassen"
#define(length=20) MSG_ADJUSTZ "Auto instellen Z?"
#define(length=20) MSG_PICK_Z "Pick print"
#define MSG_SETTINGS "Instellingen"
#define MSG_PREHEAT "Voorverwarmen"
#define MSG_UNLOAD_FILAMENT "Filament uithalen"
#define MSG_LOAD_FILAMENT "Filament laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filament 1 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filament 2 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filament 3 uithalen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filament 4 uithalen"
#define(length=20) MSG_UNLOAD_ALL "Alle uithalen"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define MSG_RECTRACT "Rectract"
#define MSG_ERROR "FOUT:"
#define(length=20) MSG_PREHEAT_NOZZLE "Tuit voorverwarmen!"
#define MSG_SUPPORT "Support"
#define(length=20) MSG_CORRECTLY "Wissel ok?"
#define MSG_YES "Ja"
#define MSG_NO "Nee"
#define(length=20) MSG_NOT_LOADED "Fil. niet geladen"
#define(length=20) MSG_NOT_COLOR "Kleur niet duidelijk"
#define(length=20) MSG_LOADING_FILAMENT "Laade Filament"
#define(length=20) MSG_PLEASE_WAIT "Wacht aub"
#define MSG_LOADING_COLOR "Laade kleur"
#define(length=20) MSG_CHANGE_SUCCESS "Wissel succesvol!"
#define(length=20) MSG_PRESS "en druk op knop"
#define(length=20) MSG_INSERT_FILAMENT "Filament insteken"
#define(length=20) MSG_CHANGING_FILAMENT "Wissel filament!"
#define MSG_SILENT_MODE_ON "Mode [silent]"
#define MSG_SILENT_MODE_OFF "Mode [high power]"
#define(length=20) MSG_REBOOT "Herstart de printer"
#define(length=20, lines=2) MSG_TAKE_EFFECT " om effectief te worden"
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Laaste geupdatet: "
#define MSG_FREE_MEMORY " Vrij geheugen: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum fout, Laatste lijn: "
#define MSG_ERR_NO_CHECKSUM "Geen Checksum met lijnnummer Laatste Lijn: "
#define MSG_BEGIN_FILE_LIST "Begin file lijst"
#define MSG_END_FILE_LIST "Eind file lijst"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "Geen Temp.sensoren - geen temperatuur"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_HEATING "Opwarmen"
#define(length=20) MSG_HEATING_COMPLETE "Opwarmen klaar."
#define MSG_BED_HEATING "Bed opwarmen"
#define MSG_BED_DONE "Bed OK."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer gestopt. kill() called!"
#define MSG_ERR_STOPPED "Printer vanwege fouten gestopt. Repareer de fout en gebruiken M999 te herstarten. (Temperatuur is gereset. Stel het na het herstarten)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Endstop status weergeven"
#define MSG_ENDSTOP_HIT "gesloten"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Kan map niet openen"
#define MSG_SD_INIT_FAIL "SD opstarten mislukt"
#define MSG_SD_VOL_INIT_FAIL "volume.init mislukt"
#define MSG_SD_OPENROOT_FAIL "openRoot mislukt"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir openen mislukt"
#define MSG_SD_OPEN_FILE_FAIL "openen mislukt, Bestand : "
#define MSG_SD_FILE_OPENED "Bestand geopend: "
#define MSG_SD_FILE_SELECTED "Bestand geselecteerd"
#define MSG_SD_WRITE_TO_FILE "Naar bestand schrijven: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "geen SD printen"
#define MSG_SD_ERR_WRITE_TO_FILE "fout bij schrijven naar bestand"
#define MSG_SD_CANT_ENTER_SUBDIR "Kan niet in map: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " koude extrusie voorkomen"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Instellen Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_LANGUAGE_NAME "Nederlands"
#define MSG_LANGUAGE_SELECT "Kies taal"
#define MSG_PRUSA3D "prusa3d.com"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.com"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
#define(length=20) MSG_SELFTEST_ERROR "Zelftest Fout !"
#define MSG_SELFTEST_PLEASECHECK "Controleer aub:"
#define(length=20) MSG_SELFTEST_NOTCONNECTED "Niet aangesloten"
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define(length=20) MSG_SELFTEST_WIRINGERROR "Bedrading fout"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Motor"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop niet geraakt"
#define MSG_SELFTEST_OK "Zelftest OK"
#define(length=20) MSG_LOOSE_PULLEY "Loose pulley"
#define MSG_SELFTEST_FAN "Fan test";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Voordere fan?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linke fan?";
#define MSG_SELFTEST_FAN_YES "Roteert";
#define(length=20) MSG_SELFTEST_FAN_NO "Roteert niet";
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament total: "
#define(length=20) MSG_STATS_TOTALPRINTTIME "Total printtijd:"
#define(length=20) MSG_STATS_FILAMENTUSED "Filamentverbruik:"
#define(length=20) MSG_STATS_PRINTTIME "Printtijd: "
#define(length=20) MSG_SELFTEST_START "Zelftest start "
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Controleer endstops"
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Controleer hotend "
#define(length=20) MSG_SELFTEST_CHECK_X "Controleer X as "
#define(length=20) MSG_SELFTEST_CHECK_Y "Controleer Y as "
#define(length=20) MSG_SELFTEST_CHECK_Z "Controleer Z as "
#define(length=20) MSG_SELFTEST_CHECK_BED "Controleer bed "
#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT "Allemaal goed "
#define MSG_SELFTEST "Zelftest "
#define(length=20) MSG_SELFTEST_FAILED "Zelftest mislukt "
#define MSG_STATISTICS "Statistieken"
#define MSG_USB_PRINTING "USB printing "
#define MSG_HOMEYZ "Kalibreren Z"
#define MSG_HOMEYZ_PROGRESS "Kalibreren Z"
#define MSG_HOMEYZ_DONE "Kalbibratie OK"
#define MSG_SHOW_END_STOPS "Toon endstops"
#define MSG_CALIBRATE_BED "Kalibratie XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar."
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Reinig het tuit voor de kalibratie aub. Klik als klaar."
#define(length=20, lines=8) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Zijn beide Z wagen heelemaal boven?"
#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Zoeke bed kalibratiepunt"
#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " van 4"
#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Nauwkeurigheid verbeteren bij kalibratiepunt"
#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " van 9"
#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Meten van reference hoogte van de kalibratiepunt"
#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " van 9"
#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Herhaling "
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ kalibratie mislukt. Bed kalibratiepunt niet gevonden."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ kalibratie mislukt. Raadpleeg de handleiding."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ kalibratie ok. X/Y-assen staan perpendiculair. Gefeliciteerd!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ kalibratie ok. X/Y-assen zijn iets scheef. Scheefheid wordt automatisch gecorrigeerd. Goed gedaan!"
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ kalibratie ok. X/Y-assen zijn heel scheef. Scheefheid wordt automatisch gecorrigeerd."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ kalibratie mislukt. Linksvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ kalibratie mislukt. Rechtsvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ kalibratie mislukt. Voorzijde kalibratiepunten niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ kalibratie gecompromitteerd. Linksvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ kalibratie gecompromitteerd. Rechtsvoor kalibratiepunt niet bereikbaar."
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ kalibratie gecompromitteerd. Voorzijde kalibratiepunten niet bereikbaar."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bed nivellering mislukt. Sensor was niet geactiveerd. Vuil op nozzle? Wacht op reset."
#define(length=20, lines=5) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed nivellering mislukt. Een sensor heeft te hoog getriggerd. Wacht op reset."
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bed nivellering mislukt.Sensor niet aangesloten of kabel gebroken.Wacht op reset"
#defineMSG_NEW_FIRMWARE_AVAILABLE "Nieuwe firmware versie beschikbaar:"
#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Upgraden aub."
#define(length=20, lines=8) MSG_FOLLOW_CALIBRATION_FLOW "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow."
#define(length=20, lines=12) MSG_BABYSTEP_Z_NOT_SET "Afstand tussen tip van het tuit en het print oppervlak nog niet vastgesteld. Volg de handleiding, First steps, sectie First layer calibration."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0 "Steek filament in de extruder 1. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1 "Steek filament in de extruder 2. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2 "Steek filament in de extruder 3. Klik als klaar."
#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3 "Steek filament in de extruder 4. Klik als klaar."
#define(length=20, lines=1) MSG_CHANGE_EXTR "Wissel extruder"
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Aanpassen filamenten. Even geduld aub."
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenten zijn nu ingesteld. Reinig het tuit voor de kalibratie. Klik als klaar."
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
#define(length=20, lines=1) MSG_CALIBRATE_E "Kalibratie E"
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
#define(length=20, lines=8) MSG_E_CAL_KNOB "Draai knop tot mark extruder bereikt is. Klik als klaar."
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
#define(length=20, lines=8) MSG_MARK_FIL "Mark filament 100mm van extruder body. Klik als klaar."
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E kalibratie voltooid. Reinig het tuit. Klik op als klaar."
#define(length=20, lines=3) MSG_WAITING_TEMP "Wachten op afkoelen van heater en bed."
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Is kleur zuiver?"
#define(length=20) MSG_UNLOADING_FILAMENT "Filament uitwerpen"
#define(length=20, lines=10) MSG_PAPER "Leg een vel papier onder het tuit tijdens de kalibratie van de eerste 4 punten. Als het tuit het papier vangt, Printer onmiddellijk uitschakelen."
#define(length=20) MSG_BED_CORRECTION_MENU "Bed juist"
#define MSG_BED_CORRECTION_LEFT "Links [um]"
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
#define MSG_BED_CORRECTION_FRONT "Voorruit [um]"
#define MSG_BED_CORRECTION_REAR "Achter [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibratie"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
#define MSG_PRINTER_DISCONNECTED "Printer ontbonden"
#define(length=20) MSG_FINISHING_MOVEMENTS "Bewegingen afwerken"
#define MSG_PRINT_PAUSED "Druck pauzeren"
#define MSG_RESUMING_PRINT "Print hervatten"
#define MSG_PID_EXTRUDER "PID kalibratie"
#define MSG_SET_TEMPERATURE "Temp. instellen"
#define MSG_PID_FINISHED "PID kal. klaar "
#define MSG_PID_RUNNING "PID kal. "
#define MSG_PID_BED "PID bed kalibratie "
#define MSG_PID_BED_FINISHED "PID bed kal. klaar "
#define MSG_PID_BED_RUNNING "PID bed kal. "
#define MSG_CALIBRATE_PINDA "PINDA Temp. kal."
#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. kal."
#define(length=20, lines=3) MSG_PINDA_NOT_CALIBRATED "PINDA temperatuur calibratie was nog niet uitgevoerd"
#define MSG_PINDA_PREHEAT "PINDA warmt op"
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.kal."
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "PINDA temperatuur calibratie is klaar. Klik om door te gaan."
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.kal. [ON]"
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.kal.[OFF]"
#define(length=20) MSG_LOAD_ALL "Alle laden"
#define(length=20) MSG_LOAD_FILAMENT_1 "Filament 1 laden"
#define(length=20) MSG_LOAD_FILAMENT_2 "Filament 2 laden"
#define(length=20) MSG_LOAD_FILAMENT_3 "Filament 3 laden"
#define(length=20) MSG_LOAD_FILAMENT_4 "Filament 4 laden"
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Filam. 1 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Filam. 2 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Filam. 3 ontladen"
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Filam. 4 ontladen"
#define(length=20) MSG_UNLOAD_ALL "Alle ontladen"
#define(length=20) MSG_PREPARE_FILAMENT "Filam. voorbereiden"
#define(length=20) MSG_ALL "Alle"
#define(length=20) MSG_USED "Gebruikt bij print"
#define(length=20) MSG_CURRENT "Actueel"
#define(length=20) MSG_CHOOSE_EXTRUDER "Kies Extruder"
#define(length=20) MSG_EXTRUDER "Extruder"
#define(length=20) MSG_EXTRUDER_1 "Extruder 1"
#define(length=20) MSG_EXTRUDER_2 "Extruder 2"
#define(length=20) MSG_EXTRUDER_3 "Extruder 3"
#define(length=20) MSG_EXTRUDER_4 "Extruder 4"
#define MSG_DATE "Datum:"
#define MSG_XYZ_DETAILS "XYZ kal. details"
#define MSG_Y_DISTANCE_FROM_MIN "Y afstand van min"
#define MSG_LEFT "Links:"
#define MSG_CENTER "Centrum:"
#define MSG_RIGHT "Rechts:"
#define MSG_MEASURED_SKEW "Symmetrie:"
#define MSG_SLIGHT_SKEW "Geringe Asym.:"
#define MSG_SEVERE_SKEW "Hevige Asym.:"

View File

@ -1,310 +1,310 @@
/**
* Polish
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " gotowa"
#define MSG_SD_INSERTED "Karta wlozona"
#define MSG_SD_REMOVED "Karta wyjeta"
#define MSG_MAIN "Menu glowne"
#define MSG_DISABLE_STEPPERS "Wylaczyc silniki"
#define MSG_AUTO_HOME "Auto home"
#define MSG_COOLDOWN "Wychlodzic"
#define MSG_MOVE_AXIS "Ruch osi"
#define MSG_MOVE_X "Przesunac X"
#define MSG_MOVE_Y "Przesunac Y"
#define MSG_MOVE_Z "Przesunac Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Predkosc"
#define MSG_NOZZLE "Dysza"
#define MSG_BED "Stolik"
#define MSG_FAN_SPEED "Predkosc went."
#define MSG_FLOW "Przeplyw"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_WATCH "Informacje"
#define MSG_TUNE "Nastroic"
#define MSG_PAUSE_PRINT "Przerwac druk"
#define MSG_RESUME_PRINT "Kontynuowac"
#define MSG_STOP_PRINT "Zatrzymac druk"
#define MSG_CARD_MENU "Druk z SD"
#define MSG_NO_CARD "Brak karty SD"
#define MSG_DWELL "Sleep..."
#define MSG_USERWAIT "Wait for user..."
#define MSG_RESUMING "Wznowienie druku"
#define MSG_PRINT_ABORTED "Druk przerwany"
#define MSG_NO_MOVE "No move."
#define MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Wymienic filament"
#define MSG_BABYSTEP_Z "Dostrojenie osy Z"
#define MSG_ADJUSTZ "Autodostroic Z?"
#define MSG_PICK_Z "Vyberte vytisk"
#define MSG_SETTINGS "Ustawienia"
#define MSG_PREHEAT "Grzanie"
#define MSG_UNLOAD_FILAMENT "Wyjac filament"
#define MSG_LOAD_FILAMENT "Wprowadz filament"
#define MSG_ERROR "BLAD:"
#define MSG_PREHEAT_NOZZLE "Nagrzej dysze!"
#define MSG_SUPPORT "Pomoc"
#define MSG_CORRECTLY "Wymiana ok?"
#define MSG_YES "Tak"
#define MSG_NO "Nie"
#define MSG_NOT_LOADED "Brak filamentu"
#define MSG_NOT_COLOR "Kolor zanieczysz."
#define MSG_LOADING_FILAMENT "Wprow. filamentu"
#define MSG_PLEASE_WAIT "Prosze czekac"
#define MSG_LOADING_COLOR "Czyszcz. koloru"
#define MSG_CHANGE_SUCCESS "Wymiana ok!"
#define MSG_PRESS "Nacisnij przycisk"
#define MSG_INSERT_FILAMENT "Wprowadz filament"
#define MSG_CHANGING_FILAMENT "Wymiana filamentu"
#define MSG_SILENT_MODE_ON "Mod [cichy]"
#define MSG_SILENT_MODE_OFF "Mod [w wydajnosc]"
#define MSG_REBOOT "Restart drukarki"
#define MSG_TAKE_EFFECT " wprow. zmian"
#define MSG_HEATING "Grzanie..."
#define MSG_HEATING_COMPLETE "Grzanie OK."
#define MSG_BED_HEATING "Grzanie stolika.."
#define MSG_BED_DONE "Stolik OK."
#define MSG_LANGUAGE_NAME "Polski"
#define MSG_LANGUAGE_SELECT "Wybor jezyka"
#define MSG_PRUSA3D "prusa3d.cz"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.cz"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.cz"
// Do not translate those!
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Dostavovani Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_SET_HOME_OFFSETS "Nastav pocatek home"
#define MSG_SET_ORIGIN "Nastav pocatek"
#define MSG_SWITCH_PS_ON "Vypnout zdroj"
#define MSG_SWITCH_PS_OFF "Zapnout zdroj"
#define MSG_NOZZLE1 "Tryska2"
#define MSG_NOZZLE2 "Tryska3"
#define MSG_FLOW0 "Prutok 0"
#define MSG_FLOW1 "Prutok 1"
#define MSG_FLOW2 "Prutok 2"
#define MSG_CONTROL "Kontrola"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_MOTION "Pohyb"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Ulozit pamet"
#define MSG_RESTORE_FAILSAFE "Obnovit vychozi"
#define MSG_REFRESH "\xF8" "Obnovit"
#define MSG_INIT_SDCARD "Inic. SD"
#define MSG_CNG_SDCARD "Vymenit SD"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_RECTRACT "Rectract"
#define MSG_HOMEYZ "Kalibruj Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruje Z"
#define MSG_HOMEYZ_DONE "Kalibracja OK"
#define MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Skontroluj :"
#define MSG_SELFTEST_NOTCONNECTED "Nie podlaczono "
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define MSG_SELFTEST_WIRINGERROR "Blad polaczenia"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Silnik"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test wentylatora";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Przodni went. druku?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Lewy went na dysze?";
#define MSG_SELFTEST_FAN_YES "Kreci sie";
#define MSG_SELFTEST_FAN_NO "Nekreci sie";
#define MSG_STATS_TOTALFILAMENT "Filament lacznie :"
#define MSG_STATS_TOTALPRINTTIME "Czas calkowity :"
#define MSG_STATS_FILAMENTUSED "Filament : "
#define MSG_STATS_PRINTTIME "Czas druku : "
#define MSG_SELFTEST_START "Self test start "
#define MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
#define MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend "
#define MSG_SELFTEST_CHECK_X "Kontrola X axis "
#define MSG_SELFTEST_CHECK_Y "Kontrola Y axis "
#define MSG_SELFTEST_CHECK_Z "Kontrola Z axis "
#define MSG_SELFTEST_CHECK_BED "Kontrola bed "
#define MSG_SELFTEST_CHECK_ALLCORRECT "Wszystko OK "
#define MSG_SELFTEST "Selftest "
#define MSG_SELFTEST_FAILED "Selftest nieudany"
#define MSG_STATISTICS "Statystyka "
#define MSG_USB_PRINTING "Druk z USB "
#define MSG_SHOW_END_STOPS "Pokaz krancowki"
#define MSG_CALIBRATE_BED "Kalibracja XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset kalibr. XYZ"
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
#define MSG_CONFIRM_NOZZLE_CLEAN "Dla prawidl. kalibracji prosze oczyscic dysze. Potw. guzikiem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Oba wozki dojechaly do gornej ramy?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Szukam punktu kalibracyjnego podkladki"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Poprawiam precyzyjnosc punktu kalibracyjnego"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Okreslam wysokosc odniesienia punktu kalibracyjnego"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracja "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibr. XYZ nieudana. Kalibracyjny punkt podkladki nieznaleziony."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibracja XYZ prawidlowa. Skosy beda automatycznie wyrownane przy druku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibr. XYZ nieudana. Lewy przedni punkt zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibr. XYZ nieudana. Prawy przedni punkt zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibr. XYZ nieudana. Przed. punkty kalibr. zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibr. XYZ niedokladna. Przednie punkty kalibr. Zbyt wys. do przodu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Wyszla nowa wersja firmware:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosze zaktualizowac"
#define MSG_FOLLOW_CALIBRATION_FLOW "Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
#define MSG_BABYSTEP_Z_NOT_SET "Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
#define MSG_BED_CORRECTION_MENU "Korekta podkladki"
#define MSG_BED_CORRECTION_LEFT "W lewo [um]"
#define MSG_BED_CORRECTION_RIGHT "W prawo [um]"
#define MSG_BED_CORRECTION_FRONT "Do przodu [um]"
#define MSG_BED_CORRECTION_REAR "Do tylu [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibracja"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "karta SD [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "karta SD[FlshAir]"
#define MSG_LOOSE_PULLEY "Kolo pasowe"
#define MSG_FILAMENT_LOADING_T0 "Wloz filament do ekstrudera 1. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T1 "Wloz filament do ekstrudera 2. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T2 "Wloz filament do ekstrudera 3. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T3 "Wloz filament do ekstrudera 4. Potwierdz przyciskiem."
#define MSG_CHANGE_EXTR "Zmienic ekstruder"
#define MSG_FIL_ADJUSTING "Przebiega wyrownanie filamentow. Prosze czekac."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem."
#define MSG_CALIBRATE_E "Kalibruj E"
#define MSG_E_CAL_KNOB "Prosze otaczac przycisk poki znacznik nie dosiegnie ciala ekstrudera. Potwierdzic przyciskiem."
#define MSG_MARK_FIL "Prosze oznaczyc filament 100 mm od ciala ekstrudera. Potwierdzic przyciskiem."
#define MSG_CLEAN_NOZZLE_E "Kalibracja E skonczona. Prosze oczyscic dysze. Potem potwierdzic przyciskiem. "
#define MSG_WAITING_TEMP "Oczekiwanie na wychlodzenie dyszy i podkladki."
#define MSG_FILAMENT_CLEAN "Czy kolor jest czysty?"
#define MSG_UNLOADING_FILAMENT "Wysuwam filament"
#define MSG_PAPER "Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke."
#define MSG_FINISHING_MOVEMENTS "Konczenie druku"
#define MSG_PRINT_PAUSED "Druk zatrzymany"
#define MSG_RESUMING_PRINT "Wznawianie druku"
#define MSG_PID_EXTRUDER "Kalibracja PID"
#define MSG_SET_TEMPERATURE "Ustawic temperature"
#define MSG_PID_FINISHED "Kal. PID zakonczona"
#define MSG_PID_RUNNING "Kal. PID"
#define MSG_CALIBRATE_PINDA "Skalibrowac"
#define MSG_CALIBRATION_PINDA_MENU "Cieplna kalibr."
#define MSG_PINDA_NOT_CALIBRATED "Cieplna kalibracja nie byla przeprowadzona"
#define MSG_PINDA_PREHEAT "Grzanie PINDA"
#define MSG_TEMP_CALIBRATION "Ciepl. kal. "
#define MSG_TEMP_CALIBRATION_DONE "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
#define MSG_TEMP_CALIBRATION_ON "Ciepl. kal. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]"
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
#define MSG_LOAD_ALL "Zalad. wszystkie"
#define MSG_LOAD_FILAMENT_1 "Zaladowac fil. 1"
#define MSG_LOAD_FILAMENT_2 "Zaladowac fil. 2"
#define MSG_LOAD_FILAMENT_3 "Zaladowac fil. 3"
#define MSG_LOAD_FILAMENT_4 "Zaladowac fil. 4"
#define MSG_UNLOAD_FILAMENT_1 "Wyjac filament 1"
#define MSG_UNLOAD_FILAMENT_2 "Wyjac filament 2"
#define MSG_UNLOAD_FILAMENT_3 "Wyjac filament 3"
#define MSG_UNLOAD_FILAMENT_4 "Wyjac filament 4"
#define MSG_UNLOAD_ALL "Wyjac wszystkie"
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
#define MSG_ALL "Wszystko"
#define MSG_USED "Uzyte przy druku"
#define MSG_CURRENT "Tylko aktualne"
#define MSG_CHOOSE_EXTRUDER "Wybierz ekstruder"
#define MSG_EXTRUDER "Ekstruder"
#define MSG_EXTRUDER_1 "Ekstruder 1"
#define MSG_EXTRUDER_2 "Ekstruder 2"
#define MSG_EXTRUDER_3 "Ekstruder 3"
#define MSG_EXTRUDER_4 "Ekstruder 4"
#define MSG_DATE "Data:"
#define MSG_XYZ_DETAILS "Szczegoly kal.XYZ"
#define MSG_Y_DISTANCE_FROM_MIN "Odleglosc Y od min.:"
#define MSG_LEFT "Lewy:"
#define MSG_CENTER "Srodek:"
#define MSG_RIGHT "Prawy:"
#define MSG_MEASURED_SKEW "Zmier. sciecie:"
#define MSG_SLIGHT_SKEW "Lekkie sciecie:"
/**
* Polish
*
* LCD Menu Messages
* Please note these are limited to 17 characters!
*
*/
#define WELCOME_MSG CUSTOM_MENDEL_NAME " gotowa"
#define MSG_SD_INSERTED "Karta wlozona"
#define MSG_SD_REMOVED "Karta wyjeta"
#define MSG_MAIN "Menu glowne"
#define MSG_DISABLE_STEPPERS "Wylaczyc silniki"
#define MSG_AUTO_HOME "Auto home"
#define MSG_COOLDOWN "Wychlodzic"
#define MSG_MOVE_AXIS "Ruch osi"
#define MSG_MOVE_X "Przesunac X"
#define MSG_MOVE_Y "Przesunac Y"
#define MSG_MOVE_Z "Przesunac Z"
#define MSG_MOVE_E "Extruder"
#define MSG_SPEED "Predkosc"
#define MSG_NOZZLE "Dysza"
#define MSG_BED "Stolik"
#define MSG_FAN_SPEED "Predkosc went."
#define MSG_FLOW "Przeplyw"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_WATCH "Informacje"
#define MSG_TUNE "Nastroic"
#define MSG_PAUSE_PRINT "Przerwac druk"
#define MSG_RESUME_PRINT "Kontynuowac"
#define MSG_STOP_PRINT "Zatrzymac druk"
#define MSG_CARD_MENU "Druk z SD"
#define MSG_NO_CARD "Brak karty SD"
#define MSG_DWELL "Sleep..."
#define MSG_USERWAIT "Wait for user..."
#define MSG_RESUMING "Wznowienie druku"
#define MSG_PRINT_ABORTED "Druk przerwany"
#define MSG_NO_MOVE "No move."
#define MSG_KILLED "KILLED. "
#define MSG_STOPPED "STOPPED. "
#define MSG_FILAMENTCHANGE "Wymienic filament"
#define MSG_BABYSTEP_Z "Dostrojenie osy Z"
#define MSG_ADJUSTZ "Autodostroic Z?"
#define MSG_PICK_Z "Vyberte vytisk"
#define MSG_SETTINGS "Ustawienia"
#define MSG_PREHEAT "Grzanie"
#define MSG_UNLOAD_FILAMENT "Wyjac filament"
#define MSG_LOAD_FILAMENT "Wprowadz filament"
#define MSG_ERROR "BLAD:"
#define MSG_PREHEAT_NOZZLE "Nagrzej dysze!"
#define MSG_SUPPORT "Pomoc"
#define MSG_CORRECTLY "Wymiana ok?"
#define MSG_YES "Tak"
#define MSG_NO "Nie"
#define MSG_NOT_LOADED "Brak filamentu"
#define MSG_NOT_COLOR "Kolor zanieczysz."
#define MSG_LOADING_FILAMENT "Wprow. filamentu"
#define MSG_PLEASE_WAIT "Prosze czekac"
#define MSG_LOADING_COLOR "Czyszcz. koloru"
#define MSG_CHANGE_SUCCESS "Wymiana ok!"
#define MSG_PRESS "Nacisnij przycisk"
#define MSG_INSERT_FILAMENT "Wprowadz filament"
#define MSG_CHANGING_FILAMENT "Wymiana filamentu"
#define MSG_SILENT_MODE_ON "Mod [cichy]"
#define MSG_SILENT_MODE_OFF "Mod [w wydajnosc]"
#define MSG_REBOOT "Restart drukarki"
#define MSG_TAKE_EFFECT " wprow. zmian"
#define MSG_HEATING "Grzanie..."
#define MSG_HEATING_COMPLETE "Grzanie OK."
#define MSG_BED_HEATING "Grzanie stolika.."
#define MSG_BED_DONE "Stolik OK."
#define MSG_LANGUAGE_NAME "Polski"
#define MSG_LANGUAGE_SELECT "Wybor jezyka"
#define MSG_PRUSA3D "prusa3d.cz"
#define MSG_PRUSA3D_FORUM "forum.prusa3d.cz"
#define MSG_PRUSA3D_HOWTO "howto.prusa3d.cz"
// Do not translate those!
#define MSG_Enqueing "enqueing \""
#define MSG_POWERUP "PowerUp"
#define MSG_CONFIGURATION_VER " Last Updated: "
#define MSG_FREE_MEMORY " Free Memory: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
#define MSG_BEGIN_FILE_LIST "Begin file list"
#define MSG_END_FILE_LIST "End file list"
#define MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
#define MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
#define MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
#define MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
#define MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n"
#define MSG_ERR_KILLED "Printer halted. kill() called!"
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
#define MSG_RESEND "Resend: "
#define MSG_M119_REPORT "Reporting endstop status"
#define MSG_ENDSTOP_HIT "TRIGGERED"
#define MSG_ENDSTOP_OPEN "open"
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
#define MSG_SD_INIT_FAIL "SD init fail"
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
#define MSG_SD_CARD_OK "SD card ok"
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
#define MSG_SD_FILE_OPENED "File opened: "
#define MSG_SD_FILE_SELECTED "File selected"
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
#define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: "
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
#define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Dostavovani Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
#define MSG_SET_HOME_OFFSETS "Nastav pocatek home"
#define MSG_SET_ORIGIN "Nastav pocatek"
#define MSG_SWITCH_PS_ON "Vypnout zdroj"
#define MSG_SWITCH_PS_OFF "Zapnout zdroj"
#define MSG_NOZZLE1 "Tryska2"
#define MSG_NOZZLE2 "Tryska3"
#define MSG_FLOW0 "Prutok 0"
#define MSG_FLOW1 "Prutok 1"
#define MSG_FLOW2 "Prutok 2"
#define MSG_CONTROL "Kontrola"
#define MSG_MIN " \002 Min"
#define MSG_MAX " \002 Max"
#define MSG_FACTOR " \002 Fact"
#define MSG_MOTION "Pohyb"
#define MSG_VOLUMETRIC "Filament"
#define MSG_VOLUMETRIC_ENABLED "E in mm3"
#define MSG_STORE_EPROM "Store memory"
#define MSG_LOAD_EPROM "Ulozit pamet"
#define MSG_RESTORE_FAILSAFE "Obnovit vychozi"
#define MSG_REFRESH "\xF8" "Obnovit"
#define MSG_INIT_SDCARD "Inic. SD"
#define MSG_CNG_SDCARD "Vymenit SD"
#define MSG_BABYSTEP_X "Babystep X"
#define MSG_BABYSTEP_Y "Babystep Y"
#define MSG_RECTRACT "Rectract"
#define MSG_HOMEYZ "Kalibruj Z"
#define MSG_HOMEYZ_PROGRESS "Kalibruje Z"
#define MSG_HOMEYZ_DONE "Kalibracja OK"
#define MSG_SELFTEST_ERROR "Selftest error !"
#define MSG_SELFTEST_PLEASECHECK "Skontroluj :"
#define MSG_SELFTEST_NOTCONNECTED "Nie podlaczono "
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
#define MSG_SELFTEST_BEDHEATER "Bed / Heater"
#define MSG_SELFTEST_WIRINGERROR "Blad polaczenia"
#define MSG_SELFTEST_ENDSTOPS "Endstops"
#define MSG_SELFTEST_MOTOR "Silnik"
#define MSG_SELFTEST_ENDSTOP "Endstop"
#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
#define MSG_SELFTEST_OK "Self test OK"
#define(length=20) MSG_SELFTEST_FAN "Test wentylatora";
#define(length=20) MSG_SELFTEST_COOLING_FAN "Przodni went. druku?";
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Lewy went na dysze?";
#define MSG_SELFTEST_FAN_YES "Kreci sie";
#define MSG_SELFTEST_FAN_NO "Nekreci sie";
#define MSG_STATS_TOTALFILAMENT "Filament lacznie :"
#define MSG_STATS_TOTALPRINTTIME "Czas calkowity :"
#define MSG_STATS_FILAMENTUSED "Filament : "
#define MSG_STATS_PRINTTIME "Czas druku : "
#define MSG_SELFTEST_START "Self test start "
#define MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
#define MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend "
#define MSG_SELFTEST_CHECK_X "Kontrola X axis "
#define MSG_SELFTEST_CHECK_Y "Kontrola Y axis "
#define MSG_SELFTEST_CHECK_Z "Kontrola Z axis "
#define MSG_SELFTEST_CHECK_BED "Kontrola bed "
#define MSG_SELFTEST_CHECK_ALLCORRECT "Wszystko OK "
#define MSG_SELFTEST "Selftest "
#define MSG_SELFTEST_FAILED "Selftest nieudany"
#define MSG_STATISTICS "Statystyka "
#define MSG_USB_PRINTING "Druk z USB "
#define MSG_SHOW_END_STOPS "Pokaz krancowki"
#define MSG_CALIBRATE_BED "Kalibracja XYZ"
#define MSG_CALIBRATE_BED_RESET "Reset kalibr. XYZ"
#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
#define MSG_CONFIRM_NOZZLE_CLEAN "Dla prawidl. kalibracji prosze oczyscic dysze. Potw. guzikiem."
#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Oba wozki dojechaly do gornej ramy?"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Szukam punktu kalibracyjnego podkladki"
#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Poprawiam precyzyjnosc punktu kalibracyjnego"
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Okreslam wysokosc odniesienia punktu kalibracyjnego"
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracja "
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibr. XYZ nieudana. Kalibracyjny punkt podkladki nieznaleziony."
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!"
#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibracja XYZ prawidlowa. Skosy beda automatycznie wyrownane przy druku."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibr. XYZ nieudana. Lewy przedni punkt zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibr. XYZ nieudana. Prawy przedni punkt zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibr. XYZ nieudana. Przed. punkty kalibr. zbyt do przodu. Wyrownac drukarke."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu."
#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibr. XYZ niedokladna. Przednie punkty kalibr. Zbyt wys. do przodu."
#define MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset."
#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset."
#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset."
#define MSG_NEW_FIRMWARE_AVAILABLE "Wyszla nowa wersja firmware:"
#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosze zaktualizowac"
#define MSG_FOLLOW_CALIBRATION_FLOW "Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
#define MSG_BABYSTEP_Z_NOT_SET "Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
#define MSG_BED_CORRECTION_MENU "Korekta podkladki"
#define MSG_BED_CORRECTION_LEFT "W lewo [um]"
#define MSG_BED_CORRECTION_RIGHT "W prawo [um]"
#define MSG_BED_CORRECTION_FRONT "Do przodu [um]"
#define MSG_BED_CORRECTION_REAR "Do tylu [um]"
#define MSG_BED_CORRECTION_RESET "Reset"
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
#define MSG_MENU_CALIBRATION "Kalibracja"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "karta SD [normal]"
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "karta SD[FlshAir]"
#define MSG_LOOSE_PULLEY "Kolo pasowe"
#define MSG_FILAMENT_LOADING_T0 "Wloz filament do ekstrudera 1. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T1 "Wloz filament do ekstrudera 2. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T2 "Wloz filament do ekstrudera 3. Potwierdz przyciskiem."
#define MSG_FILAMENT_LOADING_T3 "Wloz filament do ekstrudera 4. Potwierdz przyciskiem."
#define MSG_CHANGE_EXTR "Zmienic ekstruder"
#define MSG_FIL_ADJUSTING "Przebiega wyrownanie filamentow. Prosze czekac."
#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem."
#define MSG_CALIBRATE_E "Kalibruj E"
#define MSG_E_CAL_KNOB "Prosze otaczac przycisk poki znacznik nie dosiegnie ciala ekstrudera. Potwierdzic przyciskiem."
#define MSG_MARK_FIL "Prosze oznaczyc filament 100 mm od ciala ekstrudera. Potwierdzic przyciskiem."
#define MSG_CLEAN_NOZZLE_E "Kalibracja E skonczona. Prosze oczyscic dysze. Potem potwierdzic przyciskiem. "
#define MSG_WAITING_TEMP "Oczekiwanie na wychlodzenie dyszy i podkladki."
#define MSG_FILAMENT_CLEAN "Czy kolor jest czysty?"
#define MSG_UNLOADING_FILAMENT "Wysuwam filament"
#define MSG_PAPER "Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke."
#define MSG_FINISHING_MOVEMENTS "Konczenie druku"
#define MSG_PRINT_PAUSED "Druk zatrzymany"
#define MSG_RESUMING_PRINT "Wznawianie druku"
#define MSG_PID_EXTRUDER "Kalibracja PID"
#define MSG_SET_TEMPERATURE "Ustawic temperature"
#define MSG_PID_FINISHED "Kal. PID zakonczona"
#define MSG_PID_RUNNING "Kal. PID"
#define MSG_CALIBRATE_PINDA "Skalibrowac"
#define MSG_CALIBRATION_PINDA_MENU "Cieplna kalibr."
#define MSG_PINDA_NOT_CALIBRATED "Cieplna kalibracja nie byla przeprowadzona"
#define MSG_PINDA_PREHEAT "Grzanie PINDA"
#define MSG_TEMP_CALIBRATION "Ciepl. kal. "
#define MSG_TEMP_CALIBRATION_DONE "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
#define MSG_TEMP_CALIBRATION_ON "Ciepl. kal. [ON]"
#define MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]"
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
#define MSG_LOAD_ALL "Zalad. wszystkie"
#define MSG_LOAD_FILAMENT_1 "Zaladowac fil. 1"
#define MSG_LOAD_FILAMENT_2 "Zaladowac fil. 2"
#define MSG_LOAD_FILAMENT_3 "Zaladowac fil. 3"
#define MSG_LOAD_FILAMENT_4 "Zaladowac fil. 4"
#define MSG_UNLOAD_FILAMENT_1 "Wyjac filament 1"
#define MSG_UNLOAD_FILAMENT_2 "Wyjac filament 2"
#define MSG_UNLOAD_FILAMENT_3 "Wyjac filament 3"
#define MSG_UNLOAD_FILAMENT_4 "Wyjac filament 4"
#define MSG_UNLOAD_ALL "Wyjac wszystkie"
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
#define MSG_ALL "Wszystko"
#define MSG_USED "Uzyte przy druku"
#define MSG_CURRENT "Tylko aktualne"
#define MSG_CHOOSE_EXTRUDER "Wybierz ekstruder"
#define MSG_EXTRUDER "Ekstruder"
#define MSG_EXTRUDER_1 "Ekstruder 1"
#define MSG_EXTRUDER_2 "Ekstruder 2"
#define MSG_EXTRUDER_3 "Ekstruder 3"
#define MSG_EXTRUDER_4 "Ekstruder 4"
#define MSG_DATE "Data:"
#define MSG_XYZ_DETAILS "Szczegoly kal.XYZ"
#define MSG_Y_DISTANCE_FROM_MIN "Odleglosc Y od min.:"
#define MSG_LEFT "Lewy:"
#define MSG_CENTER "Srodek:"
#define MSG_RIGHT "Prawy:"
#define MSG_MEASURED_SKEW "Zmier. sciecie:"
#define MSG_SLIGHT_SKEW "Lekkie sciecie:"
#define MSG_SEVERE_SKEW "Ostre sciecie:"

View File

@ -1,384 +1,384 @@
#ifndef PINS_H
#define PINS_H
#include "boards.h"
#if !MB(5DPRINT)
#define X_MS1_PIN -1
#define X_MS2_PIN -1
#define Y_MS1_PIN -1
#define Y_MS2_PIN -1
#define Z_MS1_PIN -1
#define Z_MS2_PIN -1
#define E0_MS1_PIN -1
#define E0_MS2_PIN -1
#define E1_MS1_PIN -1
#define E1_MS2_PIN -1
#define DIGIPOTSS_PIN -1
#endif
#define LARGE_FLASH true
/*****************************************************************
* Rambo Pin Assignments 1.3
******************************************************************/
#if MOTHERBOARD == 302
#define MINI_RAMBO
#endif
#if MOTHERBOARD == 301 || MOTHERBOARD == 302
#define KNOWN_BOARD
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif
#define FR_SENS 24
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define TEMP_BED_PIN 2
#define TEMP_0_PIN 0
#define HEATER_1_PIN 7
#define TEMP_1_PIN 1
#define TEMP_2_PIN -1
#ifdef SNMM
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#endif
#ifdef DIS
#define D_REQUIRE 30
#define D_DATA 20
#define D_DATACLOCK 21
#endif
// The SDSS pin uses a different pin mapping from file Sd2PinMap.h
#define SDSS 53
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#endif
#define BEEPER 84
#define BTN_EN1 72
#define BTN_EN2 14
#define BTN_ENC 9
#define SDCARDDETECT 15
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define LED_PIN 13
#ifdef THREEMM_PRINTER
#define FAN_PIN 8
#else
#define FAN_PIN 6
#endif
#define KILL_PIN -1 //80 with Smart Controller LCD
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#define SDPOWER -1
#define HEATER_2_PIN -1
#ifdef MINI_RAMBO
#define ELECTRONICS "RAMBo13a"
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#define FAN_1_PIN -1 //6
#define PS_ON_PIN 71
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
#else //RAMBo
#define ELECTRONICS "RAMBoBig"
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
#define HEATER_0_PIN 9
#define HEATER_BED_PIN 3
#define PS_ON_PIN 4
#define SDSS 53
#ifdef ULTRA_LCD
#define KILL_PIN 80
#ifdef NEWPANEL
//arduino pin which triggers an piezzo beeper
#define BEEPER 84 // Beeper on AUX-4
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
//buttons are directly attached using AUX-2
#define BTN_EN1 76
#define BTN_EN2 77
#define BTN_ENC 78 //the click
#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0
#define SDCARDDETECT 81 // Ramps does not use this port
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#else //old style panel with shift register
//arduino pin witch triggers an piezzo beeper
#define BEEPER 84 //No Beeper added
//buttons are attached to a shift register
// Not wired this yet
// #define SHIFT_CLK 38
// #define SHIFT_LD 42
// #define SHIFT_OUT 40
// #define SHIFT_EN 17
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
//bits in the shift register that carry the buttons for:
// left up center down right red
#define BL_LE 7
#define BL_UP 6
#define BL_MI 5
#define BL_DW 4
#define BL_RI 3
#define BL_ST 2
#define BLEN_B 1
#define BLEN_A 0
#endif
#endif //ULTRA_LCD
#endif //RAMBo/MiniRambo option
#endif
/*****************************************************************
* Rambo mini Pin Assignments 1.0
******************************************************************/
#if MOTHERBOARD == 102
#define ELECTRONICS "RAMBo10a"
#define KNOWN_BOARD
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif
#define FR_SENS 24
#ifdef SNMM
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#endif
#define LARGE_FLASH true
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define TEMP_BED_PIN 2
#define TEMP_0_PIN 0
#define HEATER_1_PIN 7
#define TEMP_1_PIN 1
#define TEMP_2_PIN -1
// The SDSS pin uses a different pin mapping from file Sd2PinMap.h
#define SDSS 53
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#endif
#define BEEPER 78
#define BTN_EN1 80
#define BTN_EN2 73
#define BTN_ENC 21
#define SDCARDDETECT 72
#define LCD_PINS_RS 38
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 14
#define LCD_PINS_D5 15
#define LCD_PINS_D6 32
#define LCD_PINS_D7 31
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define LED_PIN 13
#ifdef THREEMM_PRINTER
#define FAN_PIN 8
#else
#define FAN_PIN 6
#endif
#define KILL_PIN -1 //80 with Smart Controller LCD
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#define SDPOWER -1
#define HEATER_2_PIN -1
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#define FAN_1_PIN -1 //6
#define PS_ON_PIN 71
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
#endif
#ifndef KNOWN_BOARD
#error Unknown MOTHERBOARD value in configuration.h
#endif
//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
#define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
#if EXTRUDERS > 1
#define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
#else
#define _E1_PINS
#endif
#if EXTRUDERS > 2
#define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
#else
#define _E2_PINS
#endif
#ifdef X_STOP_PIN
#if X_HOME_DIR < 0
#define X_MIN_PIN X_STOP_PIN
#define X_MAX_PIN -1
#else
#define X_MIN_PIN -1
#define X_MAX_PIN X_STOP_PIN
#endif
#endif
#ifdef Y_STOP_PIN
#if Y_HOME_DIR < 0
#define Y_MIN_PIN Y_STOP_PIN
#define Y_MAX_PIN -1
#else
#define Y_MIN_PIN -1
#define Y_MAX_PIN Y_STOP_PIN
#endif
#endif
#ifdef Z_STOP_PIN
#if Z_HOME_DIR < 0
#define Z_MIN_PIN Z_STOP_PIN
#define Z_MAX_PIN -1
#else
#define Z_MIN_PIN -1
#define Z_MAX_PIN Z_STOP_PIN
#endif
#endif
#ifdef DISABLE_MAX_ENDSTOPS
#define X_MAX_PIN -1
#define Y_MAX_PIN -1
#define Z_MAX_PIN -1
#endif
#ifdef DISABLE_MIN_ENDSTOPS
#define X_MIN_PIN -1
#define Y_MIN_PIN -1
#define Z_MIN_PIN -1
#endif
#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, PS_ON_PIN, \
HEATER_BED_PIN, FAN_PIN, \
_E0_PINS _E1_PINS _E2_PINS \
analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
#endif //__PINS_H
#ifndef PINS_H
#define PINS_H
#include "boards.h"
#if !MB(5DPRINT)
#define X_MS1_PIN -1
#define X_MS2_PIN -1
#define Y_MS1_PIN -1
#define Y_MS2_PIN -1
#define Z_MS1_PIN -1
#define Z_MS2_PIN -1
#define E0_MS1_PIN -1
#define E0_MS2_PIN -1
#define E1_MS1_PIN -1
#define E1_MS2_PIN -1
#define DIGIPOTSS_PIN -1
#endif
#define LARGE_FLASH true
/*****************************************************************
* Rambo Pin Assignments 1.3
******************************************************************/
#if MOTHERBOARD == 302
#define MINI_RAMBO
#endif
#if MOTHERBOARD == 301 || MOTHERBOARD == 302
#define KNOWN_BOARD
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif
#define FR_SENS 24
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define TEMP_BED_PIN 2
#define TEMP_0_PIN 0
#define HEATER_1_PIN 7
#define TEMP_1_PIN 1
#define TEMP_2_PIN -1
#ifdef SNMM
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#endif
#ifdef DIS
#define D_REQUIRE 30
#define D_DATA 20
#define D_DATACLOCK 21
#endif
// The SDSS pin uses a different pin mapping from file Sd2PinMap.h
#define SDSS 53
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#endif
#define BEEPER 84
#define BTN_EN1 72
#define BTN_EN2 14
#define BTN_ENC 9
#define SDCARDDETECT 15
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define LED_PIN 13
#ifdef THREEMM_PRINTER
#define FAN_PIN 8
#else
#define FAN_PIN 6
#endif
#define KILL_PIN -1 //80 with Smart Controller LCD
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#define SDPOWER -1
#define HEATER_2_PIN -1
#ifdef MINI_RAMBO
#define ELECTRONICS "RAMBo13a"
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#define FAN_1_PIN -1 //6
#define PS_ON_PIN 71
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
#else //RAMBo
#define ELECTRONICS "RAMBoBig"
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
#define E1_MS1_PIN 63
#define E1_MS2_PIN 64
#define DIGIPOTSS_PIN 38
#define DIGIPOT_CHANNELS {4,5,3,0,1} // X Y Z E0 E1 digipot channels to stepper driver mapping
#define HEATER_0_PIN 9
#define HEATER_BED_PIN 3
#define PS_ON_PIN 4
#define SDSS 53
#ifdef ULTRA_LCD
#define KILL_PIN 80
#ifdef NEWPANEL
//arduino pin which triggers an piezzo beeper
#define BEEPER 84 // Beeper on AUX-4
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
//buttons are directly attached using AUX-2
#define BTN_EN1 76
#define BTN_EN2 77
#define BTN_ENC 78 //the click
#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0
#define SDCARDDETECT 81 // Ramps does not use this port
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#else //old style panel with shift register
//arduino pin witch triggers an piezzo beeper
#define BEEPER 84 //No Beeper added
//buttons are attached to a shift register
// Not wired this yet
// #define SHIFT_CLK 38
// #define SHIFT_LD 42
// #define SHIFT_OUT 40
// #define SHIFT_EN 17
#define LCD_PINS_RS 82
#define LCD_PINS_ENABLE 18
#define LCD_PINS_D4 19
#define LCD_PINS_D5 70
#define LCD_PINS_D6 85
#define LCD_PINS_D7 71
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
//bits in the shift register that carry the buttons for:
// left up center down right red
#define BL_LE 7
#define BL_UP 6
#define BL_MI 5
#define BL_DW 4
#define BL_RI 3
#define BL_ST 2
#define BLEN_B 1
#define BLEN_A 0
#endif
#endif //ULTRA_LCD
#endif //RAMBo/MiniRambo option
#endif
/*****************************************************************
* Rambo mini Pin Assignments 1.0
******************************************************************/
#if MOTHERBOARD == 102
#define ELECTRONICS "RAMBo10a"
#define KNOWN_BOARD
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega 2560' selected from the 'Tools -> Boards' menu.
#endif
#define FR_SENS 24
#ifdef SNMM
#define E_MUX0_PIN 17
#define E_MUX1_PIN 16
#endif
#define LARGE_FLASH true
#define X_STEP_PIN 37
#define X_DIR_PIN 48
#define X_MIN_PIN 12
#define X_MAX_PIN 30
#define X_ENABLE_PIN 29
#define X_MS1_PIN 40
#define X_MS2_PIN 41
#define Y_STEP_PIN 36
#define Y_DIR_PIN 49
#define Y_MIN_PIN 11
#define Y_MAX_PIN -1
#define Y_ENABLE_PIN 28
#define Y_MS1_PIN 69
#define Y_MS2_PIN 39
#define Z_STEP_PIN 35
#define Z_DIR_PIN 47
#define Z_MIN_PIN 10
#define Z_MAX_PIN 23
#define Z_ENABLE_PIN 27
#define Z_MS1_PIN 68
#define Z_MS2_PIN 67
#define TEMP_BED_PIN 2
#define TEMP_0_PIN 0
#define HEATER_1_PIN 7
#define TEMP_1_PIN 1
#define TEMP_2_PIN -1
// The SDSS pin uses a different pin mapping from file Sd2PinMap.h
#define SDSS 53
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#endif
#define BEEPER 78
#define BTN_EN1 80
#define BTN_EN2 73
#define BTN_ENC 21
#define SDCARDDETECT 72
#define LCD_PINS_RS 38
#define LCD_PINS_ENABLE 5
#define LCD_PINS_D4 14
#define LCD_PINS_D5 15
#define LCD_PINS_D6 32
#define LCD_PINS_D7 31
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E0_MS1_PIN 65
#define E0_MS2_PIN 66
#define LED_PIN 13
#ifdef THREEMM_PRINTER
#define FAN_PIN 8
#else
#define FAN_PIN 6
#endif
#define KILL_PIN -1 //80 with Smart Controller LCD
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#define SDPOWER -1
#define HEATER_2_PIN -1
#define HEATER_0_PIN 3
#define HEATER_BED_PIN 4
#define FAN_1_PIN -1 //6
#define PS_ON_PIN 71
#define MOTOR_CURRENT_PWM_XY_PIN 46
#define MOTOR_CURRENT_PWM_Z_PIN 45
#define MOTOR_CURRENT_PWM_E_PIN 44
#endif
#ifndef KNOWN_BOARD
#error Unknown MOTHERBOARD value in configuration.h
#endif
//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those!
#define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN,
#if EXTRUDERS > 1
#define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN,
#else
#define _E1_PINS
#endif
#if EXTRUDERS > 2
#define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN,
#else
#define _E2_PINS
#endif
#ifdef X_STOP_PIN
#if X_HOME_DIR < 0
#define X_MIN_PIN X_STOP_PIN
#define X_MAX_PIN -1
#else
#define X_MIN_PIN -1
#define X_MAX_PIN X_STOP_PIN
#endif
#endif
#ifdef Y_STOP_PIN
#if Y_HOME_DIR < 0
#define Y_MIN_PIN Y_STOP_PIN
#define Y_MAX_PIN -1
#else
#define Y_MIN_PIN -1
#define Y_MAX_PIN Y_STOP_PIN
#endif
#endif
#ifdef Z_STOP_PIN
#if Z_HOME_DIR < 0
#define Z_MIN_PIN Z_STOP_PIN
#define Z_MAX_PIN -1
#else
#define Z_MIN_PIN -1
#define Z_MAX_PIN Z_STOP_PIN
#endif
#endif
#ifdef DISABLE_MAX_ENDSTOPS
#define X_MAX_PIN -1
#define Y_MAX_PIN -1
#define Z_MAX_PIN -1
#endif
#ifdef DISABLE_MIN_ENDSTOPS
#define X_MIN_PIN -1
#define Y_MIN_PIN -1
#define Z_MIN_PIN -1
#endif
#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, PS_ON_PIN, \
HEATER_BED_PIN, FAN_PIN, \
_E0_PINS _E1_PINS _E2_PINS \
analogInputToDigitalPin(TEMP_0_PIN), analogInputToDigitalPin(TEMP_1_PIN), analogInputToDigitalPin(TEMP_2_PIN), analogInputToDigitalPin(TEMP_BED_PIN) }
#endif //__PINS_H

File diff suppressed because it is too large Load Diff

View File

@ -1,217 +1,208 @@
/*
planner.h - buffers movement commands and manages the acceleration profile plan
Part of Grbl
Copyright (c) 2009-2011 Simen Svale Skogsrud
Grbl 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.
Grbl 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 Grbl. If not, see <http://www.gnu.org/licenses/>.
*/
// This module is to be considered a sub-module of stepper.c. Please don't include
// this file from any other module.
#ifndef planner_h
#define planner_h
#include "Marlin.h"
#ifdef ENABLE_AUTO_BED_LEVELING
#include "vector_3.h"
#endif // ENABLE_AUTO_BED_LEVELING
enum BlockFlag {
// Planner flag to recalculate trapezoids on entry junction.
// This flag has an optimization purpose only.
BLOCK_FLAG_RECALCULATE = 1,
// Planner flag for nominal speed always reached. That means, the segment is long enough, that the nominal speed
// may be reached if accelerating from a safe speed (in the regard of jerking from zero speed).
BLOCK_FLAG_NOMINAL_LENGTH = 2,
// If set, the machine will start from a halt at the start of this block,
// respecting the maximum allowed jerk.
BLOCK_FLAG_START_FROM_FULL_HALT = 4,
};
// This struct is used when buffering the setup for each linear movement "nominal" values are as specified in
// the source g-code and may never actually be reached if acceleration management is active.
typedef struct {
// Fields used by the bresenham algorithm for tracing the line
// steps_x.y,z, step_event_count, acceleration_rate, direction_bits and active_extruder are set by plan_buffer_line().
long steps_x, steps_y, steps_z, steps_e; // Step count along each axis
unsigned long step_event_count; // The number of step events required to complete this block
long acceleration_rate; // The acceleration rate used for acceleration calculation
unsigned char direction_bits; // The direction bit set for this block (refers to *_DIRECTION_BIT in config.h)
unsigned char active_extruder; // Selects the active extruder
// accelerate_until and decelerate_after are set by calculate_trapezoid_for_block() and they need to be synchronized with the stepper interrupt controller.
long accelerate_until; // The index of the step event on which to stop acceleration
long decelerate_after; // The index of the step event on which to start decelerating
// Fields used by the motion planner to manage acceleration
// float speed_x, speed_y, speed_z, speed_e; // Nominal mm/sec for each axis
// The nominal speed for this block in mm/sec.
// This speed may or may not be reached due to the jerk and acceleration limits.
float nominal_speed;
// Entry speed at previous-current junction in mm/sec, respecting the acceleration and jerk limits.
// The entry speed limit of the current block equals the exit speed of the preceding block.
float entry_speed;
// Maximum allowable junction entry speed in mm/sec. This value is also a maximum exit speed of the previous block.
float max_entry_speed;
// The total travel of this block in mm
float millimeters;
// acceleration mm/sec^2
float acceleration;
// Bit flags defined by the BlockFlag enum.
bool flag;
// Settings for the trapezoid generator (runs inside an interrupt handler).
// Changing the following values in the planner needs to be synchronized with the interrupt handler by disabling the interrupts.
//FIXME nominal_rate, initial_rate and final_rate are limited to uint16_t by MultiU24X24toH16 in the stepper interrupt anyway!
unsigned long nominal_rate; // The nominal step rate for this block in step_events/sec
unsigned long initial_rate; // The jerk-adjusted step rate at start of block
unsigned long final_rate; // The minimal rate at exit
unsigned long acceleration_st; // acceleration steps/sec^2
//FIXME does it have to be unsigned long? Probably uint8_t would be just fine.
unsigned long fan_speed;
volatile char busy;
// Pre-calculated division for the calculate_trapezoid_for_block() routine to run faster.
float speed_factor;
#ifdef LIN_ADVANCE
bool use_advance_lead;
unsigned long abs_adv_steps_multiplier8; // Factorised by 2^8 to avoid float
#endif
} block_t;
#ifdef LIN_ADVANCE
extern float extruder_advance_k, advance_ed_ratio;
#endif
#ifdef ENABLE_AUTO_BED_LEVELING
// this holds the required transform to compensate for bed level
extern matrix_3x3 plan_bed_level_matrix;
#endif // #ifdef ENABLE_AUTO_BED_LEVELING
// Initialize the motion plan subsystem
void plan_init();
// Add a new linear movement to the buffer. x, y and z is the signed, absolute target position in
// millimaters. Feed rate specifies the speed of the motion.
#ifdef ENABLE_AUTO_BED_LEVELING
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
// Get the position applying the bed level matrix if enabled
vector_3 plan_get_position();
#else
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
//void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder);
#endif // ENABLE_AUTO_BED_LEVELING
// Set position. Used for G92 instructions.
//#ifdef ENABLE_AUTO_BED_LEVELING
void plan_set_position(float x, float y, float z, const float &e);
//#else
//void plan_set_position(const float &x, const float &y, const float &z, const float &e);
//#endif // ENABLE_AUTO_BED_LEVELING
void plan_set_z_position(const float &z);
void plan_set_e_position(const float &e);
void check_axes_activity();
extern unsigned long minsegmenttime;
extern float max_feedrate[NUM_AXIS]; // set the max speeds
extern float axis_steps_per_unit[NUM_AXIS];
extern unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software
extern float minimumfeedrate;
extern float acceleration; // Normal acceleration mm/s^2 THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX
extern float retract_acceleration; // mm/s^2 filament pull-pack and push-forward while standing still in the other axis M204 TXXXX
// Jerk is a maximum immediate velocity change.
extern float max_jerk[NUM_AXIS];
extern float mintravelfeedrate;
extern unsigned long axis_steps_per_sqr_second[NUM_AXIS];
#ifdef AUTOTEMP
extern bool autotemp_enabled;
extern float autotemp_max;
extern float autotemp_min;
extern float autotemp_factor;
#endif
extern block_t block_buffer[BLOCK_BUFFER_SIZE]; // A ring buffer for motion instfructions
extern volatile unsigned char block_buffer_head; // Index of the next block to be pushed
extern volatile unsigned char block_buffer_tail;
// Called when the current block is no longer needed. Discards the block and makes the memory
// available for new blocks.
FORCE_INLINE void plan_discard_current_block()
{
if (block_buffer_head != block_buffer_tail) {
block_buffer_tail = (block_buffer_tail + 1) & (BLOCK_BUFFER_SIZE - 1);
}
}
// Gets the current block. Returns NULL if buffer empty
FORCE_INLINE block_t *plan_get_current_block()
{
if (block_buffer_head == block_buffer_tail) {
return(NULL);
}
block_t *block = &block_buffer[block_buffer_tail];
block->busy = true;
return(block);
}
// Returns true if the buffer has a queued block, false otherwise
FORCE_INLINE bool blocks_queued() {
return (block_buffer_head != block_buffer_tail);
}
//return the nr of buffered moves
FORCE_INLINE uint8_t moves_planned() {
return (block_buffer_head + BLOCK_BUFFER_SIZE - block_buffer_tail) & (BLOCK_BUFFER_SIZE - 1);
}
FORCE_INLINE bool planner_queue_full() {
unsigned char next_block_index = block_buffer_head;
if (++ next_block_index == BLOCK_BUFFER_SIZE)
next_block_index = 0;
return block_buffer_tail == next_block_index;
}
// Abort the stepper routine, clean up the block queue,
// wait for the steppers to stop,
// update planner's current position and the current_position of the front end.
extern void planner_abort_hard();
#ifdef PREVENT_DANGEROUS_EXTRUDE
void set_extrude_min_temp(float temp);
#endif
void reset_acceleration_rates();
#endif
// #define PLANNER_DIAGNOSTICS
#ifdef PLANNER_DIAGNOSTICS
// Diagnostic functions to display planner buffer underflow on the display.
extern uint8_t planner_queue_min();
// Diagnostic function: Reset the minimum planner segments.
extern void planner_queue_min_reset();
#endif /* PLANNER_DIAGNOSTICS */
/*
planner.h - buffers movement commands and manages the acceleration profile plan
Part of Grbl
Copyright (c) 2009-2011 Simen Svale Skogsrud
Grbl 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.
Grbl 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 Grbl. If not, see <http://www.gnu.org/licenses/>.
*/
// This module is to be considered a sub-module of stepper.c. Please don't include
// this file from any other module.
#ifndef planner_h
#define planner_h
#include "Marlin.h"
#ifdef ENABLE_AUTO_BED_LEVELING
#include "vector_3.h"
#endif // ENABLE_AUTO_BED_LEVELING
enum BlockFlag {
// Planner flag to recalculate trapezoids on entry junction.
// This flag has an optimization purpose only.
BLOCK_FLAG_RECALCULATE = 1,
// Planner flag for nominal speed always reached. That means, the segment is long enough, that the nominal speed
// may be reached if accelerating from a safe speed (in the regard of jerking from zero speed).
BLOCK_FLAG_NOMINAL_LENGTH = 2,
// If set, the machine will start from a halt at the start of this block,
// respecting the maximum allowed jerk.
BLOCK_FLAG_START_FROM_FULL_HALT = 4,
};
// This struct is used when buffering the setup for each linear movement "nominal" values are as specified in
// the source g-code and may never actually be reached if acceleration management is active.
typedef struct {
// Fields used by the bresenham algorithm for tracing the line
// steps_x.y,z, step_event_count, acceleration_rate, direction_bits and active_extruder are set by plan_buffer_line().
long steps_x, steps_y, steps_z, steps_e; // Step count along each axis
unsigned long step_event_count; // The number of step events required to complete this block
long acceleration_rate; // The acceleration rate used for acceleration calculation
unsigned char direction_bits; // The direction bit set for this block (refers to *_DIRECTION_BIT in config.h)
unsigned char active_extruder; // Selects the active extruder
// accelerate_until and decelerate_after are set by calculate_trapezoid_for_block() and they need to be synchronized with the stepper interrupt controller.
long accelerate_until; // The index of the step event on which to stop acceleration
long decelerate_after; // The index of the step event on which to start decelerating
// Fields used by the motion planner to manage acceleration
// float speed_x, speed_y, speed_z, speed_e; // Nominal mm/sec for each axis
// The nominal speed for this block in mm/sec.
// This speed may or may not be reached due to the jerk and acceleration limits.
float nominal_speed;
// Entry speed at previous-current junction in mm/sec, respecting the acceleration and jerk limits.
// The entry speed limit of the current block equals the exit speed of the preceding block.
float entry_speed;
// Maximum allowable junction entry speed in mm/sec. This value is also a maximum exit speed of the previous block.
float max_entry_speed;
// The total travel of this block in mm
float millimeters;
// acceleration mm/sec^2
float acceleration;
// Bit flags defined by the BlockFlag enum.
bool flag;
// Settings for the trapezoid generator (runs inside an interrupt handler).
// Changing the following values in the planner needs to be synchronized with the interrupt handler by disabling the interrupts.
//FIXME nominal_rate, initial_rate and final_rate are limited to uint16_t by MultiU24X24toH16 in the stepper interrupt anyway!
unsigned long nominal_rate; // The nominal step rate for this block in step_events/sec
unsigned long initial_rate; // The jerk-adjusted step rate at start of block
unsigned long final_rate; // The minimal rate at exit
unsigned long acceleration_st; // acceleration steps/sec^2
//FIXME does it have to be unsigned long? Probably uint8_t would be just fine.
unsigned long fan_speed;
volatile char busy;
// Pre-calculated division for the calculate_trapezoid_for_block() routine to run faster.
float speed_factor;
} block_t;
#ifdef ENABLE_AUTO_BED_LEVELING
// this holds the required transform to compensate for bed level
extern matrix_3x3 plan_bed_level_matrix;
#endif // #ifdef ENABLE_AUTO_BED_LEVELING
// Initialize the motion plan subsystem
void plan_init();
// Add a new linear movement to the buffer. x, y and z is the signed, absolute target position in
// millimaters. Feed rate specifies the speed of the motion.
#ifdef ENABLE_AUTO_BED_LEVELING
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
// Get the position applying the bed level matrix if enabled
vector_3 plan_get_position();
#else
void plan_buffer_line(float x, float y, float z, const float &e, float feed_rate, const uint8_t &extruder);
//void plan_buffer_line(const float &x, const float &y, const float &z, const float &e, float feed_rate, const uint8_t &extruder);
#endif // ENABLE_AUTO_BED_LEVELING
// Set position. Used for G92 instructions.
//#ifdef ENABLE_AUTO_BED_LEVELING
void plan_set_position(float x, float y, float z, const float &e);
//#else
//void plan_set_position(const float &x, const float &y, const float &z, const float &e);
//#endif // ENABLE_AUTO_BED_LEVELING
void plan_set_z_position(const float &z);
void plan_set_e_position(const float &e);
void check_axes_activity();
extern unsigned long minsegmenttime;
extern float max_feedrate[NUM_AXIS]; // set the max speeds
extern float axis_steps_per_unit[NUM_AXIS];
extern unsigned long max_acceleration_units_per_sq_second[NUM_AXIS]; // Use M201 to override by software
extern float minimumfeedrate;
extern float acceleration; // Normal acceleration mm/s^2 THIS IS THE DEFAULT ACCELERATION for all moves. M204 SXXXX
extern float retract_acceleration; // mm/s^2 filament pull-pack and push-forward while standing still in the other axis M204 TXXXX
// Jerk is a maximum immediate velocity change.
extern float max_jerk[NUM_AXIS];
extern float mintravelfeedrate;
extern unsigned long axis_steps_per_sqr_second[NUM_AXIS];
#ifdef AUTOTEMP
extern bool autotemp_enabled;
extern float autotemp_max;
extern float autotemp_min;
extern float autotemp_factor;
#endif
extern block_t block_buffer[BLOCK_BUFFER_SIZE]; // A ring buffer for motion instfructions
extern volatile unsigned char block_buffer_head; // Index of the next block to be pushed
extern volatile unsigned char block_buffer_tail;
// Called when the current block is no longer needed. Discards the block and makes the memory
// available for new blocks.
FORCE_INLINE void plan_discard_current_block()
{
if (block_buffer_head != block_buffer_tail) {
block_buffer_tail = (block_buffer_tail + 1) & (BLOCK_BUFFER_SIZE - 1);
}
}
// Gets the current block. Returns NULL if buffer empty
FORCE_INLINE block_t *plan_get_current_block()
{
if (block_buffer_head == block_buffer_tail) {
return(NULL);
}
block_t *block = &block_buffer[block_buffer_tail];
block->busy = true;
return(block);
}
// Returns true if the buffer has a queued block, false otherwise
FORCE_INLINE bool blocks_queued() {
return (block_buffer_head != block_buffer_tail);
}
//return the nr of buffered moves
FORCE_INLINE uint8_t moves_planned() {
return (block_buffer_head + BLOCK_BUFFER_SIZE - block_buffer_tail) & (BLOCK_BUFFER_SIZE - 1);
}
FORCE_INLINE bool planner_queue_full() {
unsigned char next_block_index = block_buffer_head;
if (++ next_block_index == BLOCK_BUFFER_SIZE)
next_block_index = 0;
return block_buffer_tail == next_block_index;
}
// Abort the stepper routine, clean up the block queue,
// wait for the steppers to stop,
// update planner's current position and the current_position of the front end.
extern void planner_abort_hard();
#ifdef PREVENT_DANGEROUS_EXTRUDE
void set_extrude_min_temp(float temp);
#endif
void reset_acceleration_rates();
#endif
// #define PLANNER_DIAGNOSTICS
#ifdef PLANNER_DIAGNOSTICS
// Diagnostic functions to display planner buffer underflow on the display.
extern uint8_t planner_queue_min();
// Diagnostic function: Reset the minimum planner segments.
extern void planner_queue_min_reset();
#endif /* PLANNER_DIAGNOSTICS */

File diff suppressed because it is too large Load Diff

View File

@ -1,107 +1,97 @@
/*
stepper.h - stepper motor driver: executes motion plans of planner.c using the stepper motors
Part of Grbl
Copyright (c) 2009-2011 Simen Svale Skogsrud
Grbl 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.
Grbl 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 Grbl. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef stepper_h
#define stepper_h
#include "planner.h"
#if EXTRUDERS > 2
#define WRITE_E_STEP(v) { if(current_block->active_extruder == 2) { WRITE(E2_STEP_PIN, v); } else { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}}
#define NORM_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, !INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}}
#define REV_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}}
#elif EXTRUDERS > 1
#define WRITE_E_STEP(v) { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}
#define NORM_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}
#define REV_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}
#else
#define WRITE_E_STEP(v) WRITE(E0_STEP_PIN, v)
#define NORM_E_DIR() WRITE(E0_DIR_PIN, !INVERT_E0_DIR)
#define REV_E_DIR() WRITE(E0_DIR_PIN, INVERT_E0_DIR)
#endif
#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
extern bool abort_on_endstop_hit;
#endif
// Initialize and start the stepper motor subsystem
void st_init();
// Interrupt Service Routines
void isr();
#ifdef LIN_ADVANCE
void advance_isr();
void advance_isr_scheduler();
void clear_current_adv_vars(); //Used to reset the built up pretension and remaining esteps on filament change.
#endif
// Block until all buffered steps are executed
void st_synchronize();
// Set current position in steps
void st_set_position(const long &x, const long &y, const long &z, const long &e);
void st_set_e_position(const long &e);
// Get current position in steps
long st_get_position(uint8_t axis);
// Get current position in mm
float st_get_position_mm(uint8_t axis);
// The stepper subsystem goes to sleep when it runs out of things to execute. Call this
// to notify the subsystem that it is time to go to work.
void st_wake_up();
void checkHitEndstops(); //call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered
bool endstops_hit_on_purpose(); //avoid creation of the message, i.e. after homing and before a routine call of checkHitEndstops();
bool endstop_z_hit_on_purpose();
bool enable_endstops(bool check); // Enable/disable endstop checking. Return the old value.
bool enable_z_endstop(bool check);
void checkStepperErrors(); //Print errors detected by the stepper
void finishAndDisableSteppers();
extern block_t *current_block; // A pointer to the block currently being traced
void quickStop();
void digitalPotWrite(int address, int value);
void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2);
void microstep_mode(uint8_t driver, uint8_t stepping);
void digipot_init();
void digipot_current(uint8_t driver, int current);
void microstep_init();
void microstep_readings();
#ifdef BABYSTEPPING
void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention
#endif
#endif
/*
stepper.h - stepper motor driver: executes motion plans of planner.c using the stepper motors
Part of Grbl
Copyright (c) 2009-2011 Simen Svale Skogsrud
Grbl 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.
Grbl 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 Grbl. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef stepper_h
#define stepper_h
#include "planner.h"
#if EXTRUDERS > 2
#define WRITE_E_STEP(v) { if(current_block->active_extruder == 2) { WRITE(E2_STEP_PIN, v); } else { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}}
#define NORM_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, !INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}}
#define REV_E_DIR() { if(current_block->active_extruder == 2) { WRITE(E2_DIR_PIN, INVERT_E2_DIR); } else { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}}
#elif EXTRUDERS > 1
#define WRITE_E_STEP(v) { if(current_block->active_extruder == 1) { WRITE(E1_STEP_PIN, v); } else { WRITE(E0_STEP_PIN, v); }}
#define NORM_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, !INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, !INVERT_E0_DIR); }}
#define REV_E_DIR() { if(current_block->active_extruder == 1) { WRITE(E1_DIR_PIN, INVERT_E1_DIR); } else { WRITE(E0_DIR_PIN, INVERT_E0_DIR); }}
#else
#define WRITE_E_STEP(v) WRITE(E0_STEP_PIN, v)
#define NORM_E_DIR() WRITE(E0_DIR_PIN, !INVERT_E0_DIR)
#define REV_E_DIR() WRITE(E0_DIR_PIN, INVERT_E0_DIR)
#endif
#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
extern bool abort_on_endstop_hit;
#endif
// Initialize and start the stepper motor subsystem
void st_init();
// Block until all buffered steps are executed
void st_synchronize();
// Set current position in steps
void st_set_position(const long &x, const long &y, const long &z, const long &e);
void st_set_e_position(const long &e);
// Get current position in steps
long st_get_position(uint8_t axis);
// Get current position in mm
float st_get_position_mm(uint8_t axis);
// The stepper subsystem goes to sleep when it runs out of things to execute. Call this
// to notify the subsystem that it is time to go to work.
void st_wake_up();
void checkHitEndstops(); //call from somewhere to create an serial error message with the locations the endstops where hit, in case they were triggered
bool endstops_hit_on_purpose(); //avoid creation of the message, i.e. after homing and before a routine call of checkHitEndstops();
bool endstop_z_hit_on_purpose();
bool enable_endstops(bool check); // Enable/disable endstop checking. Return the old value.
bool enable_z_endstop(bool check);
void checkStepperErrors(); //Print errors detected by the stepper
void finishAndDisableSteppers();
extern block_t *current_block; // A pointer to the block currently being traced
void quickStop();
void digitalPotWrite(int address, int value);
void microstep_ms(uint8_t driver, int8_t ms1, int8_t ms2);
void microstep_mode(uint8_t driver, uint8_t stepping);
void digipot_init();
void digipot_current(uint8_t driver, int current);
void microstep_init();
void microstep_readings();
#ifdef BABYSTEPPING
void babystep(const uint8_t axis,const bool direction); // perform a short step with a single stepper motor, outside of any convention
#endif
#endif

View File

@ -4051,7 +4051,6 @@ void lcd_sdcard_stop()
lcd_return_to_status();
lcd_ignore_click(true);
lcd_commands_type = LCD_COMMAND_STOP_PRINT;
// Turn off the print fan
@ -4902,9 +4901,6 @@ static void menu_action_sdfile(const char* filename, char* longFilename)
for (c = &cmd[4]; *c; c++)
*c = tolower(*c);
enquecommand(cmd);
for (int i = 0; i < 8; i++) {
eeprom_write_byte((uint8_t*)EEPROM_FILENAME+i, filename[i]);
}
enquecommand_P(PSTR("M24"));
lcd_return_to_status();
}

File diff suppressed because it is too large Load Diff