Merge remote-tracking branch 'upstream/Marlin_v1' into delta-configuration

Conflicts:
	Marlin/Marlin_main.cpp
This commit is contained in:
Jim Morris 2013-07-24 02:49:25 -07:00
commit b9d7ccf1cd
9 changed files with 1775 additions and 1551 deletions

View file

@ -28,6 +28,7 @@
// 3 = MEGA/RAMPS up to 1.2 = 3
// 33 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
// 34 = RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)
// 35 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Fan)
// 4 = Duemilanove w/ ATMega328P pin assignment
// 5 = Gen6
// 51 = Gen6 deluxe

View file

@ -146,6 +146,31 @@
#define EXTRUDERS 1
#endif
// Enable this for dual x-carriage printers.
// A dual x-carriage design has the advantage that the inactive extruder can be parked which
// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage
// allowing faster printing speeds.
//#define DUAL_X_CARRIAGE
#ifdef DUAL_X_CARRIAGE
// Configuration for second X-carriage
// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
// the second x-carriage always homes to the maximum endstop.
#define X2_MIN_POS 88 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
#define X2_MAX_POS 350.45 // set maximum to the distance between toolheads when both heads are homed
#define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position
#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
// However: In this mode the EXTRUDER_OFFSET_X value for the second extruder provides a software
// override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
// without modifying the firmware (through the "M218 T1 X???" command).
// Remember: you should set the second extruder x-offset to 0 in your slicer.
// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
#define X2_ENABLE_PIN 29
#define X2_STEP_PIN 25
#define X2_DIR_PIN 23
#endif // DUAL_X_CARRIAGE
//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

View file

@ -96,7 +96,11 @@ void process_commands();
void manage_inactivity();
#if defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1
#if defined(DUAL_X_CARRIAGE) && defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1 \
&& defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
#define enable_x() do { WRITE(X_ENABLE_PIN, X_ENABLE_ON); WRITE(X2_ENABLE_PIN, X_ENABLE_ON); } while (0)
#define disable_x() do { WRITE(X_ENABLE_PIN,!X_ENABLE_ON); WRITE(X2_ENABLE_PIN,!X_ENABLE_ON); } while (0)
#elif defined(X_ENABLE_PIN) && X_ENABLE_PIN > -1
#define enable_x() WRITE(X_ENABLE_PIN, X_ENABLE_ON)
#define disable_x() WRITE(X_ENABLE_PIN,!X_ENABLE_ON)
#else

View file

