Updates to last changes from Pavel
This commit is contained in:
commit
2185f00cbd
|
|
@ -5,7 +5,7 @@
|
|||
#include "Configuration_prusa.h"
|
||||
|
||||
// Firmware version
|
||||
#define FW_version "3.0.10-12"
|
||||
#define FW_version "3.0.11-RC1"
|
||||
|
||||
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
|
||||
#define FW_PRUSA3D_MAGIC_LEN 10
|
||||
|
|
@ -46,6 +46,8 @@
|
|||
#define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
|
||||
#define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5) //5 x int for storing pinda probe temp shift relative to 50 C; unit: motor steps
|
||||
#define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
|
||||
#define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4) //4 x int for bowden lengths for multimaterial
|
||||
#define EEPROM_CALIBRATION_STATUS_PINDA (EEPROM_BOWDEN_LENGTH - 1) //0 - not calibrated; 1 - calibrated
|
||||
|
||||
// Currently running firmware, each digit stored as uint16_t.
|
||||
// The flavor differentiates a dev, alpha, beta, release candidate or a release version.
|
||||
|
|
@ -714,9 +716,6 @@ enum CalibrationStatus
|
|||
// The XYZ calibration has been performed, now it remains to run the V2Calibration.gcode.
|
||||
CALIBRATION_STATUS_LIVE_ADJUST = 230,
|
||||
|
||||
//V2 calibration has been run, now run PINDA probe temperature calibration
|
||||
CALIBRATION_STATUS_PINDA = 220,
|
||||
|
||||
// Calibrated, ready to print.
|
||||
CALIBRATION_STATUS_CALIBRATED = 1,
|
||||
|
||||
|
|
|
|||
|
|
@ -22,5 +22,6 @@ FORCE_INLINE void Config_RetrieveSettings() { Config_ResetDefault(); Config_Prin
|
|||
|
||||
inline uint8_t calibration_status() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS); }
|
||||
inline uint8_t calibration_status_store(uint8_t status) { eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS, status); }
|
||||
inline bool calibration_status_pinda() { return eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA); }
|
||||
|
||||
#endif//CONFIG_STORE_H
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
{
|
||||
"build_systems":
|
||||
[
|
||||
{
|
||||
"name": "compile",
|
||||
"working_dir": "$project_path",
|
||||
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||
// Arduino build process:
|
||||
// https://www.arduino.cc/en/Hacking/BuildProcess
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\arduino_debug.exe\" --pref build.path=..\\output --verify --board marlinAddon:avr:rambo -v --preserve-temp-files Firmware.ino"
|
||||
},
|
||||
{
|
||||
"name": "compile & upload",
|
||||
"working_dir": "$project_path",
|
||||
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
|
||||
//FIXME
|
||||
// Better to use avrdude directly?
|
||||
// http://www.nongnu.org/avrdude/user-manual/avrdude_4.html
|
||||
// avrdude -F -v -pm168 -cstk500v1 -P\\.\COM4 -b19200 -D -Uflash:w:"file.hex":i
|
||||
// may need add path to avrdude config file: -C"c:\utils\arduino-0016\hardware\tools\avr\etc\avrdude.conf" if Arduino IDE installed in "c:\utils\arduino-0016\"
|
||||
// https://typeunsafe.wordpress.com/2011/07/22/programming-arduino-with-avrdude/
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\arduino_debug.exe\" --pref build.path=..\\output --upload --port COM9 --board marlinAddon:avr:rambo -v --preserve-temp-files Firmware.ino"
|
||||
},
|
||||
{
|
||||
"name": "map-data",
|
||||
"working_dir": "$project_path",
|
||||
// https://sourceware.org/binutils/docs-2.21/binutils/objdump.html
|
||||
// Maybe it is better to generate map files by the linker?
|
||||
// avr-gcc -g -mmcu=atmega8 -Wl,-Map,demo.map -o demo.elf demo.o
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C -j .data ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-data.map"
|
||||
},
|
||||
{
|
||||
"name": "map-bss",
|
||||
"working_dir": "$project_path",
|
||||
// https://sourceware.org/binutils/docs-2.21/binutils/objdump.html
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C -j .bss ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-bss.map"
|
||||
},
|
||||
{
|
||||
"name": "map-all",
|
||||
"working_dir": "$project_path",
|
||||
// https://sourceware.org/binutils/docs-2.21/binutils/objdump.html
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -x -S -C ..\\output\\Firmware.ino.elf > ..\\output\\Firmware-all.map"
|
||||
},
|
||||
{
|
||||
"name": "disassemble",
|
||||
"working_dir": "$project_path",
|
||||
// https://sourceware.org/binutils/docs-2.21/binutils/objdump.html
|
||||
"shell_cmd": "\"c:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-objdump.exe\" -h -w -S ..\\output\\Firmware.ino.elf > ..\\output\\Firmware.asm"
|
||||
}
|
||||
],
|
||||
"folders":
|
||||
[
|
||||
{
|
||||
"path": "."
|
||||
// "folder_exclude_patterns": [".svn", "._d", ".metadata", ".settings"],
|
||||
// "file_exclude_patterns": ["XS.c"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -282,6 +282,7 @@ extern float retract_recover_length, retract_recover_length_swap, retract_recove
|
|||
|
||||
extern unsigned long starttime;
|
||||
extern unsigned long stoptime;
|
||||
extern int bowden_length[4];
|
||||
extern bool is_usb_printing;
|
||||
extern bool homing_flag;
|
||||
extern bool temp_cal_active;
|
||||
|
|
@ -320,6 +321,7 @@ extern unsigned long pause_time;
|
|||
extern unsigned long start_pause_print;
|
||||
|
||||
extern bool mesh_bed_leveling_flag;
|
||||
extern bool mesh_bed_run_from_menu;
|
||||
|
||||
extern void calculate_volumetric_multipliers();
|
||||
|
||||
|
|
@ -341,4 +343,5 @@ void bed_analysis(float x_dimension, float y_dimension, int x_points_num, int y_
|
|||
float temp_comp_interpolation(float temperature);
|
||||
void temp_compensation_apply();
|
||||
void temp_compensation_start();
|
||||
void wait_for_heater(long codenum);
|
||||
void wait_for_heater(long codenum);
|
||||
void serialecho_temperatures();
|
||||
|
|
@ -247,6 +247,8 @@ int extruder_multiply[EXTRUDERS] = {100
|
|||
#endif
|
||||
};
|
||||
|
||||
int bowden_length[4];
|
||||
|
||||
bool is_usb_printing = false;
|
||||
bool homing_flag = false;
|
||||
|
||||
|
|
@ -265,7 +267,10 @@ float pause_lastpos[4];
|
|||
unsigned long pause_time = 0;
|
||||
unsigned long start_pause_print = millis();
|
||||
|
||||
unsigned long load_filament_time;
|
||||
|
||||
bool mesh_bed_leveling_flag = false;
|
||||
bool mesh_bed_run_from_menu = false;
|
||||
|
||||
unsigned char lang_selected = 0;
|
||||
int8_t FarmMode = 0;
|
||||
|
|
@ -897,7 +902,7 @@ int er_progress = 0;
|
|||
void factory_reset(char level, bool quiet)
|
||||
{
|
||||
lcd_implementation_clear();
|
||||
|
||||
int cursor_pos = 0;
|
||||
switch (level) {
|
||||
|
||||
// Level 0: Language reset
|
||||
|
|
@ -968,6 +973,9 @@ void factory_reset(char level, bool quiet)
|
|||
}
|
||||
|
||||
|
||||
break;
|
||||
case 4:
|
||||
bowden_menu();
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -983,178 +991,183 @@ void factory_reset(char level, bool quiet)
|
|||
// are initialized by the main() routine provided by the Arduino framework.
|
||||
void setup()
|
||||
{
|
||||
setup_killpin();
|
||||
setup_powerhold();
|
||||
MYSERIAL.begin(BAUDRATE);
|
||||
SERIAL_PROTOCOLLNPGM("start");
|
||||
SERIAL_ECHO_START;
|
||||
setup_killpin();
|
||||
setup_powerhold();
|
||||
MYSERIAL.begin(BAUDRATE);
|
||||
SERIAL_PROTOCOLLNPGM("start");
|
||||
SERIAL_ECHO_START;
|
||||
|
||||
#if 0
|
||||
SERIAL_ECHOLN("Reading eeprom from 0 to 100: start");
|
||||
for (int i = 0; i < 4096; ++ i) {
|
||||
int b = eeprom_read_byte((unsigned char*)i);
|
||||
if (b != 255) {
|
||||
SERIAL_ECHO(i);
|
||||
SERIAL_ECHO(":");
|
||||
SERIAL_ECHO(b);
|
||||
SERIAL_ECHOLN("");
|
||||
}
|
||||
}
|
||||
SERIAL_ECHOLN("Reading eeprom from 0 to 100: done");
|
||||
#endif
|
||||
SERIAL_ECHOLN("Reading eeprom from 0 to 100: start");
|
||||
for (int i = 0; i < 4096; ++i) {
|
||||
int b = eeprom_read_byte((unsigned char*)i);
|
||||
if (b != 255) {
|
||||
SERIAL_ECHO(i);
|
||||
SERIAL_ECHO(":");
|
||||
SERIAL_ECHO(b);
|
||||
SERIAL_ECHOLN("");
|
||||
}
|
||||
}
|
||||
SERIAL_ECHOLN("Reading eeprom from 0 to 100: done");
|
||||
#endif
|
||||
|
||||
// Check startup - does nothing if bootloader sets MCUSR to 0
|
||||
byte mcu = MCUSR;
|
||||
if(mcu & 1) SERIAL_ECHOLNRPGM(MSG_POWERUP);
|
||||
if(mcu & 2) SERIAL_ECHOLNRPGM(MSG_EXTERNAL_RESET);
|
||||
if(mcu & 4) SERIAL_ECHOLNRPGM(MSG_BROWNOUT_RESET);
|
||||
if(mcu & 8) SERIAL_ECHOLNRPGM(MSG_WATCHDOG_RESET);
|
||||
if(mcu & 32) SERIAL_ECHOLNRPGM(MSG_SOFTWARE_RESET);
|
||||
MCUSR=0;
|
||||
// Check startup - does nothing if bootloader sets MCUSR to 0
|
||||
byte mcu = MCUSR;
|
||||
if (mcu & 1) SERIAL_ECHOLNRPGM(MSG_POWERUP);
|
||||
if (mcu & 2) SERIAL_ECHOLNRPGM(MSG_EXTERNAL_RESET);
|
||||
if (mcu & 4) SERIAL_ECHOLNRPGM(MSG_BROWNOUT_RESET);
|
||||
if (mcu & 8) SERIAL_ECHOLNRPGM(MSG_WATCHDOG_RESET);
|
||||
if (mcu & 32) SERIAL_ECHOLNRPGM(MSG_SOFTWARE_RESET);
|
||||
MCUSR = 0;
|
||||
|
||||
//SERIAL_ECHORPGM(MSG_MARLIN);
|
||||
//SERIAL_ECHOLNRPGM(VERSION_STRING);
|
||||
|
||||
#ifdef STRING_VERSION_CONFIG_H
|
||||
#ifdef STRING_CONFIG_H_AUTHOR
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHORPGM(MSG_CONFIGURATION_VER);
|
||||
SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
|
||||
SERIAL_ECHORPGM(MSG_AUTHOR);
|
||||
SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
|
||||
SERIAL_ECHOPGM("Compiled: ");
|
||||
SERIAL_ECHOLNPGM(__DATE__);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHORPGM(MSG_FREE_MEMORY);
|
||||
SERIAL_ECHO(freeMemory());
|
||||
SERIAL_ECHORPGM(MSG_PLANNER_BUFFER_BYTES);
|
||||
SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
|
||||
lcd_update_enable(false);
|
||||
// loads data from EEPROM if available else uses defaults (and resets step acceleration rate)
|
||||
Config_RetrieveSettings();
|
||||
SdFatUtil::set_stack_guard(); //writes magic number at the end of static variables to protect against overwriting static memory by stack
|
||||
tp_init(); // Initialize temperature loop
|
||||
plan_init(); // Initialize planner;
|
||||
watchdog_init();
|
||||
st_init(); // Initialize stepper, this enables interrupts!
|
||||
setup_photpin();
|
||||
servo_init();
|
||||
// Reset the machine correction matrix.
|
||||
// It does not make sense to load the correction matrix until the machine is homed.
|
||||
world2machine_reset();
|
||||
|
||||
lcd_init();
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
_delay_ms(1000);
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
lcd_implementation_clear();
|
||||
|
||||
|
||||
lcd_printPGM(PSTR("Factory RESET"));
|
||||
|
||||
|
||||
SET_OUTPUT(BEEPER);
|
||||
WRITE(BEEPER, HIGH);
|
||||
|
||||
while (!READ(BTN_ENC));
|
||||
|
||||
WRITE(BEEPER, LOW);
|
||||
|
||||
|
||||
//SERIAL_ECHORPGM(MSG_MARLIN);
|
||||
//SERIAL_ECHOLNRPGM(VERSION_STRING);
|
||||
|
||||
_delay_ms(2000);
|
||||
|
||||
char level = reset_menu();
|
||||
factory_reset(level, false);
|
||||
|
||||
switch (level) {
|
||||
case 0: _delay_ms(0); break;
|
||||
case 1: _delay_ms(0); break;
|
||||
case 2: _delay_ms(0); break;
|
||||
case 3: _delay_ms(0); break;
|
||||
}
|
||||
// _delay_ms(100);
|
||||
/*
|
||||
#ifdef MESH_BED_LEVELING
|
||||
_delay_ms(2000);
|
||||
#ifdef STRING_VERSION_CONFIG_H
|
||||
#ifdef STRING_CONFIG_H_AUTHOR
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHORPGM(MSG_CONFIGURATION_VER);
|
||||
SERIAL_ECHOPGM(STRING_VERSION_CONFIG_H);
|
||||
SERIAL_ECHORPGM(MSG_AUTHOR);
|
||||
SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
|
||||
SERIAL_ECHOPGM("Compiled: ");
|
||||
SERIAL_ECHOLNPGM(__DATE__);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
_delay_ms(200);
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
SERIAL_ECHO_START;
|
||||
SERIAL_ECHORPGM(MSG_FREE_MEMORY);
|
||||
SERIAL_ECHO(freeMemory());
|
||||
SERIAL_ECHORPGM(MSG_PLANNER_BUFFER_BYTES);
|
||||
SERIAL_ECHOLN((int)sizeof(block_t)*BLOCK_BUFFER_SIZE);
|
||||
lcd_update_enable(false);
|
||||
// loads data from EEPROM if available else uses defaults (and resets step acceleration rate)
|
||||
Config_RetrieveSettings();
|
||||
SdFatUtil::set_stack_guard(); //writes magic number at the end of static variables to protect against overwriting static memory by stack
|
||||
tp_init(); // Initialize temperature loop
|
||||
plan_init(); // Initialize planner;
|
||||
watchdog_init();
|
||||
st_init(); // Initialize stepper, this enables interrupts!
|
||||
setup_photpin();
|
||||
servo_init();
|
||||
// Reset the machine correction matrix.
|
||||
// It does not make sense to load the correction matrix until the machine is homed.
|
||||
world2machine_reset();
|
||||
|
||||
int _z = 0;
|
||||
calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_X, &_z);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_Y, &_z);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_Z, &_z);
|
||||
}
|
||||
else
|
||||
{
|
||||
lcd_init();
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
_delay_ms(1000);
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
lcd_implementation_clear();
|
||||
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
}
|
||||
#endif // mesh */
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_delay_ms(1000); // wait 1sec to display the splash screen
|
||||
}
|
||||
|
||||
|
||||
lcd_printPGM(PSTR("Factory RESET"));
|
||||
|
||||
#if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
|
||||
SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
|
||||
#endif
|
||||
|
||||
#ifdef DIGIPOT_I2C
|
||||
digipot_i2c_init();
|
||||
#endif
|
||||
setup_homepin();
|
||||
SET_OUTPUT(BEEPER);
|
||||
WRITE(BEEPER, HIGH);
|
||||
|
||||
while (!READ(BTN_ENC));
|
||||
|
||||
WRITE(BEEPER, LOW);
|
||||
|
||||
|
||||
|
||||
_delay_ms(2000);
|
||||
|
||||
char level = reset_menu();
|
||||
factory_reset(level, false);
|
||||
|
||||
switch (level) {
|
||||
case 0: _delay_ms(0); break;
|
||||
case 1: _delay_ms(0); break;
|
||||
case 2: _delay_ms(0); break;
|
||||
case 3: _delay_ms(0); break;
|
||||
}
|
||||
// _delay_ms(100);
|
||||
/*
|
||||
#ifdef MESH_BED_LEVELING
|
||||
_delay_ms(2000);
|
||||
|
||||
if (!READ(BTN_ENC))
|
||||
{
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
_delay_ms(200);
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
|
||||
int _z = 0;
|
||||
calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_X, &_z);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_Y, &_z);
|
||||
EEPROM_save_B(EEPROM_BABYSTEP_Z, &_z);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
WRITE(BEEPER, HIGH);
|
||||
_delay_ms(100);
|
||||
WRITE(BEEPER, LOW);
|
||||
}
|
||||
#endif // mesh */
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_delay_ms(1000); // wait 1sec to display the splash screen
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if defined(CONTROLLERFAN_PIN) && CONTROLLERFAN_PIN > -1
|
||||
SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
|
||||
#endif
|
||||
|
||||
#ifdef DIGIPOT_I2C
|
||||
digipot_i2c_init();
|
||||
#endif
|
||||
setup_homepin();
|
||||
|
||||
#if defined(Z_AXIS_ALWAYS_ON)
|
||||
enable_z();
|
||||
enable_z();
|
||||
#endif
|
||||
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
||||
EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no);
|
||||
if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == 0xFFFF)) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
||||
if (farm_no == 0xFFFF) farm_no = 0;
|
||||
if (farm_mode)
|
||||
{
|
||||
prusa_statistics(8);
|
||||
}
|
||||
farm_mode = eeprom_read_byte((uint8_t*)EEPROM_FARM_MODE);
|
||||
EEPROM_read_B(EEPROM_FARM_NUMBER, &farm_no);
|
||||
if ((farm_mode == 0xFF && farm_no == 0) || (farm_no == 0xFFFF)) farm_mode = false; //if farm_mode has not been stored to eeprom yet and farm number is set to zero or EEPROM is fresh, deactivate farm mode
|
||||
if (farm_no == 0xFFFF) farm_no = 0;
|
||||
if (farm_mode)
|
||||
{
|
||||
prusa_statistics(8);
|
||||
}
|
||||
|
||||
// Enable Toshiba FlashAir SD card / WiFi enahanced card.
|
||||
card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1);
|
||||
// Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false),
|
||||
// but this times out if a blocking dialog is shown in setup().
|
||||
card.initsd();
|
||||
|
||||
if (eeprom_read_dword((uint32_t*)(EEPROM_TOP-4)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP-8)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP-12)) == 0x0ffffffff) {
|
||||
// Maiden startup. The firmware has been loaded and first started on a virgin RAMBo board,
|
||||
// where all the EEPROM entries are set to 0x0ff.
|
||||
// Once a firmware boots up, it forces at least a language selection, which changes
|
||||
// EEPROM_LANG to number lower than 0x0ff.
|
||||
// 1) Set a high power mode.
|
||||
eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0);
|
||||
}
|
||||
// Enable Toshiba FlashAir SD card / WiFi enahanced card.
|
||||
card.ToshibaFlashAir_enable(eeprom_read_byte((unsigned char*)EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY) == 1);
|
||||
// Force SD card update. Otherwise the SD card update is done from loop() on card.checkautostart(false),
|
||||
// but this times out if a blocking dialog is shown in setup().
|
||||
card.initsd();
|
||||
|
||||
if (eeprom_read_dword((uint32_t*)(EEPROM_TOP - 4)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP - 8)) == 0x0ffffffff &&
|
||||
eeprom_read_dword((uint32_t*)(EEPROM_TOP - 12)) == 0x0ffffffff) {
|
||||
// Maiden startup. The firmware has been loaded and first started on a virgin RAMBo board,
|
||||
// where all the EEPROM entries are set to 0x0ff.
|
||||
// Once a firmware boots up, it forces at least a language selection, which changes
|
||||
// EEPROM_LANG to number lower than 0x0ff.
|
||||
// 1) Set a high power mode.
|
||||
eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0);
|
||||
}
|
||||
#ifdef SNMM
|
||||
if (eeprom_read_dword((uint32_t*)EEPROM_BOWDEN_LENGTH) == 0x0ffffffff) { //bowden length used for SNMM
|
||||
int _z = BOWDEN_LENGTH;
|
||||
for(int i = 0; i<4; i++) EEPROM_save_B(EEPROM_BOWDEN_LENGTH + i * 2, &_z);
|
||||
}
|
||||
#endif
|
||||
|
||||
// In the future, somewhere here would one compare the current firmware version against the firmware version stored in the EEPROM.
|
||||
// If they differ, an update procedure may need to be performed. At the end of this block, the current firmware version
|
||||
|
|
@ -1169,6 +1182,10 @@ void setup()
|
|||
temp_cal_active = false;
|
||||
} else temp_cal_active = eeprom_read_byte((uint8_t*)EEPROM_TEMP_CAL_ACTIVE);
|
||||
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA) == 255) {
|
||||
eeprom_write_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0);
|
||||
}
|
||||
|
||||
check_babystep(); //checking if Z babystep is in allowed range
|
||||
|
||||
if (calibration_status() == CALIBRATION_STATUS_ASSEMBLED ||
|
||||
|
|
@ -1181,13 +1198,14 @@ void setup()
|
|||
// Show the message.
|
||||
lcd_show_fullscreen_message_and_wait_P(MSG_BABYSTEP_Z_NOT_SET);
|
||||
lcd_update_enable(true);
|
||||
} else if (calibration_status() == CALIBRATION_STATUS_PINDA && temp_cal_active == true) {
|
||||
} else if (calibration_status() == CALIBRATION_STATUS_CALIBRATED && temp_cal_active == true && calibration_status_pinda() == false) {
|
||||
lcd_show_fullscreen_message_and_wait_P(MSG_PINDA_NOT_CALIBRATED);
|
||||
lcd_update_enable(true);
|
||||
} else if (calibration_status() == CALIBRATION_STATUS_Z_CALIBRATION) {
|
||||
// Show the message.
|
||||
lcd_show_fullscreen_message_and_wait_P(MSG_FOLLOW_CALIBRATION_FLOW);
|
||||
}
|
||||
for (int i = 0; i<4; i++) EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
|
||||
lcd_update_enable(true);
|
||||
|
||||
// Store the currently running firmware into an eeprom,
|
||||
|
|
@ -1875,6 +1893,7 @@ void trace() {
|
|||
delay(20);
|
||||
}
|
||||
|
||||
/*
|
||||
void ramming() {
|
||||
// float tmp[4] = DEFAULT_MAX_FEEDRATE;
|
||||
if (current_temperature[0] < 230) {
|
||||
|
|
@ -1929,10 +1948,10 @@ void ramming() {
|
|||
current_position[E_AXIS] += 4;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
/*current_position[X_AXIS] += 23; //delay
|
||||
//current_position[X_AXIS] += 23; //delay
|
||||
//plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], //current_position[E_AXIS], 600/60, active_extruder); //delay
|
||||
//current_position[X_AXIS] -= 23; //delay
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600/60, active_extruder); //delay
|
||||
current_position[X_AXIS] -= 23; //delay
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600/60, active_extruder); //delay*/
|
||||
delay(4700);
|
||||
max_feedrate[E_AXIS] = 80;
|
||||
current_position[E_AXIS] -= 92;
|
||||
|
|
@ -1957,7 +1976,7 @@ void ramming() {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
void process_commands()
|
||||
{
|
||||
#ifdef FILAMENT_RUNOUT_SUPPORT
|
||||
|
|
@ -2050,68 +2069,8 @@ void process_commands()
|
|||
|
||||
} else if(code_seen("FR")) {
|
||||
// Factory full reset
|
||||
factory_reset(0,true);
|
||||
|
||||
}else if(code_seen("Y")) { //filaments adjustment at the beginning of print (for SNMM)
|
||||
#ifdef SNMM
|
||||
int extr;
|
||||
SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); //is silent mode or loud mode set
|
||||
lcd_implementation_clear();
|
||||
lcd_display_message_fullscreen_P(MSG_FIL_ADJUSTING);
|
||||
current_position[Z_AXIS] = 100;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
digipot_current(2, E_MOTOR_HIGH_CURRENT);
|
||||
for (extr = 1; extr < 4; extr++) { //we dont know which filament is in nozzle, but we want to load filament0, so all other filaments must unloaded
|
||||
change_extr(extr);
|
||||
ramming();
|
||||
}
|
||||
change_extr(0);
|
||||
current_position[E_AXIS] += FIL_LOAD_LENGTH; //loading filament0 into the nozzle
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
for (extr = 1; extr < 4; extr++) {
|
||||
digipot_current(2, E_MOTOR_LOW_CURRENT); //set lower current for extruder motors
|
||||
change_extr(extr);
|
||||
current_position[E_AXIS] += (FIL_LOAD_LENGTH + 3 * FIL_RETURN_LENGTH); //adjusting filaments
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 5000, active_extruder);
|
||||
st_synchronize();
|
||||
digipot_current(2, tmp_motor_loud[2]); //set back to normal operation currents
|
||||
current_position[E_AXIS] -= FIL_RETURN_LENGTH;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
change_extr(0);
|
||||
current_position[E_AXIS] += 25;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder);
|
||||
digipot_current(2, E_MOTOR_HIGH_CURRENT);
|
||||
ramming();
|
||||
if (SilentMode == 1) digipot_current(2, tmp_motor[2]); //set back to normal operation currents
|
||||
else digipot_current(2, tmp_motor_loud[2]);
|
||||
st_synchronize();
|
||||
lcd_show_fullscreen_message_and_wait_P(MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ);
|
||||
lcd_implementation_clear();
|
||||
lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
current_position[Z_AXIS] = 0;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
st_synchronize();
|
||||
lcd_update_enable(true);
|
||||
|
||||
#endif
|
||||
}
|
||||
else if (code_seen("SetF")) {
|
||||
#ifdef SNMM
|
||||
bool not_finished = (eeprom_read_byte((unsigned char*)EEPROM_PRINT_FLAG) != PRINT_FINISHED);
|
||||
eeprom_update_byte((unsigned char*)EEPROM_PRINT_FLAG, PRINT_STARTED);
|
||||
if (not_finished) enquecommand_front_P(PSTR("PRUSA Y"));
|
||||
#endif
|
||||
}
|
||||
else if (code_seen("ResF")) {
|
||||
#ifdef SNMM
|
||||
eeprom_update_byte((unsigned char*)EEPROM_PRINT_FLAG, PRINT_FINISHED);
|
||||
#endif
|
||||
}
|
||||
factory_reset(0,true);
|
||||
}
|
||||
//else if (code_seen('Cal')) {
|
||||
// lcd_calibration();
|
||||
// }
|
||||
|
|
@ -2818,7 +2777,7 @@ void process_commands()
|
|||
enquecommand_front_P((PSTR("G28 W0")));
|
||||
break;
|
||||
}
|
||||
|
||||
SERIAL_ECHOLNPGM("PINDA probe calibration start");
|
||||
custom_message = true;
|
||||
custom_message_type = 4;
|
||||
custom_message_state = 1;
|
||||
|
|
@ -2829,11 +2788,17 @@ void process_commands()
|
|||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
while (abs(degBed() - PINDA_MIN_T) > 1 ) delay_keep_alive(1000);
|
||||
while (abs(degBed() - PINDA_MIN_T) > 1) {
|
||||
delay_keep_alive(1000);
|
||||
serialecho_temperatures();
|
||||
}
|
||||
|
||||
//enquecommand_P(PSTR("M190 S50"));
|
||||
for (int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000);
|
||||
calibration_status_store(CALIBRATION_STATUS_PINDA); //invalidate temp. calibration in case that in will be aborted during the calibration process
|
||||
for (int i = 0; i < PINDA_HEAT_T; i++) {
|
||||
delay_keep_alive(1000);
|
||||
serialecho_temperatures();
|
||||
}
|
||||
eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 0); //invalidate temp. calibration in case that in will be aborted during the calibration process
|
||||
|
||||
current_position[Z_AXIS] = 5;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
||||
|
|
@ -2853,6 +2818,9 @@ void process_commands()
|
|||
SERIAL_ECHOLNPGM("");
|
||||
|
||||
for (int i = 0; i<5; i++) {
|
||||
SERIAL_ECHOPGM("Step: ");
|
||||
MYSERIAL.print(i+2);
|
||||
SERIAL_ECHOLNPGM("/6");
|
||||
custom_message_state = i + 2;
|
||||
t_c = 60 + i * 10;
|
||||
|
||||
|
|
@ -2862,8 +2830,14 @@ void process_commands()
|
|||
current_position[Z_AXIS] = PINDA_PREHEAT_Z;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
||||
st_synchronize();
|
||||
while (degBed() < t_c) delay_keep_alive(1000);
|
||||
for (int i = 0; i < PINDA_HEAT_T; i++) delay_keep_alive(1000);
|
||||
while (degBed() < t_c) {
|
||||
delay_keep_alive(1000);
|
||||
serialecho_temperatures();
|
||||
}
|
||||
for (int i = 0; i < PINDA_HEAT_T; i++) {
|
||||
delay_keep_alive(1000);
|
||||
serialecho_temperatures();
|
||||
}
|
||||
current_position[Z_AXIS] = 5;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 3000 / 60, active_extruder);
|
||||
current_position[X_AXIS] = pgm_read_float(bed_ref_points);
|
||||
|
|
@ -2887,7 +2861,14 @@ void process_commands()
|
|||
custom_message_type = 0;
|
||||
custom_message = false;
|
||||
|
||||
calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
|
||||
eeprom_update_byte((uint8_t*)EEPROM_CALIBRATION_STATUS_PINDA, 1);
|
||||
SERIAL_ECHOLNPGM("Temperature calibration done. Continue with pressing the knob.");
|
||||
disable_x();
|
||||
disable_y();
|
||||
disable_z();
|
||||
disable_e0();
|
||||
disable_e1();
|
||||
disable_e2();
|
||||
lcd_show_fullscreen_message_and_wait_P(MSG_TEMP_CALIBRATION_DONE);
|
||||
lcd_update_enable(true);
|
||||
lcd_update(2);
|
||||
|
|
@ -2962,7 +2943,7 @@ void process_commands()
|
|||
break;
|
||||
}
|
||||
|
||||
if (run == false && card.sdprinting == true && temp_cal_active == true && calibration_status() < CALIBRATION_STATUS_PINDA) {
|
||||
if (run == false && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
||||
temp_compensation_start();
|
||||
run = true;
|
||||
repeatcommand_front(); // repeat G80 with all its parameters
|
||||
|
|
@ -3109,7 +3090,7 @@ void process_commands()
|
|||
}
|
||||
clean_up_after_endstop_move();
|
||||
SERIAL_ECHOLNPGM("clean up finished ");
|
||||
if(temp_cal_active == true && calibration_status() < CALIBRATION_STATUS_PINDA) temp_compensation_apply(); //apply PINDA temperature compensation
|
||||
if(temp_cal_active == true && calibration_status_pinda() == true) temp_compensation_apply(); //apply PINDA temperature compensation
|
||||
babystep_apply(); // Apply Z height correction aka baby stepping before mesh bed leveing gets activated.
|
||||
SERIAL_ECHOLNPGM("babystep applied");
|
||||
bool eeprom_bed_correction_valid = eeprom_read_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID) == 1;
|
||||
|
|
@ -3175,7 +3156,7 @@ void process_commands()
|
|||
go_home_with_z_lift();
|
||||
SERIAL_ECHOLNPGM("Go home finished");
|
||||
//unretract (after PINDA preheat retraction)
|
||||
if (card.sdprinting == true && degHotend(active_extruder) > EXTRUDE_MINTEMP && temp_cal_active == true) {
|
||||
if (degHotend(active_extruder) > EXTRUDE_MINTEMP && temp_cal_active == true && calibration_status_pinda() == true && target_temperature_bed >= 50) {
|
||||
current_position[E_AXIS] += DEFAULT_RETRACTION;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
||||
}
|
||||
|
|
@ -3184,6 +3165,7 @@ void process_commands()
|
|||
custom_message_type = custom_message_type_old;
|
||||
custom_message_state = custom_message_state_old;
|
||||
mesh_bed_leveling_flag = false;
|
||||
mesh_bed_run_from_menu = false;
|
||||
lcd_update(2);
|
||||
|
||||
}
|
||||
|
|
@ -3283,7 +3265,7 @@ void process_commands()
|
|||
* This G-code will be performed at the end of a calibration script.
|
||||
*/
|
||||
case 87:
|
||||
calibration_status_store(CALIBRATION_STATUS_PINDA);
|
||||
calibration_status_store(CALIBRATION_STATUS_CALIBRATED);
|
||||
break;
|
||||
|
||||
/**
|
||||
|
|
@ -4289,14 +4271,14 @@ Sigma_Exit:
|
|||
else
|
||||
{
|
||||
st_synchronize();
|
||||
if(code_seen('X')) disable_x();
|
||||
if(code_seen('Y')) disable_y();
|
||||
if(code_seen('Z')) disable_z();
|
||||
#if ((E0_ENABLE_PIN != X_ENABLE_PIN) && (E1_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
|
||||
if(code_seen('E')) {
|
||||
disable_e0();
|
||||
disable_e1();
|
||||
disable_e2();
|
||||
if (code_seen('X')) disable_x();
|
||||
if (code_seen('Y')) disable_y();
|
||||
if (code_seen('Z')) disable_z();
|
||||
#if ((E0_ENABLE_PIN != X_ENABLE_PIN) && (E1_ENABLE_PIN != Y_ENABLE_PIN)) // Only enable on boards that have seperate ENABLE_PINS
|
||||
if (code_seen('E')) {
|
||||
disable_e0();
|
||||
disable_e1();
|
||||
disable_e2();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
@ -5021,6 +5003,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
#ifdef FILAMENTCHANGEENABLE
|
||||
case 600: //Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
|
||||
{
|
||||
|
||||
st_synchronize();
|
||||
float target[4];
|
||||
float lastpos[4];
|
||||
|
|
@ -5101,6 +5084,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
#endif
|
||||
}
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_XYFEED, active_extruder);
|
||||
st_synchronize();
|
||||
custom_message = true;
|
||||
lcd_setstatuspgm(MSG_UNLOADING_FILAMENT);
|
||||
|
||||
// Unload filament
|
||||
if(code_seen('L'))
|
||||
|
|
@ -5109,11 +5095,35 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
}
|
||||
else
|
||||
{
|
||||
#ifdef FILAMENTCHANGE_FINALRETRACT
|
||||
target[E_AXIS]+= FILAMENTCHANGE_FINALRETRACT ;
|
||||
#endif
|
||||
#ifdef SNMM
|
||||
|
||||
#else
|
||||
#ifdef FILAMENTCHANGE_FINALRETRACT
|
||||
target[E_AXIS] += FILAMENTCHANGE_FINALRETRACT;
|
||||
#endif
|
||||
#endif // SNMM
|
||||
}
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder);
|
||||
|
||||
#ifdef SNMM
|
||||
target[E_AXIS] += 12;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3500, active_extruder);
|
||||
target[E_AXIS] += 6;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 5000, active_extruder);
|
||||
target[E_AXIS] += (FIL_LOAD_LENGTH * -1);
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 5000, active_extruder);
|
||||
st_synchronize();
|
||||
target[E_AXIS] += (FIL_COOLING);
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 50, active_extruder);
|
||||
target[E_AXIS] += (FIL_COOLING*-1);
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 50, active_extruder);
|
||||
target[E_AXIS] += (bowden_length[snmm_extruder] *-1);
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder);
|
||||
st_synchronize();
|
||||
|
||||
#else
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_RFEED, active_extruder);
|
||||
#endif // SNMM
|
||||
|
||||
|
||||
//finish moves
|
||||
st_synchronize();
|
||||
|
|
@ -5127,10 +5137,19 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
uint8_t cnt=0;
|
||||
int counterBeep = 0;
|
||||
lcd_wait_interact();
|
||||
load_filament_time = millis();
|
||||
while(!lcd_clicked()){
|
||||
cnt++;
|
||||
|
||||
cnt++;
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
/*#ifdef SNMM
|
||||
target[E_AXIS] += 0.002;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 500, active_extruder);
|
||||
|
||||
#endif // SNMM*/
|
||||
|
||||
if(cnt==0)
|
||||
{
|
||||
#if BEEPER > 0
|
||||
|
|
@ -5140,7 +5159,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
SET_OUTPUT(BEEPER);
|
||||
if (counterBeep== 0){
|
||||
WRITE(BEEPER,HIGH);
|
||||
}
|
||||
}
|
||||
if (counterBeep== 20){
|
||||
WRITE(BEEPER,LOW);
|
||||
}
|
||||
|
|
@ -5153,21 +5172,48 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
#ifdef SNMM
|
||||
display_loading();
|
||||
do {
|
||||
target[E_AXIS] += 0.002;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 500, active_extruder);
|
||||
delay_keep_alive(2);
|
||||
} while (!lcd_clicked());
|
||||
/*if (millis() - load_filament_time > 2) {
|
||||
load_filament_time = millis();
|
||||
target[E_AXIS] += 0.001;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1000, active_extruder);
|
||||
}*/
|
||||
#endif
|
||||
//Filament inserted
|
||||
|
||||
WRITE(BEEPER,LOW);
|
||||
|
||||
//Feed the filament to the end of nozzle quickly
|
||||
target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EFEED, active_extruder);
|
||||
|
||||
//Feed the filament to the end of nozzle quickly
|
||||
#ifdef SNMM
|
||||
|
||||
st_synchronize();
|
||||
target[E_AXIS] += bowden_length[snmm_extruder];
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder);
|
||||
target[E_AXIS] += FIL_LOAD_LENGTH - 60;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1400, active_extruder);
|
||||
target[E_AXIS] += 40;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
|
||||
target[E_AXIS] += 10;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 50, active_extruder);
|
||||
#else
|
||||
target[E_AXIS] += FILAMENTCHANGE_FIRSTFEED;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EFEED, active_extruder);
|
||||
#endif // SNMM
|
||||
|
||||
//Extrude some filament
|
||||
target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EXFEED, active_extruder);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Wait for user to check the state
|
||||
lcd_change_fil_state = 0;
|
||||
|
|
@ -5179,13 +5225,33 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
|
||||
// Filament failed to load so load it again
|
||||
case 2:
|
||||
#ifdef SNMM
|
||||
display_loading();
|
||||
do {
|
||||
target[E_AXIS] += 0.002;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 500, active_extruder);
|
||||
delay_keep_alive(2);
|
||||
} while (!lcd_clicked());
|
||||
|
||||
st_synchronize();
|
||||
target[E_AXIS] += bowden_length[snmm_extruder];
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 3000, active_extruder);
|
||||
target[E_AXIS] += FIL_LOAD_LENGTH - 60;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 1400, active_extruder);
|
||||
target[E_AXIS] += 40;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 400, active_extruder);
|
||||
target[E_AXIS] += 10;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], 50, active_extruder);
|
||||
|
||||
#else
|
||||
target[E_AXIS]+= FILAMENTCHANGE_FIRSTFEED ;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EFEED, active_extruder);
|
||||
|
||||
#endif
|
||||
target[E_AXIS]+= FILAMENTCHANGE_FINALFEED ;
|
||||
plan_buffer_line(target[X_AXIS], target[Y_AXIS], target[Z_AXIS], target[E_AXIS], FILAMENTCHANGE_EXFEED, active_extruder);
|
||||
|
||||
lcd_loading_filament();
|
||||
|
||||
break;
|
||||
|
||||
// Filament loaded properly but color is not clear
|
||||
|
|
@ -5198,6 +5264,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
// Everything good
|
||||
default:
|
||||
lcd_change_success();
|
||||
lcd_update_enable(true);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -5238,7 +5305,10 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
char cmd[9];
|
||||
sprintf_P(cmd, PSTR("M220 S%i"), feedmultiplyBckp);
|
||||
enquecommand(cmd);
|
||||
|
||||
|
||||
lcd_setstatuspgm(WELCOME_MSG);
|
||||
custom_message = false;
|
||||
custom_message_type = 0;
|
||||
|
||||
}
|
||||
break;
|
||||
|
|
@ -5352,6 +5422,9 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
break;
|
||||
case 702:
|
||||
{
|
||||
#ifdef SNMM
|
||||
extr_unload_all();
|
||||
#else
|
||||
custom_message = true;
|
||||
custom_message_type = 2;
|
||||
lcd_setstatuspgm(MSG_UNLOADING_FILAMENT);
|
||||
|
|
@ -5363,7 +5436,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
lcd_setstatuspgm(WELCOME_MSG);
|
||||
custom_message = false;
|
||||
custom_message_type = 0;
|
||||
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -5389,6 +5462,7 @@ case 404: //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
|
|||
else {
|
||||
tmp_extruder = code_value();
|
||||
#ifdef SNMM
|
||||
snmm_extruder = tmp_extruder;
|
||||
|
||||
st_synchronize();
|
||||
delay(100);
|
||||
|
|
@ -6327,7 +6401,9 @@ void temp_compensation_start() {
|
|||
custom_message_type = 5;
|
||||
custom_message_state = PINDA_HEAT_T + 1;
|
||||
lcd_update(2);
|
||||
if (degHotend(active_extruder)>EXTRUDE_MINTEMP) current_position[E_AXIS] -= DEFAULT_RETRACTION;
|
||||
if (degHotend(active_extruder) > EXTRUDE_MINTEMP) {
|
||||
current_position[E_AXIS] -= DEFAULT_RETRACTION;
|
||||
}
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
||||
|
||||
current_position[X_AXIS] = PINDA_PREHEAT_X;
|
||||
|
|
@ -6455,7 +6531,7 @@ void long_pause() //long pause print
|
|||
pause_lastpos[E_AXIS] = current_position[E_AXIS];
|
||||
|
||||
//retract
|
||||
current_position[E_AXIS] -= PAUSE_RETRACT;
|
||||
current_position[E_AXIS] -= DEFAULT_RETRACTION;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 400, active_extruder);
|
||||
|
||||
//lift z
|
||||
|
|
@ -6477,4 +6553,15 @@ void long_pause() //long pause print
|
|||
fanSpeed = 0;
|
||||
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
void serialecho_temperatures() {
|
||||
float tt = degHotend(active_extruder);
|
||||
SERIAL_PROTOCOLPGM("T:");
|
||||
SERIAL_PROTOCOL(tt);
|
||||
SERIAL_PROTOCOLPGM(" E:");
|
||||
SERIAL_PROTOCOL((int)active_extruder);
|
||||
SERIAL_PROTOCOLPGM(" B:");
|
||||
SERIAL_PROTOCOL_F(degBed(), 1);
|
||||
SERIAL_PROTOCOLLN("");
|
||||
}
|
||||
|
|
@ -16,7 +16,7 @@ const char MSG_ADJUSTZ_IT[] PROGMEM = "Autoregolare Z?";
|
|||
const char MSG_ADJUSTZ_ES[] PROGMEM = "Ajustar Eje Z";
|
||||
const char MSG_ADJUSTZ_PL[] PROGMEM = "Autodostroic Z?";
|
||||
const char MSG_ADJUSTZ_DE[] PROGMEM = "Auto Z einstellen?";
|
||||
const char MSG_ADJUSTZ_NL[] PROGMEM = "Auto instellen Z ?";
|
||||
const char MSG_ADJUSTZ_NL[] PROGMEM = "Auto instellen Z?";
|
||||
const char * const MSG_ADJUSTZ_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_ADJUSTZ_EN,
|
||||
MSG_ADJUSTZ_CZ,
|
||||
|
|
@ -131,12 +131,12 @@ const char * const MSG_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_BED_EN
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side um";
|
||||
const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side[um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_CZ[] PROGMEM = "Vpredu [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_IT[] PROGMEM = "Lato ateriore";
|
||||
const char MSG_BED_CORRECTION_FRONT_IT[] PROGMEM = "Fronte [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_ES[] PROGMEM = "Adelante [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_PL[] PROGMEM = "Do przodu [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_DE[] PROGMEM = "Vorne [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_DE[] PROGMEM = "Vorne [um]";
|
||||
const char MSG_BED_CORRECTION_FRONT_NL[] PROGMEM = "Vooruit[um]";
|
||||
const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_FRONT_EN,
|
||||
|
|
@ -148,12 +148,12 @@ const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_BED_CORRECTION_FRONT_NL
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side um";
|
||||
const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_CZ[] PROGMEM = "Vlevo [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_IT[] PROGMEM = "Lato sinistro";
|
||||
const char MSG_BED_CORRECTION_LEFT_IT[] PROGMEM = "Sinistra [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_ES[] PROGMEM = "Izquierda [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_PL[] PROGMEM = "W lewo [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_DE[] PROGMEM = "Links [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_DE[] PROGMEM = "Links [um]";
|
||||
const char MSG_BED_CORRECTION_LEFT_NL[] PROGMEM = "Links [um]";
|
||||
const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_LEFT_EN,
|
||||
|
|
@ -182,12 +182,12 @@ const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_BED_CORRECTION_MENU_NL
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side um";
|
||||
const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_CZ[] PROGMEM = "Vzadu [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_IT[] PROGMEM = "Lato posteriore";
|
||||
const char MSG_BED_CORRECTION_REAR_IT[] PROGMEM = "Retro [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_ES[] PROGMEM = "Atras [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_PL[] PROGMEM = "Do tylu [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_DE[] PROGMEM = "Hinten [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_DE[] PROGMEM = "Hinten [um]";
|
||||
const char MSG_BED_CORRECTION_REAR_NL[] PROGMEM = "Achter [um]";
|
||||
const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_REAR_EN,
|
||||
|
|
@ -200,16 +200,23 @@ const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset";
|
||||
const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[1] PROGMEM = {
|
||||
const char MSG_BED_CORRECTION_RESET_DE[] PROGMEM = "Zuruecksetzen";
|
||||
const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_EN,
|
||||
MSG_BED_CORRECTION_RESET_DE,
|
||||
MSG_BED_CORRECTION_RESET_EN
|
||||
};
|
||||
|
||||
const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side um";
|
||||
const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side[um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_CZ[] PROGMEM = "Vpravo [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_IT[] PROGMEM = "Lato destro";
|
||||
const char MSG_BED_CORRECTION_RIGHT_IT[] PROGMEM = "Destra [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_ES[] PROGMEM = "Derecha [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_PL[] PROGMEM = "W prawo [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_DE[] PROGMEM = "Rechts [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_DE[] PROGMEM = "Rechts [um]";
|
||||
const char MSG_BED_CORRECTION_RIGHT_NL[] PROGMEM = "Rechts [um]";
|
||||
const char * const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_CORRECTION_RIGHT_EN,
|
||||
|
|
@ -379,7 +386,7 @@ const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_CZ[] PROGMEM = "Kalibrace XYZ v
|
|||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_IT[] PROGMEM = "Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_ES[] PROGMEM = "Calibracion XYZ ok. Ejes X/Y perpendiculares. Felicitaciones!";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_PL[] PROGMEM = "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_DE[] PROGMEM = "XYZ-Kalibrierung ok. X/Y-Achsen sind im Lot. Glueckwunsch!";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_DE[] PROGMEM = "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_NL[] PROGMEM = "XYZ kalibratie ok. X/Y-assen staan perpendiculair. Gefeliciteerd!";
|
||||
const char * const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN,
|
||||
|
|
@ -447,7 +454,7 @@ const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ[] PROGMEM = "
|
|||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_IT[] PROGMEM = "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delanteros no alcanzables.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_PL[] PROGMEM = "Kalibr. XYZ niedokladna. Przednie punkty kalibr. Zbyt wys. do przodu.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_DE[] PROGMEM = "XYZ-Kalibrierung kompromittiert. Vordere Kalibrierpunkte nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_DE[] PROGMEM = "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_NL[] PROGMEM = "XYZ kalibratie gecompromitteerd. Voorzijde kalibratiepunten niet bereikbaar.";
|
||||
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN,
|
||||
|
|
@ -464,7 +471,7 @@ const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ[] PROGMEM = "
|
|||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_IT[] PROGMEM = "Calibrazione XYZ compromessa. Punto anteriore sinistro non raggiungibile.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delantero izquierdo no alcanzable.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_PL[] PROGMEM = "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_DE[] PROGMEM = "XYZ-Kalibrierung kompromittiert. Linker vorderer Kalibrierpunkt nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_DE[] PROGMEM = "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_NL[] PROGMEM = "XYZ kalibratie gecompromitteerd. Linksvoor kalibratiepunt niet bereikbaar.";
|
||||
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN,
|
||||
|
|
@ -481,7 +488,7 @@ const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ[] PROGMEM =
|
|||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_IT[] PROGMEM = "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_ES[] PROGMEM = "Calibrazion XYZ comprometida. Punto delantero derecho no alcanzable.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_PL[] PROGMEM = "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_DE[] PROGMEM = "XYZ-Kalibrierung kompromittiert. Rechter vorderer Kalibrierpunkt nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_DE[] PROGMEM = "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt nicht erreichbar.";
|
||||
const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_NL[] PROGMEM = "XYZ kalibratie gecompromitteerd. Rechtsvoor kalibratiepunt niet bereikbaar.";
|
||||
const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN,
|
||||
|
|
@ -642,7 +649,7 @@ const char MSG_CHANGING_FILAMENT_CZ[] PROGMEM = "Vymena filamentu!";
|
|||
const char MSG_CHANGING_FILAMENT_IT[] PROGMEM = "Cambiando filam.";
|
||||
const char MSG_CHANGING_FILAMENT_ES[] PROGMEM = "Cambiando filamento";
|
||||
const char MSG_CHANGING_FILAMENT_PL[] PROGMEM = "Wymiana filamentu";
|
||||
const char MSG_CHANGING_FILAMENT_DE[] PROGMEM = "Wechsel filament!";
|
||||
const char MSG_CHANGING_FILAMENT_DE[] PROGMEM = "Filament-Wechsel!";
|
||||
const char MSG_CHANGING_FILAMENT_NL[] PROGMEM = "Wissel filament!";
|
||||
const char * const MSG_CHANGING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_CHANGING_FILAMENT_EN,
|
||||
|
|
@ -720,7 +727,7 @@ const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_CZ[] PROGMEM = "Filamenty jsou srovn
|
|||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_IT[] PROGMEM = "I filamenti sono regolati. Si prega di pulire l'ugello per la calibrazione. Click per continuare.";
|
||||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_ES[] PROGMEM = "Filamentos ajustados. Limpie la boquilla para calibracion. Haga clic una vez terminado.";
|
||||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_PL[] PROGMEM = "Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem.";
|
||||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_DE[] PROGMEM = "Filaments sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig.";
|
||||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_DE[] PROGMEM = "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig.";
|
||||
const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_NL[] PROGMEM = "Filamenten zijn nu ingesteld. Reinig het tuit voor de kalibratie. Klik als klaar.";
|
||||
const char * const MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_EN,
|
||||
|
|
@ -899,7 +906,7 @@ const char MSG_E_CAL_KNOB_CZ[] PROGMEM = "Otacejte tlacitkem dokud znacka nedosa
|
|||
const char MSG_E_CAL_KNOB_IT[] PROGMEM = "Girare la manopola affinche' il segno raggiunga il corpo dell'estrusore. Click per continuare.";
|
||||
const char MSG_E_CAL_KNOB_ES[] PROGMEM = "Rotar el mando hasta que la marca llegue al cuerpo del extrusor. Haga clic una vez terminado.";
|
||||
const char MSG_E_CAL_KNOB_PL[] PROGMEM = "Prosze otaczac przycisk poki znacznik nie dosiegnie ciala ekstrudera. Potwierdzic przyciskiem.";
|
||||
const char MSG_E_CAL_KNOB_DE[] PROGMEM = "Dreh den Knopf bis das Extruder Zeichen erreicht ist. Klicken wenn fertig.";
|
||||
const char MSG_E_CAL_KNOB_DE[] PROGMEM = "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig.";
|
||||
const char MSG_E_CAL_KNOB_NL[] PROGMEM = "Draai knop tot mark extruder bereikt is. Klik als klaar.";
|
||||
const char * const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_E_CAL_KNOB_EN,
|
||||
|
|
@ -926,7 +933,7 @@ const char MSG_FAN_SPEED_CZ[] PROGMEM = "Rychlost vent.";
|
|||
const char MSG_FAN_SPEED_IT[] PROGMEM = "Velocita vent.";
|
||||
const char MSG_FAN_SPEED_ES[] PROGMEM = "Velocidad Vent.";
|
||||
const char MSG_FAN_SPEED_PL[] PROGMEM = "Predkosc went.";
|
||||
const char MSG_FAN_SPEED_DE[] PROGMEM = "Lueftergeschw.";
|
||||
const char MSG_FAN_SPEED_DE[] PROGMEM = "Luefter-Tempo";
|
||||
const char MSG_FAN_SPEED_NL[] PROGMEM = "Fan snelheid";
|
||||
const char * const MSG_FAN_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_FAN_SPEED_EN,
|
||||
|
|
@ -948,7 +955,7 @@ const char MSG_FILAMENTCHANGE_CZ[] PROGMEM = "Vymenit filament";
|
|||
const char MSG_FILAMENTCHANGE_IT[] PROGMEM = "Camb. filamento";
|
||||
const char MSG_FILAMENTCHANGE_ES[] PROGMEM = "Cambiar filamento";
|
||||
const char MSG_FILAMENTCHANGE_PL[] PROGMEM = "Wymienic filament";
|
||||
const char MSG_FILAMENTCHANGE_DE[] PROGMEM = "Filament wechseln";
|
||||
const char MSG_FILAMENTCHANGE_DE[] PROGMEM = "Filament-Wechsel";
|
||||
const char MSG_FILAMENTCHANGE_NL[] PROGMEM = "Wissel filament";
|
||||
const char * const MSG_FILAMENTCHANGE_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_FILAMENTCHANGE_EN,
|
||||
|
|
@ -965,7 +972,7 @@ const char MSG_FILAMENT_CLEAN_CZ[] PROGMEM = "Je barva cista?";
|
|||
const char MSG_FILAMENT_CLEAN_IT[] PROGMEM = "Il colore e' nitido?";
|
||||
const char MSG_FILAMENT_CLEAN_ES[] PROGMEM = "Es el nuevo color nitido?";
|
||||
const char MSG_FILAMENT_CLEAN_PL[] PROGMEM = "Czy kolor jest czysty?";
|
||||
const char MSG_FILAMENT_CLEAN_DE[] PROGMEM = "Ist Farbe klar?";
|
||||
const char MSG_FILAMENT_CLEAN_DE[] PROGMEM = "Ist Farbe rein?";
|
||||
const char MSG_FILAMENT_CLEAN_NL[] PROGMEM = "Is kleur zuiver?";
|
||||
const char * const MSG_FILAMENT_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_FILAMENT_CLEAN_EN,
|
||||
|
|
@ -978,7 +985,7 @@ const char * const MSG_FILAMENT_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
};
|
||||
|
||||
const char MSG_FILAMENT_LOADING_T0_EN[] PROGMEM = "Insert filament into extruder 1. Click when done.";
|
||||
const char MSG_FILAMENT_LOADING_T0_CZ[] PROGMEM = "Vlo\x9Ete filament do extruderu 1. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T0_CZ[] PROGMEM = "Vlozte filament do extruderu 1. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T0_IT[] PROGMEM = "Inserire filamento nell'estrusore 1. Click per continuare.";
|
||||
const char MSG_FILAMENT_LOADING_T0_ES[] PROGMEM = "Insertar filamento en el extrusor 1. Haga clic una vez terminado.";
|
||||
const char MSG_FILAMENT_LOADING_T0_PL[] PROGMEM = "Wloz filament do ekstrudera 1. Potwierdz przyciskiem.";
|
||||
|
|
@ -995,7 +1002,7 @@ const char * const MSG_FILAMENT_LOADING_T0_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
};
|
||||
|
||||
const char MSG_FILAMENT_LOADING_T1_EN[] PROGMEM = "Insert filament into extruder 2. Click when done.";
|
||||
const char MSG_FILAMENT_LOADING_T1_CZ[] PROGMEM = "Vlo\x9Ete filament do extruderu 2. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T1_CZ[] PROGMEM = "Vlozte filament do extruderu 2. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T1_IT[] PROGMEM = "Inserire filamento nell'estrusore 2. Click per continuare.";
|
||||
const char MSG_FILAMENT_LOADING_T1_ES[] PROGMEM = "Insertar filamento en el extrusor 2. Haga clic una vez terminado.";
|
||||
const char MSG_FILAMENT_LOADING_T1_PL[] PROGMEM = "Wloz filament do ekstrudera 2. Potwierdz przyciskiem.";
|
||||
|
|
@ -1012,7 +1019,7 @@ const char * const MSG_FILAMENT_LOADING_T1_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
};
|
||||
|
||||
const char MSG_FILAMENT_LOADING_T2_EN[] PROGMEM = "Insert filament into extruder 3. Click when done.";
|
||||
const char MSG_FILAMENT_LOADING_T2_CZ[] PROGMEM = "Vlo\x9Ete filament do extruderu 3. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T2_CZ[] PROGMEM = "Vlozte filament do extruderu 3. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T2_IT[] PROGMEM = "Inserire filamento nell'estrusore 3. Click per continuare.";
|
||||
const char MSG_FILAMENT_LOADING_T2_ES[] PROGMEM = "Insertar filamento en el extrusor 3. Haga clic una vez terminado.";
|
||||
const char MSG_FILAMENT_LOADING_T2_PL[] PROGMEM = "Wloz filament do ekstrudera 3. Potwierdz przyciskiem.";
|
||||
|
|
@ -1029,7 +1036,7 @@ const char * const MSG_FILAMENT_LOADING_T2_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
};
|
||||
|
||||
const char MSG_FILAMENT_LOADING_T3_EN[] PROGMEM = "Insert filament into extruder 4. Click when done.";
|
||||
const char MSG_FILAMENT_LOADING_T3_CZ[] PROGMEM = "Vlo\x9Ete filament do extruderu 4. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T3_CZ[] PROGMEM = "Vlozte filament do extruderu 4. Potvrdte tlacitkem.";
|
||||
const char MSG_FILAMENT_LOADING_T3_IT[] PROGMEM = "Inserire filamento nell'estrusore 4. Click per continuare.";
|
||||
const char MSG_FILAMENT_LOADING_T3_ES[] PROGMEM = "Insertar filamento en el extrusor 4. Haga clic una vez terminado.";
|
||||
const char MSG_FILAMENT_LOADING_T3_PL[] PROGMEM = "Wloz filament do ekstrudera 4. Potwierdz przyciskiem.";
|
||||
|
|
@ -1100,15 +1107,17 @@ const char * const MSG_FIL_TUNING_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN[] PROGMEM = "Iteration ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ[] PROGMEM = "Iterace ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_ES[] PROGMEM = "Iteracion ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_IT[] PROGMEM = "Reiterazione ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_ES[] PROGMEM = "Reiteracion ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_PL[] PROGMEM = "Iteracja ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_DE[] PROGMEM = "Wiederholung ";
|
||||
const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_NL[] PROGMEM = "Herhaling ";
|
||||
const char * const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_IT,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_ES,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_PL,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_DE,
|
||||
MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_NL
|
||||
};
|
||||
|
|
@ -1371,7 +1380,7 @@ const char * const MSG_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
|
|||
const char MSG_KILLED_EN[] PROGMEM = "KILLED. ";
|
||||
const char MSG_KILLED_IT[] PROGMEM = "IN TILT.";
|
||||
const char MSG_KILLED_ES[] PROGMEM = "PARADA DE EMERGENCIA";
|
||||
const char MSG_KILLED_DE[] PROGMEM = "NOTSTOPP/KILLED. ";
|
||||
const char MSG_KILLED_DE[] PROGMEM = "ABGEBROCHEN. ";
|
||||
const char MSG_KILLED_NL[] PROGMEM = "NOODSTOP/KILLED. ";
|
||||
const char * const MSG_KILLED_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_KILLED_EN,
|
||||
|
|
@ -1439,7 +1448,7 @@ const char MSG_LOADING_FILAMENT_CZ[] PROGMEM = "Zavadeni filamentu";
|
|||
const char MSG_LOADING_FILAMENT_IT[] PROGMEM = "Caricando filam.";
|
||||
const char MSG_LOADING_FILAMENT_ES[] PROGMEM = "Introduciendo filam.";
|
||||
const char MSG_LOADING_FILAMENT_PL[] PROGMEM = "Wprow. filamentu";
|
||||
const char MSG_LOADING_FILAMENT_DE[] PROGMEM = "Lade filament";
|
||||
const char MSG_LOADING_FILAMENT_DE[] PROGMEM = "Filament laedt";
|
||||
const char MSG_LOADING_FILAMENT_NL[] PROGMEM = "Laade Filament";
|
||||
const char * const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOADING_FILAMENT_EN,
|
||||
|
|
@ -1451,6 +1460,23 @@ const char * const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_LOADING_FILAMENT_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_ALL_EN[] PROGMEM = "Load all";
|
||||
const char MSG_LOAD_ALL_CZ[] PROGMEM = "Zavest vse";
|
||||
const char MSG_LOAD_ALL_IT[] PROGMEM = "Caricare tutti";
|
||||
const char MSG_LOAD_ALL_ES[] PROGMEM = "Intr. todos fil.";
|
||||
const char MSG_LOAD_ALL_PL[] PROGMEM = "Zalad. wszystkie";
|
||||
const char MSG_LOAD_ALL_DE[] PROGMEM = "Lade alle";
|
||||
const char MSG_LOAD_ALL_NL[] PROGMEM = "Laad alle";
|
||||
const char * const MSG_LOAD_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_ALL_EN,
|
||||
MSG_LOAD_ALL_CZ,
|
||||
MSG_LOAD_ALL_IT,
|
||||
MSG_LOAD_ALL_ES,
|
||||
MSG_LOAD_ALL_PL,
|
||||
MSG_LOAD_ALL_DE,
|
||||
MSG_LOAD_ALL_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_EPROM_EN[] PROGMEM = "Load memory";
|
||||
const char * const MSG_LOAD_EPROM_LANG_TABLE[1] PROGMEM = {
|
||||
MSG_LOAD_EPROM_EN
|
||||
|
|
@ -1461,7 +1487,7 @@ const char MSG_LOAD_FILAMENT_CZ[] PROGMEM = "Zavest filament";
|
|||
const char MSG_LOAD_FILAMENT_IT[] PROGMEM = "Carica filamento";
|
||||
const char MSG_LOAD_FILAMENT_ES[] PROGMEM = "Introducir filam.";
|
||||
const char MSG_LOAD_FILAMENT_PL[] PROGMEM = "Wprowadz filament";
|
||||
const char MSG_LOAD_FILAMENT_DE[] PROGMEM = "Lade Filament";
|
||||
const char MSG_LOAD_FILAMENT_DE[] PROGMEM = "Filament laden";
|
||||
const char MSG_LOAD_FILAMENT_NL[] PROGMEM = "Laad Filament";
|
||||
const char * const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_FILAMENT_EN,
|
||||
|
|
@ -1473,6 +1499,74 @@ const char * const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_LOAD_FILAMENT_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_FILAMENT_1_EN[] PROGMEM = "Load filament 1";
|
||||
const char MSG_LOAD_FILAMENT_1_CZ[] PROGMEM = "Zavest filament 1";
|
||||
const char MSG_LOAD_FILAMENT_1_IT[] PROGMEM = "Caricare fil. 1";
|
||||
const char MSG_LOAD_FILAMENT_1_ES[] PROGMEM = "Introducir fil. 1";
|
||||
const char MSG_LOAD_FILAMENT_1_PL[] PROGMEM = "Zaladowac fil. 1";
|
||||
const char MSG_LOAD_FILAMENT_1_DE[] PROGMEM = "Lade filament 1";
|
||||
const char MSG_LOAD_FILAMENT_1_NL[] PROGMEM = "Laad filament 1";
|
||||
const char * const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_FILAMENT_1_EN,
|
||||
MSG_LOAD_FILAMENT_1_CZ,
|
||||
MSG_LOAD_FILAMENT_1_IT,
|
||||
MSG_LOAD_FILAMENT_1_ES,
|
||||
MSG_LOAD_FILAMENT_1_PL,
|
||||
MSG_LOAD_FILAMENT_1_DE,
|
||||
MSG_LOAD_FILAMENT_1_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_FILAMENT_2_EN[] PROGMEM = "Load filament 2";
|
||||
const char MSG_LOAD_FILAMENT_2_CZ[] PROGMEM = "Zavest filament 2";
|
||||
const char MSG_LOAD_FILAMENT_2_IT[] PROGMEM = "Caricare fil. 2";
|
||||
const char MSG_LOAD_FILAMENT_2_ES[] PROGMEM = "Introducir fil. 2";
|
||||
const char MSG_LOAD_FILAMENT_2_PL[] PROGMEM = "Zaladowac fil. 2";
|
||||
const char MSG_LOAD_FILAMENT_2_DE[] PROGMEM = "Lade filament 2";
|
||||
const char MSG_LOAD_FILAMENT_2_NL[] PROGMEM = "Laad filament 2";
|
||||
const char * const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_FILAMENT_2_EN,
|
||||
MSG_LOAD_FILAMENT_2_CZ,
|
||||
MSG_LOAD_FILAMENT_2_IT,
|
||||
MSG_LOAD_FILAMENT_2_ES,
|
||||
MSG_LOAD_FILAMENT_2_PL,
|
||||
MSG_LOAD_FILAMENT_2_DE,
|
||||
MSG_LOAD_FILAMENT_2_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_FILAMENT_3_EN[] PROGMEM = "Load filament 3";
|
||||
const char MSG_LOAD_FILAMENT_3_CZ[] PROGMEM = "Zavest filament 3";
|
||||
const char MSG_LOAD_FILAMENT_3_IT[] PROGMEM = "Caricare fil. 3";
|
||||
const char MSG_LOAD_FILAMENT_3_ES[] PROGMEM = "Introducir fil. 3";
|
||||
const char MSG_LOAD_FILAMENT_3_PL[] PROGMEM = "Zaladowac fil. 3";
|
||||
const char MSG_LOAD_FILAMENT_3_DE[] PROGMEM = "Lade filament 3";
|
||||
const char MSG_LOAD_FILAMENT_3_NL[] PROGMEM = "Laad filament 3";
|
||||
const char * const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_FILAMENT_3_EN,
|
||||
MSG_LOAD_FILAMENT_3_CZ,
|
||||
MSG_LOAD_FILAMENT_3_IT,
|
||||
MSG_LOAD_FILAMENT_3_ES,
|
||||
MSG_LOAD_FILAMENT_3_PL,
|
||||
MSG_LOAD_FILAMENT_3_DE,
|
||||
MSG_LOAD_FILAMENT_3_NL
|
||||
};
|
||||
|
||||
const char MSG_LOAD_FILAMENT_4_EN[] PROGMEM = "Load filament 4";
|
||||
const char MSG_LOAD_FILAMENT_4_CZ[] PROGMEM = "Zavest filament 4";
|
||||
const char MSG_LOAD_FILAMENT_4_IT[] PROGMEM = "Caricare fil. 4";
|
||||
const char MSG_LOAD_FILAMENT_4_ES[] PROGMEM = "Introducir fil. 4";
|
||||
const char MSG_LOAD_FILAMENT_4_PL[] PROGMEM = "Zaladowac fil. 4";
|
||||
const char MSG_LOAD_FILAMENT_4_DE[] PROGMEM = "Lade filament 4";
|
||||
const char MSG_LOAD_FILAMENT_4_NL[] PROGMEM = "Laad filament 4";
|
||||
const char * const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_LOAD_FILAMENT_4_EN,
|
||||
MSG_LOAD_FILAMENT_4_CZ,
|
||||
MSG_LOAD_FILAMENT_4_IT,
|
||||
MSG_LOAD_FILAMENT_4_ES,
|
||||
MSG_LOAD_FILAMENT_4_PL,
|
||||
MSG_LOAD_FILAMENT_4_DE,
|
||||
MSG_LOAD_FILAMENT_4_NL
|
||||
};
|
||||
|
||||
const char MSG_LOOSE_PULLEY_EN[] PROGMEM = "Loose pulley";
|
||||
const char MSG_LOOSE_PULLEY_CZ[] PROGMEM = "Uvolnena remenicka";
|
||||
const char MSG_LOOSE_PULLEY_IT[] PROGMEM = "Puleggia lenta";
|
||||
|
|
@ -1551,7 +1645,7 @@ const char MSG_MARK_FIL_CZ[] PROGMEM = "Oznacte filament 100 mm od tela extruder
|
|||
const char MSG_MARK_FIL_IT[] PROGMEM = "Segnare il filamento a 100 mm di distanza dal corpo dell'estrusore. Click per continuare.";
|
||||
const char MSG_MARK_FIL_ES[] PROGMEM = "Marque el filamento 100 mm por encima del final del extrusor. Hacer clic una vez terminado.";
|
||||
const char MSG_MARK_FIL_PL[] PROGMEM = "Prosze oznaczyc filament 100 mm od ciala ekstrudera. Potwierdzic przyciskiem.";
|
||||
const char MSG_MARK_FIL_DE[] PROGMEM = "Markier Filament 100mm vom Extrudergehaeuse. Klicken wenn Fertig.";
|
||||
const char MSG_MARK_FIL_DE[] PROGMEM = "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig.";
|
||||
const char MSG_MARK_FIL_NL[] PROGMEM = "Mark filament 100mm van extruder body. Klik als klaar.";
|
||||
const char * const MSG_MARK_FIL_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_MARK_FIL_EN,
|
||||
|
|
@ -1678,7 +1772,7 @@ const char MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ[] PROGMEM = "Kalibrace XYZ. Otacenim
|
|||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_IT[] PROGMEM = "Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_ES[] PROGMEM = "Calibrando XYZ. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_PL[] PROGMEM = "Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_DE[] PROGMEM = "Kalibrieren von XYZ. Drehen Sie den Knopf, um die Z-Schlitten bis zum Anschlag zu bewegen. Klicken wenn fertig.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_DE[] PROGMEM = "Kalibrieren von XYZ. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_NL[] PROGMEM = "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar.";
|
||||
const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_MOVE_CARRIAGE_TO_THE_TOP_EN,
|
||||
|
|
@ -1695,7 +1789,7 @@ const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_CZ[] PROGMEM = "Kalibrace Z. Otacenim
|
|||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_IT[] PROGMEM = "Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_ES[] PROGMEM = "Calibrando Z. Gira el boton para subir el carro Z hasta golpe piezas superioras. Despues haz clic.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_PL[] PROGMEM = "Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_DE[] PROGMEM = "Kalibrieren von Z. Drehen Sie den Knopf, um die Z-Schlitten bis zum Anschlag zu bewegen. Klicken wenn fertig.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_DE[] PROGMEM = "Kalibrieren von Z. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind.";
|
||||
const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_NL[] PROGMEM = "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar.";
|
||||
const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_EN,
|
||||
|
|
@ -2033,7 +2127,7 @@ const char * const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_PID_EXTRUDER_NL
|
||||
};
|
||||
|
||||
const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. done ";
|
||||
const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. finished";
|
||||
const char MSG_PID_FINISHED_CZ[] PROGMEM = "PID kal. ukoncena";
|
||||
const char MSG_PID_FINISHED_IT[] PROGMEM = "Cal. PID completa";
|
||||
const char MSG_PID_FINISHED_ES[] PROGMEM = "Cal. PID terminada";
|
||||
|
|
@ -2050,7 +2144,7 @@ const char * const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_PID_FINISHED_NL
|
||||
};
|
||||
|
||||
const char MSG_PID_RUNNING_EN[] PROGMEM = "PID cal. ";
|
||||
const char MSG_PID_RUNNING_EN[] PROGMEM = "PID cal. ";
|
||||
const char MSG_PID_RUNNING_CZ[] PROGMEM = "PID kal. ";
|
||||
const char MSG_PID_RUNNING_IT[] PROGMEM = "Cal. PID";
|
||||
const char MSG_PID_RUNNING_ES[] PROGMEM = "Cal. PID ";
|
||||
|
|
@ -2167,6 +2261,23 @@ const char * const MSG_PREHEAT_NOZZLE_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_PREHEAT_NOZZLE_NL
|
||||
};
|
||||
|
||||
const char MSG_PREPARE_FILAMENT_EN[] PROGMEM = "Prepare new filament";
|
||||
const char MSG_PREPARE_FILAMENT_CZ[] PROGMEM = "Pripravte filament";
|
||||
const char MSG_PREPARE_FILAMENT_IT[] PROGMEM = "Preparare filamento";
|
||||
const char MSG_PREPARE_FILAMENT_ES[] PROGMEM = "Preparar filamento";
|
||||
const char MSG_PREPARE_FILAMENT_PL[] PROGMEM = "Przygotuj filament";
|
||||
const char MSG_PREPARE_FILAMENT_DE[] PROGMEM = "Filament vorbereiten";
|
||||
const char MSG_PREPARE_FILAMENT_NL[] PROGMEM = "Filament voorbereden";
|
||||
const char * const MSG_PREPARE_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_PREPARE_FILAMENT_EN,
|
||||
MSG_PREPARE_FILAMENT_CZ,
|
||||
MSG_PREPARE_FILAMENT_IT,
|
||||
MSG_PREPARE_FILAMENT_ES,
|
||||
MSG_PREPARE_FILAMENT_PL,
|
||||
MSG_PREPARE_FILAMENT_DE,
|
||||
MSG_PREPARE_FILAMENT_NL
|
||||
};
|
||||
|
||||
const char MSG_PRESS_EN[] PROGMEM = "and press the knob";
|
||||
const char MSG_PRESS_CZ[] PROGMEM = "a stisknete tlacitko";
|
||||
const char MSG_PRESS_IT[] PROGMEM = "e cliccare manopola";
|
||||
|
|
@ -2540,7 +2651,7 @@ const char MSG_SELFTEST_CHECK_ENDSTOPS_CZ[] PROGMEM = "Kontrola endstops";
|
|||
const char MSG_SELFTEST_CHECK_ENDSTOPS_IT[] PROGMEM = "Verifica finecorsa";
|
||||
const char MSG_SELFTEST_CHECK_ENDSTOPS_ES[] PROGMEM = "Cont. topes final";
|
||||
const char MSG_SELFTEST_CHECK_ENDSTOPS_PL[] PROGMEM = "Kontrola endstops";
|
||||
const char MSG_SELFTEST_CHECK_ENDSTOPS_DE[] PROGMEM = "Pruefe endstops ";
|
||||
const char MSG_SELFTEST_CHECK_ENDSTOPS_DE[] PROGMEM = "Pruefe Endschalter ";
|
||||
const char MSG_SELFTEST_CHECK_ENDSTOPS_NL[] PROGMEM = "Controleer endstops";
|
||||
const char * const MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_SELFTEST_CHECK_ENDSTOPS_EN,
|
||||
|
|
@ -2653,20 +2764,21 @@ const char * const MSG_SELFTEST_ENDSTOP_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
const char MSG_SELFTEST_ENDSTOPS_EN[] PROGMEM = "Endstops";
|
||||
const char MSG_SELFTEST_ENDSTOPS_IT[] PROGMEM = "Finecorsa (2)";
|
||||
const char MSG_SELFTEST_ENDSTOPS_ES[] PROGMEM = "Topes final";
|
||||
const char MSG_SELFTEST_ENDSTOPS_DE[] PROGMEM = "Endschalter";
|
||||
const char * const MSG_SELFTEST_ENDSTOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_SELFTEST_ENDSTOPS_EN,
|
||||
MSG_SELFTEST_ENDSTOPS_EN,
|
||||
MSG_SELFTEST_ENDSTOPS_IT,
|
||||
MSG_SELFTEST_ENDSTOPS_ES,
|
||||
MSG_SELFTEST_ENDSTOPS_EN,
|
||||
MSG_SELFTEST_ENDSTOPS_EN,
|
||||
MSG_SELFTEST_ENDSTOPS_DE,
|
||||
MSG_SELFTEST_ENDSTOPS_EN
|
||||
};
|
||||
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_EN[] PROGMEM = "Endstop not hit";
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_IT[] PROGMEM = "Finec. fuori por.";
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_ES[] PROGMEM = "Tope fin. no toc.";
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_DE[] PROGMEM = "Endstopp n. erreicht";
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_DE[] PROGMEM = "Endsch. n. erreicht";
|
||||
const char MSG_SELFTEST_ENDSTOP_NOTHIT_NL[] PROGMEM = "Endstop niet geraakt";
|
||||
const char * const MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_SELFTEST_ENDSTOP_NOTHIT_EN,
|
||||
|
|
@ -2698,7 +2810,7 @@ const char MSG_SELFTEST_EXTRUDER_FAN_CZ[] PROGMEM = "Levy vent na trysce?";;
|
|||
const char MSG_SELFTEST_EXTRUDER_FAN_IT[] PROGMEM = "Vent SX sull'ugello?";;
|
||||
const char MSG_SELFTEST_EXTRUDER_FAN_ES[] PROGMEM = "Vent. en la izg?";;
|
||||
const char MSG_SELFTEST_EXTRUDER_FAN_PL[] PROGMEM = "Lewy went na dysze?";;
|
||||
const char MSG_SELFTEST_EXTRUDER_FAN_DE[] PROGMEM = "Linker Hotend-Fan?";;
|
||||
const char MSG_SELFTEST_EXTRUDER_FAN_DE[] PROGMEM = "Linker Luefter?";;
|
||||
const char MSG_SELFTEST_EXTRUDER_FAN_NL[] PROGMEM = "Linke Hotend fan?";;
|
||||
const char * const MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_SELFTEST_EXTRUDER_FAN_EN,
|
||||
|
|
@ -2937,7 +3049,7 @@ const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Stav konc. spin.";
|
|||
const char MSG_SHOW_END_STOPS_IT[] PROGMEM = "Stato finecorsa";
|
||||
const char MSG_SHOW_END_STOPS_ES[] PROGMEM = "Ensena tope final";
|
||||
const char MSG_SHOW_END_STOPS_PL[] PROGMEM = "Pokaz krancowki";
|
||||
const char MSG_SHOW_END_STOPS_DE[] PROGMEM = "Anzeigen endstops";
|
||||
const char MSG_SHOW_END_STOPS_DE[] PROGMEM = "Anzeigen Enschalter";
|
||||
const char MSG_SHOW_END_STOPS_NL[] PROGMEM = "Toon endstops";
|
||||
const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_SHOW_END_STOPS_EN,
|
||||
|
|
@ -3063,7 +3175,7 @@ const char MSG_STATS_TOTALFILAMENT_CZ[] PROGMEM = "Filament celkem :";
|
|||
const char MSG_STATS_TOTALFILAMENT_IT[] PROGMEM = "Filamento tot:";
|
||||
const char MSG_STATS_TOTALFILAMENT_ES[] PROGMEM = "Filamento total:";
|
||||
const char MSG_STATS_TOTALFILAMENT_PL[] PROGMEM = "Filament lacznie :";
|
||||
const char MSG_STATS_TOTALFILAMENT_DE[] PROGMEM = "Filament Total:";
|
||||
const char MSG_STATS_TOTALFILAMENT_DE[] PROGMEM = "Filament Gesamt:";
|
||||
const char MSG_STATS_TOTALFILAMENT_NL[] PROGMEM = "Filament total: ";
|
||||
const char * const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_STATS_TOTALFILAMENT_EN,
|
||||
|
|
@ -3282,25 +3394,27 @@ const char * const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_PL[] PROGMEM = "karta SD [normal]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_DE[] PROGMEM = "SD Karte [normal]";
|
||||
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_PL,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_DE,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN
|
||||
};
|
||||
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL[] PROGMEM = "karta SD[FlshAir]";
|
||||
const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_DE[] PROGMEM = "SD Karte [FlshAir]";
|
||||
const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_PL,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_DE,
|
||||
MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN
|
||||
};
|
||||
|
||||
|
|
@ -3309,7 +3423,7 @@ const char MSG_TUNE_CZ[] PROGMEM = "Ladit";
|
|||
const char MSG_TUNE_IT[] PROGMEM = "Regola";
|
||||
const char MSG_TUNE_ES[] PROGMEM = "Ajustar";
|
||||
const char MSG_TUNE_PL[] PROGMEM = "Nastroic";
|
||||
const char MSG_TUNE_DE[] PROGMEM = "Justierung";
|
||||
const char MSG_TUNE_DE[] PROGMEM = "Feineinstellung";
|
||||
const char MSG_TUNE_NL[] PROGMEM = "Aanpassen";
|
||||
const char * const MSG_TUNE_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_TUNE_EN,
|
||||
|
|
@ -3343,6 +3457,23 @@ const char * const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_UNLOADING_FILAMENT_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_ALL_EN[] PROGMEM = "Unload all";
|
||||
const char MSG_UNLOAD_ALL_CZ[] PROGMEM = "Vyjmout vse";
|
||||
const char MSG_UNLOAD_ALL_IT[] PROGMEM = "Rilasciare tutti";
|
||||
const char MSG_UNLOAD_ALL_ES[] PROGMEM = "Soltar todos fil.";
|
||||
const char MSG_UNLOAD_ALL_PL[] PROGMEM = "Wyjac wszystkie";
|
||||
const char MSG_UNLOAD_ALL_DE[] PROGMEM = "Entnehme alle";
|
||||
const char MSG_UNLOAD_ALL_NL[] PROGMEM = "Haal alle uit";
|
||||
const char * const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_UNLOAD_ALL_EN,
|
||||
MSG_UNLOAD_ALL_CZ,
|
||||
MSG_UNLOAD_ALL_IT,
|
||||
MSG_UNLOAD_ALL_ES,
|
||||
MSG_UNLOAD_ALL_PL,
|
||||
MSG_UNLOAD_ALL_DE,
|
||||
MSG_UNLOAD_ALL_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_FILAMENT_EN[] PROGMEM = "Unload filament";
|
||||
const char MSG_UNLOAD_FILAMENT_CZ[] PROGMEM = "Vyjmout filament";
|
||||
const char MSG_UNLOAD_FILAMENT_IT[] PROGMEM = "Scarica filamento";
|
||||
|
|
@ -3360,6 +3491,74 @@ const char * const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
|
|||
MSG_UNLOAD_FILAMENT_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_FILAMENT_1_EN[] PROGMEM = "Unload filament 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_CZ[] PROGMEM = "Vyjmout filam. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_IT[] PROGMEM = "Rilasciare fil. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_ES[] PROGMEM = "Soltar fil. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_PL[] PROGMEM = "Wyjac filament 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_DE[] PROGMEM = "Entnehme filament 1";
|
||||
const char MSG_UNLOAD_FILAMENT_1_NL[] PROGMEM = "Haal filament 1 uit";
|
||||
const char * const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_UNLOAD_FILAMENT_1_EN,
|
||||
MSG_UNLOAD_FILAMENT_1_CZ,
|
||||
MSG_UNLOAD_FILAMENT_1_IT,
|
||||
MSG_UNLOAD_FILAMENT_1_ES,
|
||||
MSG_UNLOAD_FILAMENT_1_PL,
|
||||
MSG_UNLOAD_FILAMENT_1_DE,
|
||||
MSG_UNLOAD_FILAMENT_1_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_FILAMENT_2_EN[] PROGMEM = "Unload filament 2";
|
||||
const char MSG_UNLOAD_FILAMENT_2_CZ[] PROGMEM = "Vyjmout filam. 2";
|
||||
const char MSG_UNLOAD_FILAMENT_2_IT[] PROGMEM = "Rilasciare fil. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_2_ES[] PROGMEM = "Soltar fil. 2";
|
||||
const char MSG_UNLOAD_FILAMENT_2_PL[] PROGMEM = "Wyjac filament 2";
|
||||
const char MSG_UNLOAD_FILAMENT_2_DE[] PROGMEM = "Entnehme filament 2";
|
||||
const char MSG_UNLOAD_FILAMENT_2_NL[] PROGMEM = "Haal filament 2 uit";
|
||||
const char * const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_UNLOAD_FILAMENT_2_EN,
|
||||
MSG_UNLOAD_FILAMENT_2_CZ,
|
||||
MSG_UNLOAD_FILAMENT_2_IT,
|
||||
MSG_UNLOAD_FILAMENT_2_ES,
|
||||
MSG_UNLOAD_FILAMENT_2_PL,
|
||||
MSG_UNLOAD_FILAMENT_2_DE,
|
||||
MSG_UNLOAD_FILAMENT_2_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_FILAMENT_3_EN[] PROGMEM = "Unload filament 3";
|
||||
const char MSG_UNLOAD_FILAMENT_3_CZ[] PROGMEM = "Vyjmout filam. 3";
|
||||
const char MSG_UNLOAD_FILAMENT_3_IT[] PROGMEM = "Rilasciare fil. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_3_ES[] PROGMEM = "Soltar fil. 3";
|
||||
const char MSG_UNLOAD_FILAMENT_3_PL[] PROGMEM = "Wyjac filament 3";
|
||||
const char MSG_UNLOAD_FILAMENT_3_DE[] PROGMEM = "Entnehme filament 3";
|
||||
const char MSG_UNLOAD_FILAMENT_3_NL[] PROGMEM = "Haal filament 3 uit";
|
||||
const char * const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_UNLOAD_FILAMENT_3_EN,
|
||||
MSG_UNLOAD_FILAMENT_3_CZ,
|
||||
MSG_UNLOAD_FILAMENT_3_IT,
|
||||
MSG_UNLOAD_FILAMENT_3_ES,
|
||||
MSG_UNLOAD_FILAMENT_3_PL,
|
||||
MSG_UNLOAD_FILAMENT_3_DE,
|
||||
MSG_UNLOAD_FILAMENT_3_NL
|
||||
};
|
||||
|
||||
const char MSG_UNLOAD_FILAMENT_4_EN[] PROGMEM = "Unload filament 4";
|
||||
const char MSG_UNLOAD_FILAMENT_4_CZ[] PROGMEM = "Vyjmout filam. 4";
|
||||
const char MSG_UNLOAD_FILAMENT_4_IT[] PROGMEM = "Rilasciare fil. 1";
|
||||
const char MSG_UNLOAD_FILAMENT_4_ES[] PROGMEM = "Soltar fil. 4";
|
||||
const char MSG_UNLOAD_FILAMENT_4_PL[] PROGMEM = "Wyjac filament 4";
|
||||
const char MSG_UNLOAD_FILAMENT_4_DE[] PROGMEM = "Entnehme filament 4";
|
||||
const char MSG_UNLOAD_FILAMENT_4_NL[] PROGMEM = "Haal filament 4 uit";
|
||||
const char * const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
|
||||
MSG_UNLOAD_FILAMENT_4_EN,
|
||||
MSG_UNLOAD_FILAMENT_4_CZ,
|
||||
MSG_UNLOAD_FILAMENT_4_IT,
|
||||
MSG_UNLOAD_FILAMENT_4_ES,
|
||||
MSG_UNLOAD_FILAMENT_4_PL,
|
||||
MSG_UNLOAD_FILAMENT_4_DE,
|
||||
MSG_UNLOAD_FILAMENT_4_NL
|
||||
};
|
||||
|
||||
const char MSG_USB_PRINTING_EN[] PROGMEM = "USB printing ";
|
||||
const char MSG_USB_PRINTING_CZ[] PROGMEM = "Tisk z USB ";
|
||||
const char MSG_USB_PRINTING_IT[] PROGMEM = "Stampa da USB";
|
||||
|
|
|
|||
|
|
@ -62,8 +62,8 @@ extern const char* const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM];
|
|||
#define MSG_BED_CORRECTION_MENU LANG_TABLE_SELECT(MSG_BED_CORRECTION_MENU_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_REAR LANG_TABLE_SELECT(MSG_BED_CORRECTION_REAR_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_RESET_LANG_TABLE[1];
|
||||
#define MSG_BED_CORRECTION_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_BED_CORRECTION_RESET_LANG_TABLE, 0)
|
||||
extern const char* const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_RESET LANG_TABLE_SELECT(MSG_BED_CORRECTION_RESET_LANG_TABLE)
|
||||
extern const char* const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_BED_CORRECTION_RIGHT LANG_TABLE_SELECT(MSG_BED_CORRECTION_RIGHT_LANG_TABLE)
|
||||
extern const char* const MSG_BED_DONE_LANG_TABLE[LANG_NUM];
|
||||
|
|
@ -260,10 +260,20 @@ extern const char* const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM];
|
|||
#define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE)
|
||||
extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOADING_FILAMENT LANG_TABLE_SELECT(MSG_LOADING_FILAMENT_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_ALL_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_ALL LANG_TABLE_SELECT(MSG_LOAD_ALL_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_EPROM_LANG_TABLE[1];
|
||||
#define MSG_LOAD_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_LOAD_EPROM_LANG_TABLE, 0)
|
||||
extern const char* const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_1_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_2_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_3_LANG_TABLE)
|
||||
extern const char* const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_4_LANG_TABLE)
|
||||
extern const char* const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_LOOSE_PULLEY LANG_TABLE_SELECT(MSG_LOOSE_PULLEY_LANG_TABLE)
|
||||
extern const char* const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1];
|
||||
|
|
@ -380,6 +390,8 @@ extern const char* const MSG_PREHEAT_LANG_TABLE[LANG_NUM];
|
|||
#define MSG_PREHEAT LANG_TABLE_SELECT(MSG_PREHEAT_LANG_TABLE)
|
||||
extern const char* const MSG_PREHEAT_NOZZLE_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_PREHEAT_NOZZLE LANG_TABLE_SELECT(MSG_PREHEAT_NOZZLE_LANG_TABLE)
|
||||
extern const char* const MSG_PREPARE_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_PREPARE_FILAMENT LANG_TABLE_SELECT(MSG_PREPARE_FILAMENT_LANG_TABLE)
|
||||
extern const char* const MSG_PRESS_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_PRESS LANG_TABLE_SELECT(MSG_PRESS_LANG_TABLE)
|
||||
extern const char* const MSG_PRINTER_DISCONNECTED_LANG_TABLE[LANG_NUM];
|
||||
|
|
@ -566,8 +578,18 @@ extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1];
|
|||
#define MSG_UNKNOWN_COMMAND LANG_TABLE_SELECT_EXPLICIT(MSG_UNKNOWN_COMMAND_LANG_TABLE, 0)
|
||||
extern const char* const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOADING_FILAMENT LANG_TABLE_SELECT(MSG_UNLOADING_FILAMENT_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_ALL LANG_TABLE_SELECT(MSG_UNLOAD_ALL_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_FILAMENT LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_1_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_2_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_3_LANG_TABLE)
|
||||
extern const char* const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_UNLOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_4_LANG_TABLE)
|
||||
extern const char* const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM];
|
||||
#define MSG_USB_PRINTING LANG_TABLE_SELECT(MSG_USB_PRINTING_LANG_TABLE)
|
||||
extern const char* const MSG_USERWAIT_LANG_TABLE[LANG_NUM];
|
||||
|
|
|
|||
|
|
@ -73,7 +73,17 @@
|
|||
#define MSG_SETTINGS "Nastaveni"
|
||||
#define MSG_PREHEAT "Predehrev"
|
||||
#define MSG_UNLOAD_FILAMENT "Vyjmout filament"
|
||||
#define MSG_LOAD_FILAMENT "Zavest filament"
|
||||
#define MSG_LOAD_FILAMENT "Zavest filament"
|
||||
#define MSG_LOAD_FILAMENT_1 "Zavest filament 1"
|
||||
#define MSG_LOAD_FILAMENT_2 "Zavest filament 2"
|
||||
#define MSG_LOAD_FILAMENT_3 "Zavest filament 3"
|
||||
#define MSG_LOAD_FILAMENT_4 "Zavest filament 4"
|
||||
#define MSG_UNLOAD_FILAMENT_1 "Vyjmout filam. 1"
|
||||
#define MSG_UNLOAD_FILAMENT_2 "Vyjmout filam. 2"
|
||||
#define MSG_UNLOAD_FILAMENT_3 "Vyjmout filam. 3"
|
||||
#define MSG_UNLOAD_FILAMENT_4 "Vyjmout filam. 4"
|
||||
#define MSG_UNLOAD_ALL "Vyjmout vse"
|
||||
#define MSG_LOAD_ALL "Zavest vse"
|
||||
|
||||
#define MSG_RECTRACT "Rectract"
|
||||
#define MSG_ERROR "CHYBA:"
|
||||
|
|
@ -248,10 +258,10 @@
|
|||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
|
||||
|
||||
#define MSG_LOOSE_PULLEY "Uvolnena remenicka"
|
||||
#define MSG_FILAMENT_LOADING_T0 "Vložte filament do extruderu 1. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T1 "Vložte filament do extruderu 2. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T2 "Vložte filament do extruderu 3. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T3 "Vložte filament do extruderu 4. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T0 "Vlozte filament do extruderu 1. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T1 "Vlozte filament do extruderu 2. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T2 "Vlozte filament do extruderu 3. Potvrdte tlacitkem."
|
||||
#define MSG_FILAMENT_LOADING_T3 "Vlozte filament do extruderu 4. Potvrdte tlacitkem."
|
||||
#define MSG_CHANGE_EXTR "Zmenit extruder"
|
||||
|
||||
#define MSG_FIL_ADJUSTING "Probiha srovnani filamentu. Prosim cekejte."
|
||||
|
|
@ -281,4 +291,5 @@
|
|||
#define MSG_TEMP_CALIBRATION "Tepl. kal. "
|
||||
#define MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena. Pokracujte stiskem tlacitka."
|
||||
#define MSG_TEMP_CALIBRATION_ON "Tepl. kal. [ON]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Tepl. kal. [OFF]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Tepl. kal. [OFF]"
|
||||
#define MSG_PREPARE_FILAMENT "Pripravte filament"
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
#define MSG_NOZZLE1 "Duese2"
|
||||
#define MSG_NOZZLE2 "Duese3"
|
||||
#define MSG_BED "Bett"
|
||||
#define(length=20) MSG_FAN_SPEED "Lueftergeschw."
|
||||
#define(length=20) MSG_FAN_SPEED "Luefter-Tempo"
|
||||
#define MSG_FLOW "Durchfluss"
|
||||
#define MSG_FLOW0 "Durchfluss 0"
|
||||
#define MSG_FLOW1 "Durchfluss 1"
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
#define MSG_RESTORE_FAILSAFE "Standardkonfiguration"
|
||||
#define MSG_REFRESH "Aktualisieren"
|
||||
#define MSG_WATCH "Information"
|
||||
#define MSG_TUNE "Justierung"
|
||||
#define MSG_TUNE "Feineinstellung"
|
||||
#define MSG_PAUSE_PRINT "Pause"
|
||||
#define MSG_RESUME_PRINT "Fortsetzen"
|
||||
#define MSG_STOP_PRINT "Druck abbrechen"
|
||||
|
|
@ -56,9 +56,9 @@
|
|||
#define(length=20) MSG_RESUMING "Druck fortgesetzt"
|
||||
#define(length=20) MSG_PRINT_ABORTED "Druck abgebrochen"
|
||||
#define MSG_NO_MOVE "Keine Bewegung."
|
||||
#define(length=20) MSG_KILLED "NOTSTOPP/KILLED. "
|
||||
#define(length=20) MSG_KILLED "ABGEBROCHEN. "
|
||||
#define MSG_STOPPED "GESTOPPT. "
|
||||
#define MSG_FILAMENTCHANGE "Filament wechseln"
|
||||
#define MSG_FILAMENTCHANGE "Filament-Wechsel"
|
||||
#define MSG_INIT_SDCARD "SD erkennen"
|
||||
#define MSG_CNG_SDCARD "SD-Karte wechsel"
|
||||
#define MSG_BABYSTEP_X "Babystep X"
|
||||
|
|
@ -70,7 +70,17 @@
|
|||
#define MSG_SETTINGS "Einstellungen"
|
||||
#define MSG_PREHEAT "Vorheizen"
|
||||
#define MSG_UNLOAD_FILAMENT "Entnehme Filament"
|
||||
#define MSG_LOAD_FILAMENT "Lade Filament"
|
||||
#define MSG_LOAD_FILAMENT "Filament laden"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_1 "Lade filament 1"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_2 "Lade filament 2"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_3 "Lade filament 3"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_4 "Lade filament 4"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Entnehme filament 1"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Entnehme filament 2"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Entnehme filament 3"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Entnehme filament 4"
|
||||
#define MSG_UNLOAD_ALL "Entnehme alle"
|
||||
#define MSG_LOAD_ALL "Lade alle"
|
||||
|
||||
#define MSG_RECTRACT "Rectract"
|
||||
#define MSG_ERROR "FEHLER:"
|
||||
|
|
@ -81,13 +91,13 @@
|
|||
#define MSG_NO "Nein"
|
||||
#define(length=20) MSG_NOT_LOADED "Fil. nicht geladen"
|
||||
#define(length=20) MSG_NOT_COLOR "Farbe nicht klar."
|
||||
#define(length=20) MSG_LOADING_FILAMENT "Lade filament"
|
||||
#define(length=20) MSG_LOADING_FILAMENT "Filament laedt"
|
||||
#define(length=20) MSG_PLEASE_WAIT "Bitte warten"
|
||||
#define MSG_LOADING_COLOR "Lade Farbe"
|
||||
#define(length=20) MSG_CHANGE_SUCCESS "Wechsel erfolgreich!"
|
||||
#define(length=20) MSG_PRESS "und Knopf druecken"
|
||||
#define(length=20) MSG_INSERT_FILAMENT "Filament einlegen"
|
||||
#define(length=20) MSG_CHANGING_FILAMENT "Wechsel filament!"
|
||||
#define(length=20) MSG_CHANGING_FILAMENT "Filament-Wechsel!"
|
||||
|
||||
|
||||
#define MSG_SILENT_MODE_ON "Mode [leise]"
|
||||
|
|
@ -160,25 +170,25 @@
|
|||
#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
|
||||
#define MSG_SELFTEST_BEDHEATER "Bett / Heater"
|
||||
#define(length=20) MSG_SELFTEST_WIRINGERROR "Verdrahtungsfehler"
|
||||
#define MSG_SELFTEST_ENDSTOPS "Endstops"
|
||||
#define MSG_SELFTEST_ENDSTOPS "Endschalter"
|
||||
#define MSG_SELFTEST_MOTOR "Motor"
|
||||
#define MSG_SELFTEST_ENDSTOP "Endstop"
|
||||
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endstopp n. erreicht"
|
||||
#define(length=20) MSG_SELFTEST_ENDSTOP_NOTHIT "Endsch. n. erreicht"
|
||||
#define MSG_SELFTEST_OK "Selbsttest OK"
|
||||
#define(length=20) MSG_LOOSE_PULLEY "Loser pulley"
|
||||
|
||||
#define MSG_SELFTEST_FAN "Lueftertest";
|
||||
#define(length=20) MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?";
|
||||
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linker Hotend-Fan?";
|
||||
#define(length=20) MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?";
|
||||
#define MSG_SELFTEST_FAN_YES "Dreht";
|
||||
#define(length=20) MSG_SELFTEST_FAN_NO "Dreht nicht";
|
||||
|
||||
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament Total:"
|
||||
#define(length=20) MSG_STATS_TOTALFILAMENT "Filament Gesamt:"
|
||||
#define(length=20) MSG_STATS_TOTALPRINTTIME "Totale druck Zeit:"
|
||||
#define(length=20) MSG_STATS_FILAMENTUSED "Filamentverbrauch:"
|
||||
#define(length=20) MSG_STATS_PRINTTIME "Druck Zeit: "
|
||||
#define(length=20) MSG_SELFTEST_START "Selbsttest start "
|
||||
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe endstops "
|
||||
#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter "
|
||||
#define(length=20) MSG_SELFTEST_CHECK_HOTEND "Pruefe hotend "
|
||||
#define(length=20) MSG_SELFTEST_CHECK_X "Pruefe X Achse "
|
||||
#define(length=20) MSG_SELFTEST_CHECK_Y "Pruefe Y Achse "
|
||||
|
|
@ -193,12 +203,12 @@
|
|||
#define MSG_HOMEYZ_PROGRESS "Kalibriere Z"
|
||||
#define MSG_HOMEYZ_DONE "Kalibrierung OK"
|
||||
|
||||
#define MSG_SHOW_END_STOPS "Anzeigen endstops"
|
||||
#define MSG_SHOW_END_STOPS "Anzeigen Enschalter"
|
||||
#define MSG_CALIBRATE_BED "Kalibrierung XYZ"
|
||||
#define MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr."
|
||||
|
||||
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf, um die Z-Schlitten bis zum Anschlag zu bewegen. Klicken wenn fertig."
|
||||
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf, um die Z-Schlitten bis zum Anschlag zu bewegen. Klicken wenn fertig."
|
||||
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
|
||||
#define(length=20, lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind."
|
||||
|
||||
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
|
||||
#define(length=20, lines=8) MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?"
|
||||
|
|
@ -213,15 +223,15 @@
|
|||
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind im Lot. Glueckwunsch!"
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schief."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "X/Y sehr schief. Schiefheit wird automatisch korrigiert."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker voderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter voderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vodere Kalibrierpunkte nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung kompromittiert. Linker vorderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung kompromittiert. Rechter vorderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung kompromittiert. Vordere Kalibrierpunkte nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt nicht erreichbar."
|
||||
#define(length=20, lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte nicht erreichbar."
|
||||
|
||||
#define(length=20, lines=6) MSG_BED_LEVELING_FAILED_POINT_LOW "Bett-Nivellierung fehlgeschlagen. Sensor wurde nicht ausgeloest. Schmutz auf der Duese? Warte auf Reset."
|
||||
#define(length=20, lines=5) MSG_BED_LEVELING_FAILED_POINT_HIGH "Bett-Nivellierung fehlgeschlagen. Sensor wurde zu hoch ausgeloest. Warte auf Reset."
|
||||
|
|
@ -242,31 +252,31 @@
|
|||
#define(length=20, lines=2) MSG_FIL_LOADED_CHECK "Ist Filament eingelegt?"
|
||||
#define(length=20, lines=3) MSG_FIL_TUNING "Knopf drehen um Filament einzustellen."
|
||||
#define(length=20, lines=4) MSG_FIL_ADJUSTING "Einstellen Filament. Bitte warten."
|
||||
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filaments sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
|
||||
#define(length=20, lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
|
||||
#define(length=20, lines=4) MSG_STACK_ERROR "Error - static memory has been overwritten"
|
||||
#define(length=20, lines=1) MSG_CALIBRATE_E "Kalibrierung E"
|
||||
//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E "Reset E Cal."
|
||||
#define(length=20, lines=8) MSG_E_CAL_KNOB "Dreh den Knopf bis das Extruder Zeichen erreicht ist. Klicken wenn fertig."
|
||||
#define(length=20, lines=8) MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
|
||||
|
||||
//#define(length=20, lines=1) MSG_FARM_CARD_MENU "Farm mode print"
|
||||
#define(length=20, lines=8) MSG_MARK_FIL "Markier Filament 100mm vom Extrudergehaeuse. Klicken wenn Fertig."
|
||||
#define(length=20, lines=8) MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
|
||||
#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig"
|
||||
#define(length=20, lines=3) MSG_WAITING_TEMP "Warten auf Abkuehlung von Heater und Bett."
|
||||
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Ist Farbe klar?"
|
||||
#define(length=20, lines=2) MSG_FILAMENT_CLEAN "Ist Farbe rein?"
|
||||
#define(length=20) MSG_UNLOADING_FILAMENT "Filament auswerfen"
|
||||
#define(length=20, lines=10) MSG_PAPER "Lege waehrend der Kalibrierung der ersten 4 Punkte ein Blatt Papier unter die Duese. Wenn die Duese das Papier bewegt, Drucker sofort ausschalten!"
|
||||
|
||||
#define(length=20) MSG_BED_CORRECTION_MENU "Bett level korrekt"
|
||||
#define MSG_BED_CORRECTION_LEFT "Links [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Vorne [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Hinten [um]"
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
#define MSG_BED_CORRECTION_LEFT "Links [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Rechts [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Vorne [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Hinten [um]"
|
||||
#define MSG_BED_CORRECTION_RESET "Zuruecksetzen"
|
||||
|
||||
#define(length=20) MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
#define MSG_MENU_CALIBRATION "Kalibrierung"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD Karte [normal]"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD Karte [FlshAir]"
|
||||
#define(length=20) MSG_PRINTER_DISCONNECTED "Drucker getrent"
|
||||
#define(length=20) MSG_FINISHING_MOVEMENTS "Bewegungen beenden"
|
||||
#define MSG_PRINT_PAUSED "Druck pausiert"
|
||||
|
|
@ -286,4 +296,5 @@
|
|||
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.Kal. "
|
||||
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "Die PINDA Temperaturkalibrierung ist beendet. Klicke um fortzufahren."
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.Kal. [ON]"
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.Kal.[OFF]"
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.Kal.[OFF]"
|
||||
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Filament vorbereiten"
|
||||
|
|
|
|||
|
|
@ -69,8 +69,19 @@
|
|||
|
||||
#define MSG_SETTINGS "Settings"
|
||||
#define MSG_PREHEAT "Preheat"
|
||||
#define MSG_UNLOAD_FILAMENT "Unload filament"
|
||||
#define MSG_LOAD_FILAMENT "Load filament"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT "Unload filament"
|
||||
#define(length=20) MSG_LOAD_FILAMENT "Load filament"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_1 "Load filament 1"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_2 "Load filament 2"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_3 "Load filament 3"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_4 "Load filament 4"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Unload filament 1"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Unload filament 2"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Unload filament 3"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Unload filament 4"
|
||||
#define MSG_UNLOAD_ALL "Unload all"
|
||||
#define MSG_LOAD_ALL "Load all"
|
||||
|
||||
|
||||
#define MSG_RECTRACT "Rectract"
|
||||
#define MSG_ERROR "ERROR:"
|
||||
|
|
@ -192,7 +203,7 @@
|
|||
#define MSG_HOMEYZ_PROGRESS "Calibrating Z"
|
||||
#define MSG_HOMEYZ_DONE "Calibration done"
|
||||
|
||||
#define MSG_SHOW_END_STOPS "Show end stops"
|
||||
#define(length=20) MSG_SHOW_END_STOPS "Show end stops"
|
||||
#define MSG_CALIBRATE_BED "Calibrate XYZ"
|
||||
#define MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
|
||||
|
||||
|
|
@ -255,24 +266,24 @@
|
|||
#define(length=20, lines=10) MSG_PAPER "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."
|
||||
|
||||
#define(length=20) MSG_BED_CORRECTION_MENU "Bed level correct"
|
||||
#define MSG_BED_CORRECTION_LEFT "Left side um"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Right side um"
|
||||
#define MSG_BED_CORRECTION_FRONT "Front side um"
|
||||
#define MSG_BED_CORRECTION_REAR "Rear side um"
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
#define(length=20) MSG_BED_CORRECTION_LEFT "Left side [um]"
|
||||
#define(length=20) MSG_BED_CORRECTION_RIGHT "Right side[um]"
|
||||
#define(length=20) MSG_BED_CORRECTION_FRONT "Front side[um]"
|
||||
#define(length=20) MSG_BED_CORRECTION_REAR "Rear side [um]"
|
||||
#define(length=20) MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
|
||||
#define MSG_MENU_CALIBRATION "Calibration"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
|
||||
#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
|
||||
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
|
||||
#define(length=20) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
|
||||
#define(length=20) MSG_PRINTER_DISCONNECTED "Printer disconnected"
|
||||
#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS "Finishing movements"
|
||||
#define(length=20, lines=1) MSG_PRINT_PAUSED "Print paused"
|
||||
#define(length=20, lines=1) MSG_RESUMING_PRINT "Resuming print"
|
||||
#define(length=20, lines=1) MSG_PID_EXTRUDER "PID calibration"
|
||||
#define(length=20, lines=1) MSG_SET_TEMPERATURE "Set temperature:"
|
||||
#define(length=20, lines=1) MSG_PID_FINISHED "PID cal. done "
|
||||
#define(length=20, lines=1) MSG_PID_RUNNING "PID cal. "
|
||||
#define(length=20, lines=1) MSG_PID_FINISHED "PID cal. finished"
|
||||
#define(length=20, lines=1) MSG_PID_RUNNING "PID cal. "
|
||||
#define(length=20, lines=1) MSG_PID_BED "PID bed cal. "
|
||||
#define(length=20, lines=1) MSG_PID_BED_FINISHED "PID bed cal. done "
|
||||
#define(length=20, lines=1) MSG_PID_BED_RUNNING "PID bed cal. "
|
||||
|
|
@ -285,4 +296,7 @@
|
|||
#define(length=20, lines=1) MSG_TEMP_CALIBRATION "PINDA Temp.cal. "
|
||||
#define(length=20, lines=5) MSG_TEMP_CALIBRATION_DONE "PINDA temperature calibration is finished. Click to continue."
|
||||
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON "PINDA T.cal. [ON]"
|
||||
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "PINDA T.cal.[OFF]"
|
||||
#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF "PINDA T.cal.[OFF]"
|
||||
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Prepare new filament"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@
|
|||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Medir la altura del punto de la calibracion"
|
||||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9"
|
||||
|
||||
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracion "
|
||||
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiteracion "
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en la cama no encontrados."
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consultar el manual por favor."
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares. Felicitaciones!"
|
||||
|
|
@ -270,4 +270,20 @@
|
|||
#define MSG_TEMP_CALIBRATION "Cal. temp. "
|
||||
#define MSG_TEMP_CALIBRATION_DONE "Calibracon temperatura terminada. Presionar para continuar."
|
||||
#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
|
||||
|
||||
#define MSG_PREPARE_FILAMENT "Preparar filamento"
|
||||
|
||||
|
||||
|
||||
#define MSG_LOAD_ALL "Intr. todos fil."
|
||||
#define MSG_LOAD_FILAMENT_1 "Introducir fil. 1"
|
||||
#define MSG_LOAD_FILAMENT_2 "Introducir fil. 2"
|
||||
#define MSG_LOAD_FILAMENT_3 "Introducir fil. 3"
|
||||
#define MSG_LOAD_FILAMENT_4 "Introducir fil. 4"
|
||||
#define MSG_UNLOAD_FILAMENT_1 "Soltar fil. 1"
|
||||
#define MSG_UNLOAD_FILAMENT_2 "Soltar fil. 2"
|
||||
#define MSG_UNLOAD_FILAMENT_3 "Soltar fil. 3"
|
||||
#define MSG_UNLOAD_FILAMENT_4 "Soltar fil. 4"
|
||||
#define MSG_UNLOAD_ALL "Soltar todos fil."
|
||||
#define MSG_PREPARE_FILAMENT "Preparar filamento"
|
||||
|
|
@ -196,6 +196,7 @@
|
|||
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " su 9"
|
||||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Misurare l'altezza di riferimento del punto di calibrazione"
|
||||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " su 9"
|
||||
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiterazione "
|
||||
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibrazione XYZ fallita. Il punto di calibrazione sul letto non e' stato trovato."
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibrazione XYZ fallita. Si prega di consultare il manuale."
|
||||
|
|
@ -220,10 +221,10 @@
|
|||
#define MSG_BABYSTEP_Z_NOT_SET "Distanza tra la punta dell'ugello e la superficie del letto non ancora imposta. Si prega di seguire il manuale, capitolo First steps, sezione First layer calibration."
|
||||
|
||||
#define MSG_BED_CORRECTION_MENU "Correz. liv.letto"
|
||||
#define MSG_BED_CORRECTION_LEFT "Lato sinistro"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Lato destro"
|
||||
#define MSG_BED_CORRECTION_FRONT "Lato ateriore"
|
||||
#define MSG_BED_CORRECTION_REAR "Lato posteriore"
|
||||
#define MSG_BED_CORRECTION_LEFT "Sinistra [um]"
|
||||
#define MSG_BED_CORRECTION_RIGHT "Destra [um]"
|
||||
#define MSG_BED_CORRECTION_FRONT "Fronte [um]"
|
||||
#define MSG_BED_CORRECTION_REAR "Retro [um]"
|
||||
#define MSG_BED_CORRECTION_RESET "Reset"
|
||||
|
||||
#define MSG_MESH_BED_LEVELING "Mesh livel. letto"
|
||||
|
|
@ -264,4 +265,16 @@
|
|||
#define MSG_TEMP_CALIBRATION "Cal. temp. "
|
||||
#define MSG_TEMP_CALIBRATION_DONE "Taratura temperatura terminata. Fare click per continuare."
|
||||
#define MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
|
||||
|
||||
#define MSG_LOAD_ALL "Caricare tutti"
|
||||
#define MSG_LOAD_FILAMENT_1 "Caricare fil. 1"
|
||||
#define MSG_LOAD_FILAMENT_2 "Caricare fil. 2"
|
||||
#define MSG_LOAD_FILAMENT_3 "Caricare fil. 3"
|
||||
#define MSG_LOAD_FILAMENT_4 "Caricare fil. 4"
|
||||
#define MSG_UNLOAD_FILAMENT_1 "Rilasciare fil. 1"
|
||||
#define MSG_UNLOAD_FILAMENT_2 "Rilasciare fil. 1"
|
||||
#define MSG_UNLOAD_FILAMENT_3 "Rilasciare fil. 1"
|
||||
#define MSG_UNLOAD_FILAMENT_4 "Rilasciare fil. 1"
|
||||
#define MSG_UNLOAD_ALL "Rilasciare tutti"
|
||||
#define MSG_PREPARE_FILAMENT "Preparare filamento"
|
||||
|
|
|
|||
|
|
@ -64,13 +64,23 @@
|
|||
#define MSG_BABYSTEP_X "Babystep X"
|
||||
#define MSG_BABYSTEP_Y "Babystep Y"
|
||||
#define MSG_BABYSTEP_Z "Live Z aanpassen"
|
||||
#define(length=20) MSG_ADJUSTZ "Auto instellen Z ?"
|
||||
#define(length=20) MSG_ADJUSTZ "Auto instellen Z?"
|
||||
#define(length=20) MSG_PICK_Z "Pick print"
|
||||
|
||||
#define MSG_SETTINGS "Instellingen"
|
||||
#define MSG_PREHEAT "Voorverwarmen"
|
||||
#define MSG_UNLOAD_FILAMENT "Haal Filament uit"
|
||||
#define MSG_LOAD_FILAMENT "Laad Filament"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_1 "Laad filament 1"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_2 "Laad filament 2"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_3 "Laad filament 3"
|
||||
#define(length=20) MSG_LOAD_FILAMENT_4 "Laad filament 4"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_1 "Haal filament 1 uit"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_2 "Haal filament 2 uit"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_3 "Haal filament 3 uit"
|
||||
#define(length=20) MSG_UNLOAD_FILAMENT_4 "Haal filament 4 uit"
|
||||
#define MSG_UNLOAD_ALL "Haal alle uit"
|
||||
#define MSG_LOAD_ALL "Laad alle"
|
||||
|
||||
#define MSG_RECTRACT "Rectract"
|
||||
#define MSG_ERROR "FOUT:"
|
||||
|
|
@ -285,4 +295,5 @@
|
|||
#define(length=20) MSG_TEMP_CALIBRATION "PINDA Temp.kal."
|
||||
#define(length=20, lines=3) MSG_TEMP_CALIBRATION_DONE "PINDA temperatuur calibratie is klaar. Klik om door te gaan."
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_ON "PINDA T.kal. [ON]"
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.kal.[OFF]"
|
||||
#define(length=20) MSG_TEMP_CALIBRATION_OFF "PINDA T.kal.[OFF]"
|
||||
#define(length=20, lines=1) MSG_PREPARE_FILAMENT "Filament voorbereden"
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@
|
|||
#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 9"
|
||||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Okreslam wysokosc odniesienia punktu kalibracyjnego"
|
||||
#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
|
||||
#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracja "
|
||||
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibr. XYZ nieudana. Kalibracyjny punkt podkladki nieznaleziony."
|
||||
#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
|
||||
|
|
@ -275,4 +276,17 @@
|
|||
#define MSG_TEMP_CALIBRATION "Ciepl. kal. "
|
||||
#define MSG_TEMP_CALIBRATION_DONE "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
|
||||
#define MSG_TEMP_CALIBRATION_ON "Ciepl. kal. [ON]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]"
|
||||
#define MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]"
|
||||
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
|
||||
|
||||
#define MSG_LOAD_ALL "Zalad. wszystkie"
|
||||
#define MSG_LOAD_FILAMENT_1 "Zaladowac fil. 1"
|
||||
#define MSG_LOAD_FILAMENT_2 "Zaladowac fil. 2"
|
||||
#define MSG_LOAD_FILAMENT_3 "Zaladowac fil. 3"
|
||||
#define MSG_LOAD_FILAMENT_4 "Zaladowac fil. 4"
|
||||
#define MSG_UNLOAD_FILAMENT_1 "Wyjac filament 1"
|
||||
#define MSG_UNLOAD_FILAMENT_2 "Wyjac filament 2"
|
||||
#define MSG_UNLOAD_FILAMENT_3 "Wyjac filament 3"
|
||||
#define MSG_UNLOAD_FILAMENT_4 "Wyjac filament 4"
|
||||
#define MSG_UNLOAD_ALL "Wyjac wszystkie"
|
||||
#define MSG_PREPARE_FILAMENT "Przygotuj filament"
|
||||
|
|
@ -2309,7 +2309,7 @@ static int babystepLoadZ = 0;
|
|||
void babystep_apply()
|
||||
{
|
||||
// Apply Z height correction aka baby stepping before mesh bed leveling gets activated.
|
||||
if(calibration_status() <= CALIBRATION_STATUS_PINDA)
|
||||
if(calibration_status() < CALIBRATION_STATUS_LIVE_ADJUST)
|
||||
{
|
||||
check_babystep(); //checking if babystep is in allowed range, otherwise setting babystep to 0
|
||||
|
||||
|
|
|
|||
|
|
@ -171,7 +171,9 @@ FORCE_INLINE block_t *plan_get_current_block()
|
|||
}
|
||||
|
||||
// Returns true if the buffer has a queued block, false otherwise
|
||||
FORCE_INLINE bool blocks_queued() { return (block_buffer_head != block_buffer_tail); }
|
||||
FORCE_INLINE bool blocks_queued() {
|
||||
return (block_buffer_head != block_buffer_tail);
|
||||
}
|
||||
|
||||
//return the nr of buffered moves
|
||||
FORCE_INLINE uint8_t moves_planned() {
|
||||
|
|
|
|||
|
|
@ -515,14 +515,39 @@ ISR(TIMER1_COMPA_vect)
|
|||
}
|
||||
#endif
|
||||
|
||||
if ((out_bits & (1<<E_AXIS)) != 0) { // -direction
|
||||
REV_E_DIR();
|
||||
count_direction[E_AXIS]=-1;
|
||||
}
|
||||
else { // +direction
|
||||
NORM_E_DIR();
|
||||
count_direction[E_AXIS]=1;
|
||||
}
|
||||
if ((out_bits & (1 << E_AXIS)) != 0)
|
||||
{ // -direction
|
||||
//AKU
|
||||
#ifdef SNMM
|
||||
if (snmm_extruder == 0 || snmm_extruder == 2)
|
||||
{
|
||||
NORM_E_DIR();
|
||||
}
|
||||
else
|
||||
{
|
||||
REV_E_DIR();
|
||||
}
|
||||
#else
|
||||
REV_E_DIR();
|
||||
#endif // SNMM
|
||||
count_direction[E_AXIS] = -1;
|
||||
}
|
||||
else
|
||||
{ // +direction
|
||||
#ifdef SNMM
|
||||
if (snmm_extruder == 0 || snmm_extruder == 2)
|
||||
{
|
||||
REV_E_DIR();
|
||||
}
|
||||
else
|
||||
{
|
||||
NORM_E_DIR();
|
||||
}
|
||||
#else
|
||||
NORM_E_DIR();
|
||||
#endif // SNMM
|
||||
count_direction[E_AXIS] = 1;
|
||||
}
|
||||
|
||||
for(uint8_t i=0; i < step_loops; i++) { // Take multiple steps per interrupt (For high speed moves)
|
||||
#ifndef AT90USB
|
||||
|
|
|
|||
|
|
@ -96,6 +96,10 @@ int8_t SDscrool = 0;
|
|||
|
||||
int8_t SilentModeMenu = 0;
|
||||
|
||||
#ifdef SNMM
|
||||
uint8_t snmm_extruder = 0;
|
||||
#endif
|
||||
|
||||
int lcd_commands_type=LCD_COMMAND_IDLE;
|
||||
int lcd_commands_step=0;
|
||||
bool isPrintPaused = false;
|
||||
|
|
@ -517,10 +521,9 @@ void lcd_commands()
|
|||
char cmd1[25];
|
||||
if (lcd_commands_type == LCD_COMMAND_LONG_PAUSE)
|
||||
{
|
||||
if(lcd_commands_step == 0) {
|
||||
if(lcd_commands_step == 0) {
|
||||
card.pauseSDPrint();
|
||||
lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS);
|
||||
|
||||
lcdDrawUpdate = 3;
|
||||
lcd_commands_step = 1;
|
||||
}
|
||||
|
|
@ -560,7 +563,7 @@ void lcd_commands()
|
|||
enquecommand(cmd1);
|
||||
if (axis_relative_modes[3] == true) enquecommand_P(PSTR("M83")); // set extruder to relative mode.
|
||||
else enquecommand_P(PSTR("M82")); // set extruder to absolute mode
|
||||
enquecommand_P(PSTR("G1 E" STRINGIFY(PAUSE_RETRACT))); //unretract
|
||||
enquecommand_P(PSTR("G1 E" STRINGIFY(DEFAULT_RETRACTION))); //unretract
|
||||
enquecommand_P(PSTR("G90")); //absolute positioning
|
||||
lcd_commands_step = 1;
|
||||
}
|
||||
|
|
@ -590,6 +593,7 @@ void lcd_commands()
|
|||
|
||||
if (lcd_commands_type == LCD_COMMAND_STOP_PRINT) /// stop print
|
||||
{
|
||||
uint8_t stopped_extruder;
|
||||
|
||||
if (lcd_commands_step == 0)
|
||||
{
|
||||
|
|
@ -609,9 +613,8 @@ void lcd_commands()
|
|||
if (lcd_commands_step == 2 && !blocks_queued())
|
||||
{
|
||||
setTargetBed(0);
|
||||
setTargetHotend(0, 0);
|
||||
setTargetHotend(0, 1);
|
||||
setTargetHotend(0, 2);
|
||||
enquecommand_P(PSTR("M104 S0")); //set hotend temp to 0
|
||||
|
||||
manage_heater();
|
||||
lcd_setstatuspgm(WELCOME_MSG);
|
||||
cancel_heatup = false;
|
||||
|
|
@ -621,9 +624,6 @@ void lcd_commands()
|
|||
{
|
||||
// M84: Disable steppers.
|
||||
enquecommand_P(PSTR("M84"));
|
||||
#ifdef SNMM
|
||||
enquecommand_P(PSTR("PRUSA ResF")); //resets flag at the end of the print (used for SNMM)
|
||||
#endif
|
||||
autotempShutdown();
|
||||
lcd_commands_step = 2;
|
||||
}
|
||||
|
|
@ -672,62 +672,7 @@ void lcd_commands()
|
|||
lcd_commands_step = 5;
|
||||
}
|
||||
if (lcd_commands_step == 7 && !blocks_queued()) {
|
||||
/*ramming();
|
||||
st_synchronize();
|
||||
change_extr(0);*/
|
||||
st_synchronize();
|
||||
enquecommand_P(PSTR("M907 E700")); //set extruder current higher
|
||||
enquecommand_P(PSTR("M203 E50"));
|
||||
st_synchronize();
|
||||
if (current_temperature[0] < 230) {
|
||||
// PLA
|
||||
|
||||
//enquecommand_P(PSTR("G1 E-8 F2100.000000"));
|
||||
//enquecommand_P(PSTR("G1 E8 F2100.000000"));
|
||||
enquecommand_P(PSTR("G1 E5.4 F2800.000000"));
|
||||
enquecommand_P(PSTR("G1 E3.2 F3000.000000"));
|
||||
enquecommand_P(PSTR("G1 E3 F3400.000000"));
|
||||
enquecommand_P(PSTR("M203 E80"));
|
||||
st_synchronize();
|
||||
enquecommand_P(PSTR("G1 E-82 F9500.000000"));
|
||||
enquecommand_P(PSTR("M203 E50"));
|
||||
enquecommand_P(PSTR("G1 E-20 F1200.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F400.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F600.000000"));
|
||||
st_synchronize();
|
||||
enquecommand_P(PSTR("G1 E-10 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E+10 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E-10 F800.000000"));
|
||||
enquecommand_P(PSTR("G1 E+10 F800.000000"));
|
||||
enquecommand_P(PSTR("G1 E-10 F800.000000"));
|
||||
st_synchronize();
|
||||
}else {
|
||||
// ABS
|
||||
|
||||
//enquecommand_P(PSTR("G1 E-8 F2100.000000"));
|
||||
//enquecommand_P(PSTR("G1 E8 F2100.000000"));
|
||||
enquecommand_P(PSTR("G1 E3.1 F2000.000000"));
|
||||
enquecommand_P(PSTR("G1 E3.1 F2500.000000"));
|
||||
enquecommand_P(PSTR("G1 E4 F3000.000000"));
|
||||
st_synchronize();
|
||||
enquecommand_P(PSTR("G4 P4700"));
|
||||
enquecommand_P(PSTR("M203 E80"));
|
||||
enquecommand_P(PSTR("G1 E-92 F9900.000000"));
|
||||
enquecommand_P(PSTR("M203 E50"));
|
||||
enquecommand_P(PSTR("G1 E-5 F800.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F400.000000"));
|
||||
st_synchronize();
|
||||
enquecommand_P(PSTR("G1 E-5 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E-5 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F600.000000"));
|
||||
enquecommand_P(PSTR("G1 E5 F600.000000"));
|
||||
st_synchronize();
|
||||
}
|
||||
enquecommand_P(PSTR("T0"));
|
||||
enquecommand_P(PSTR("M907 E550")); //set extruder current to 500
|
||||
//digipot_init();
|
||||
|
||||
enquecommand_P(PSTR("M702"));
|
||||
lcd_commands_step = 3;
|
||||
}
|
||||
}
|
||||
|
|
@ -1073,8 +1018,11 @@ void lcd_wait_interact() {
|
|||
lcd_implementation_clear();
|
||||
|
||||
lcd.setCursor(0, 1);
|
||||
|
||||
#ifdef SNMM
|
||||
lcd_printPGM(MSG_PREPARE_FILAMENT);
|
||||
#else
|
||||
lcd_printPGM(MSG_INSERT_FILAMENT);
|
||||
#endif
|
||||
lcd.setCursor(0, 2);
|
||||
lcd_printPGM(MSG_PRESS);
|
||||
|
||||
|
|
@ -1132,7 +1080,6 @@ void lcd_loading_filament() {
|
|||
lcd.setCursor(0, 2);
|
||||
lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
|
||||
lcd.setCursor(i, 3);
|
||||
|
|
@ -1140,7 +1087,11 @@ void lcd_loading_filament() {
|
|||
for (int j = 0; j < 10 ; j++) {
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
delay(110);
|
||||
#ifdef SNMM
|
||||
delay(153);
|
||||
#else
|
||||
delay(137);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2478,7 +2429,7 @@ static void lcd_language_menu()
|
|||
|
||||
void lcd_mesh_bedleveling()
|
||||
{
|
||||
|
||||
mesh_bed_run_from_menu = true;
|
||||
enquecommand_P(PSTR("G80"));
|
||||
lcd_return_to_status();
|
||||
}
|
||||
|
|
@ -2885,35 +2836,21 @@ void lcd_mylang() {
|
|||
|
||||
}
|
||||
|
||||
char reset_menu() {
|
||||
int enc_dif = 0;
|
||||
char cursor_pos = 0;
|
||||
|
||||
void bowden_menu() {
|
||||
int enc_dif = encoderDiff;
|
||||
int cursor_pos = 0;
|
||||
lcd_implementation_clear();
|
||||
|
||||
lcd.setCursor(1, 0);
|
||||
|
||||
lcd_printPGM(PSTR("Language"));
|
||||
|
||||
|
||||
lcd.setCursor(1, 1);
|
||||
|
||||
lcd_printPGM(PSTR("Statistics"));
|
||||
|
||||
|
||||
lcd.setCursor(1, 2);
|
||||
|
||||
lcd_printPGM(PSTR("Shiping prep"));
|
||||
|
||||
lcd.setCursor(1, 3);
|
||||
|
||||
lcd_printPGM(PSTR("All data"));
|
||||
|
||||
lcd.setCursor(0, 0);
|
||||
|
||||
lcd.print(">");
|
||||
for (int i = 0; i < 4; i++) {
|
||||
lcd.setCursor(1, i);
|
||||
lcd.print("Extruder ");
|
||||
lcd.print(i);
|
||||
lcd.print(": ");
|
||||
EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
|
||||
lcd.print(bowden_length[i] - 48);
|
||||
|
||||
|
||||
}
|
||||
enc_dif = encoderDiff;
|
||||
|
||||
while (1) {
|
||||
|
|
@ -2921,6 +2858,136 @@ char reset_menu() {
|
|||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (abs((enc_dif - encoderDiff)) > 2) {
|
||||
|
||||
if (enc_dif > encoderDiff) {
|
||||
cursor_pos--;
|
||||
}
|
||||
|
||||
if (enc_dif < encoderDiff) {
|
||||
cursor_pos++;
|
||||
}
|
||||
|
||||
if (cursor_pos > 3) {
|
||||
cursor_pos = 3;
|
||||
}
|
||||
|
||||
if (cursor_pos < 0) {
|
||||
cursor_pos = 0;
|
||||
}
|
||||
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print(" ");
|
||||
lcd.setCursor(0, 1);
|
||||
lcd.print(" ");
|
||||
lcd.setCursor(0, 2);
|
||||
lcd.print(" ");
|
||||
lcd.setCursor(0, 3);
|
||||
lcd.print(" ");
|
||||
lcd.setCursor(0, cursor_pos);
|
||||
lcd.print(">");
|
||||
|
||||
enc_dif = encoderDiff;
|
||||
delay(100);
|
||||
}
|
||||
|
||||
if (lcd_clicked()) {
|
||||
while (lcd_clicked());
|
||||
delay(10);
|
||||
while (lcd_clicked());
|
||||
|
||||
lcd_implementation_clear();
|
||||
while (1) {
|
||||
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
lcd.setCursor(1, 1);
|
||||
lcd.print("Extruder ");
|
||||
lcd.print(cursor_pos);
|
||||
lcd.print(": ");
|
||||
lcd.setCursor(13, 1);
|
||||
lcd.print(bowden_length[cursor_pos] - 48);
|
||||
|
||||
if (abs((enc_dif - encoderDiff)) > 2) {
|
||||
if (enc_dif > encoderDiff) {
|
||||
bowden_length[cursor_pos]--;
|
||||
lcd.setCursor(13, 1);
|
||||
lcd.print(bowden_length[cursor_pos] - 48);
|
||||
enc_dif = encoderDiff;
|
||||
}
|
||||
|
||||
if (enc_dif < encoderDiff) {
|
||||
bowden_length[cursor_pos]++;
|
||||
lcd.setCursor(13, 1);
|
||||
lcd.print(bowden_length[cursor_pos] - 48);
|
||||
enc_dif = encoderDiff;
|
||||
}
|
||||
}
|
||||
delay(100);
|
||||
if (lcd_clicked()) {
|
||||
while (lcd_clicked());
|
||||
delay(10);
|
||||
while (lcd_clicked());
|
||||
EEPROM_save_B(EEPROM_BOWDEN_LENGTH + cursor_pos * 2, &bowden_length[cursor_pos]);
|
||||
if (lcd_show_fullscreen_message_yes_no_and_wait_P(PSTR("Continue with another bowden?"))) {
|
||||
lcd_update_enable(true);
|
||||
lcd_implementation_clear();
|
||||
enc_dif = encoderDiff;
|
||||
lcd.setCursor(0, cursor_pos);
|
||||
lcd.print(">");
|
||||
for (int i = 0; i < 4; i++) {
|
||||
lcd.setCursor(1, i);
|
||||
lcd.print("Extruder ");
|
||||
lcd.print(i);
|
||||
lcd.print(": ");
|
||||
EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]);
|
||||
lcd.print(bowden_length[i] - 48);
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
else return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char reset_menu() {
|
||||
#ifdef SNMM
|
||||
int items_no = 5;
|
||||
#else
|
||||
int items_no = 4;
|
||||
#endif
|
||||
static int first = 0;
|
||||
int enc_dif = 0;
|
||||
char cursor_pos = 0;
|
||||
const char *item [items_no];
|
||||
|
||||
item[0] = "Language";
|
||||
item[1] = "Statistics";
|
||||
item[2] = "Shipping prep";
|
||||
item[3] = "All Data";
|
||||
#ifdef SNMM
|
||||
item[4] = "Bowden length";
|
||||
#endif // SNMM
|
||||
|
||||
enc_dif = encoderDiff;
|
||||
lcd_implementation_clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print(">");
|
||||
|
||||
while (1) {
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
lcd.setCursor(1, i);
|
||||
lcd.print(item[first + i]);
|
||||
}
|
||||
|
||||
manage_heater();
|
||||
manage_inactivity(true);
|
||||
|
||||
if (abs((enc_dif - encoderDiff)) > 4) {
|
||||
|
||||
if ((abs(enc_dif - encoderDiff)) > 1) {
|
||||
|
|
@ -2934,10 +3001,18 @@ char reset_menu() {
|
|||
|
||||
if (cursor_pos > 3) {
|
||||
cursor_pos = 3;
|
||||
if (first < items_no - 4) {
|
||||
first++;
|
||||
lcd_implementation_clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (cursor_pos < 0) {
|
||||
cursor_pos = 0;
|
||||
if (first > 0) {
|
||||
first--;
|
||||
lcd_implementation_clear();
|
||||
}
|
||||
}
|
||||
lcd.setCursor(0, 0);
|
||||
lcd.print(" ");
|
||||
|
|
@ -2959,7 +3034,7 @@ char reset_menu() {
|
|||
while (lcd_clicked());
|
||||
delay(10);
|
||||
while (lcd_clicked());
|
||||
return(cursor_pos);
|
||||
return(cursor_pos + first);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3013,9 +3088,14 @@ void change_extr(int extr) { //switches multiplexer for extruders
|
|||
disable_e1();
|
||||
disable_e2();
|
||||
|
||||
#ifdef SNMM
|
||||
snmm_extruder = extr;
|
||||
#endif
|
||||
|
||||
pinMode(E_MUX0_PIN, OUTPUT);
|
||||
pinMode(E_MUX1_PIN, OUTPUT);
|
||||
pinMode(E_MUX2_PIN, OUTPUT);
|
||||
|
||||
switch (extr) {
|
||||
case 1:
|
||||
WRITE(E_MUX0_PIN, HIGH);
|
||||
|
|
@ -3050,6 +3130,15 @@ static int get_ext_nr() { //reads multiplexer input pins and return current extr
|
|||
}
|
||||
|
||||
|
||||
void display_loading() {
|
||||
switch (snmm_extruder) {
|
||||
case 1: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T1); break;
|
||||
case 2: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T2); break;
|
||||
case 3: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T3); break;
|
||||
default: lcd_display_message_fullscreen_P(MSG_FILAMENT_LOADING_T0); break;
|
||||
}
|
||||
}
|
||||
|
||||
static void extr_adj(int extruder) //loading filament for SNMM
|
||||
{
|
||||
bool correct;
|
||||
|
|
@ -3076,9 +3165,13 @@ static void extr_adj(int extruder) //loading filament for SNMM
|
|||
//if (!correct) goto START;
|
||||
//extr_mov(BOWDEN_LENGTH/2.f, 500); //dividing by 2 is there because of max. extrusion length limitation (x_max + y_max)
|
||||
//extr_mov(BOWDEN_LENGTH/2.f, 500);
|
||||
extr_mov(BOWDEN_LENGTH, 500);
|
||||
extr_mov(bowden_length[extruder], 500);
|
||||
lcd_implementation_clear();
|
||||
lcd.setCursor(0, 1); lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
lcd.setCursor(0, 0); lcd_printPGM(MSG_LOADING_FILAMENT);
|
||||
if(strlen(MSG_LOADING_FILAMENT)>18) lcd.setCursor(0, 1);
|
||||
else lcd.print(" ");
|
||||
lcd.print(snmm_extruder + 1);
|
||||
lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
st_synchronize();
|
||||
max_feedrate[E_AXIS] = 50;
|
||||
lcd_update_enable(true);
|
||||
|
|
@ -3096,10 +3189,14 @@ static void extr_unload() { //unloads filament
|
|||
lcd_implementation_clear();
|
||||
lcd_display_message_fullscreen_P(PSTR(""));
|
||||
max_feedrate[E_AXIS] = 50;
|
||||
lcd.setCursor(0, 1); lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder);
|
||||
|
||||
lcd.setCursor(0, 0); lcd_printPGM(MSG_UNLOADING_FILAMENT);
|
||||
lcd.print(" ");
|
||||
lcd.print(snmm_extruder + 1);
|
||||
lcd.setCursor(0, 2); lcd_printPGM(MSG_PLEASE_WAIT);
|
||||
if (current_position[Z_AXIS] < 15) {
|
||||
current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder);
|
||||
}
|
||||
|
||||
current_position[E_AXIS] += 10; //extrusion
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 10, active_extruder);
|
||||
|
|
@ -3127,9 +3224,9 @@ static void extr_unload() { //unloads filament
|
|||
}
|
||||
|
||||
max_feedrate[E_AXIS] = 80;
|
||||
current_position[E_AXIS] -= (BOWDEN_LENGTH + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
current_position[E_AXIS] -= (BOWDEN_LENGTH + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
current_position[E_AXIS] -= (bowden_length[snmm_extruder] + 60 + FIL_LOAD_LENGTH) / 2;
|
||||
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 500, active_extruder);
|
||||
st_synchronize();
|
||||
//digipot_init();
|
||||
|
|
@ -3176,6 +3273,13 @@ static void extr_adj_3() {
|
|||
extr_adj(3);
|
||||
}
|
||||
|
||||
static void load_all() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
change_extr(i);
|
||||
extr_adj(i);
|
||||
}
|
||||
}
|
||||
|
||||
//wrapper functions for changing extruders
|
||||
static void extr_change_0() {
|
||||
change_extr(0);
|
||||
|
|
@ -3195,13 +3299,27 @@ static void extr_change_3() {
|
|||
}
|
||||
|
||||
//wrapper functions for unloading filament
|
||||
static void extr_unload_all() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
change_extr(i);
|
||||
extr_unload();
|
||||
void extr_unload_all() {
|
||||
if (degHotend0() > EXTRUDE_MINTEMP) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
change_extr(i);
|
||||
extr_unload();
|
||||
}
|
||||
}
|
||||
else {
|
||||
lcd_implementation_clear();
|
||||
lcd.setCursor(0, 0);
|
||||
lcd_printPGM(MSG_ERROR);
|
||||
lcd.setCursor(0, 2);
|
||||
lcd_printPGM(MSG_PREHEAT_NOZZLE);
|
||||
delay(2000);
|
||||
lcd_implementation_clear();
|
||||
lcd_return_to_status();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void extr_unload_0() {
|
||||
change_extr(0);
|
||||
extr_unload();
|
||||
|
|
@ -3224,10 +3342,11 @@ static void fil_load_menu()
|
|||
{
|
||||
START_MENU();
|
||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||
MENU_ITEM(function, PSTR("Load filament 1"), extr_adj_0);
|
||||
MENU_ITEM(function, PSTR("Load filament 2 "), extr_adj_1);
|
||||
MENU_ITEM(function, PSTR("Load filament 3"), extr_adj_2);
|
||||
MENU_ITEM(function, PSTR("Load filament 4"), extr_adj_3);
|
||||
MENU_ITEM(function, MSG_LOAD_ALL, load_all);
|
||||
MENU_ITEM(function, MSG_LOAD_FILAMENT_1, extr_adj_0);
|
||||
MENU_ITEM(function, MSG_LOAD_FILAMENT_2, extr_adj_1);
|
||||
MENU_ITEM(function, MSG_LOAD_FILAMENT_3, extr_adj_2);
|
||||
MENU_ITEM(function, MSG_LOAD_FILAMENT_4, extr_adj_3);
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
|
@ -3237,11 +3356,11 @@ static void fil_unload_menu()
|
|||
{
|
||||
START_MENU();
|
||||
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);
|
||||
MENU_ITEM(function, PSTR("Unload all"), extr_unload_all);
|
||||
MENU_ITEM(function, PSTR("Unload filament 1"), extr_unload_0);
|
||||
MENU_ITEM(function, PSTR("Unload filament 2"), extr_unload_1);
|
||||
MENU_ITEM(function, PSTR("Unload filament 3"), extr_unload_2);
|
||||
MENU_ITEM(function, PSTR("Unload filament 4"), extr_unload_3);
|
||||
MENU_ITEM(function, MSG_UNLOAD_ALL, extr_unload_all);
|
||||
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_1, extr_unload_0);
|
||||
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_2, extr_unload_1);
|
||||
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_3, extr_unload_2);
|
||||
MENU_ITEM(function, MSG_UNLOAD_FILAMENT_4, extr_unload_3);
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
|
@ -3566,6 +3685,17 @@ static void lcd_silent_mode_set_tune() {
|
|||
lcd_goto_menu(lcd_tune_menu, 9);
|
||||
}
|
||||
|
||||
static void lcd_colorprint_change() {
|
||||
|
||||
enquecommand_P(PSTR("M600"));
|
||||
|
||||
custom_message = true;
|
||||
custom_message_type = 2; //just print status message
|
||||
lcd_setstatuspgm(MSG_FINISHING_MOVEMENTS);
|
||||
lcd_return_to_status();
|
||||
lcdDrawUpdate = 3;
|
||||
}
|
||||
|
||||
static void lcd_tune_menu()
|
||||
{
|
||||
EEPROM_read(EEPROM_SILENT, (uint8_t*)&SilentModeMenu, sizeof(SilentModeMenu));
|
||||
|
|
@ -3582,7 +3712,7 @@ static void lcd_tune_menu()
|
|||
MENU_ITEM_EDIT(int3, MSG_FAN_SPEED, &fanSpeed, 0, 255);//5
|
||||
MENU_ITEM_EDIT(int3, MSG_FLOW, &extrudemultiply, 10, 999);//6
|
||||
#ifdef FILAMENTCHANGEENABLE
|
||||
MENU_ITEM(gcode, MSG_FILAMENTCHANGE, PSTR("M600"));//7
|
||||
MENU_ITEM(function, MSG_FILAMENTCHANGE, lcd_colorprint_change);//7
|
||||
#endif
|
||||
|
||||
if (SilentModeMenu == 0) {
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ void lcd_mylang();
|
|||
#define LCD_COMMAND_LONG_PAUSE_RESUME 6
|
||||
#define LCD_COMMAND_PID_EXTRUDER 7
|
||||
#define LCD_COMMAND_PID_BED 8
|
||||
|
||||
|
||||
extern unsigned long lcd_timeoutToStatus;
|
||||
extern int lcd_commands_type;
|
||||
|
||||
|
|
@ -104,6 +104,10 @@ void lcd_mylang();
|
|||
extern int farm_timer;
|
||||
extern int farm_status;
|
||||
|
||||
#ifdef SNMM
|
||||
extern uint8_t snmm_extruder;
|
||||
#endif // SNMM
|
||||
|
||||
extern bool cancel_heatup;
|
||||
extern bool isPrintPaused;
|
||||
|
||||
|
|
@ -205,6 +209,7 @@ extern void lcd_implementation_print_at(uint8_t x, uint8_t y, const char *str);
|
|||
|
||||
|
||||
void change_extr(int extr);
|
||||
static void lcd_colorprint_change();
|
||||
static int get_ext_nr();
|
||||
static void extr_adj(int extruder);
|
||||
static void extr_adj_0();
|
||||
|
|
@ -218,6 +223,8 @@ static void extr_unload_1();
|
|||
static void extr_unload_2();
|
||||
static void extr_unload_3();
|
||||
static void lcd_disable_farm_mode();
|
||||
void extr_unload_all();
|
||||
static void extr_unload();
|
||||
|
||||
void stack_error();
|
||||
static void lcd_ping_allert();
|
||||
|
|
@ -238,10 +245,13 @@ void lcd_extr_cal_reset();
|
|||
|
||||
union MenuData;
|
||||
|
||||
void bowden_menu();
|
||||
char reset_menu();
|
||||
|
||||
void lcd_pinda_calibration_menu();
|
||||
void lcd_calibrate_pinda();
|
||||
void lcd_temp_calibration_set();
|
||||
|
||||
void display_loading();
|
||||
|
||||
#endif //ULTRALCD_H
|
||||
|
|
@ -776,15 +776,17 @@ static void lcd_implementation_status_screen()
|
|||
|
||||
}
|
||||
else {
|
||||
lcd.setCursor(LCD_WIDTH - 8 - 2, 2);
|
||||
lcd_printPGM(PSTR(" "));
|
||||
}
|
||||
|
||||
#ifdef SNMM
|
||||
lcd_printPGM(PSTR(" E"));
|
||||
lcd.print(get_ext_nr()+1);
|
||||
|
||||
lcd.print(get_ext_nr() + 1);
|
||||
|
||||
#else
|
||||
lcd.setCursor(LCD_WIDTH - 8 - 2, 2);
|
||||
lcd_printPGM(PSTR(" "));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Print time elapsed
|
||||
lcd.setCursor(LCD_WIDTH - 8 -1, 2);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@ GENERAL SETTINGS
|
|||
// Electronics
|
||||
#define MOTHERBOARD BOARD_RAMBO_MINI_1_0
|
||||
|
||||
// Prusa Single extruder multiple material suport
|
||||
//#define SNMM
|
||||
|
||||
// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier)
|
||||
//#define E3D_PT100_EXTRUDER_WITH_AMP
|
||||
//#define E3D_PT100_EXTRUDER_NO_AMP
|
||||
|
|
@ -30,7 +33,12 @@ AXIS SETTINGS
|
|||
*------------------------------------*/
|
||||
|
||||
// Steps per unit {X,Y,Z,E}
|
||||
#ifdef SNMM
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140}
|
||||
#else
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3}
|
||||
#endif
|
||||
|
||||
|
||||
// Endstop inverting
|
||||
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
||||
|
|
@ -120,13 +128,12 @@ EXTRUDER SETTINGS
|
|||
|
||||
#ifdef SNMM
|
||||
//#define BOWDEN_LENGTH 408
|
||||
#define BOWDEN_LENGTH 457 //total length for filament fast loading part; max length for extrusion is 465 mm!
|
||||
#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu
|
||||
#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle
|
||||
#define FIL_RETURN_LENGTH 30.5 //for filament adjusting (PRUSAY code)
|
||||
#define FIL_COOLING 10 //length for cooling moves
|
||||
#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code
|
||||
#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming
|
||||
|
||||
#endif
|
||||
#endif //SNMM
|
||||
|
||||
//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function
|
||||
|
||||
|
|
@ -364,9 +371,6 @@ THERMISTORS SETTINGS
|
|||
#define MAX_E_STEPS_PER_UNIT 250
|
||||
#define MIN_E_STEPS_PER_UNIT 100
|
||||
|
||||
#define PRINT_STARTED 0xFE
|
||||
#define PRINT_FINISHED 0xFF
|
||||
|
||||
#define Z_BABYSTEP_MIN -3999
|
||||
#define Z_BABYSTEP_MAX 0
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@ GENERAL SETTINGS
|
|||
// Electronics
|
||||
#define MOTHERBOARD BOARD_RAMBO_MINI_1_3
|
||||
|
||||
// Prusa Single extruder multiple material suport
|
||||
//#define SNMM
|
||||
|
||||
// Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier)
|
||||
//#define E3D_PT100_EXTRUDER_WITH_AMP
|
||||
//#define E3D_PT100_EXTRUDER_NO_AMP
|
||||
|
|
@ -30,7 +33,12 @@ AXIS SETTINGS
|
|||
*------------------------------------*/
|
||||
|
||||
// Steps per unit {X,Y,Z,E}
|
||||
#ifdef SNMM
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140}
|
||||
#else
|
||||
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3}
|
||||
#endif
|
||||
|
||||
|
||||
// Endstop inverting
|
||||
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
|
||||
|
|
@ -126,18 +134,16 @@ EXTRUDER SETTINGS
|
|||
|
||||
|
||||
|
||||
// Prusa Single extruder multiple material suport
|
||||
//#define SNMM
|
||||
|
||||
|
||||
#ifdef SNMM
|
||||
//#define BOWDEN_LENGTH 408
|
||||
#define BOWDEN_LENGTH 457 //total length for filament fast loading part; max length for extrusion is 465 mm!
|
||||
#define BOWDEN_LENGTH 433 //default total length for filament fast loading part; max length for extrusion is 465 mm!; this length can be adjusted in service menu
|
||||
#define FIL_LOAD_LENGTH 102 //length for loading filament into the nozzle
|
||||
#define FIL_RETURN_LENGTH 30.5 //for filament adjusting (PRUSAY code)
|
||||
#define FIL_COOLING 10 //length for cooling moves
|
||||
#define E_MOTOR_LOW_CURRENT 350 // current for PRUSAY code
|
||||
#define E_MOTOR_HIGH_CURRENT 700 //current for unloading filament, stop print, PRUSAY ramming
|
||||
|
||||
#endif
|
||||
#endif //SNMM
|
||||
|
||||
//#define DIS //for measuring bed heigth and PINDa detection heigth relative to auto home point, experimental function
|
||||
|
||||
|
|
@ -383,9 +389,6 @@ THERMISTORS SETTINGS
|
|||
#define MAX_E_STEPS_PER_UNIT 250
|
||||
#define MIN_E_STEPS_PER_UNIT 100
|
||||
|
||||
#define PRINT_STARTED 0xFE
|
||||
#define PRINT_FINISHED 0xFF
|
||||
|
||||
#define Z_BABYSTEP_MIN -3999
|
||||
#define Z_BABYSTEP_MAX 0
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue