diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 32ce5b7db..f169f8e41 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -115,6 +115,7 @@ // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) // 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 10 is 100k RS thermistor 198-961 (4.7k pullup) +// 11 is 100k beta 3950 1% thermistor (4.7k pullup) // 20 is the PT100 circuit found in the Ultimainboard V2.x // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 // diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 323f9089c..5fa3847c1 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -215,7 +215,7 @@ //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 1 +#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} diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 42298a10a..cdc688ae6 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1286,7 +1286,12 @@ void process_commands() 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] max_length(Y_AXIS)) { + feedrate *= sqrt(pow(max_length(Y_AXIS) / max_length(X_AXIS), 2) + 1); + } else { + feedrate *= sqrt(pow(max_length(X_AXIS) / max_length(Y_AXIS), 2) + 1); + } plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60, active_extruder); st_synchronize(); diff --git a/Marlin/language.h b/Marlin/language.h index 13324baff..6c408551a 100644 --- a/Marlin/language.h +++ b/Marlin/language.h @@ -18,6 +18,8 @@ // 9 Finnish // 10 Aragonese // 11 Dutch +// 12 Catalan +// 13 Basque-Euskera #ifndef LANGUAGE_CHOICE #define LANGUAGE_CHOICE 1 // Pick your language from the list above @@ -100,6 +102,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -296,6 +300,8 @@ #define MSG_MOVE_Y "Przesun w Y" #define MSG_MOVE_Z "Przesun w Z" #define MSG_MOVE_E "Ekstruzja (os E)" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Przesuwaj co .1mm" #define MSG_MOVE_1MM "Przesuwaj co 1mm" #define MSG_MOVE_10MM "Przesuwaj co 10mm" @@ -497,6 +503,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -695,6 +703,8 @@ #define MSG_MOVE_Y "Y bewegen" #define MSG_MOVE_Z "Z bewegen" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "0.1mm bewegen" #define MSG_MOVE_1MM "1mm bewegen" #define MSG_MOVE_10MM "10mm bewegen" @@ -890,13 +900,15 @@ #define MSG_EXTRUDE "Extruir" #define MSG_RETRACT "Retraer" #define MSG_MOVE_AXIS "Mover ejes" - #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_MOVE_01MM "Move 0.1mm" - #define MSG_MOVE_1MM "Move 1mm" - #define MSG_MOVE_10MM "Move 10mm" + #define MSG_MOVE_X "Mover X" + #define MSG_MOVE_Y "Mover Y" + #define MSG_MOVE_Z "Mover Z" + #define MSG_MOVE_E "Extrusor" + #define MSG_MOVE_E1 "Extrusor2" + #define MSG_MOVE_E2 "Extrusor3" + #define MSG_MOVE_01MM "Mover 0.1mm" + #define MSG_MOVE_1MM "Mover 1mm" + #define MSG_MOVE_10MM "Mover 10mm" #define MSG_SPEED "Velocidad" #define MSG_NOZZLE "Nozzle" #define MSG_NOZZLE1 "Nozzle2" @@ -962,7 +974,7 @@ #define MSG_CONTROL_RETRACT_RECOVER "DesRet +mm" #define MSG_CONTROL_RETRACT_RECOVERF "DesRet V" #define MSG_AUTORETRACT "AutoRetr." - #define MSG_FILAMENTCHANGE "Change filament" + #define MSG_FILAMENTCHANGE "Cambiar filamento" #define MSG_INIT_SDCARD "Iniciando tarjeta" #define MSG_CNG_SDCARD "Cambiar tarjeta" #define MSG_RECTRACT_WIDE "Retraer" @@ -1018,7 +1030,7 @@ #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) " UUID:" MACHINE_UUID "\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_ERR_STOPPED "¡Impresora parada por errores. Arregle el error y use M999 Para reiniciar!. (La temperatura se reestablece. Ajustela despues de continuar)" #define MSG_RESEND "Reenviar:" #define MSG_UNKNOWN_COMMAND "Comando Desconocido:\"" #define MSG_ACTIVE_EXTRUDER "Extrusor Activo: " @@ -1098,6 +1110,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -1293,6 +1307,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -1492,6 +1508,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -1694,6 +1712,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -1891,6 +1911,8 @@ #define MSG_MOVE_Y "Move Y" #define MSG_MOVE_Z "Move Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Move 0.1mm" #define MSG_MOVE_1MM "Move 1mm" #define MSG_MOVE_10MM "Move 10mm" @@ -2094,6 +2116,8 @@ #define MSG_MOVE_Y "Verplaats Y" #define MSG_MOVE_Z "Verplaats Z" #define MSG_MOVE_E "Extruder" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" #define MSG_MOVE_01MM "Verplaats 0.1mm" #define MSG_MOVE_1MM "Verplaats 1mm" #define MSG_MOVE_10MM "Verplaats 10mm" @@ -2252,4 +2276,401 @@ #endif + +#if LANGUAGE_CHOICE == 12 + +// LCD Menu Messages + +// Please note these are limited to 17 characters! + + #define WELCOME_MSG MACHINE_NAME " preparada." + #define MSG_SD_INSERTED "SD detectada." + #define MSG_SD_REMOVED "SD expulsada." + #define MSG_MAIN "Menu principal" + #define MSG_AUTOSTART "Inici automatic" + #define MSG_DISABLE_STEPPERS "Apagar motors" + #define MSG_AUTO_HOME "Home global" + #define MSG_SET_ORIGIN "Establir origen" + #define MSG_PREHEAT_PLA "Preescalfar PLA" + #define MSG_PREHEAT_PLA0 "Preescalfar PLA 1" + #define MSG_PREHEAT_PLA1 "Preescalfar PLA 2" + #define MSG_PREHEAT_PLA2 "Preescalfar PLA 3" + #define MSG_PREHEAT_PLA012 "Preesc. tot PLA" + #define MSG_PREHEAT_PLA_BEDONLY "Preesc. llit PLA" + #define MSG_PREHEAT_PLA_SETTINGS "Configuració PLA" + #define MSG_PREHEAT_ABS "Preescalfar ABS" + #define MSG_PREHEAT_ABS0 "Preescalfar ABS 1" + #define MSG_PREHEAT_ABS1 "Preescalfar ABS 2" + #define MSG_PREHEAT_ABS2 "Preescalfar ABS 3" + #define MSG_PREHEAT_ABS012 "Preesc. tot ABS" + #define MSG_PREHEAT_ABS_BEDONLY "Preesc. llit ABS" + #define MSG_PREHEAT_ABS_SETTINGS "Configuració ABS" + #define MSG_COOLDOWN "Refredar" + #define MSG_SWITCH_PS_ON "Switch power on" + #define MSG_SWITCH_PS_OFF "Switch power off" + #define MSG_EXTRUDE "Extruir" + #define MSG_RETRACT "Refredar" + #define MSG_MOVE_AXIS "Moure eixos" + #define MSG_MOVE_X "Moure X" + #define MSG_MOVE_Y "Moure Y" + #define MSG_MOVE_Z "Moure Z" + #define MSG_MOVE_E "Extrusor" + #define MSG_MOVE_E1 "Extruder2" + #define MSG_MOVE_E2 "Extruder3" + #define MSG_MOVE_01MM "Moure 0.1mm" + #define MSG_MOVE_1MM "Moure 1mm" + #define MSG_MOVE_10MM "Moure 10mm" + #define MSG_SPEED "Velocitat" + #define MSG_NOZZLE "Nozzle" + #define MSG_NOZZLE1 "Nozzle2" + #define MSG_NOZZLE2 "Nozzle3" + #define MSG_BED "Llit" + #define MSG_FAN_SPEED "Vel. Ventilador" + #define MSG_FLOW "Fluxe" + #define MSG_FLOW0 "Fluxe 0" + #define MSG_FLOW1 "Fluxe 1" + #define MSG_FLOW2 "Fluxe 2" + #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 "Accel" + #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 "Xpassos/mm" + #define MSG_YSTEPS "Ypassos/mm" + #define MSG_ZSTEPS "Zpassos/mm" + #define MSG_ESTEPS "Epassos/mm" + #define MSG_RECTRACT "Retreure" + #define MSG_TEMPERATURE "Temperatura" + #define MSG_MOTION "Moviment" + #define MSG_CONTRAST "Contrast de LCD" + #define MSG_STORE_EPROM "Desar a memoria" + #define MSG_LOAD_EPROM "Carregar de mem." + #define MSG_RESTORE_FAILSAFE "Rest. emergencia" + #define MSG_REFRESH "Refrescar" + #define MSG_WATCH "Pantalla Info." + #define MSG_PREPARE "Preparar" + #define MSG_TUNE "Calibrar" + #define MSG_PAUSE_PRINT "Pausa imp." + #define MSG_RESUME_PRINT "Reprendre imp." + #define MSG_STOP_PRINT "Parar inp." + #define MSG_CARD_MENU "Imprimir de SD" + #define MSG_NO_CARD "-Sense targeta SD" + #define MSG_DWELL "Repos..." + #define MSG_USERWAIT "Esperant usuari.." + #define MSG_RESUMING "Reprenent imp." + #define MSG_NO_MOVE "Sense moviment." + #define MSG_KILLED "PARADA DE EMERG. " + #define MSG_STOPPED "ATURAT. " + #define MSG_CONTROL_RETRACT "Retreure mm" + #define MSG_CONTROL_RETRACTF "Retreure F" + #define MSG_CONTROL_RETRACT_ZLIFT "Aixecar mm" + #define MSG_CONTROL_RETRACT_RECOVER "DesRet +mm" + #define MSG_CONTROL_RETRACT_RECOVERF "DesRet F" + #define MSG_AUTORETRACT "AutoRetr." + #define MSG_FILAMENTCHANGE "Canviar filament" + #define MSG_INIT_SDCARD "Iniciant SD" + #define MSG_CNG_SDCARD "Canviar SD" + #define MSG_ZPROBE_OUT "Z probe out. bed" + #define MSG_POSITION_UNKNOWN "Home X/Y abans Z" + #define MSG_ZPROBE_ZOFFSET "Z Offset" + #define MSG_BABYSTEP_X "Babystep X" + #define MSG_BABYSTEP_Y "Babystep Y" + #define MSG_BABYSTEP_Z "Babystep Z" + #define MSG_ENDSTOP_ABORT "Endstop abort" + +// Serial Console Messages + + #define MSG_Enqueing "en cua \"" + #define MSG_POWERUP "PowerUp" + #define MSG_EXTERNAL_RESET " Reset Extern" + #define MSG_BROWNOUT_RESET " Reset per Voltatge Incorrecte" + #define MSG_WATCHDOG_RESET " Reset per Bloqueix" + #define MSG_SOFTWARE_RESET " Reset per Software" + #define MSG_AUTHOR " | Author: " + #define MSG_CONFIGURATION_VER "Ultima actualitzacio: " + #define MSG_FREE_MEMORY " Memoria lliure: " + #define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " + #define MSG_OK "ok" + #define MSG_FILE_SAVED "Fitxer desat." + #define MSG_ERR_LINE_NO "El Numero de la Linia no es igual al Ultimo Numero de Linia+1, Ultima Linia:" + #define MSG_ERR_CHECKSUM_MISMATCH "el checksum no coincideix, Ultima Linia:" + #define MSG_ERR_NO_CHECKSUM "No s'ha trobat el Checksum amb el numero de linea, Ultima Linea:" + #define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No s'ha trobat Numero de Linea amb el Checksum, Ultima Linea:" + #define MSG_FILE_PRINTED "Impresio acabada" + #define MSG_BEGIN_FILE_LIST "Inici de la llista d'arxius" + #define MSG_END_FILE_LIST "Fi de la llista d'arxius" + #define MSG_M104_INVALID_EXTRUDER "M104 Extrusor Invalid " + #define MSG_M105_INVALID_EXTRUDER "M105 Extrusor Invalid " + #define MSG_M200_INVALID_EXTRUDER "M200 Extrusor Invalid " + #define MSG_M218_INVALID_EXTRUDER "M218 Extrusor Invalid " + #define MSG_M221_INVALID_EXTRUDER "M221 Extrusor Invalid " + #define MSG_ERR_NO_THERMISTORS "No hi ha termistors - sense temperatura" + #define MSG_M109_INVALID_EXTRUDER "M109 Extrusor Invalid " + #define MSG_HEATING "Escalfant..." + #define MSG_HEATING_COMPLETE "Escalfament acabat." + #define MSG_BED_HEATING "Escalfant llit." + #define MSG_BED_DONE "Llit Calent." + #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) " UUID:" MACHINE_UUID "\n" + #define MSG_COUNT_X " Count X: " + #define MSG_ERR_KILLED "Impressora Parada per kill()!" + #define MSG_ERR_STOPPED "Impressora Parada per errors. Repara l'error i utilitza M999 per reiniciar!. (Hi ha un reset de temperatura, cal ajustarla abans de continuuar)" + #define MSG_RESEND "Reenviar: " + #define MSG_UNKNOWN_COMMAND "Comanda Desconeguda: \"" + #define MSG_ACTIVE_EXTRUDER "Extrusor Actiu: " + #define MSG_INVALID_EXTRUDER "Extrusor Invalid" + #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 "Comprobant finals de carrera." + #define MSG_ENDSTOP_HIT "Activat" + #define MSG_ENDSTOP_OPEN "obert" + #define MSG_HOTEND_OFFSET "Hotend offsets:" + + #define MSG_SD_CANT_OPEN_SUBDIR "No s'ha pogut obrir la carpeta" + #define MSG_SD_INIT_FAIL "Error al iniciar la SD" + #define MSG_SD_VOL_INIT_FAIL "Error al montar el volum" + #define MSG_SD_OPENROOT_FAIL "Error al obrir la carpeta arrel" + #define MSG_SD_CARD_OK "Targeta SD OK" + #define MSG_SD_WORKDIR_FAIL "Error al obrir la carpeta de treball" + #define MSG_SD_OPEN_FILE_FAIL "Error al obrir, Fitxer: " + #define MSG_SD_FILE_OPENED "Fitxer obert:" + #define MSG_SD_SIZE " Mida: " + #define MSG_SD_FILE_SELECTED "Fitxer Seleccionat" + #define MSG_SD_WRITE_TO_FILE "Desant al fitxer: " + #define MSG_SD_PRINTING_BYTE "SD imprimint el byte " + #define MSG_SD_NOT_PRINTING "No s'està imprimint amb SD" + #define MSG_SD_ERR_WRITE_TO_FILE "Error al esciure al fitxer" + #define MSG_SD_CANT_ENTER_SUBDIR "No es pot obrir la carpeta: " + + #define MSG_STEPPER_TOO_HIGH "Steprate massa alt: " + #define MSG_ENDSTOPS_HIT "S'ha tocat el final de carrera: " + #define MSG_ERR_COLD_EXTRUDE_STOP " extrusio freda evitada" + #define MSG_ERR_LONG_EXTRUDE_STOP " extrusio massa llarga evitada" + #define MSG_BABYSTEPPING_X "Babystepping X" + #define MSG_BABYSTEPPING_Y "Babystepping Y" + #define MSG_BABYSTEPPING_Z "Babystepping Z" + #define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error a l'estructura dels menus" + +#endif + +//Basque-Euskera +#if LANGUAGE_CHOICE == 13 + +// LCD Menu Messages +// Please note these are limited to 17 characters! + + #define WELCOME_MSG MACHINE_NAME " prest." + #define MSG_SD_INSERTED "Txartela sartuta" + #define MSG_SD_REMOVED "Txartela kenduta" + #define MSG_MAIN "Menu nagusia" + #define MSG_AUTOSTART "Auto hasiera" + #define MSG_DISABLE_STEPPERS "Itzali motoreak" + #define MSG_AUTO_HOME "Hasierara joan" + #define MSG_SET_ORIGIN "Hasiera ipini" + #define MSG_PREHEAT_PLA "Aurreberotu PLA" + #define MSG_PREHEAT_PLA0 "Aurreberotu PLA1" + #define MSG_PREHEAT_PLA1 "Aurreberotu PLA2" + #define MSG_PREHEAT_PLA2 "Aurreberotu PLA3" + #define MSG_PREHEAT_PLA012 "Berotu PLA Guztia" + #define MSG_PREHEAT_PLA_BEDONLY "Berotu PLA Ohea" + #define MSG_PREHEAT_PLA_SETTINGS "Berotu PLA Konfig" + #define MSG_PREHEAT_ABS "Aurreberotu ABS" + #define MSG_PREHEAT_ABS0 "Aurreberotu ABS 1" + #define MSG_PREHEAT_ABS1 "Aurreberotu ABS 2" + #define MSG_PREHEAT_ABS2 "Aurreberotu ABS 3" + #define MSG_PREHEAT_ABS012 "Berotu ABS Guztia" + #define MSG_PREHEAT_ABS_BEDONLY "Berotu ABS Ohea" + #define MSG_PREHEAT_ABS_SETTINGS "Berotu ABS Konfig" + #define MSG_COOLDOWN "Hoztu" + #define MSG_SWITCH_PS_ON "Energia piztu" + #define MSG_SWITCH_PS_OFF "Energia itzali" + #define MSG_EXTRUDE "Estruitu" + #define MSG_RETRACT "Atzera eragin" + #define MSG_MOVE_AXIS "Ardatzak mugitu" + #define MSG_MOVE_X "Mugitu X" + #define MSG_MOVE_Y "Mugitu Y" + #define MSG_MOVE_Z "Mugitu Z" + #define MSG_MOVE_E "Estrusorea" + #define MSG_MOVE_E1 "Estrusorea2" + #define MSG_MOVE_E2 "Estrusorea3" + #define MSG_MOVE_01MM "Mugitu 0.1mm" + #define MSG_MOVE_1MM "Mugitu 1mm" + #define MSG_MOVE_10MM "Mugitu 10mm" + #define MSG_SPEED "Abiadura" + #define MSG_NOZZLE "Pita" + #define MSG_NOZZLE1 "Pita2" + #define MSG_NOZZLE2 "Pita3" + #define MSG_BED "Ohea" + #define MSG_FAN_SPEED "Haizagailua" + #define MSG_FLOW "Fluxua" + #define MSG_FLOW0 "Fluxua 0" + #define MSG_FLOW1 "Fluxua 1" + #define MSG_FLOW2 "Fluxua 2" + #define MSG_CONTROL "Kontrola" + #define MSG_MIN " \002 Min" + #define MSG_MAX " \002 Max" + #define MSG_FACTOR " \002 Faktorea" + #define MSG_AUTOTEMP "Auto tenperatura" + #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 "Azelerazioa" + #define MSG_VXY_JERK "Vxy-astindua" + #define MSG_VZ_JERK "Vz-astindua" + #define MSG_VE_JERK "Ve-astindua" + #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-retrakt" + #define MSG_XSTEPS "X pausoak/mm" + #define MSG_YSTEPS "Y pausoak/mm" + #define MSG_ZSTEPS "Z pausoak/mm" + #define MSG_ESTEPS "E pausoak/mm" + #define MSG_RECTRACT "Atzera eragin" + #define MSG_TEMPERATURE "Tenperatura" + #define MSG_MOTION "Mugimendua" + #define MSG_CONTRAST "LCD kontrastea" + #define MSG_STORE_EPROM "Gorde memoria" + #define MSG_LOAD_EPROM "Kargatu memoria" + #define MSG_RESTORE_FAILSAFE "Larri. berriz." + #define MSG_REFRESH "Berriz kargatu" + #define MSG_WATCH "Pantaila info" + #define MSG_PREPARE "Prestatu" + #define MSG_TUNE "Doitu" + #define MSG_PAUSE_PRINT "Pausatu inprimak." + #define MSG_RESUME_PRINT "Jarraitu inprima." + #define MSG_STOP_PRINT "Gelditu inprima." + #define MSG_CARD_MENU "SD-tik inprimatu" + #define MSG_NO_CARD "Ez dago txartelik" + #define MSG_DWELL "Lo egin..." + #define MSG_USERWAIT "Aginduak zain..." + #define MSG_RESUMING "Jarraitzen inpri." + #define MSG_NO_MOVE "Mugimendu gabe" + #define MSG_KILLED "LARRIALDI GELDIA" + #define MSG_STOPPED "GELDITUTA. " + #define MSG_CONTROL_RETRACT "Atzera egin mm" + #define MSG_CONTROL_RETRACTF "Atzera egin V" + #define MSG_CONTROL_RETRACT_ZLIFT "Igo mm" + #define MSG_CONTROL_RETRACT_RECOVER "Atzera egin +mm" + #define MSG_CONTROL_RETRACT_RECOVERF "Atzera egin V" + #define MSG_AUTORETRACT "Atzera egin" + #define MSG_FILAMENTCHANGE "Aldatu filament." + #define MSG_INIT_SDCARD "Hasieratu txartela" + #define MSG_CNG_SDCARD "Aldatu txartela" + #define MSG_ZPROBE_OUT "Z ohe hasiera" + #define MSG_POSITION_UNKNOWN "Posizio ezezaguna" + #define MSG_ZPROBE_ZOFFSET "Z konpentsatu" + #define MSG_BABYSTEP_X "Babystep X" + #define MSG_BABYSTEP_Y "Babystep Y" + #define MSG_BABYSTEP_Z "Babystep Z" + #define MSG_ENDSTOP_ABORT "Endstop deuseztat" + +// Serial Console Messages + + #define MSG_Enqueing "Zerrendan \"" + #define MSG_POWERUP "Pizketa" + #define MSG_EXTERNAL_RESET " Kanpoko Reset" + #define MSG_BROWNOUT_RESET " Tentsio Okerra Reset" + #define MSG_WATCHDOG_RESET " Reset Blokeoa" + #define MSG_SOFTWARE_RESET " Software Reset" + #define MSG_AUTHOR " | Egilea: " + #define MSG_CONFIGURATION_VER " Azken Aktualizazio: " + #define MSG_FREE_MEMORY " Aske Memoria: " + #define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " + #define MSG_OK "ok" + #define MSG_FILE_SAVED "Gordetuta." + #define MSG_ERR_LINE_NO "Lerro zenbakia ez da azken zenbakia+1 berdina, Azken Lerroa: " + #define MSG_ERR_CHECKSUM_MISMATCH "checksum-ak ez du aldiberekotasuna, Azken Lerroa: " + #define MSG_ERR_NO_CHECKSUM "Ez da checksum-ik aurkitu lerro zenbakian, Azken Lerroa: " + #define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "Ez da lerro zenbakia aurkitu checksum-arekin, Azken Lerroa: " + #define MSG_FILE_PRINTED "Inprimaketa bukatua" + #define MSG_BEGIN_FILE_LIST "Hasi artxibo zerrenda" + #define MSG_END_FILE_LIST "Amaitu artxibo zerrenda" + #define MSG_M104_INVALID_EXTRUDER "M104 Balio gabeko Estrusorea " + #define MSG_M105_INVALID_EXTRUDER "M105 Balio gabeko Estrusorea " + #define MSG_M200_INVALID_EXTRUDER "M200 Balio gabeko Estrusorea " + #define MSG_M218_INVALID_EXTRUDER "M218 Balio gabeko Estrusorea " + #define MSG_M221_INVALID_EXTRUDER "M221 Balio gabeko Estrusorea " + #define MSG_ERR_NO_THERMISTORS "Termistorerik ez dago - Tenperaturarik gabe" + #define MSG_M109_INVALID_EXTRUDER "M109 Balio gabeko Estrusorea " + #define MSG_HEATING "Berotzen..." + #define MSG_HEATING_COMPLETE "berotuta." + #define MSG_BED_HEATING "Ohea berotzen." + #define MSG_BED_DONE "Ohea berotuta." + #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) " UUID:" MACHINE_UUID "\n" + #define MSG_COUNT_X " X Kontu: " + #define MSG_ERR_KILLED "Inprimagailua geldituta. kill() called!" + #define MSG_ERR_STOPPED "Akatsen eraginez inprimagailua geldituta. Errorea konpondu eta M999 erabili berrabiarazteko. (Tenperatura galdu egin da. Berriro ipini)" + #define MSG_RESEND "Bidali berriro: " + #define MSG_UNKNOWN_COMMAND "Agindu ezezaguna: \"" + #define MSG_ACTIVE_EXTRUDER "Estrusore Aktiboa: " + #define MSG_INVALID_EXTRUDER "Balio gabeko Estrusorea" + #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 "Bide amaiera egiaztatzen" + #define MSG_ENDSTOP_HIT "Sakatuta" + #define MSG_ENDSTOP_OPEN "irekia" + #define MSG_HOTEND_OFFSET "Hotend offsets:" + + #define MSG_SD_CANT_OPEN_SUBDIR "Azpidirektorio ezin da ireki" + #define MSG_SD_INIT_FAIL "Akatsa txartela hasterakoan" + #define MSG_SD_VOL_INIT_FAIL "Akatsa partizioa hasterakoan" + #define MSG_SD_OPENROOT_FAIL "Akatsa direktorio nagusian" + #define MSG_SD_CARD_OK "SD card ok" + #define MSG_SD_WORKDIR_FAIL "Akatsa lan direktorioan" + #define MSG_SD_OPEN_FILE_FAIL "Akatsa irekitzean, File: " + #define MSG_SD_FILE_OPENED "Artxiboa irekita: " + #define MSG_SD_SIZE " Tamaina: " + #define MSG_SD_FILE_SELECTED "Artxiboa aukeratuta" + #define MSG_SD_WRITE_TO_FILE "Artxiboa idazten: " + #define MSG_SD_PRINTING_BYTE "SD byte idazten " + #define MSG_SD_NOT_PRINTING "Ez dago SD-tik inprimatzen" + #define MSG_SD_ERR_WRITE_TO_FILE "Akatsak artxiboa idazten" + #define MSG_SD_CANT_ENTER_SUBDIR "Azpidirektorio ezin da ireki: " + + #define MSG_STEPPER_TOO_HIGH "Motorra oso goi dago: " + #define MSG_ENDSTOPS_HIT "Bide amaiera ukitu da: " + #define MSG_ERR_COLD_EXTRUDE_STOP " estrusio hotza saihestua" + #define MSG_ERR_LONG_EXTRUDE_STOP " estrusio oso luzea saihestua" + #define MSG_BABYSTEPPING_X "Babystepping X" + #define MSG_BABYSTEPPING_Y "Babystepping Y" + #define MSG_BABYSTEPPING_Z "Babystepping Z" + #define MSG_SERIAL_ERROR_MENU_STRUCTURE "Akatsak menu-an" + +#endif + #endif // ifndef LANGUAGE_H diff --git a/Marlin/pins.h b/Marlin/pins.h index 3e5dd0b0b..10ccb7171 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -1054,6 +1054,22 @@ #define FAN_PIN 4 #endif +#ifdef NUM_SERVOS + #define SERVO0_PIN -1 + + #if NUM_SERVOS > 1 + #define SERVO1_PIN -1 + #endif + + #if NUM_SERVOS > 2 + #define SERVO2_PIN -1 + #endif + + #if NUM_SERVOS > 3 + #define SERVO3_PIN -1 + #endif +#endif + #define PS_ON_PIN -1 #define KILL_PIN -1 diff --git a/Marlin/thermistortables.h b/Marlin/thermistortables.h index 6120923f1..0a80e77b6 100644 --- a/Marlin/thermistortables.h +++ b/Marlin/thermistortables.h @@ -563,78 +563,135 @@ const short temptable_10[][2] PROGMEM = { {1016*OVERSAMPLENR, 0} }; #endif - -#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics -/* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature. -This does not match the normal thermistor behaviour so we need to set the following defines */ -#if (THERMISTORHEATER_0 == 20) -# define HEATER_0_RAW_HI_TEMP 16383 -# define HEATER_0_RAW_LO_TEMP 0 -#endif -#if (THERMISTORHEATER_1 == 20) -# define HEATER_1_RAW_HI_TEMP 16383 -# define HEATER_1_RAW_LO_TEMP 0 -#endif -#if (THERMISTORHEATER_2 == 20) -# define HEATER_2_RAW_HI_TEMP 16383 -# define HEATER_2_RAW_LO_TEMP 0 -#endif -#if (THERMISTORBED == 20) -# define HEATER_BED_RAW_HI_TEMP 16383 -# define HEATER_BED_RAW_LO_TEMP 0 -#endif -const short temptable_20[][2] PROGMEM = { -{ 0*OVERSAMPLENR , 0 }, -{ 227*OVERSAMPLENR , 1 }, -{ 236*OVERSAMPLENR , 10 }, -{ 245*OVERSAMPLENR , 20 }, -{ 253*OVERSAMPLENR , 30 }, -{ 262*OVERSAMPLENR , 40 }, -{ 270*OVERSAMPLENR , 50 }, -{ 279*OVERSAMPLENR , 60 }, -{ 287*OVERSAMPLENR , 70 }, -{ 295*OVERSAMPLENR , 80 }, -{ 304*OVERSAMPLENR , 90 }, -{ 312*OVERSAMPLENR , 100 }, -{ 320*OVERSAMPLENR , 110 }, -{ 329*OVERSAMPLENR , 120 }, -{ 337*OVERSAMPLENR , 130 }, -{ 345*OVERSAMPLENR , 140 }, -{ 353*OVERSAMPLENR , 150 }, -{ 361*OVERSAMPLENR , 160 }, -{ 369*OVERSAMPLENR , 170 }, -{ 377*OVERSAMPLENR , 180 }, -{ 385*OVERSAMPLENR , 190 }, -{ 393*OVERSAMPLENR , 200 }, -{ 401*OVERSAMPLENR , 210 }, -{ 409*OVERSAMPLENR , 220 }, -{ 417*OVERSAMPLENR , 230 }, -{ 424*OVERSAMPLENR , 240 }, -{ 432*OVERSAMPLENR , 250 }, -{ 440*OVERSAMPLENR , 260 }, -{ 447*OVERSAMPLENR , 270 }, -{ 455*OVERSAMPLENR , 280 }, -{ 463*OVERSAMPLENR , 290 }, -{ 470*OVERSAMPLENR , 300 }, -{ 478*OVERSAMPLENR , 310 }, -{ 485*OVERSAMPLENR , 320 }, -{ 493*OVERSAMPLENR , 330 }, -{ 500*OVERSAMPLENR , 340 }, -{ 507*OVERSAMPLENR , 350 }, -{ 515*OVERSAMPLENR , 360 }, -{ 522*OVERSAMPLENR , 370 }, -{ 529*OVERSAMPLENR , 380 }, -{ 537*OVERSAMPLENR , 390 }, -{ 544*OVERSAMPLENR , 400 }, -{ 614*OVERSAMPLENR , 500 }, -{ 681*OVERSAMPLENR , 600 }, -{ 744*OVERSAMPLENR , 700 }, -{ 805*OVERSAMPLENR , 800 }, -{ 862*OVERSAMPLENR , 900 }, -{ 917*OVERSAMPLENR , 1000 }, -{ 968*OVERSAMPLENR , 1100 } -}; -#endif + +#if (THERMISTORHEATER_0 == 11) || (THERMISTORHEATER_1 == 11) || (THERMISTORHEATER_2 == 11) || (THERMISTORBED == 11) +// QU-BD silicone bed QWG-104F-3950 thermistor + +const short temptable_11[][2] PROGMEM = { + {1*OVERSAMPLENR, 938}, + {31*OVERSAMPLENR, 314}, + {41*OVERSAMPLENR, 290}, + {51*OVERSAMPLENR, 272}, + {61*OVERSAMPLENR, 258}, + {71*OVERSAMPLENR, 247}, + {81*OVERSAMPLENR, 237}, + {91*OVERSAMPLENR, 229}, + {101*OVERSAMPLENR, 221}, + {111*OVERSAMPLENR, 215}, + {121*OVERSAMPLENR, 209}, + {131*OVERSAMPLENR, 204}, + {141*OVERSAMPLENR, 199}, + {151*OVERSAMPLENR, 195}, + {161*OVERSAMPLENR, 190}, + {171*OVERSAMPLENR, 187}, + {181*OVERSAMPLENR, 183}, + {191*OVERSAMPLENR, 179}, + {201*OVERSAMPLENR, 176}, + {221*OVERSAMPLENR, 170}, + {241*OVERSAMPLENR, 165}, + {261*OVERSAMPLENR, 160}, + {281*OVERSAMPLENR, 155}, + {301*OVERSAMPLENR, 150}, + {331*OVERSAMPLENR, 144}, + {361*OVERSAMPLENR, 139}, + {391*OVERSAMPLENR, 133}, + {421*OVERSAMPLENR, 128}, + {451*OVERSAMPLENR, 123}, + {491*OVERSAMPLENR, 117}, + {531*OVERSAMPLENR, 111}, + {571*OVERSAMPLENR, 105}, + {611*OVERSAMPLENR, 100}, + {641*OVERSAMPLENR, 95}, + {681*OVERSAMPLENR, 90}, + {711*OVERSAMPLENR, 85}, + {751*OVERSAMPLENR, 79}, + {791*OVERSAMPLENR, 72}, + {811*OVERSAMPLENR, 69}, + {831*OVERSAMPLENR, 65}, + {871*OVERSAMPLENR, 57}, + {881*OVERSAMPLENR, 55}, + {901*OVERSAMPLENR, 51}, + {921*OVERSAMPLENR, 45}, + {941*OVERSAMPLENR, 39}, + {971*OVERSAMPLENR, 28}, + {981*OVERSAMPLENR, 23}, + {991*OVERSAMPLENR, 17}, + {1001*OVERSAMPLENR, 9}, + {1021*OVERSAMPLENR, -27} +}; +#endif + +#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics +/* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature. +This does not match the normal thermistor behaviour so we need to set the following defines */ +#if (THERMISTORHEATER_0 == 20) +# define HEATER_0_RAW_HI_TEMP 16383 +# define HEATER_0_RAW_LO_TEMP 0 +#endif +#if (THERMISTORHEATER_1 == 20) +# define HEATER_1_RAW_HI_TEMP 16383 +# define HEATER_1_RAW_LO_TEMP 0 +#endif +#if (THERMISTORHEATER_2 == 20) +# define HEATER_2_RAW_HI_TEMP 16383 +# define HEATER_2_RAW_LO_TEMP 0 +#endif +#if (THERMISTORBED == 20) +# define HEATER_BED_RAW_HI_TEMP 16383 +# define HEATER_BED_RAW_LO_TEMP 0 +#endif +const short temptable_20[][2] PROGMEM = { +{ 0*OVERSAMPLENR , 0 }, +{ 227*OVERSAMPLENR , 1 }, +{ 236*OVERSAMPLENR , 10 }, +{ 245*OVERSAMPLENR , 20 }, +{ 253*OVERSAMPLENR , 30 }, +{ 262*OVERSAMPLENR , 40 }, +{ 270*OVERSAMPLENR , 50 }, +{ 279*OVERSAMPLENR , 60 }, +{ 287*OVERSAMPLENR , 70 }, +{ 295*OVERSAMPLENR , 80 }, +{ 304*OVERSAMPLENR , 90 }, +{ 312*OVERSAMPLENR , 100 }, +{ 320*OVERSAMPLENR , 110 }, +{ 329*OVERSAMPLENR , 120 }, +{ 337*OVERSAMPLENR , 130 }, +{ 345*OVERSAMPLENR , 140 }, +{ 353*OVERSAMPLENR , 150 }, +{ 361*OVERSAMPLENR , 160 }, +{ 369*OVERSAMPLENR , 170 }, +{ 377*OVERSAMPLENR , 180 }, +{ 385*OVERSAMPLENR , 190 }, +{ 393*OVERSAMPLENR , 200 }, +{ 401*OVERSAMPLENR , 210 }, +{ 409*OVERSAMPLENR , 220 }, +{ 417*OVERSAMPLENR , 230 }, +{ 424*OVERSAMPLENR , 240 }, +{ 432*OVERSAMPLENR , 250 }, +{ 440*OVERSAMPLENR , 260 }, +{ 447*OVERSAMPLENR , 270 }, +{ 455*OVERSAMPLENR , 280 }, +{ 463*OVERSAMPLENR , 290 }, +{ 470*OVERSAMPLENR , 300 }, +{ 478*OVERSAMPLENR , 310 }, +{ 485*OVERSAMPLENR , 320 }, +{ 493*OVERSAMPLENR , 330 }, +{ 500*OVERSAMPLENR , 340 }, +{ 507*OVERSAMPLENR , 350 }, +{ 515*OVERSAMPLENR , 360 }, +{ 522*OVERSAMPLENR , 370 }, +{ 529*OVERSAMPLENR , 380 }, +{ 537*OVERSAMPLENR , 390 }, +{ 544*OVERSAMPLENR , 400 }, +{ 614*OVERSAMPLENR , 500 }, +{ 681*OVERSAMPLENR , 600 }, +{ 744*OVERSAMPLENR , 700 }, +{ 805*OVERSAMPLENR , 800 }, +{ 862*OVERSAMPLENR , 900 }, +{ 917*OVERSAMPLENR , 1000 }, +{ 968*OVERSAMPLENR , 1100 } +}; +#endif #if (THERMISTORHEATER_0 == 51) || (THERMISTORHEATER_1 == 51) || (THERMISTORHEATER_2 == 51) || (THERMISTORBED == 51) // 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)