@ -194,6 +194,10 @@ int EtoPPressure=0;
float retract_recover_length=0, retract_recover_feedrate=8*60;
#endif
#ifdef ULTIPANEL
bool powersupply = true;
#endif
//===========================================================================
//=============================private variables=============================
//===========================================================================
@ -677,7 +681,44 @@ XYZ_CONSTS_FROM_CONFIG(float, max_length, MAX_LENGTH);
XYZ_CONSTS_FROM_CONFIG(float, home_retract_mm, HOME_RETRACT_MM);
XYZ_CONSTS_FROM_CONFIG(signed char, home_dir, HOME_DIR);
#ifdef DUAL_X_CARRIAGE
#if EXTRUDERS == 1 || defined(COREXY) \
|| !defined(X2_ENABLE_PIN) || !defined(X2_STEP_PIN) || !defined(X2_DIR_PIN) \
|| !defined(X2_HOME_POS) || !defined(X2_MIN_POS) || !defined(X2_MAX_POS) \
|| !defined(X_MAX_PIN) || X_MAX_PIN < 0
#error "Missing or invalid definitions for DUAL_X_CARRIAGE mode."
#endif
#if X_HOME_DIR != -1 || X2_HOME_DIR != 1
#error "Please use canonical x-carriage assignment" // the x-carriages are defined by their homing directions
#endif
static float x_home_pos(int extruder) {
if (extruder == 0)
return base_home_pos(X_AXIS) + add_homeing[X_AXIS];
else
// In dual carriage mode the extruder offset provides an override of the
// second X-carriage offset when homed - otherwise X2_HOME_POS is used.
// This allow soft recalibration of the second extruder offset position without firmware reflash
// (through the M218 command).
return (extruder_offset[X_AXIS][1] > 0) ? extruder_offset[X_AXIS][1] : X2_HOME_POS;
}
static int x_home_dir(int extruder) {
return (extruder == 0) ? X_HOME_DIR : X2_HOME_DIR;
}
static float inactive_x_carriage_pos = X2_MAX_POS;
#endif
static void axis_is_at_home(int axis) {
#ifdef DUAL_X_CARRIAGE
if (axis == X_AXIS && active_extruder != 0) {
current_position[X_AXIS] = x_home_pos(active_extruder);
min_pos[X_AXIS] = X2_MIN_POS;
max_pos[X_AXIS] = max(extruder_offset[X_AXIS][1], X2_MAX_POS);
return;
}
#endif
current_position[axis] = base_home_pos(axis) + add_homeing[axis];
min_pos[axis] = base_min_pos(axis) + add_homeing[axis];
max_pos[axis] = base_max_pos(axis) + add_homeing[axis];
@ -686,10 +727,16 @@ static void axis_is_at_home(int axis) {
static void homeaxis(int axis) {
#define HOMEAXIS_DO(LETTER) \
((LETTER##_MIN_PIN > -1 && LETTER##_HOME_DIR==-1) || (LETTER##_MAX_PIN > -1 && LETTER##_HOME_DIR==1))
if (axis==X_AXIS ? HOMEAXIS_DO(X) :
axis==Y_AXIS ? HOMEAXIS_DO(Y) :
axis==Z_AXIS ? HOMEAXIS_DO(Z) :
0) {
int axis_home_dir = home_dir(axis);
#ifdef DUAL_X_CARRIAGE
if (axis == X_AXIS)
axis_home_dir = x_home_dir(active_extruder);
#endif
// Engage Servo endstop if enabled
#ifdef SERVO_ENDSTOPS
@ -700,18 +747,18 @@ static void homeaxis(int axis) {
current_position[axis] = 0;
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[axis] = 1.5 * max_length(axis) * home_dir(axis);
destination[axis] = 1.5 * max_length(axis) * axis_home_dir;
feedrate = homing_feedrate[axis];
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
current_position[axis] = 0;
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[axis] = -home_retract_mm(axis) * home_dir(axis);
destination[axis] = -home_retract_mm(axis) * axis_home_dir;
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder);
st_synchronize();
destination[axis] = 2*home_retract_mm(axis) * home_dir(axis);
destination[axis] = 2*home_retract_mm(axis) * axis_home_dir;
#ifdef DELTA
feedrate = homing_feedrate[axis]/10;
#else
@ -868,8 +915,14 @@ void process_commands()
{
current_position[X_AXIS] = 0;current_position[Y_AXIS] = 0;
#ifndef DUAL_X_CARRIAGE
int x_axis_home_dir = home_dir(X_AXIS);
#else
int x_axis_home_dir = x_home_dir(active_extruder);
#endif
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
destination[X_AXIS] = 1.5 * X_MAX_LENGTH * X_HOME_DIR;destination[Y_AXIS] = 1.5 * Y_MAX_LENGTH * Y_HOME_DIR;
destination[X_AXIS] = 1.5 * max_length(X_AXIS) * x_axis_home_dir;destination[Y_AXIS] = 1.5 * max_length(Y_AXIS) * home_dir(Y_AXIS);
feedrate = homing_feedrate[X_AXIS];
if(homing_feedrate[Y_AXIS]<feedrate)
feedrate =homing_feedrate[Y_AXIS];
@ -894,6 +947,13 @@ void process_commands()
if((home_all_axis) || (code_seen(axis_codes[X_AXIS])))
{
#ifdef DUAL_X_CARRIAGE
int tmp_extruder = active_extruder;
active_extruder = !active_extruder;
HOMEAXIS(X);
inactive_x_carriage_pos = current_position[X_AXIS];
active_extruder = tmp_extruder;
#endif
HOMEAXIS(X);
}
@ -926,7 +986,7 @@ void process_commands()
}
}
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
#endif // DELTA
#endif // else DELTA
#ifdef ENDSTOPS_ONLY_FOR_HOMING
enable_endstops(false);
@ -1338,20 +1398,37 @@ void process_commands()
#endif
#if defined(PS_ON_PIN) && PS_ON_PIN > -1
case 80: // M80 - ATX Power On
case 80: // M80 - Turn on Power Supply
SET_OUTPUT(PS_ON_PIN); //GND
WRITE(PS_ON_PIN, PS_ON_AWAKE);
#ifdef ULTIPANEL
powersupply = true;
LCD_MESSAGEPGM(WELCOME_MSG);
lcd_update();
#endif
break;
#endif
case 81: // M81 - ATX Power Off
case 81: // M81 - Turn off Power Supply
disable_heater();
st_synchronize();
disable_e0();
disable_e1();
disable_e2();
finishAndDisableSteppers();
fanSpeed = 0;
delay(1000); // Wait a little before to switch off
#if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
st_synchronize();
suicide();
#elif defined(PS_ON_PIN) && PS_ON_PIN > -1
SET_OUTPUT(PS_ON_PIN);
WRITE(PS_ON_PIN, PS_ON_ASLEEP);
#endif
#ifdef ULTIPANEL
powersupply = false;
LCD_MESSAGEPGM(MACHINE_NAME" "MSG_OFF".");
lcd_update();
#endif
break;
@ -2005,6 +2082,20 @@ void process_commands()
if(tmp_extruder != active_extruder) {
// Save current position to return to after applying extruder offset
memcpy(destination, current_position, sizeof(destination));
#ifdef DUAL_X_CARRIAGE
// only apply Y extruder offset in dual x carriage mode (x offset is already used in determining home pos)
current_position[Y_AXIS] = current_position[Y_AXIS] -
extruder_offset[Y_AXIS][active_extruder] +
extruder_offset[Y_AXIS][tmp_extruder];
float tmp_x_pos = current_position[X_AXIS];
// Set the new active extruder and position
active_extruder = tmp_extruder;
axis_is_at_home(X_AXIS); //this function updates X min/max values.
current_position[X_AXIS] = inactive_x_carriage_pos;
inactive_x_carriage_pos = tmp_x_pos;
#else
// Offset extruder (only by XY)
int i;
for(i = 0; i < 2; i++) {
@ -2014,6 +2105,7 @@ void process_commands()
}
// Set the new active extruder and position
active_extruder = tmp_extruder;
#endif //else DUAL_X_CARRIAGE
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS]);
// Move to the old position if 'F' was in the parameters
if(make_move && Stopped == false) {
@ -2258,6 +2350,9 @@ void controllerFan()
|| !READ(E2_ENABLE_PIN)
#endif
#if EXTRUDER > 1
#if defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
|| !READ(X2_ENABLE_PIN)
#endif
|| !READ(E1_ENABLE_PIN)
#endif
|| !READ(E0_ENABLE_PIN)) //If any of the drivers are enabled...

View file

@ -60,6 +60,8 @@
#define MSG_PREHEAT_ABS "Preheat ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Preheat ABS Conf"
#define MSG_COOLDOWN "Cooldown"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Extrude"
#define MSG_RETRACT "Retract"
#define MSG_MOVE_AXIS "Move Axis"
@ -220,6 +222,8 @@
#define MSG_PREHEAT_ABS "Rozgrzej ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Ustawienia roz. ABS"
#define MSG_COOLDOWN "Chlodzenie"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Ekstruzja"
#define MSG_RETRACT "Cofanie"
#define MSG_MOVE_AXIS "Ruch osi"
@ -290,6 +294,8 @@
#define MSG_CONTROL_RETRACT_RECOVERF "Cof. wycof. F"
#define MSG_AUTORETRACT "Auto. wycofanie"
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD-Card"
#define MSG_CNG_SDCARD "Change SD-Card"
// Serial Console Messages
@ -367,165 +373,169 @@
#if LANGUAGE_CHOICE == 3
#define WELCOME_MSG MACHINE_NAME " Pret."
#define MSG_SD_INSERTED "Carte inseree"
#define MSG_SD_REMOVED "Carte retiree"
#define MSG_MAIN " Principal \003"
#define MSG_AUTOSTART " Demarrage auto."
#define MSG_DISABLE_STEPPERS " Desactiver moteurs"
#define MSG_AUTO_HOME " Home auto."
#define MSG_SET_ORIGIN " Regler origine"
#define MSG_PREHEAT_PLA " Prechauffage PLA"
#define MSG_PREHEAT_PLA_SETTINGS " Regl. prechauffe PLA"
#define MSG_PREHEAT_ABS " Prechauffage ABS"
#define MSG_PREHEAT_ABS_SETTINGS " Regl. prechauffe ABS"
#define MSG_COOLDOWN " Refroidissement"
#define MSG_EXTRUDE " Extrusion"
#define MSG_RETRACT " Retractation"
#define MSG_PREHEAT_PLA " Prechauffage PLA"
#define MSG_PREHEAT_ABS " Prechauffage ABS"
#define MSG_MOVE_AXIS " Deplacer axe \x7E"
#define MSG_SPEED " Vitesse:"
#define MSG_NOZZLE " \002Buse:"
#define MSG_NOZZLE1 " \002Buse2:"
#define MSG_NOZZLE2 " \002Buse3:"
#define MSG_BED " \002Lit:"
#define MSG_FAN_SPEED " Vitesse ventilateur:"
#define MSG_FLOW " Flux:"
#define MSG_CONTROL " Controle \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Facteur:"
#define MSG_AUTOTEMP " Temp. Auto.:"
#define MSG_ON "Marche "
#define MSG_OFF "Arret"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " Vdepl min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_XSTEPS " Xpas/mm:"
#define MSG_YSTEPS " Ypas/mm:"
#define MSG_ZSTEPS " Zpas/mm:"
#define MSG_ESTEPS " Epas/mm:"
#define MSG_MAIN_WIDE " Principal \003"
#define MSG_RECTRACT_WIDE " Rectractater \x7E"
#define MSG_TEMPERATURE_WIDE " Temperature \x7E"
#define MSG_TEMPERATURE_RTN " Temperature \003"
#define MSG_MOTION_WIDE " Mouvement \x7E"
#define WELCOME_MSG MACHINE_NAME " Pret."
#define MSG_SD_INSERTED "Carte inseree"
#define MSG_SD_REMOVED "Carte retiree"
#define MSG_MAIN " Principal \003"
#define MSG_AUTOSTART " Demarrage auto."
#define MSG_DISABLE_STEPPERS " Desactiver moteurs"
#define MSG_AUTO_HOME " Home auto."
#define MSG_SET_ORIGIN " Regler origine"
#define MSG_PREHEAT_PLA " Prechauffage PLA"
#define MSG_PREHEAT_PLA_SETTINGS " Regl. prechauffe PLA"
#define MSG_PREHEAT_ABS " Prechauffage ABS"
#define MSG_PREHEAT_ABS_SETTINGS " Regl. prechauffe ABS"
#define MSG_COOLDOWN " Refroidissement"
#define MSG_SWITCH_PS_ON "Allumer alimentation"
#define MSG_SWITCH_PS_OFF "Eteindre alimentation"
#define MSG_EXTRUDE " Extrusion"
#define MSG_RETRACT " Retractation"
#define MSG_PREHEAT_PLA " Prechauffage PLA"
#define MSG_PREHEAT_ABS " Prechauffage ABS"
#define MSG_MOVE_AXIS " Deplacer axe \x7E"
#define MSG_SPEED " Vitesse:"
#define MSG_NOZZLE " \002Buse:"
#define MSG_NOZZLE1 " \002Buse2:"
#define MSG_NOZZLE2 " \002Buse3:"
#define MSG_BED " \002Lit:"
#define MSG_FAN_SPEED " Vitesse ventilateur:"
#define MSG_FLOW " Flux:"
#define MSG_CONTROL " Controle \003"
#define MSG_MIN " \002 Min:"
#define MSG_MAX " \002 Max:"
#define MSG_FACTOR " \002 Facteur:"
#define MSG_AUTOTEMP " Temp. Auto.:"
#define MSG_ON "Marche "
#define MSG_OFF "Arret"
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " Vdepl min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_XSTEPS " Xpas/mm:"
#define MSG_YSTEPS " Ypas/mm:"
#define MSG_ZSTEPS " Zpas/mm:"
#define MSG_ESTEPS " Epas/mm:"
#define MSG_MAIN_WIDE " Principal \003"
#define MSG_RECTRACT "Rectracter"
#define MSG_TEMPERATURE "Temperature"
#define MSG_MOTION "Mouvement"
#define MSG_CONTRAST "LCD contrast"
#define MSG_STORE_EPROM " Sauvegarder memoire"
#define MSG_LOAD_EPROM " Lire memoire"
#define MSG_RESTORE_FAILSAFE " Restaurer memoire"
#define MSG_REFRESH "\004Actualiser"
#define MSG_WATCH " Surveiller \003"
#define MSG_PREPARE " Preparer \x7E"
#define MSG_PREPARE_ALT " Prepare \003"
#define MSG_CONTROL_ARROW " Controle \x7E"
#define MSG_RETRACT_ARROW " Retracter \x7E"
#define MSG_TUNE " Regler \x7E"
#define MSG_PAUSE_PRINT " Pause impression \x7E"
#define MSG_RESUME_PRINT " Reprendre impression \x7E"
#define MSG_STOP_PRINT " Arreter impression \x7E"
#define MSG_CARD_MENU " Menu carte \x7E"
#define MSG_NO_CARD " Pas de carte"
#define MSG_DWELL "Repos..."
#define MSG_USERWAIT "Attente de l'utilisateur..."
#define MSG_NO_MOVE "Aucun mouvement."
#define MSG_PART_RELEASE "Relache partielle"
#define MSG_KILLED "TUE."
#define MSG_STOPPED "STOPPE."
#define MSG_STEPPER_RELEASED "RELACHE."
#define MSG_CONTROL_RETRACT " Retractation mm:"
#define MSG_CONTROL_RETRACTF " Retractation F:"
#define MSG_CONTROL_RETRACT_ZLIFT " Hop mm:"
#define MSG_CONTROL_RETRACT_RECOVER " UnRet +mm:"
#define MSG_CONTROL_RETRACT_RECOVERF " UnRet F:"
#define MSG_AUTORETRACT " Retract. Auto.:"
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_STORE_EPROM " Sauvegarder memoire"
#define MSG_LOAD_EPROM " Lire memoire"
#define MSG_RESTORE_FAILSAFE " Restaurer memoire"
#define MSG_REFRESH "\004Actualiser"
#define MSG_WATCH " Surveiller \003"
#define MSG_PREPARE " Preparer \x7E"
#define MSG_PREPARE_ALT " Prepare \003"
#define MSG_CONTROL_ARROW " Controle \x7E"
#define MSG_RETRACT_ARROW " Retracter \x7E"
#define MSG_TUNE " Regler \x7E"
#define MSG_PAUSE_PRINT " Pause impression \x7E"
#define MSG_RESUME_PRINT " Reprendre impression \x7E"
#define MSG_STOP_PRINT " Arreter impression \x7E"
#define MSG_CARD_MENU " Menu carte \x7E"
#define MSG_NO_CARD " Pas de carte"
#define MSG_DWELL "Repos..."
#define MSG_USERWAIT "Attente de l'utilisateur..."
#define MSG_RESUMING "Reprise de l'impression"
#define MSG_NO_MOVE "Aucun mouvement."
#define MSG_PART_RELEASE "Relache partielle"
#define MSG_KILLED "TUE."
#define MSG_STOPPED "STOPPE."
#define MSG_STEPPER_RELEASED "RELACHE."
#define MSG_CONTROL_RETRACT " Retractation mm:"
#define MSG_CONTROL_RETRACTF " Retractation F:"
#define MSG_CONTROL_RETRACT_ZLIFT " Hop mm:"
#define MSG_CONTROL_RETRACT_RECOVER " UnRet +mm:"
#define MSG_CONTROL_RETRACT_RECOVERF " UnRet F:"
#define MSG_AUTORETRACT " Retract. Auto.:"
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. la carte SD"
#define MSG_CNG_SDCARD "Changer de carte SD"
// Serial Console Messages
#define MSG_Enqueing "Mise en tampon \""
#define MSG_POWERUP "Allumage"
#define MSG_EXTERNAL_RESET " RAZ Externe"
#define MSG_BROWNOUT_RESET " RAZ defaut alim."
#define MSG_WATCHDOG_RESET " RAZ Watchdog"
#define MSG_SOFTWARE_RESET " RAZ logicielle"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Auteur: "
#define MSG_CONFIGURATION_VER " Derniere MaJ: "
#define MSG_FREE_MEMORY " Memoire libre: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Fichier enregistre."
#define MSG_ERR_LINE_NO "Le numero de ligne n'est pas la derniere ligne + 1, derniere ligne: "
#define MSG_ERR_CHECKSUM_MISMATCH "Erreur somme de controle, derniere ligne: "
#define MSG_ERR_NO_CHECKSUM "Pas de somme de controle avec le numero de ligne, derniere ligne: "
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "Pas de numero de ligne avec somme de controle, derniere ligne: "
#define MSG_FILE_PRINTED "Impression terminee"
#define MSG_BEGIN_FILE_LIST "Debut de la liste de fichiers"
#define MSG_END_FILE_LIST "Fin de la liste de fichiers"
#define MSG_M104_INVALID_EXTRUDER "M104 Extruder invalide"
#define MSG_M105_INVALID_EXTRUDER "M105 Extruder invalide"
#define MSG_M218_INVALID_EXTRUDER "M218 Extruder invalide"
#define MSG_ERR_NO_THERMISTORS "Pas de thermistor, pas de temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Extruder invalide "
#define MSG_HEATING "En chauffe..."
#define MSG_HEATING_COMPLETE "Chauffe terminee."
#define MSG_BED_HEATING "Chauffe du lit."
#define MSG_BED_DONE "Chauffe du lit terminee."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Compteur X: "
#define MSG_ERR_KILLED "Impression arretee. kill() appelee!"
#define MSG_ERR_STOPPED "Impression arretee a cause d'erreurs. Corriger les erreurs et utiliser M999 pour la reprendre. (Temperature remise a zero. Reactivez la apres redemarrage)"
#define MSG_RESEND "Renvoie: "
#define MSG_UNKNOWN_COMMAND "Commande inconnue: \""
#define MSG_ACTIVE_EXTRUDER "Extrudeur actif: "
#define MSG_INVALID_EXTRUDER "Extrudeur invalide"
#define MSG_X_MIN "x_min: "
#define MSG_X_MAX "x_max: "
#define MSG_Y_MIN "y_min: "
#define MSG_Y_MAX "y_max: "
#define MSG_Z_MIN "z_min: "
#define MSG_Z_MAX "z_max: "
#define MSG_M119_REPORT "Affichage du status des fin de course"
#define MSG_ENDSTOP_HIT "DECLENCHE"
#define MSG_ENDSTOP_OPEN "OUVERT"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_Enqueing "Mise en tampon \""
#define MSG_POWERUP "Allumage"
#define MSG_EXTERNAL_RESET " RAZ Externe"
#define MSG_BROWNOUT_RESET " RAZ defaut alim."
#define MSG_WATCHDOG_RESET " RAZ Watchdog"
#define MSG_SOFTWARE_RESET " RAZ logicielle"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Auteur: "
#define MSG_CONFIGURATION_VER " Derniere MaJ: "
#define MSG_FREE_MEMORY " Memoire libre: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Fichier enregistre."
#define MSG_ERR_LINE_NO "Le numero de ligne n'est pas la derniere ligne + 1, derniere ligne: "
#define MSG_ERR_CHECKSUM_MISMATCH "Erreur somme de controle, derniere ligne: "
#define MSG_ERR_NO_CHECKSUM "Pas de somme de controle avec le numero de ligne, derniere ligne: "
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "Pas de numero de ligne avec somme de controle, derniere ligne: "
#define MSG_FILE_PRINTED "Impression terminee"
#define MSG_BEGIN_FILE_LIST "Debut de la liste de fichiers"
#define MSG_END_FILE_LIST "Fin de la liste de fichiers"
#define MSG_M104_INVALID_EXTRUDER "M104 Extruder invalide"
#define MSG_M105_INVALID_EXTRUDER "M105 Extruder invalide"
#define MSG_M218_INVALID_EXTRUDER "M218 Extruder invalide"
#define MSG_ERR_NO_THERMISTORS "Pas de thermistor, pas de temperature"
#define MSG_M109_INVALID_EXTRUDER "M109 Extruder invalide "
#define MSG_HEATING "En chauffe..."
#define MSG_HEATING_COMPLETE "Chauffe terminee."
#define MSG_BED_HEATING "Chauffe du lit."
#define MSG_BED_DONE "Chauffe du lit terminee."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Compteur X: "
#define MSG_ERR_KILLED "Impression arretee. kill() appelee!"
#define MSG_ERR_STOPPED "Impression arretee a cause d'erreurs. Corriger les erreurs et utiliser M999 pour la reprendre. (Temperature remise a zero. Reactivez la apres redemarrage)"
#define MSG_RESEND "Renvoie: "
#define MSG_UNKNOWN_COMMAND "Commande inconnue: \""
#define MSG_ACTIVE_EXTRUDER "Extrudeur actif: "
#define MSG_INVALID_EXTRUDER "Extrudeur invalide"
#define MSG_X_MIN "x_min: "
#define MSG_X_MAX "x_max: "
#define MSG_Y_MIN "y_min: "
#define MSG_Y_MAX "y_max: "
#define MSG_Z_MIN "z_min: "
#define MSG_Z_MAX "z_max: "
#define MSG_M119_REPORT "Affichage du status des fin de course"
#define MSG_ENDSTOP_HIT "DECLENCHE"
#define MSG_ENDSTOP_OPEN "OUVERT"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Impossible d'ouvrir le sous-repertoire"
#define MSG_SD_INIT_FAIL "Echec de l'initialisation de la SD"
#define MSG_SD_VOL_INIT_FAIL "Echec de volume.init"
#define MSG_SD_OPENROOT_FAIL "Echec openRoot"
#define MSG_SD_CARD_OK "Carte SD Ok"
#define MSG_SD_WORKDIR_FAIL "Echec d'ouverture workDir"
#define MSG_SD_OPEN_FILE_FAIL "Echec d'ouverture, Fichier: "
#define MSG_SD_FILE_OPENED "Fichier ouvert: "
#define MSG_SD_SIZE " Taille: "
#define MSG_SD_FILE_SELECTED "Fichier selectionne"
#define MSG_SD_WRITE_TO_FILE "Ecriture dans le fichier: "
#define MSG_SD_PRINTING_BYTE "Octet impression SD "
#define MSG_SD_NOT_PRINTING "Pas d'impression SD"
#define MSG_SD_ERR_WRITE_TO_FILE "Erreur d'ecriture dans le fichier"
#define MSG_SD_CANT_ENTER_SUBDIR "Impossible d'entrer dans le sous-repertoire: "
#define MSG_SD_CANT_OPEN_SUBDIR "Impossible d'ouvrir le sous-repertoire"
#define MSG_SD_INIT_FAIL "Echec de l'initialisation de la SD"
#define MSG_SD_VOL_INIT_FAIL "Echec de volume.init"
#define MSG_SD_OPENROOT_FAIL "Echec openRoot"
#define MSG_SD_CARD_OK "Carte SD Ok"
#define MSG_SD_WORKDIR_FAIL "Echec d'ouverture workDir"
#define MSG_SD_OPEN_FILE_FAIL "Echec d'ouverture, Fichier: "
#define MSG_SD_FILE_OPENED "Fichier ouvert: "
#define MSG_SD_SIZE " Taille: "
#define MSG_SD_FILE_SELECTED "Fichier selectionne"
#define MSG_SD_WRITE_TO_FILE "Ecriture dans le fichier: "
#define MSG_SD_PRINTING_BYTE "Octet impression SD "
#define MSG_SD_NOT_PRINTING "Pas d'impression SD"
#define MSG_SD_ERR_WRITE_TO_FILE "Erreur d'ecriture dans le fichier"
#define MSG_SD_CANT_ENTER_SUBDIR "Impossible d'entrer dans le sous-repertoire: "
#define MSG_STEPPER_TOO_HIGH "Steprate trop eleve: "
#define MSG_ENDSTOPS_HIT "Fin de course atteint: "
#define MSG_ERR_COLD_EXTRUDE_STOP " Extrusion a froid evitee"
#define MSG_ERR_LONG_EXTRUDE_STOP " Extrusion longue evitee"
#define MSG_STEPPER_TOO_HIGH "Steprate trop eleve: "
#define MSG_ENDSTOPS_HIT "Fin de course atteint: "
#define MSG_ERR_COLD_EXTRUDE_STOP " Extrusion a froid evitee"
#define MSG_ERR_LONG_EXTRUDE_STOP " Extrusion longue evitee"
#endif
@ -548,6 +558,8 @@
#define MSG_PREHEAT_ABS "Vorwärmen ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Vorwärmen ABS Einstellungen"
#define MSG_COOLDOWN "Abkühlen"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Extrude"
#define MSG_RETRACT "Retract"
#define MSG_MOVE_AXIS "Achsen bewegen"
@ -618,6 +630,8 @@
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet F"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Filament wechseln"
#define MSG_INIT_SDCARD "Init. SD-Card"
#define MSG_CNG_SDCARD "Change SD-Card"
// Serial Console Messages
@ -696,322 +710,329 @@
#if LANGUAGE_CHOICE == 5
// LCD Menu Messages
#define WELCOME_MSG MACHINE_NAME "Lista."
#define MSG_SD_INSERTED "Tarjeta SD Colocada"
#define MSG_SD_REMOVED "Tarjeta SD Retirada"
#define MSG_MAIN "Menu Principal"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS "Apagar Motores"
#define MSG_AUTO_HOME "Llevar al Origen" // "Llevar Ejes al Cero"
#define MSG_SET_ORIGIN "Establecer Cero"
#define MSG_PREHEAT_PLA "Precalentar PLA"
#define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA"
#define MSG_PREHEAT_ABS "Precalentar ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Ajustar temp. ABS"
#define MSG_COOLDOWN "Enfriar"
#define MSG_EXTRUDE "Extruir"
#define MSG_RETRACT "Retraer"
#define MSG_MOVE_AXIS "Mover Ejes"
#define MSG_SPEED "Velocidad"
#define MSG_NOZZLE "Nozzle"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_BED "Base"
#define MSG_FAN_SPEED "Ventilador"
#define MSG_FLOW "Flujo"
#define MSG_CONTROL "Control"
#define MSG_MIN "\002 Min"
#define MSG_MAX "\002 Max"
#define MSG_FACTOR "\002 Fact"
#define MSG_AUTOTEMP "Autotemp"
#define MSG_ON "On"
#define MSG_OFF "Off"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_ACC "Acel"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX "Vmax"
#define MSG_X "x"
#define MSG_Y "y"
#define MSG_Z "z"
#define MSG_E "e"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax"
#define MSG_A_RETRACT "A-retrac."
#define MSG_XSTEPS "X pasos/mm"
#define MSG_YSTEPS "Y pasos/mm"
#define MSG_ZSTEPS "Z pasos/mm"
#define MSG_ESTEPS "E pasos/mm"
#define MSG_RECTRACT "Retraer"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimiento"
#define MSG_STORE_EPROM "Guardar Memoria"
#define MSG_LOAD_EPROM "Cargar Memoria"
#define MSG_RESTORE_FAILSAFE "Rest. de emergencia"
#define MSG_REFRESH "Volver a cargar"
#define MSG_WATCH "Monitorizar"
#define MSG_PREPARE "Preparar"
#define MSG_TUNE "Ajustar"
#define MSG_PAUSE_PRINT "Pausar Impresion"
#define MSG_RESUME_PRINT "Reanudar Impresion"
#define MSG_STOP_PRINT "Detener Impresion"
#define MSG_CARD_MENU "Menu de SD"
#define MSG_NO_CARD "No hay Tarjeta SD"
#define MSG_DWELL "Reposo..."
#define MSG_USERWAIT "Esperando Ordenes..."
#define MSG_RESUMING "Resumiendo Impresion"
#define MSG_NO_MOVE "Sin movimiento"
#define MSG_KILLED "PARADA DE EMERGENCIA. "
#define MSG_STOPPED "PARADA."
#define MSG_CONTROL_RETRACT "Retraer mm"
#define MSG_CONTROL_RETRACTF "Retraer F"
#define MSG_CONTROL_RETRACT_ZLIFT "Levantar mm"
#define MSG_CONTROL_RETRACT_RECOVER "DesRet +mm"
#define MSG_CONTROL_RETRACT_RECOVERF "DesRet F"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Iniciando. Tarjeta-SD"
#define MSG_CNG_SDCARD "Cambiar Tarjeta-SD"
#define MSG_RECTRACT_WIDE "Retraer"
#define MSG_TEMPERATURE_WIDE "Temperatura"
#define MSG_TEMPERATURE_RTN "Temperatura"
#define MSG_MAIN_WIDE "Menu Principal"
#define MSG_MOTION_WIDE "Movimiento"
#define MSG_PREPARE_ALT "Preparar"
#define MSG_CONTROL_ARROW "Control"
#define MSG_RETRACT_ARROW "Retraer"
#define MSG_PART_RELEASE "Desacople Parcial"
#define MSG_STEPPER_RELEASED "Desacoplada."
#define WELCOME_MSG MACHINE_NAME "Lista."
#define MSG_SD_INSERTED "Tarjeta SD Colocada"
#define MSG_SD_REMOVED "Tarjeta SD Retirada"
#define MSG_MAIN "Menu Principal"
#define MSG_AUTOSTART " Autostart"
#define MSG_DISABLE_STEPPERS "Apagar Motores"
#define MSG_AUTO_HOME "Llevar al Origen" // "Llevar Ejes al Cero"
#define MSG_SET_ORIGIN "Establecer Cero"
#define MSG_PREHEAT_PLA "Precalentar PLA"
#define MSG_PREHEAT_PLA_SETTINGS "Ajustar temp. PLA"
#define MSG_PREHEAT_ABS "Precalentar ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Ajustar temp. ABS"
#define MSG_COOLDOWN "Enfriar"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Extruir"
#define MSG_RETRACT "Retraer"
#define MSG_MOVE_AXIS "Mover Ejes"
#define MSG_SPEED "Velocidad"
#define MSG_NOZZLE "Nozzle"
#define MSG_NOZZLE1 "Nozzle2"
#define MSG_NOZZLE2 "Nozzle3"
#define MSG_BED "Base"
#define MSG_FAN_SPEED "Ventilador"
#define MSG_FLOW "Flujo"
#define MSG_CONTROL "Control"
#define MSG_MIN "\002 Min"
#define MSG_MAX "\002 Max"
#define MSG_FACTOR "\002 Fact"
#define MSG_AUTOTEMP "Autotemp"
#define MSG_ON "On"
#define MSG_OFF "Off"
#define MSG_PID_P "PID-P"
#define MSG_PID_I "PID-I"
#define MSG_PID_D "PID-D"
#define MSG_PID_C "PID-C"
#define MSG_ACC "Acel"
#define MSG_VXY_JERK "Vxy-jerk"
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX "Vmax"
#define MSG_X "x"
#define MSG_Y "y"
#define MSG_Z "z"
#define MSG_E "e"
#define MSG_VMIN "Vmin"
#define MSG_VTRAV_MIN "VTrav min"
#define MSG_AMAX "Amax"
#define MSG_A_RETRACT "A-retrac."
#define MSG_XSTEPS "X pasos/mm"
#define MSG_YSTEPS "Y pasos/mm"
#define MSG_ZSTEPS "Z pasos/mm"
#define MSG_ESTEPS "E pasos/mm"
#define MSG_RECTRACT "Retraer"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimiento"
#define MSG_STORE_EPROM "Guardar Memoria"
#define MSG_LOAD_EPROM "Cargar Memoria"
#define MSG_RESTORE_FAILSAFE "Rest. de emergencia"
#define MSG_REFRESH "Volver a cargar"
#define MSG_WATCH "Monitorizar"
#define MSG_PREPARE "Preparar"
#define MSG_TUNE "Ajustar"
#define MSG_PAUSE_PRINT "Pausar Impresion"
#define MSG_RESUME_PRINT "Reanudar Impresion"
#define MSG_STOP_PRINT "Detener Impresion"
#define MSG_CARD_MENU "Menu de SD"
#define MSG_NO_CARD "No hay Tarjeta SD"
#define MSG_DWELL "Reposo..."
#define MSG_USERWAIT "Esperando Ordenes..."
#define MSG_RESUMING "Resumiendo Impresion"
#define MSG_NO_MOVE "Sin movimiento"
#define MSG_KILLED "PARADA DE EMERGENCIA. "
#define MSG_STOPPED "PARADA."
#define MSG_CONTROL_RETRACT "Retraer mm"
#define MSG_CONTROL_RETRACTF "Retraer F"
#define MSG_CONTROL_RETRACT_ZLIFT "Levantar mm"
#define MSG_CONTROL_RETRACT_RECOVER "DesRet +mm"
#define MSG_CONTROL_RETRACT_RECOVERF "DesRet F"
#define MSG_AUTORETRACT "AutoRetr."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Iniciando. Tarjeta-SD"
#define MSG_CNG_SDCARD "Cambiar Tarjeta-SD"
#define MSG_RECTRACT_WIDE "Retraer"
#define MSG_TEMPERATURE_WIDE "Temperatura"
#define MSG_TEMPERATURE_RTN "Temperatura"
#define MSG_MAIN_WIDE "Menu Principal"
#define MSG_MOTION_WIDE "Movimiento"
#define MSG_PREPARE_ALT "Preparar"
#define MSG_CONTROL_ARROW "Control"
#define MSG_RETRACT_ARROW "Retraer"
#define MSG_PART_RELEASE "Desacople Parcial"
#define MSG_STEPPER_RELEASED "Desacoplada."
// Serial Console Messages
#define MSG_Enqueing "En cola \""
#define MSG_POWERUP "PowerUp"
#define MSG_EXTERNAL_RESET " Reset Externo"
#define MSG_BROWNOUT_RESET " Reset por Voltaje Incorrecto"
#define MSG_WATCHDOG_RESET " Reset por Bloqueo"
#define MSG_SOFTWARE_RESET " Reset por Software"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Autor: "
#define MSG_CONFIGURATION_VER " Ultima actualizacion: "
#define MSG_FREE_MEMORY " Memoria libre: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Guardado."
#define MSG_ERR_LINE_NO "El Numero de Linea no es igual al Ultimo Numero de Linea+1, Ultima Linea:"
#define MSG_ERR_CHECKSUM_MISMATCH "el checksum no coincide, Ultima Linea:"
#define MSG_ERR_NO_CHECKSUM "No se pudo hallar el Checksum con el numero de linea, Ultima Linea:"
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No se hallo el Numero de Linea con el Checksum, Ultima Linea:"
#define MSG_FILE_PRINTED "Impresion terminada"
#define MSG_BEGIN_FILE_LIST "Comienzo de la lista de archivos"
#define MSG_END_FILE_LIST "Fin de la lista de archivos"
#define MSG_M104_INVALID_EXTRUDER "M104 Extrusor Invalido "
#define MSG_M105_INVALID_EXTRUDER "M105 Extrusor Invalido "
#define MSG_M218_INVALID_EXTRUDER "M218 Extrusor Invalido "
#define MSG_ERR_NO_THERMISTORS "No hay termistores - no temp"
#define MSG_M109_INVALID_EXTRUDER "M109 Extrusor Invalido "
#define MSG_HEATING "Calentando..."
#define MSG_HEATING_COMPLETE "Calentamiento Hecho."
#define MSG_BED_HEATING "Calentando la base."
#define MSG_BED_DONE "Base Caliente."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Cuenta X:"
#define MSG_ERR_KILLED "¡¡Impresora Parada con kill()!!"
#define MSG_ERR_STOPPED "¡Impresora parada por errores. Arregle el error y use M999 Para reiniciar!. (La temperatura se reestablece. Ajustela antes de continuar)"
#define MSG_RESEND "Reenviar:"
#define MSG_UNKNOWN_COMMAND "Comando Desconocido:\""
#define MSG_ACTIVE_EXTRUDER "Extrusor Activo: "
#define MSG_INVALID_EXTRUDER "Extrusor Invalido"
#define MSG_X_MIN "x_min: "
#define MSG_X_MAX "x_max: "
#define MSG_Y_MIN "y_min: "
#define MSG_Y_MAX "y_max: "
#define MSG_Z_MIN "z_min: "
#define MSG_Z_MAX "z_max: "
#define MSG_M119_REPORT "Comprobando fines de carrera."
#define MSG_ENDSTOP_HIT "PULSADO"
#define MSG_ENDSTOP_OPEN "abierto"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "No se pudo abrir la subcarpeta."
#define MSG_SD_INIT_FAIL "Fallo al iniciar la SD"
#define MSG_SD_VOL_INIT_FAIL "Fallo al montar el volumen"
#define MSG_SD_OPENROOT_FAIL "Fallo al abrir la carpeta raiz"
#define MSG_SD_CARD_OK "Tarjeta SD OK"
#define MSG_SD_WORKDIR_FAIL "Fallo al abrir la carpeta de trabajo"
#define MSG_SD_OPEN_FILE_FAIL "Error al abrir, Archivo: "
#define MSG_SD_FILE_OPENED "Archivo abierto:"
#define MSG_SD_SIZE " Tamaño:"
#define MSG_SD_FILE_SELECTED "Archivo Seleccionado"
#define MSG_SD_WRITE_TO_FILE "Escribiendo en el archivo: "
#define MSG_SD_PRINTING_BYTE "SD imprimiendo el byte "
#define MSG_SD_NOT_PRINTING "No se esta imprimiendo con SD"
#define MSG_SD_ERR_WRITE_TO_FILE "Error al escribir en el archivo"
#define MSG_SD_CANT_ENTER_SUBDIR "No se puede abrir la carpeta:"
#define MSG_Enqueing "En cola \""
#define MSG_POWERUP "PowerUp"
#define MSG_EXTERNAL_RESET " Reset Externo"
#define MSG_BROWNOUT_RESET " Reset por Voltaje Incorrecto"
#define MSG_WATCHDOG_RESET " Reset por Bloqueo"
#define MSG_SOFTWARE_RESET " Reset por Software"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Autor: "
#define MSG_CONFIGURATION_VER " Ultima actualizacion: "
#define MSG_FREE_MEMORY " Memoria libre: "
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Guardado."
#define MSG_ERR_LINE_NO "El Numero de Linea no es igual al Ultimo Numero de Linea+1, Ultima Linea:"
#define MSG_ERR_CHECKSUM_MISMATCH "el checksum no coincide, Ultima Linea:"
#define MSG_ERR_NO_CHECKSUM "No se pudo hallar el Checksum con el numero de linea, Ultima Linea:"
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No se hallo el Numero de Linea con el Checksum, Ultima Linea:"
#define MSG_FILE_PRINTED "Impresion terminada"
#define MSG_BEGIN_FILE_LIST "Comienzo de la lista de archivos"
#define MSG_END_FILE_LIST "Fin de la lista de archivos"
#define MSG_M104_INVALID_EXTRUDER "M104 Extrusor Invalido "
#define MSG_M105_INVALID_EXTRUDER "M105 Extrusor Invalido "
#define MSG_M218_INVALID_EXTRUDER "M218 Extrusor Invalido "
#define MSG_ERR_NO_THERMISTORS "No hay termistores - no temp"
#define MSG_M109_INVALID_EXTRUDER "M109 Extrusor Invalido "
#define MSG_HEATING "Calentando..."
#define MSG_HEATING_COMPLETE "Calentamiento Hecho."
#define MSG_BED_HEATING "Calentando la base."
#define MSG_BED_DONE "Base Caliente."
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Cuenta X:"
#define MSG_ERR_KILLED "¡¡Impresora Parada con kill()!!"
#define MSG_ERR_STOPPED "¡Impresora parada por errores. Arregle el error y use M999 Para reiniciar!. (La temperatura se reestablece. Ajustela antes de continuar)"
#define MSG_RESEND "Reenviar:"
#define MSG_UNKNOWN_COMMAND "Comando Desconocido:\""
#define MSG_ACTIVE_EXTRUDER "Extrusor Activo: "
#define MSG_INVALID_EXTRUDER "Extrusor Invalido"
#define MSG_X_MIN "x_min: "
#define MSG_X_MAX "x_max: "
#define MSG_Y_MIN "y_min: "
#define MSG_Y_MAX "y_max: "
#define MSG_Z_MIN "z_min: "
#define MSG_Z_MAX "z_max: "
#define MSG_M119_REPORT "Comprobando fines de carrera."
#define MSG_ENDSTOP_HIT "PULSADO"
#define MSG_ENDSTOP_OPEN "abierto"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "No se pudo abrir la subcarpeta."
#define MSG_SD_INIT_FAIL "Fallo al iniciar la SD"
#define MSG_SD_VOL_INIT_FAIL "Fallo al montar el volumen"
#define MSG_SD_OPENROOT_FAIL "Fallo al abrir la carpeta raiz"
#define MSG_SD_CARD_OK "Tarjeta SD OK"
#define MSG_SD_WORKDIR_FAIL "Fallo al abrir la carpeta de trabajo"
#define MSG_SD_OPEN_FILE_FAIL "Error al abrir, Archivo: "
#define MSG_SD_FILE_OPENED "Archivo abierto:"
#define MSG_SD_SIZE " Tamaño:"
#define MSG_SD_FILE_SELECTED "Archivo Seleccionado"
#define MSG_SD_WRITE_TO_FILE "Escribiendo en el archivo: "
#define MSG_SD_PRINTING_BYTE "SD imprimiendo el byte "
#define MSG_SD_NOT_PRINTING "No se esta imprimiendo con SD"
#define MSG_SD_ERR_WRITE_TO_FILE "Error al escribir en el archivo"
#define MSG_SD_CANT_ENTER_SUBDIR "No se puede abrir la carpeta:"
#define MSG_STEPPER_TOO_HIGH "Steprate demasiado alto : "
#define MSG_ENDSTOPS_HIT "Se ha tocado el fin de carril: "
#define MSG_ERR_COLD_EXTRUDE_STOP " extrusion fria evitada"
#define MSG_ERR_LONG_EXTRUDE_STOP " extrusion demasiado larga evitada"
#define MSG_STEPPER_TOO_HIGH "Steprate demasiado alto : "
#define MSG_ENDSTOPS_HIT "Se ha tocado el fin de carril: "
#define MSG_ERR_COLD_EXTRUDE_STOP " extrusion fria evitada"
#define MSG_ERR_LONG_EXTRUDE_STOP " extrusion demasiado larga evitada"
#endif
#if LANGUAGE_CHOICE == 6
// LCD Menu Messages
#define WELCOME_MSG MACHINE_NAME " Готов"
#define MSG_SD_INSERTED "Карта вставлена"
#define MSG_SD_REMOVED "Карта извлечена"
#define MSG_MAIN " Меню \003"
#define MSG_AUTOSTART " Автостарт "
#define MSG_DISABLE_STEPPERS " Выключить двигатели"
#define MSG_AUTO_HOME " Парковка "
#define MSG_SET_ORIGIN " Запомнить ноль "
#define MSG_PREHEAT_PLA " Преднагрев PLA "
#define MSG_PREHEAT_PLA_SETTINGS " Настр. преднагр.PLA"
#define MSG_PREHEAT_ABS " Преднагрев ABS "
#define MSG_PREHEAT_ABS_SETTINGS " Настр. преднагр.ABS"
#define MSG_COOLDOWN " Охлаждение "
#define MSG_EXTRUDE " Экструзия "
#define MSG_RETRACT " Откат"
#define MSG_MOVE_AXIS " Движение по осям \x7E"
#define MSG_SPEED " Скорость:"
#define MSG_NOZZLE " \002 Фильера:"
#define MSG_NOZZLE1 " \002 Фильера2:"
#define MSG_NOZZLE2 " \002 Фильера3:"
#define MSG_BED " \002 Кровать:"
#define MSG_FAN_SPEED " Куллер:"
#define MSG_FLOW " Поток:"
#define MSG_CONTROL " Настройки \003"
#define MSG_MIN " \002 Минимум:"
#define MSG_MAX " \002 Максимум:"
#define MSG_FACTOR " \002 Фактор:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "Вкл. "
#define MSG_OFF "Выкл. "
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_XSTEPS " X шаг/mm:"
#define MSG_YSTEPS " Y шаг/mm:"
#define MSG_ZSTEPS " Z шаг/mm:"
#define MSG_ESTEPS " E шаг/mm:"
#define MSG_RECTRACT " Откат подачи \x7E"
#define MSG_TEMPERATURE " Температура \x7E"
#define MSG_MOTION " Скорости \x7E"
// LCD Menu Messages
#define WELCOME_MSG MACHINE_NAME " Готов"
#define MSG_SD_INSERTED "Карта вставлена"
#define MSG_SD_REMOVED "Карта извлечена"
#define MSG_MAIN " Меню \003"
#define MSG_AUTOSTART " Автостарт "
#define MSG_DISABLE_STEPPERS " Выключить двигатели"
#define MSG_AUTO_HOME " Парковка "
#define MSG_SET_ORIGIN " Запомнить ноль "
#define MSG_PREHEAT_PLA " Преднагрев PLA "
#define MSG_PREHEAT_PLA_SETTINGS " Настр. преднагр.PLA"
#define MSG_PREHEAT_ABS " Преднагрев ABS "
#define MSG_PREHEAT_ABS_SETTINGS " Настр. преднагр.ABS"
#define MSG_COOLDOWN " Охлаждение "
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE " Экструзия "
#define MSG_RETRACT " Откат"
#define MSG_MOVE_AXIS " Движение по осям \x7E"
#define MSG_SPEED " Скорость:"
#define MSG_NOZZLE " \002 Фильера:"
#define MSG_NOZZLE1 " \002 Фильера2:"
#define MSG_NOZZLE2 " \002 Фильера3:"
#define MSG_BED " \002 Кровать:"
#define MSG_FAN_SPEED " Куллер:"
#define MSG_FLOW " Поток:"
#define MSG_CONTROL " Настройки \003"
#define MSG_MIN " \002 Минимум:"
#define MSG_MAX " \002 Максимум:"
#define MSG_FACTOR " \002 Фактор:"
#define MSG_AUTOTEMP " Autotemp:"
#define MSG_ON "Вкл. "
#define MSG_OFF "Выкл. "
#define MSG_PID_P " PID-P: "
#define MSG_PID_I " PID-I: "
#define MSG_PID_D " PID-D: "
#define MSG_PID_C " PID-C: "
#define MSG_ACC " Acc:"
#define MSG_VXY_JERK " Vxy-jerk: "
#define MSG_VZ_JERK "Vz-jerk"
#define MSG_VE_JERK "Ve-jerk"
#define MSG_VMAX " Vmax "
#define MSG_X "x:"
#define MSG_Y "y:"
#define MSG_Z "z:"
#define MSG_E "e:"
#define MSG_VMIN " Vmin:"
#define MSG_VTRAV_MIN " VTrav min:"
#define MSG_AMAX " Amax "
#define MSG_A_RETRACT " A-retract:"
#define MSG_XSTEPS " X шаг/mm:"
#define MSG_YSTEPS " Y шаг/mm:"
#define MSG_ZSTEPS " Z шаг/mm:"
#define MSG_ESTEPS " E шаг/mm:"
#define MSG_RECTRACT " Откат подачи \x7E"
#define MSG_TEMPERATURE " Температура \x7E"
#define MSG_MOTION " Скорости \x7E"
#define MSG_CONTRAST "LCD contrast"
#define MSG_STORE_EPROM " Сохранить настройки"
#define MSG_LOAD_EPROM " Загрузить настройки"
#define MSG_RESTORE_FAILSAFE " Сброс настроек "
#define MSG_REFRESH "\004Обновить "
#define MSG_WATCH " Обзор \003"
#define MSG_PREPARE " Действия \x7E"
#define MSG_TUNE " Настройки \x7E"
#define MSG_PAUSE_PRINT " Пауза печати \x7E"
#define MSG_RESUME_PRINT " Продолжить печать \x7E"
#define MSG_STOP_PRINT " Остановить печать \x7E"
#define MSG_CARD_MENU " Меню карты \x7E"
#define MSG_NO_CARD " Нет карты"
#define MSG_DWELL "Сон..."
#define MSG_USERWAIT "Нажмите для продолж."
#define MSG_NO_MOVE "Нет движения. "
#define MSG_PART_RELEASE " Извлечение принта "
#define MSG_KILLED "УБИТО. "
#define MSG_STOPPED "ОСТАНОВЛЕНО. "
#define MSG_CONTROL_RETRACT " Откат mm:"
#define MSG_CONTROL_RETRACTF " Откат F:"
#define MSG_CONTROL_RETRACT_ZLIFT " Прыжок mm:"
#define MSG_CONTROL_RETRACT_RECOVER " Возврат +mm:"
#define MSG_CONTROL_RETRACT_RECOVERF " Возврат F:"
#define MSG_AUTORETRACT " АвтоОткат:"
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_STORE_EPROM " Сохранить настройки"
#define MSG_LOAD_EPROM " Загрузить настройки"
#define MSG_RESTORE_FAILSAFE " Сброс настроек "
#define MSG_REFRESH "\004Обновить "
#define MSG_WATCH " Обзор \003"
#define MSG_PREPARE " Действия \x7E"
#define MSG_TUNE " Настройки \x7E"
#define MSG_PAUSE_PRINT " Пауза печати \x7E"
#define MSG_RESUME_PRINT " Продолжить печать \x7E"
#define MSG_STOP_PRINT " Остановить печать \x7E"
#define MSG_CARD_MENU " Меню карты \x7E"
#define MSG_NO_CARD " Нет карты"
#define MSG_DWELL "Сон..."
#define MSG_USERWAIT "Нажмите для продолж."
#define MSG_RESUMING "Resuming print"
#define MSG_NO_MOVE "Нет движения. "
#define MSG_PART_RELEASE " Извлечение принта "
#define MSG_KILLED "УБИТО. "
#define MSG_STOPPED "ОСТАНОВЛЕНО. "
#define MSG_CONTROL_RETRACT " Откат mm:"
#define MSG_CONTROL_RETRACTF " Откат F:"
#define MSG_CONTROL_RETRACT_ZLIFT " Прыжок mm:"
#define MSG_CONTROL_RETRACT_RECOVER " Возврат +mm:"
#define MSG_CONTROL_RETRACT_RECOVERF " Возврат F:"
#define MSG_AUTORETRACT " АвтоОткат:"
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD-Card"
#define MSG_CNG_SDCARD "Change SD-Card"
// Serial Console Messages
#define MSG_Enqueing "Запланировано \""
#define MSG_POWERUP "Включение питания"
#define MSG_EXTERNAL_RESET " Внешний сброс"
#define MSG_BROWNOUT_RESET " Brown out сброс"
#define MSG_WATCHDOG_RESET " Watchdog сброс"
#define MSG_SOFTWARE_RESET " программный сброс"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Автор: "
#define MSG_CONFIGURATION_VER " Последнее обновление: "
#define MSG_FREE_MEMORY " Памяти свободно: "
#define MSG_PLANNER_BUFFER_BYTES " Буффер очереди команд Bytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Файл записан."
#define MSG_ERR_LINE_NO "Номен строки это не последняя строка+1, последняя строка:"
#define MSG_ERR_CHECKSUM_MISMATCH "контрольная сумма не совпадает, последняя строка:"
#define MSG_ERR_NO_CHECKSUM "нет контрольной суммы для строки, последняя строка:"
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "нет строки для контрольной суммы, последняя строка:"
#define MSG_FILE_PRINTED "Печать файла завершена"
#define MSG_BEGIN_FILE_LIST "Список файлов"
#define MSG_END_FILE_LIST "Конец списка файлов"
#define MSG_M104_INVALID_EXTRUDER "M104 ошибка экструдера "
#define MSG_M105_INVALID_EXTRUDER "M105 ошибка экструдера "
#define MSG_M218_INVALID_EXTRUDER "M218 ошибка экструдера "
#define MSG_ERR_NO_THERMISTORS "Нет термистра - нет температуры"
#define MSG_M109_INVALID_EXTRUDER "M109 ошибка экструдера "
#define MSG_HEATING "Нагрев... "
#define MSG_HEATING_COMPLETE "Наргето. "
#define MSG_BED_HEATING "Нагрев стола... "
#define MSG_BED_DONE "Стол нагрет. "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Count X:"
#define MSG_ERR_KILLED "Принтер остановлен. вызов kill() !!"
#define MSG_ERR_STOPPED "Ошибка принтера, останов. Устраните неисправность и используйте M999 для перезагрузки!. (Температура недоступна. Проверьте датчики)"
#define MSG_RESEND "Переотправка:"
#define MSG_UNKNOWN_COMMAND "Неизвестная команда:\""
#define MSG_ACTIVE_EXTRUDER "Активный экструдер: "
#define MSG_INVALID_EXTRUDER "Ошибка экструдера"
#define MSG_X_MIN "x_min:"
#define MSG_X_MAX "x_max:"
#define MSG_Y_MIN "y_min:"
#define MSG_Y_MAX "y_max:"
#define MSG_Z_MIN "z_min:"
#define MSG_Z_MAX "z_max:"
#define MSG_M119_REPORT "Статус концевиков"
#define MSG_ENDSTOP_HIT "Срабатывание концевика"
#define MSG_ENDSTOP_OPEN "Концевик освобожден"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Не открыть папку"
#define MSG_SD_INIT_FAIL "Ошибка инициализации SD"
#define MSG_SD_VOL_INIT_FAIL "Ошибка инициализации раздела"
#define MSG_SD_OPENROOT_FAIL "Не прочесть содержимое корня"
#define MSG_SD_CARD_OK "SD карта в порядке"
#define MSG_SD_WORKDIR_FAIL "не открыть рабочую папку"
#define MSG_SD_OPEN_FILE_FAIL "Ошибка чтения, файл: "
#define MSG_SD_FILE_OPENED "Файл открыт:"
#define MSG_SD_SIZE " Размер:"
#define MSG_SD_FILE_SELECTED "Файл выбран"
#define MSG_SD_WRITE_TO_FILE "Запись в файл: "
#define MSG_SD_PRINTING_BYTE "SD печать byte "
#define MSG_SD_NOT_PRINTING "нет SD печати"
#define MSG_SD_ERR_WRITE_TO_FILE "ошибка записи в файл"
#define MSG_SD_CANT_ENTER_SUBDIR "Не зайти в папку:"
#define MSG_STEPPER_TOO_HIGH "Частота шагов очень высока : "
#define MSG_ENDSTOPS_HIT "концевик сработал: "
#define MSG_ERR_COLD_EXTRUDE_STOP " защита холодной экструзии"
#define MSG_ERR_LONG_EXTRUDE_STOP " защита превышения длинны экструзии"
#define MSG_Enqueing "Запланировано \""
#define MSG_POWERUP "Включение питания"
#define MSG_EXTERNAL_RESET " Внешний сброс"
#define MSG_BROWNOUT_RESET " Brown out сброс"
#define MSG_WATCHDOG_RESET " Watchdog сброс"
#define MSG_SOFTWARE_RESET " программный сброс"
#define MSG_MARLIN "Marlin "
#define MSG_AUTHOR " | Автор: "
#define MSG_CONFIGURATION_VER " Последнее обновление: "
#define MSG_FREE_MEMORY " Памяти свободно: "
#define MSG_PLANNER_BUFFER_BYTES " Буффер очереди команд Bytes: "
#define MSG_OK "ok"
#define MSG_FILE_SAVED "Файл записан."
#define MSG_ERR_LINE_NO "Номен строки это не последняя строка+1, последняя строка:"
#define MSG_ERR_CHECKSUM_MISMATCH "контрольная сумма не совпадает, последняя строка:"
#define MSG_ERR_NO_CHECKSUM "нет контрольной суммы для строки, последняя строка:"
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "нет строки для контрольной суммы, последняя строка:"
#define MSG_FILE_PRINTED "Печать файла завершена"
#define MSG_BEGIN_FILE_LIST "Список файлов"
#define MSG_END_FILE_LIST "Конец списка файлов"
#define MSG_M104_INVALID_EXTRUDER "M104 ошибка экструдера "
#define MSG_M105_INVALID_EXTRUDER "M105 ошибка экструдера "
#define MSG_M218_INVALID_EXTRUDER "M218 ошибка экструдера "
#define MSG_ERR_NO_THERMISTORS "Нет термистра - нет температуры"
#define MSG_M109_INVALID_EXTRUDER "M109 ошибка экструдера "
#define MSG_HEATING "Нагрев... "
#define MSG_HEATING_COMPLETE "Наргето. "
#define MSG_BED_HEATING "Нагрев стола... "
#define MSG_BED_DONE "Стол нагрет. "
#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) "\n"
#define MSG_COUNT_X " Count X:"
#define MSG_ERR_KILLED "Принтер остановлен. вызов kill() !!"
#define MSG_ERR_STOPPED "Ошибка принтера, останов. Устраните неисправность и используйте M999 для перезагрузки!. (Температура недоступна. Проверьте датчики)"
#define MSG_RESEND "Переотправка:"
#define MSG_UNKNOWN_COMMAND "Неизвестная команда:\""
#define MSG_ACTIVE_EXTRUDER "Активный экструдер: "
#define MSG_INVALID_EXTRUDER "Ошибка экструдера"
#define MSG_X_MIN "x_min:"
#define MSG_X_MAX "x_max:"
#define MSG_Y_MIN "y_min:"
#define MSG_Y_MAX "y_max:"
#define MSG_Z_MIN "z_min:"
#define MSG_Z_MAX "z_max:"
#define MSG_M119_REPORT "Статус концевиков"
#define MSG_ENDSTOP_HIT "Срабатывание концевика"
#define MSG_ENDSTOP_OPEN "Концевик освобожден"
#define MSG_HOTEND_OFFSET "Hotend offsets:"
#define MSG_SD_CANT_OPEN_SUBDIR "Не открыть папку"
#define MSG_SD_INIT_FAIL "Ошибка инициализации SD"
#define MSG_SD_VOL_INIT_FAIL "Ошибка инициализации раздела"
#define MSG_SD_OPENROOT_FAIL "Не прочесть содержимое корня"
#define MSG_SD_CARD_OK "SD карта в порядке"
#define MSG_SD_WORKDIR_FAIL "не открыть рабочую папку"
#define MSG_SD_OPEN_FILE_FAIL "Ошибка чтения, файл: "
#define MSG_SD_FILE_OPENED "Файл открыт:"
#define MSG_SD_SIZE " Размер:"
#define MSG_SD_FILE_SELECTED "Файл выбран"
#define MSG_SD_WRITE_TO_FILE "Запись в файл: "
#define MSG_SD_PRINTING_BYTE "SD печать byte "
#define MSG_SD_NOT_PRINTING "нет SD печати"
#define MSG_SD_ERR_WRITE_TO_FILE "ошибка записи в файл"
#define MSG_SD_CANT_ENTER_SUBDIR "Не зайти в папку:"
#define MSG_STEPPER_TOO_HIGH "Частота шагов очень высока : "
#define MSG_ENDSTOPS_HIT "концевик сработал: "
#define MSG_ERR_COLD_EXTRUDE_STOP " защита холодной экструзии"
#define MSG_ERR_LONG_EXTRUDE_STOP " защита превышения длинны экструзии"
#endif
@ -1032,6 +1053,8 @@
#define MSG_PREHEAT_ABS "Preriscalda ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Preris. ABS Conf"
#define MSG_COOLDOWN "Raffredda"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Estrudi"
#define MSG_RETRACT "Ritrai"
#define MSG_MOVE_AXIS "Muovi Asse"
@ -1193,6 +1216,8 @@
#define MSG_PREHEAT_ABS " pre-aquecer ABS"
#define MSG_PREHEAT_ABS_SETTINGS " pre-aquecer ABS Setting"
#define MSG_COOLDOWN " Esfriar"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE " Extrudar"
#define MSG_RETRACT " Retrair"
#define MSG_PREHEAT_PLA " pre-aquecer PLA"
@ -1234,10 +1259,9 @@
#define MSG_ZSTEPS " Zpasso/mm:"
#define MSG_ESTEPS " Epasso/mm:"
#define MSG_MAIN_WIDE " Menu Principal \003"
#define MSG_RECTRACT_WIDE " Retrair \x7E"
#define MSG_TEMPERATURE_WIDE " Temperatura \x7E"
#define MSG_TEMPERATURE_RTN " Temperatura \003"
#define MSG_MOTION_WIDE " Movimento \x7E"
#define MSG_RECTRACT "Retrair"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimento"
#define MSG_STORE_EPROM " Guardar memoria"
#define MSG_LOAD_EPROM " Carregar memoria"
#define MSG_RESTORE_FAILSAFE " Rest. de emergencia"
@ -1255,6 +1279,7 @@
#define MSG_NO_CARD " Sem cartao SD"
#define MSG_DWELL "Repouso..."
#define MSG_USERWAIT "Esperando Ordem..."
#define MSG_RESUMING "Resuming print"
#define MSG_NO_MOVE "Sem movimento."
#define MSG_PART_RELEASE "Lancamento Parcial"
#define MSG_KILLED "PARADA DE EMERGENCIA. "
@ -1268,6 +1293,8 @@
#define MSG_AUTORETRACT " AutoRetr.:"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Algo esta errado na estrutura do Menu."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD-Card"
#define MSG_CNG_SDCARD "Change SD-Card"
// Serial Console Messages
@ -1363,6 +1390,8 @@
#define MSG_PREHEAT_ABS "Esilammita ABS"
#define MSG_PREHEAT_ABS_SETTINGS "Esilammita ABS konf"
#define MSG_COOLDOWN "Jaahdyta"
#define MSG_SWITCH_PS_ON "Switch Power On"
#define MSG_SWITCH_PS_OFF "Switch Power Off"
#define MSG_EXTRUDE "Pursota"
#define MSG_RETRACT "Veda takaisin"
#define MSG_MOVE_AXIS "Liikuta akseleita"
@ -1430,6 +1459,8 @@
#define MSG_CONTROL_RETRACT_RECOVERF "UnRet F"
#define MSG_AUTORETRACT "AutoVeto."
#define MSG_FILAMENTCHANGE "Change filament"
#define MSG_INIT_SDCARD "Init. SD-Card"
#define MSG_CNG_SDCARD "Change SD-Card"
// Serial Console Messages

View file

@ -298,7 +298,7 @@
* Arduino Mega pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 77
#if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
#define KNOWN_BOARD 1
//////////////////FIX THIS//////////////
@ -314,7 +314,7 @@
// #define RAMPS_V_1_0
#if MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 77
#if MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
#define LARGE_FLASH true
@ -392,7 +392,7 @@
#define LED_PIN 13
#endif
#if MOTHERBOARD == 33
#if MOTHERBOARD == 33 || MOTHERBOARD == 35
#define FAN_PIN 9 // (Sprinter config)
#else
#define FAN_PIN 4 // IO pin. Buffer needed
@ -402,6 +402,10 @@
#define FAN_PIN 8
#endif
#if MOTHERBOARD == 35
#define CONTROLLERFAN_PIN 10 //Pin used for the fan to cool controller
#endif
#define PS_ON_PIN 12
#if defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL)
@ -410,12 +414,18 @@
#define KILL_PIN -1
#endif
#if MOTHERBOARD == 35
#define HEATER_0_PIN 8
#else
#define HEATER_0_PIN 10 // EXTRUDER 1
#endif
#if MOTHERBOARD == 33
#define HEATER_1_PIN -1
#else
#define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter)
#endif
#define HEATER_2_PIN -1
#if MOTHERBOARD == 77
@ -427,11 +437,16 @@
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 15 // ANALOG NUMBERING
#define TEMP_2_PIN -1 // ANALOG NUMBERING
#if MOTHERBOARD == 35
#define HEATER_BED_PIN -1 // NO BED
#else
#if MOTHERBOARD == 77
#define HEATER_BED_PIN 9 // BED
#else
#define HEATER_BED_PIN 8 // BED
#endif
#endif
#define TEMP_BED_PIN 14 // ANALOG NUMBERING
@ -578,7 +593,7 @@
#define TEMP_2_PIN -1
#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
#endif // MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 77
#endif // MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
// SPI for Max6675 Thermocouple
@ -592,9 +607,7 @@
#define MAX6675_SS 49
#endif
#endif //MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 77
#endif //MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 || MOTHERBOARD == 35 || MOTHERBOARD == 77
/****************************************************************************************
* Duemilanove w/ ATMega328P pin assignment

View file

@ -348,10 +348,20 @@ ISR(TIMER1_COMPA_vect)
// Set the direction bits (X_AXIS=A_AXIS and Y_AXIS=B_AXIS for COREXY)
if((out_bits & (1<<X_AXIS))!=0){
#ifdef DUAL_X_CARRIAGE
if (active_extruder != 0)
WRITE(X2_DIR_PIN,INVERT_X_DIR);
else
#endif
WRITE(X_DIR_PIN, INVERT_X_DIR);
count_direction[X_AXIS]=-1;
}
else{
#ifdef DUAL_X_CARRIAGE
if (active_extruder != 0)
WRITE(X2_DIR_PIN,!INVERT_X_DIR);
else
#endif
WRITE(X_DIR_PIN, !INVERT_X_DIR);
count_direction[X_AXIS]=1;
}
@ -371,6 +381,11 @@ ISR(TIMER1_COMPA_vect)
if ((((out_bits & (1<<X_AXIS)) != 0)&&(out_bits & (1<<Y_AXIS)) != 0)) { //-X occurs for -A and -B
#endif
CHECK_ENDSTOPS
{
#ifdef DUAL_X_CARRIAGE
// with 2 x-carriages, endstops are only checked in the homing direction for the active extruder
if ((active_extruder == 0 && X_HOME_DIR == -1) || (active_extruder != 0 && X2_HOME_DIR == -1))
#endif
{
#if defined(X_MIN_PIN) && X_MIN_PIN > -1
bool x_min_endstop=(READ(X_MIN_PIN) != X_ENDSTOPS_INVERTING);
@ -383,8 +398,14 @@ ISR(TIMER1_COMPA_vect)
#endif
}
}
}
else { // +direction
CHECK_ENDSTOPS
{
#ifdef DUAL_X_CARRIAGE
// with 2 x-carriages, endstops are only checked in the homing direction for the active extruder
if ((active_extruder == 0 && X_HOME_DIR == 1) || (active_extruder != 0 && X2_HOME_DIR == 1))
#endif
{
#if defined(X_MAX_PIN) && X_MAX_PIN > -1
bool x_max_endstop=(READ(X_MAX_PIN) != X_ENDSTOPS_INVERTING);
@ -397,6 +418,7 @@ ISR(TIMER1_COMPA_vect)
#endif
}
}
}
#ifndef COREXY
if ((out_bits & (1<<Y_AXIS)) != 0) { // -direction
@ -507,9 +529,19 @@ ISR(TIMER1_COMPA_vect)
counter_x += current_block->steps_x;
if (counter_x > 0) {
#ifdef DUAL_X_CARRIAGE
if (active_extruder != 0)
WRITE(X2_STEP_PIN,!INVERT_X_STEP_PIN);
else
#endif
WRITE(X_STEP_PIN, !INVERT_X_STEP_PIN);
counter_x -= current_block->step_event_count;
count_position[X_AXIS]+=count_direction[X_AXIS];
#ifdef DUAL_X_CARRIAGE
if (active_extruder != 0)
WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
else
#endif
WRITE(X_STEP_PIN, INVERT_X_STEP_PIN);
}
@ -685,6 +717,9 @@ void st_init()
#if defined(X_DIR_PIN) && X_DIR_PIN > -1
SET_OUTPUT(X_DIR_PIN);
#endif
#if defined(X2_DIR_PIN) && X2_DIR_PIN > -1
SET_OUTPUT(X2_DIR_PIN);
#endif
#if defined(Y_DIR_PIN) && Y_DIR_PIN > -1
SET_OUTPUT(Y_DIR_PIN);
#endif
@ -711,6 +746,10 @@ void st_init()
SET_OUTPUT(X_ENABLE_PIN);
if(!X_ENABLE_ON) WRITE(X_ENABLE_PIN,HIGH);
#endif
#if defined(X2_ENABLE_PIN) && X2_ENABLE_PIN > -1
SET_OUTPUT(X2_ENABLE_PIN);
if(!X_ENABLE_ON) WRITE(X2_ENABLE_PIN,HIGH);
#endif
#if defined(Y_ENABLE_PIN) && Y_ENABLE_PIN > -1
SET_OUTPUT(Y_ENABLE_PIN);
if(!Y_ENABLE_ON) WRITE(Y_ENABLE_PIN,HIGH);
@ -788,6 +827,11 @@ void st_init()
WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
disable_x();
#endif
#if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
SET_OUTPUT(X2_STEP_PIN);
WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
disable_x();
#endif
#if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
SET_OUTPUT(Y_STEP_PIN);
WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);

View file

@ -40,6 +40,7 @@ void copy_and_scalePID_d();
/* Different menus */
static void lcd_status_screen();
#ifdef ULTIPANEL
extern bool powersupply;
static void lcd_main_menu();
static void lcd_tune_menu();
static void lcd_prepare_menu();
@ -348,6 +349,14 @@ static void lcd_prepare_menu()
MENU_ITEM(function, MSG_PREHEAT_PLA, lcd_preheat_pla);
MENU_ITEM(function, MSG_PREHEAT_ABS, lcd_preheat_abs);
MENU_ITEM(function, MSG_COOLDOWN, lcd_cooldown);
#if PS_ON_PIN > -1
if (powersupply)
{
MENU_ITEM(gcode, MSG_SWITCH_PS_OFF, PSTR("M81"));
}else{
MENU_ITEM(gcode, MSG_SWITCH_PS_ON, PSTR("M80"));
}
#endif
MENU_ITEM(submenu, MSG_MOVE_AXIS, lcd_move_menu);
END_MENU();
}

View file

@ -41,6 +41,8 @@ Features:
* Heater power reporting. Useful for PID monitoring.
* PID tuning
* CoreXY kinematics (www.corexy.com/theory.html)
* Delta kinematics
* Dual X-carriage support for multiple extruder systems
* Configurable serial port to support connection of wireless adaptors.
* Automatic operation of extruder/cold-end cooling fans based on nozzle temperature
* RC Servo Support, specify angle or duration for continuous rotation servos.