Merge branch 'MK3' into MK3_BED_LEVELING_PWM
This commit is contained in:
commit
e559a6b67f
19 changed files with 415 additions and 155 deletions
14
.editorconfig
Normal file
14
.editorconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
#-*-mode:conf-*-
|
||||
# editorconfig file (see EditorConfig.org)
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
max_line_length = 100
|
|
@ -16,8 +16,8 @@ extern uint16_t nPrinterType;
|
|||
extern PGM_P sPrinterName;
|
||||
|
||||
// Firmware version
|
||||
#define FW_VERSION "3.8.1-RC1"
|
||||
#define FW_COMMIT_NR 2851
|
||||
#define FW_VERSION "3.8.1"
|
||||
#define FW_COMMIT_NR 2869
|
||||
// FW_VERSION_UNKNOWN means this is an unofficial build.
|
||||
// The firmware should only be checked into github with this symbol.
|
||||
#define FW_DEV_VERSION FW_VERSION_UNKNOWN
|
||||
|
@ -345,7 +345,7 @@ your extruder heater takes 2 minutes to hit the target on heating.
|
|||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29
|
||||
#define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
|
||||
|
||||
#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
|
||||
#define Z_RAISE_BEFORE_HOMING 5 // (in mm) Raise Z before homing (G28) for Probe Clearance.
|
||||
// Be sure you have this distance over your Z_MAX_POS in case
|
||||
|
||||
#define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min
|
||||
|
@ -549,6 +549,12 @@ enum CalibrationStatus
|
|||
CALIBRATION_STATUS_UNKNOWN = 0,
|
||||
};
|
||||
|
||||
// Try to maintain a minimum distance from the bed even when Z is
|
||||
// unknown when doing the following operations
|
||||
#define MIN_Z_FOR_LOAD 50
|
||||
#define MIN_Z_FOR_UNLOAD 20
|
||||
#define MIN_Z_FOR_PREHEAT 10
|
||||
|
||||
#include "Configuration_adv.h"
|
||||
#include "thermistortables.h"
|
||||
|
||||
|
|
|
@ -358,9 +358,6 @@ extern int fan_speed[2];
|
|||
// Handling multiple extruders pins
|
||||
extern uint8_t active_extruder;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
//Long pause
|
||||
extern unsigned long pause_time;
|
||||
extern unsigned long start_pause_print;
|
||||
|
@ -513,4 +510,6 @@ void M600_wait_for_user(float HotendTempBckp);
|
|||
void M600_check_state(float nozzle_temp);
|
||||
void load_filament_final_feed();
|
||||
void marlin_wait_for_click();
|
||||
void marlin_rise_z(void);
|
||||
void raise_z_above(float target, bool plan=true);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1242,8 +1242,8 @@ void setup()
|
|||
// 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_update_byte((uint8_t*)EEPROM_SILENT, SILENT_MODE_OFF);
|
||||
#ifdef TMC2130
|
||||
eeprom_write_byte((uint8_t*)EEPROM_SILENT, 0);
|
||||
tmc2130_mode = TMC2130_MODE_NORMAL;
|
||||
#endif //TMC2130
|
||||
eeprom_write_byte((uint8_t*)EEPROM_WIZARD_ACTIVE, 1); //run wizard
|
||||
|
@ -2104,6 +2104,52 @@ bool check_commands() {
|
|||
|
||||
}
|
||||
|
||||
|
||||
// raise_z_above: slowly raise Z to the requested height
|
||||
//
|
||||
// contrarily to a simple move, this function will carefully plan a move
|
||||
// when the current Z position is unknown. In such cases, stallguard is
|
||||
// enabled and will prevent prolonged pushing against the Z tops
|
||||
void raise_z_above(float target, bool plan)
|
||||
{
|
||||
if (current_position[Z_AXIS] >= target)
|
||||
return;
|
||||
|
||||
// Z needs raising
|
||||
current_position[Z_AXIS] = target;
|
||||
|
||||
if (axis_known_position[Z_AXIS])
|
||||
{
|
||||
// current position is known, it's safe to raise Z
|
||||
if(plan) plan_buffer_line_curposXYZE(max_feedrate[Z_AXIS], active_extruder);
|
||||
return;
|
||||
}
|
||||
|
||||
// ensure Z is powered in normal mode to overcome initial load
|
||||
enable_z();
|
||||
st_synchronize();
|
||||
|
||||
// rely on crashguard to limit damage
|
||||
bool z_endstop_enabled = enable_z_endstop(true);
|
||||
#ifdef TMC2130
|
||||
tmc2130_home_enter(Z_AXIS_MASK);
|
||||
#endif //TMC2130
|
||||
plan_buffer_line_curposXYZE(homing_feedrate[Z_AXIS] / 60, active_extruder);
|
||||
st_synchronize();
|
||||
#ifdef TMC2130
|
||||
if (endstop_z_hit_on_purpose())
|
||||
{
|
||||
// not necessarily exact, but will avoid further vertical moves
|
||||
current_position[Z_AXIS] = max_pos[Z_AXIS];
|
||||
plan_set_position(current_position[X_AXIS], current_position[Y_AXIS],
|
||||
current_position[Z_AXIS], current_position[E_AXIS]);
|
||||
}
|
||||
tmc2130_home_exit();
|
||||
#endif //TMC2130
|
||||
enable_z_endstop(z_endstop_enabled);
|
||||
}
|
||||
|
||||
|
||||
#ifdef TMC2130
|
||||
bool calibrate_z_auto()
|
||||
{
|
||||
|
@ -2433,6 +2479,9 @@ void ramming() {
|
|||
|
||||
#ifdef TMC2130
|
||||
void force_high_power_mode(bool start_high_power_section) {
|
||||
#ifdef PSU_Delta
|
||||
if (start_high_power_section == true) enable_force_z();
|
||||
#endif //PSU_Delta
|
||||
uint8_t silent;
|
||||
silent = eeprom_read_byte((uint8_t*)EEPROM_SILENT);
|
||||
if (silent == 1) {
|
||||
|
@ -2481,9 +2530,7 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon
|
|||
|
||||
//if we are homing all axes, first move z higher to protect heatbed/steel sheet
|
||||
if (home_all_axes) {
|
||||
current_position[Z_AXIS] += MESH_HOME_Z_SEARCH;
|
||||
feedrate = homing_feedrate[Z_AXIS];
|
||||
plan_buffer_line_curposXYZE(feedrate / 60, active_extruder);
|
||||
raise_z_above(MESH_HOME_Z_SEARCH);
|
||||
st_synchronize();
|
||||
}
|
||||
#ifdef ENABLE_AUTO_BED_LEVELING
|
||||
|
@ -2594,26 +2641,21 @@ static void gcode_G28(bool home_x_axis, long home_x_value, bool home_y_axis, lon
|
|||
#ifndef Z_SAFE_HOMING
|
||||
if(home_z) {
|
||||
#if defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0)
|
||||
destination[Z_AXIS] = Z_RAISE_BEFORE_HOMING * home_dir(Z_AXIS) * (-1); // Set destination away from bed
|
||||
feedrate = max_feedrate[Z_AXIS];
|
||||
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate, active_extruder);
|
||||
raise_z_above(Z_RAISE_BEFORE_HOMING);
|
||||
st_synchronize();
|
||||
#endif // defined (Z_RAISE_BEFORE_HOMING) && (Z_RAISE_BEFORE_HOMING > 0)
|
||||
#if (defined(MESH_BED_LEVELING) && !defined(MK1BP)) // If Mesh bed leveling, move X&Y to safe position for home
|
||||
if (!(axis_known_position[X_AXIS] && axis_known_position[Y_AXIS] ))
|
||||
{
|
||||
homeaxis(X_AXIS);
|
||||
homeaxis(Y_AXIS);
|
||||
}
|
||||
raise_z_above(MESH_HOME_Z_SEARCH);
|
||||
st_synchronize();
|
||||
if (!axis_known_position[X_AXIS]) homeaxis(X_AXIS);
|
||||
if (!axis_known_position[Y_AXIS]) homeaxis(Y_AXIS);
|
||||
// 1st mesh bed leveling measurement point, corrected.
|
||||
world2machine_initialize();
|
||||
world2machine(pgm_read_float(bed_ref_points_4), pgm_read_float(bed_ref_points_4+1), destination[X_AXIS], destination[Y_AXIS]);
|
||||
world2machine_reset();
|
||||
if (destination[Y_AXIS] < Y_MIN_POS)
|
||||
destination[Y_AXIS] = Y_MIN_POS;
|
||||
destination[Z_AXIS] = MESH_HOME_Z_SEARCH; // Set destination away from bed
|
||||
feedrate = homing_feedrate[Z_AXIS]/10;
|
||||
current_position[Z_AXIS] = 0;
|
||||
feedrate = homing_feedrate[X_AXIS] / 20;
|
||||
enable_endstops(false);
|
||||
#ifdef DEBUG_BUILD
|
||||
SERIAL_ECHOLNPGM("plan_set_position()");
|
||||
|
@ -3140,15 +3182,6 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
|
|||
custom_message_type = CustomMsg::Status;
|
||||
}
|
||||
|
||||
//! @brief Rise Z if too low to avoid blob/jam before filament loading
|
||||
//!
|
||||
//! It doesn't plan_buffer_line(), as it expects plan_buffer_line() to be called after
|
||||
//! during extruding (loading) filament.
|
||||
void marlin_rise_z(void)
|
||||
{
|
||||
if (current_position[Z_AXIS] < 20) current_position[Z_AXIS] += 30;
|
||||
}
|
||||
|
||||
void gcode_M701()
|
||||
{
|
||||
printf_P(PSTR("gcode_M701 begin\n"));
|
||||
|
@ -3177,7 +3210,7 @@ void gcode_M701()
|
|||
plan_buffer_line_curposXYZE(400 / 60, active_extruder); //fast sequence
|
||||
st_synchronize();
|
||||
|
||||
marlin_rise_z();
|
||||
raise_z_above(MIN_Z_FOR_LOAD, false);
|
||||
current_position[E_AXIS] += 30;
|
||||
plan_buffer_line_curposXYZE(400 / 60, active_extruder); //fast sequence
|
||||
|
||||
|
@ -7604,27 +7637,33 @@ Sigma_Exit:
|
|||
case 350:
|
||||
{
|
||||
#ifdef TMC2130
|
||||
if(code_seen('E'))
|
||||
for (int i=0; i<NUM_AXIS; i++)
|
||||
{
|
||||
uint16_t res_new = code_value();
|
||||
if ((res_new == 8) || (res_new == 16) || (res_new == 32) || (res_new == 64) || (res_new == 128))
|
||||
if(code_seen(axis_codes[i]))
|
||||
{
|
||||
st_synchronize();
|
||||
uint8_t axis = E_AXIS;
|
||||
uint16_t res = tmc2130_get_res(axis);
|
||||
tmc2130_set_res(axis, res_new);
|
||||
cs.axis_ustep_resolution[axis] = res_new;
|
||||
if (res_new > res)
|
||||
uint16_t res_new = code_value();
|
||||
bool res_valid = (res_new == 8) || (res_new == 16) || (res_new == 32); // resolutions valid for all axis
|
||||
res_valid |= (i != E_AXIS) && ((res_new == 1) || (res_new == 2) || (res_new == 4)); // resolutions valid for X Y Z only
|
||||
res_valid |= (i == E_AXIS) && ((res_new == 64) || (res_new == 128)); // resolutions valid for E only
|
||||
if (res_valid)
|
||||
{
|
||||
uint16_t fac = (res_new / res);
|
||||
cs.axis_steps_per_unit[axis] *= fac;
|
||||
position[E_AXIS] *= fac;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint16_t fac = (res / res_new);
|
||||
cs.axis_steps_per_unit[axis] /= fac;
|
||||
position[E_AXIS] /= fac;
|
||||
|
||||
st_synchronize();
|
||||
uint16_t res = tmc2130_get_res(i);
|
||||
tmc2130_set_res(i, res_new);
|
||||
cs.axis_ustep_resolution[i] = res_new;
|
||||
if (res_new > res)
|
||||
{
|
||||
uint16_t fac = (res_new / res);
|
||||
cs.axis_steps_per_unit[i] *= fac;
|
||||
position[i] *= fac;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint16_t fac = (res / res_new);
|
||||
cs.axis_steps_per_unit[i] /= fac;
|
||||
position[i] /= fac;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9503,10 +9542,9 @@ void long_pause() //long pause print
|
|||
current_position[Y_AXIS] = Y_PAUSE_POS;
|
||||
plan_buffer_line_curposXYZE(50, active_extruder);
|
||||
|
||||
// Turn off the print fan
|
||||
// Turn off the hotends and print fan
|
||||
setAllTargetHotends(0);
|
||||
fanSpeed = 0;
|
||||
|
||||
st_synchronize();
|
||||
}
|
||||
|
||||
void serialecho_temperatures() {
|
||||
|
|
|
@ -137,8 +137,8 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m
|
|||
SERIAL_ECHOPGM("Access date: ");
|
||||
MYSERIAL.println(p.lastAccessDate);
|
||||
SERIAL_ECHOLNPGM("");*/
|
||||
creationDate = p.creationDate;
|
||||
creationTime = p.creationTime;
|
||||
modificationDate = p.lastWriteDate;
|
||||
modificationTime = p.lastWriteTime;
|
||||
//writeDate = p.lastAccessDate;
|
||||
if (match != NULL) {
|
||||
if (strcasecmp(match, filename) == 0) return;
|
||||
|
@ -763,8 +763,8 @@ void CardReader::presort() {
|
|||
#endif
|
||||
#elif SDSORT_USES_STACK
|
||||
char sortnames[fileCnt][LONG_FILENAME_LENGTH];
|
||||
uint16_t creation_time[fileCnt];
|
||||
uint16_t creation_date[fileCnt];
|
||||
uint16_t modification_time[fileCnt];
|
||||
uint16_t modification_date[fileCnt];
|
||||
#endif
|
||||
|
||||
// Folder sorting needs 1 bit per entry for flags.
|
||||
|
@ -784,8 +784,8 @@ void CardReader::presort() {
|
|||
// retaining only two filenames at a time. This is very
|
||||
// slow but is safest and uses minimal RAM.
|
||||
char name1[LONG_FILENAME_LENGTH + 1];
|
||||
uint16_t creation_time_bckp;
|
||||
uint16_t creation_date_bckp;
|
||||
uint16_t modification_time_bckp;
|
||||
uint16_t modification_date_bckp;
|
||||
|
||||
#endif
|
||||
position = 0;
|
||||
|
@ -811,8 +811,8 @@ void CardReader::presort() {
|
|||
#else
|
||||
// Copy filenames into the static array
|
||||
strcpy(sortnames[i], LONGEST_FILENAME);
|
||||
creation_time[i] = creationTime;
|
||||
creation_date[i] = creationDate;
|
||||
modification_time[i] = modificationTime;
|
||||
modification_date[i] = modificationDate;
|
||||
#if SDSORT_CACHE_NAMES
|
||||
strcpy(sortshort[i], filename);
|
||||
#endif
|
||||
|
@ -837,12 +837,12 @@ void CardReader::presort() {
|
|||
// Compare names from the array or just the two buffered names
|
||||
#if SDSORT_USES_RAM
|
||||
#define _SORT_CMP_NODIR() (strcasecmp(sortnames[o1], sortnames[o2]) > 0)
|
||||
#define _SORT_CMP_TIME_NODIR() (((creation_date[o1] == creation_date[o2]) && (creation_time[o1] < creation_time[o2])) || \
|
||||
(creation_date[o1] < creation_date [o2]))
|
||||
#define _SORT_CMP_TIME_NODIR() (((modification_date[o1] == modification_date[o2]) && (modification_time[o1] < modification_time[o2])) || \
|
||||
(modification_date[o1] < modification_date [o2]))
|
||||
#else
|
||||
#define _SORT_CMP_NODIR() (strcasecmp(name1, name2) > 0) //true if lowercase(name1) > lowercase(name2)
|
||||
#define _SORT_CMP_TIME_NODIR() (((creation_date_bckp == creationDate) && (creation_time_bckp > creationTime)) || \
|
||||
(creation_date_bckp > creationDate))
|
||||
#define _SORT_CMP_TIME_NODIR() (((modification_date_bckp == modificationDate) && (modification_time_bckp > modificationTime)) || \
|
||||
(modification_date_bckp > modificationDate))
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -893,8 +893,8 @@ void CardReader::presort() {
|
|||
counter++;
|
||||
getfilename_simple(positions[o1]);
|
||||
strcpy(name1, LONGEST_FILENAME); // save (or getfilename below will trounce it)
|
||||
creation_date_bckp = creationDate;
|
||||
creation_time_bckp = creationTime;
|
||||
modification_date_bckp = modificationDate;
|
||||
modification_time_bckp = modificationTime;
|
||||
#if HAS_FOLDER_SORTING
|
||||
bool dir1 = filenameIsDir;
|
||||
#endif
|
||||
|
|
|
@ -77,7 +77,7 @@ public:
|
|||
bool cardOK ;
|
||||
bool paused ;
|
||||
char filename[13];
|
||||
uint16_t creationTime, creationDate;
|
||||
uint16_t modificationTime, modificationDate;
|
||||
uint32_t cluster, position;
|
||||
char longFilename[LONG_FILENAME_LENGTH];
|
||||
bool filenameIsDir;
|
||||
|
@ -114,8 +114,8 @@ private:
|
|||
#endif
|
||||
#elif !SDSORT_USES_STACK
|
||||
char sortnames[SDSORT_LIMIT][FILENAME_LENGTH];
|
||||
uint16_t creation_time[SDSORT_LIMIT];
|
||||
uint16_t creation_date[SDSORT_LIMIT];
|
||||
uint16_t modification_time[SDSORT_LIMIT];
|
||||
uint16_t modification_date[SDSORT_LIMIT];
|
||||
#endif
|
||||
|
||||
// Folder sorting uses an isDir array when caching items.
|
||||
|
|
|
@ -1355,7 +1355,7 @@ void lcd_mmu_load_to_nozzle(uint8_t filament_nr)
|
|||
manage_response(true, true, MMU_TCODE_MOVE);
|
||||
mmu_continue_loading(false);
|
||||
mmu_extruder = tmp_extruder; //filament change is finished
|
||||
marlin_rise_z();
|
||||
raise_z_above(MIN_Z_FOR_LOAD, false);
|
||||
mmu_load_to_nozzle();
|
||||
load_filament_final_feed();
|
||||
st_synchronize();
|
||||
|
@ -1556,19 +1556,23 @@ void mmu_continue_loading(bool blocking)
|
|||
increment_load_fail();
|
||||
// no break
|
||||
case Ls::Retry:
|
||||
#ifdef MMU_HAS_CUTTER
|
||||
if (1 == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED))
|
||||
++retry; // overflow not handled, as it is not dangerous.
|
||||
if (retry >= max_retry)
|
||||
{
|
||||
mmu_command(MmuCmd::K0 + tmp_extruder);
|
||||
manage_response(true, true, MMU_UNLOAD_MOVE);
|
||||
}
|
||||
state = Ls::Unload;
|
||||
#ifdef MMU_HAS_CUTTER
|
||||
if (1 == eeprom_read_byte((uint8_t*)EEPROM_MMU_CUTTER_ENABLED))
|
||||
{
|
||||
mmu_command(MmuCmd::K0 + tmp_extruder);
|
||||
manage_response(true, true, MMU_UNLOAD_MOVE);
|
||||
}
|
||||
#endif //MMU_HAS_CUTTER
|
||||
}
|
||||
mmu_command(MmuCmd::T0 + tmp_extruder);
|
||||
manage_response(true, true, MMU_TCODE_MOVE);
|
||||
success = load_more();
|
||||
if (success) success = can_load();
|
||||
++retry; // overflow not handled, as it is not dangerous.
|
||||
if (retry >= max_retry) state = Ls::Unload;
|
||||
|
||||
break;
|
||||
case Ls::Unload:
|
||||
stop_and_save_print_to_ram(0, 0);
|
||||
|
|
|
@ -1564,10 +1564,6 @@ void st_current_init() //Initialize Digipot Motor Current
|
|||
{
|
||||
#ifdef MOTOR_CURRENT_PWM_XY_PIN
|
||||
uint8_t SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT);
|
||||
if (SilentMode == 0xff){ //set power to High Power (MK2.5) or Normal Power (MK3, unused)
|
||||
SilentMode = SILENT_MODE_POWER;
|
||||
eeprom_update_byte((uint8_t*)EEPROM_SILENT, SilentMode);
|
||||
}
|
||||
SilentModeMenu = SilentMode;
|
||||
pinMode(MOTOR_CURRENT_PWM_XY_PIN, OUTPUT);
|
||||
pinMode(MOTOR_CURRENT_PWM_Z_PIN, OUTPUT);
|
||||
|
|
|
@ -505,7 +505,10 @@ void checkFanSpeed()
|
|||
// we may even send some info to the LCD from here
|
||||
fan_check_error = EFCE_FIXED;
|
||||
}
|
||||
|
||||
if ((fan_check_error == EFCE_FIXED) && !PRINTER_ACTIVE){
|
||||
fan_check_error = EFCE_OK; //if the issue is fixed while the printer is doing nothing, reenable processing immediately.
|
||||
lcd_reset_alert_level(); //for another fan speed error
|
||||
}
|
||||
if ((fan_speed_errors[0] > max_extruder_fan_errors) && fans_check_enabled && (fan_check_error == EFCE_OK)) {
|
||||
fan_speed_errors[0] = 0;
|
||||
fanSpeedError(0); //extruder fan
|
||||
|
|
|
@ -427,7 +427,7 @@ void tmc2130_check_overtemp()
|
|||
|
||||
void tmc2130_setup_chopper(uint8_t axis, uint8_t mres, uint8_t current_h, uint8_t current_r)
|
||||
{
|
||||
uint8_t intpol = 1;
|
||||
uint8_t intpol = (mres != 0); // intpol to 256 only if microsteps aren't 256
|
||||
uint8_t toff = tmc2130_chopper_config[axis].toff; // toff = 3 (fchop = 27.778kHz)
|
||||
uint8_t hstrt = tmc2130_chopper_config[axis].hstr; //initial 4, modified to 5
|
||||
uint8_t hend = tmc2130_chopper_config[axis].hend; //original value = 1
|
||||
|
@ -600,7 +600,7 @@ void tmc2130_wr_THIGH(uint8_t axis, uint32_t val32)
|
|||
|
||||
uint8_t tmc2130_usteps2mres(uint16_t usteps)
|
||||
{
|
||||
uint8_t mres = 8; while (mres && (usteps >>= 1)) mres--;
|
||||
uint8_t mres = 8; while (usteps >>= 1) mres--;
|
||||
return mres;
|
||||
}
|
||||
|
||||
|
|
|
@ -310,18 +310,24 @@ bool bSettings; // flag (i.e. 'fake parameter'
|
|||
const char STR_SEPARATOR[] PROGMEM = "------------";
|
||||
|
||||
|
||||
static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, char* longFilename)
|
||||
static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* filename, char* longFilename)
|
||||
{
|
||||
char c;
|
||||
int enc_dif = lcd_encoder_diff;
|
||||
int enc_dif = lcd_encoder_diff / ENCODER_PULSES_PER_STEP;
|
||||
uint8_t n = LCD_WIDTH - 1;
|
||||
|
||||
for(uint_least8_t g = 0; g<4;g++){
|
||||
lcd_set_cursor(0, g);
|
||||
lcd_print(' ');
|
||||
}
|
||||
|
||||
lcd_set_cursor(0, row);
|
||||
lcd_print('>');
|
||||
|
||||
if (longFilename[0] == '\0')
|
||||
{
|
||||
longFilename = filename;
|
||||
}
|
||||
|
||||
int i = 1;
|
||||
int j = 0;
|
||||
char* longFilenameTMP = longFilename;
|
||||
|
@ -339,7 +345,7 @@ static void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, char* longF
|
|||
n = LCD_WIDTH - 1;
|
||||
for(int g = 0; g<300 ;g++){
|
||||
manage_heater();
|
||||
if(LCD_CLICKED || ( enc_dif != lcd_encoder_diff )){
|
||||
if(LCD_CLICKED || ( enc_dif != (lcd_encoder_diff / ENCODER_PULSES_PER_STEP))){
|
||||
longFilenameTMP = longFilename;
|
||||
*(longFilenameTMP + LCD_WIDTH - 2) = '\0';
|
||||
i = 1;
|
||||
|
@ -537,7 +543,7 @@ static uint8_t menu_item_sdfile(const char*
|
|||
if (lcd_draw_update)
|
||||
{
|
||||
if (lcd_encoder == menu_item)
|
||||
lcd_implementation_drawmenu_sdfile_selected(menu_row, str_fnl);
|
||||
lcd_implementation_drawmenu_sdfile_selected(menu_row, str_fn, str_fnl);
|
||||
else
|
||||
lcd_implementation_drawmenu_sdfile(menu_row, str_fn, str_fnl);
|
||||
}
|
||||
|
@ -709,10 +715,10 @@ void lcdui_print_status_line(void)
|
|||
{
|
||||
if (IS_SD_PRINTING)
|
||||
{
|
||||
if (strcmp(longFilenameOLD, card.longFilename) != 0)
|
||||
if (strcmp(longFilenameOLD, (card.longFilename[0] ? card.longFilename : card.filename)) != 0)
|
||||
{
|
||||
memset(longFilenameOLD, '\0', strlen(longFilenameOLD));
|
||||
sprintf_P(longFilenameOLD, PSTR("%s"), card.longFilename);
|
||||
sprintf_P(longFilenameOLD, PSTR("%s"), (card.longFilename[0] ? card.longFilename : card.filename));
|
||||
scrollstuff = 0;
|
||||
}
|
||||
}
|
||||
|
@ -760,16 +766,16 @@ void lcdui_print_status_line(void)
|
|||
}
|
||||
else if ((IS_SD_PRINTING) && (custom_message_type == CustomMsg::Status))
|
||||
{ // If printing from SD, show what we are printing
|
||||
if(strlen(card.longFilename) > LCD_WIDTH)
|
||||
if(strlen(longFilenameOLD) > LCD_WIDTH)
|
||||
{
|
||||
int inters = 0;
|
||||
int gh = scrollstuff;
|
||||
while (((gh - scrollstuff) < LCD_WIDTH) && (inters == 0))
|
||||
{
|
||||
if (card.longFilename[gh] == '\0')
|
||||
if (longFilenameOLD[gh] == '\0')
|
||||
{
|
||||
lcd_set_cursor(gh - scrollstuff, 3);
|
||||
lcd_print(card.longFilename[gh - 1]);
|
||||
lcd_print(longFilenameOLD[gh - 1]);
|
||||
scrollstuff = 0;
|
||||
gh = scrollstuff;
|
||||
inters = 1;
|
||||
|
@ -777,7 +783,7 @@ void lcdui_print_status_line(void)
|
|||
else
|
||||
{
|
||||
lcd_set_cursor(gh - scrollstuff, 3);
|
||||
lcd_print(card.longFilename[gh - 1]);
|
||||
lcd_print(longFilenameOLD[gh - 1]);
|
||||
gh++;
|
||||
}
|
||||
}
|
||||
|
@ -785,7 +791,7 @@ void lcdui_print_status_line(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
lcd_print(longFilenameOLD);
|
||||
lcd_printf_P(PSTR("%-20s"), longFilenameOLD);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -1072,12 +1078,8 @@ void lcd_commands()
|
|||
if (!blocks_queued() && !homing_flag)
|
||||
{
|
||||
lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 r=1
|
||||
long_pause();
|
||||
if (lcd_commands_type == LcdCommands::LongPause) // !!! because "lcd_commands_type" can be changed during/inside "long_pause()"
|
||||
{
|
||||
lcd_commands_type = LcdCommands::Idle;
|
||||
lcd_commands_step = 0;
|
||||
}
|
||||
lcd_commands_type = LcdCommands::Idle;
|
||||
lcd_commands_step = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1636,7 +1638,7 @@ void lcd_pause_print()
|
|||
{
|
||||
lcd_return_to_status();
|
||||
stop_and_save_print_to_ram(0.0,0.0);
|
||||
setAllTargetHotends(0);
|
||||
long_pause();
|
||||
isPrintPaused = true;
|
||||
if (LcdCommands::Idle == lcd_commands_type)
|
||||
{
|
||||
|
@ -1843,8 +1845,8 @@ static void lcd_menu_fails_stats_total()
|
|||
//! @code{.unparsed}
|
||||
//! |01234567890123456789|
|
||||
//! |Last print failures | c=20 r=1
|
||||
//! | Power failures: 000| c=14 r=1
|
||||
//! | Filam. runouts: 000| c=14 r=1
|
||||
//! | Power failures 000| c=14 r=1
|
||||
//! | Filam. runouts 000| c=14 r=1
|
||||
//! | Crash X:000 Y:000| c=7 r=1
|
||||
//! ----------------------
|
||||
//! @endcode
|
||||
|
@ -1890,6 +1892,7 @@ static void lcd_menu_fails_stats()
|
|||
}
|
||||
|
||||
#elif defined(FILAMENT_SENSOR)
|
||||
static const char failStatsFmt[] PROGMEM = "%S\n" " %-16.16S%-3d\n" "%S\n" " %-16.16S%-3d\n";
|
||||
//!
|
||||
//! @brief Print last print and total filament run outs
|
||||
//!
|
||||
|
@ -1900,9 +1903,9 @@ static void lcd_menu_fails_stats()
|
|||
//! @code{.unparsed}
|
||||
//! |01234567890123456789|
|
||||
//! |Last print failures | c=20 r=1
|
||||
//! | Filam. runouts: 000| c=14 r=1
|
||||
//! | Filam. runouts 000| c=14 r=1
|
||||
//! |Total failures | c=20 r=1
|
||||
//! | Filam. runouts: 000| c=14 r=1
|
||||
//! | Filam. runouts 000| c=14 r=1
|
||||
//! ----------------------
|
||||
//! @endcode
|
||||
//! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
|
||||
|
@ -1912,11 +1915,13 @@ static void lcd_menu_fails_stats()
|
|||
uint8_t filamentLast = eeprom_read_byte((uint8_t*)EEPROM_FERROR_COUNT);
|
||||
uint16_t filamentTotal = eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT);
|
||||
lcd_home();
|
||||
lcd_printf_P(PSTR("Last print failures\n" ////c=20 r=1
|
||||
" Filam. runouts %-3d\n" ////c=14 r=1
|
||||
"Total failures\n" ////c=20 r=1
|
||||
" Filam. runouts %-3d"), filamentLast, filamentTotal); ////c=14 r=1
|
||||
menu_back_if_clicked();
|
||||
lcd_printf_P(failStatsFmt,
|
||||
_i("Last print failures"), ////c=20 r=1
|
||||
_i("Filam. runouts"), filamentLast, ////c=14 r=1
|
||||
_i("Total failures"), ////c=20 r=1
|
||||
_i("Filam. runouts"), filamentTotal); ////c=14 r=1
|
||||
|
||||
menu_back_if_clicked();
|
||||
}
|
||||
#else
|
||||
static void lcd_menu_fails_stats()
|
||||
|
@ -2371,9 +2376,11 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed)
|
|||
{
|
||||
lcd_commands_type = LcdCommands::Layer1Cal;
|
||||
}
|
||||
else if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE))
|
||||
else
|
||||
{
|
||||
lcd_wizard(WizState::LoadFilHot);
|
||||
raise_z_above(MIN_Z_FOR_PREHEAT);
|
||||
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE))
|
||||
lcd_wizard(WizState::LoadFilHot);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -3446,6 +3453,8 @@ void lcd_wait_for_cool_down() {
|
|||
lcd_set_custom_characters_degree();
|
||||
setAllTargetHotends(0);
|
||||
setTargetBed(0);
|
||||
int fanSpeedBckp = fanSpeed;
|
||||
fanSpeed = 255;
|
||||
while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) {
|
||||
lcd_display_message_fullscreen_P(_i("Waiting for nozzle and bed cooling"));////MSG_WAITING_TEMP c=20 r=3
|
||||
|
||||
|
@ -3464,6 +3473,7 @@ void lcd_wait_for_cool_down() {
|
|||
delay_keep_alive(1000);
|
||||
serialecho_temperatures();
|
||||
}
|
||||
fanSpeed = fanSpeedBckp;
|
||||
lcd_set_custom_characters_arrows();
|
||||
lcd_update_enable(true);
|
||||
}
|
||||
|
@ -4929,12 +4939,12 @@ static void lcd_wizard_load()
|
|||
{
|
||||
if (mmu_enabled)
|
||||
{
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament to the first tube of MMU, then press the knob to load it."));////c=20 r=8
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the first tube of the MMU, then press the knob to load it."));////c=20 r=8
|
||||
tmp_extruder = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament to the extruder, then press knob to load it."));////MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the extruder, then press the knob to load it."));////MSG_WIZARD_LOAD_FILAMENT c=20 r=8
|
||||
}
|
||||
lcd_update_enable(false);
|
||||
lcd_clear();
|
||||
|
@ -4958,7 +4968,7 @@ static void wizard_lay1cal_message(bool cold)
|
|||
if (mmu_enabled)
|
||||
{
|
||||
lcd_show_fullscreen_message_and_wait_P(
|
||||
_i("First you will select filament you wish to use for calibration. Then select temperature which matches your material."));
|
||||
_i("Choose a filament for the First Layer Calibration and select it in the on-screen menu."));
|
||||
}
|
||||
else if (cold)
|
||||
{
|
||||
|
@ -4966,7 +4976,7 @@ static void wizard_lay1cal_message(bool cold)
|
|||
_i("Select temperature which matches your material."));
|
||||
}
|
||||
lcd_show_fullscreen_message_and_wait_P(
|
||||
_i("I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration.")); ////MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
_i("The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter).")); ////MSG_WIZARD_V2_CAL_2 c=20 r=12
|
||||
}
|
||||
|
||||
//! @brief Printer first run wizard (Selftest and calibration)
|
||||
|
@ -5094,7 +5104,7 @@ void lcd_wizard(WizState state)
|
|||
setTargetBed(PLA_PREHEAT_HPB_TEMP);
|
||||
if (mmu_enabled)
|
||||
{
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Is any filament loaded?"), true);////c=20 r=2
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Is filament loaded?"), true);////c=20 r=2
|
||||
} else
|
||||
{
|
||||
wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Is filament loaded?"), true);////MSG_WIZARD_FILAMENT_LOADED c=20 r=2
|
||||
|
@ -5139,7 +5149,7 @@ void lcd_wizard(WizState state)
|
|||
}
|
||||
else
|
||||
{
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("If you have more steel sheets you can calibrate additional presets in Settings / HW Setup / Steel sheets."));
|
||||
lcd_show_fullscreen_message_and_wait_P(_i("If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."));
|
||||
state = S::Finish;
|
||||
}
|
||||
break;
|
||||
|
@ -6357,6 +6367,8 @@ void unload_filament()
|
|||
custom_message_type = CustomMsg::FilamentLoading;
|
||||
lcd_setstatuspgm(_T(MSG_UNLOADING_FILAMENT));
|
||||
|
||||
raise_z_above(MIN_Z_FOR_UNLOAD);
|
||||
|
||||
// extr_unload2();
|
||||
|
||||
current_position[E_AXIS] -= 45;
|
||||
|
|
|
@ -51,7 +51,7 @@ if ! [ -e lang_add.txt ]; then
|
|||
fi
|
||||
|
||||
cat lang_add.txt | sed 's/^/"/;s/$/"/' | while read new_s; do
|
||||
if grep "$new_s" lang_en.txt >/dev/nul; then
|
||||
if grep "$new_s" lang_en.txt >/dev/null; then
|
||||
echo "text already exist:"
|
||||
echo "$new_s"
|
||||
echo
|
||||
|
|
|
@ -133,6 +133,9 @@
|
|||
#MSG_CRASHDETECT_ON
|
||||
"Crash det. [on]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
|
||||
|
@ -361,6 +364,9 @@
|
|||
#
|
||||
"Last print failures"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
|
||||
|
@ -613,6 +619,15 @@
|
|||
#
|
||||
"Print FAN"
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
|
||||
|
@ -688,9 +703,6 @@
|
|||
#
|
||||
"Select nozzle preheat temperature which matches your material."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
|
||||
|
@ -763,12 +775,18 @@
|
|||
#MSG_SELFTEST_SWAPPED
|
||||
"Swapped"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
|
||||
#MSG_TEMP_CALIBRATION_ON c=20 r=1
|
||||
"Temp. cal. [on]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
|
||||
|
@ -904,6 +922,9 @@
|
|||
#
|
||||
"Y distance from min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
#MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
|
||||
"Autoloading filament available only when filament sensor is turned on..."
|
||||
"Automaticke zavadeni filamentu je dostupne pouze pri zapnutem filament senzoru..."
|
||||
"Automaticke zavadeni filamentu je mozne pouze pri zapnutem filament senzoru..."
|
||||
|
||||
#MSG_AUTOLOADING_ENABLED c=20 r=4
|
||||
"Autoloading filament is active, just press the knob and insert filament..."
|
||||
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Crash det. [zap]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu"
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"\x00"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Selhani posl. tisku"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy"
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Posledni tisk"
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"Tiskovy vent."
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni"
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Prosim vlozte filament do prvni trubicky MMU a stisknete tlacitko k jeho zavedeni"
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Prosim nejdriv zavedte filament"
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"\x00"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"Vyberte PLA filament:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Nastavte teplotu:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Prohozene"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Zvolte filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Tepl. kal. "
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Tepl. kal. [zap]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Zvolte teplotu, ktera odpovida vasemu materialu."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Tepl. kal. [vyp]"
|
||||
|
@ -1206,6 +1230,10 @@
|
|||
"Y distance from min"
|
||||
"Y vzdalenost od min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Korekce Y:"
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
#MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
|
||||
"Autoloading filament available only when filament sensor is turned on..."
|
||||
"Automatisches Laden Filament nur bei einge schaltetem Filament- sensor verfuegbar..."
|
||||
"Automatisches Laden Filament nur bei eingeschaltetem Fil. sensor verfuegbar..."
|
||||
|
||||
#MSG_AUTOLOADING_ENABLED c=20 r=4
|
||||
"Autoloading filament is active, just press the knob and insert filament..."
|
||||
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Crash Erk. [an]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Waehlen Sie ein Filament fuer Erste Schichtkalibrierung aus und waehlen Sie es im On-Screen-Menu aus."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Crash Erk. [nv]"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Letzte Druckfehler"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Letzter Druck"
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"Druckvent."
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Bitte legen Sie das Filament in den Extruder ein und druecken Sie dann den Knopf, um es zu laden."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Bitte stecken Sie das Filament in den ersten Schlauch der MMU und druecken Sie dann den Knopf, um es zu laden."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Bitte laden Sie zuerst das Filament."
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"\x00"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Bitte Vorheiztemperatur auswaehlen, die Ihrem Material entspricht."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"PLA Filament auswaehlen:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Temp. einstellen:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Ausgetauscht"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Filament auswaehlen:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Temp Kalib. "
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Temp. Kal. [an]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Waehlen Sie die Temperatur, die zu Ihrem Material passt."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Temp. Kal. [aus]"
|
||||
|
@ -1202,11 +1226,14 @@
|
|||
"XYZ calibration failed. Right front calibration point not reachable."
|
||||
"XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist nicht erreichbar."
|
||||
|
||||
|
||||
#
|
||||
"Y distance from min"
|
||||
"Y Entfernung vom Min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Y-Korrektur:"
|
||||
|
|
|
@ -72,11 +72,11 @@
|
|||
|
||||
#MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
|
||||
"Autoloading filament available only when filament sensor is turned on..."
|
||||
"La carga automatica de filamento solo funciona si el sensor de filamento esta activado..."
|
||||
"La carga automatica solo funciona si el sensor de filamento esta activado..."
|
||||
|
||||
#MSG_AUTOLOADING_ENABLED c=20 r=4
|
||||
"Autoloading filament is active, just press the knob and insert filament..."
|
||||
"La carga automatica de filamento esta activada, pulse el dial e inserte el filamento..."
|
||||
"La carga automatica esta activada, pulse el dial e inserte el filamento..."
|
||||
|
||||
#MSG_SELFTEST_AXIS_LENGTH
|
||||
"Axis length"
|
||||
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Det. choque [act]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Escoge un filamento para la Calibracion de la Primera Capa y seleccionalo en el menu en pantalla."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Dec. choque [N/D]"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Ultimas impresiones fallidas"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Ultima impresion"
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"Vent. extr"
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Por favor, coloca el filamento en el extrusor, luego presiona el dial para cargarlo."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Por favor, coloca el filamento en el primer tubo de la MMU, luego pulsa el dial para cargarlo."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Por favor, cargar primero el filamento. "
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"prusa3d.es"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Selecciona la temperatura para precalentar la boquilla que se ajuste a tu material. "
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"Seleccionar filamento PLA:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Establecer temp.:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Intercambiado"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Selecciona filamento:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Cal. temp. "
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Cal. temp. [on]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Selecciona la temperatura adecuada a tu material."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Cal. temp. [off]"
|
||||
|
@ -1206,6 +1230,10 @@
|
|||
"Y distance from min"
|
||||
"Distancia en Y desde el min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Corregir-Y:"
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Detect.crash [on]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Choisissez un filament pour la Calibration de la Premiere Couche et selectionnez-le depuis le menu a l'ecran."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Detect.crash[N/A]"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Echecs derniere imp."
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Si vous avez d'autres feuilles d'acier, calibrez leurs pre-reglages dans Reglages - Config HW - Feuilles d'acier."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Derniere impres."
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"Vent. impr"
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Veuillez inserer le filament dans l'extrudeur, puis appuyez sur le bouton pour le charger."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Veuillez inserer le filament dans le premier tube du MMU, puis appuyez sur le bouton pour le charger."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Veuillez d'abord charger un filament."
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"\x00"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Selectionnez la temperature de prechauffage de la buse qui correspond a votre materiau."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"Selectionnez le fil. PLA:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Regler temp.:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Echange"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Selectionnez le filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Calib. Temp."
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Calib. Temp. [on]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Selectionnez la temperature qui correspond a votre materiau."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Calib. Temp.[off]"
|
||||
|
@ -1206,6 +1230,10 @@
|
|||
"Y distance from min"
|
||||
"Distance Y du min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Correct-Y:"
|
||||
|
|
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Rileva.crash [on]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Scegli un filamento per la calibrazione del primo strato e selezionalo nel menu sullo schermo."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Rileva.crash[N/A]"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Fallimenti ultima stampa"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Ultima stampa"
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"Ventola di stampa"
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Inserisci il filamento nell'estrusore, poi premi la manopola per caricarlo."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Per favore inserisci il filamento nel primo tubo del MMU, poi premi la manopola per caricarlo."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Per favore prima carica il filamento."
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"\x00"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Selezionate la temperatura per il preriscaldamento dell'ugello adatta al vostro materiale."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"Selezionate filamento PLA:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Imposta temperatura:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Scambiato"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Seleziona il filamento:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Calib. temp. "
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Calib. temp. [on]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Seleziona la temperatura appropriata per il tuo materiale."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Calib. temp.[off]"
|
||||
|
@ -1206,6 +1230,10 @@
|
|||
"Y distance from min"
|
||||
"Distanza Y dal min"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Correzione-Y:"
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
#MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
|
||||
"Autoloading filament available only when filament sensor is turned on..."
|
||||
"Autoladowanie filamentu dostepne tylko gdy czujnik filamentu jest wlaczony..."
|
||||
"Autoladowanie fil. dostepne tylko gdy czujnik filamentu jest wlaczony..."
|
||||
|
||||
#MSG_AUTOLOADING_ENABLED c=20 r=4
|
||||
"Autoloading filament is active, just press the knob and insert filament..."
|
||||
|
@ -178,6 +178,10 @@
|
|||
"Crash det. [on]"
|
||||
"Wykr.zderzen [wl]"
|
||||
|
||||
#
|
||||
"Choose a filament for the First Layer Calibration and select it in the on-screen menu."
|
||||
"Wybierz filament do Kalibracji Pierwszej Warstwy i potwierdz w menu ekranowym."
|
||||
|
||||
#MSG_CRASHDETECT_NA
|
||||
"Crash det. [N/A]"
|
||||
"Wykr.zderzen[N/D]"
|
||||
|
@ -482,6 +486,10 @@
|
|||
"Last print failures"
|
||||
"Ostatnie bledy druku"
|
||||
|
||||
#
|
||||
"If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
|
||||
"Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe."
|
||||
|
||||
#
|
||||
"Last print"
|
||||
"Ost. wydruk"
|
||||
|
@ -818,6 +826,18 @@
|
|||
"Print FAN"
|
||||
"WentWydruk"
|
||||
|
||||
#
|
||||
"Please insert filament into the extruder, then press the knob to load it."
|
||||
"Wsun filament do ekstrudera i nacisnij pokretlo, aby go zaladowac."
|
||||
|
||||
#
|
||||
"Please insert filament into the first tube of the MMU, then press the knob to load it."
|
||||
"Wsun filament do pierwszego kanalu w MMU2 i nacisnij pokretlo, aby go zaladowac."
|
||||
|
||||
#
|
||||
"Please load filament first."
|
||||
"Najpierw zaladuj filament."
|
||||
|
||||
#MSG_PRUSA3D
|
||||
"prusa3d.com"
|
||||
"\x00"
|
||||
|
@ -918,10 +938,6 @@
|
|||
"Select nozzle preheat temperature which matches your material."
|
||||
"Wybierz temperature grzania dyszy odpowiednia dla materialu."
|
||||
|
||||
#
|
||||
"Select PLA filament:"
|
||||
"Wybierz filament PLA:"
|
||||
|
||||
#MSG_SET_TEMPERATURE c=19 r=1
|
||||
"Set temperature:"
|
||||
"Ustaw temperature:"
|
||||
|
@ -1018,6 +1034,10 @@
|
|||
"Swapped"
|
||||
"Zamieniono"
|
||||
|
||||
#
|
||||
"Select filament:"
|
||||
"Wybierz filament:"
|
||||
|
||||
#MSG_TEMP_CALIBRATION c=20 r=1
|
||||
"Temp. cal. "
|
||||
"Kalibracja temp."
|
||||
|
@ -1026,6 +1046,10 @@
|
|||
"Temp. cal. [on]"
|
||||
"Kalibr.temp. [wl]"
|
||||
|
||||
#
|
||||
"Select temperature which matches your material."
|
||||
"Wybierz temperature, ktora odpowiada Twojemu filamentowi."
|
||||
|
||||
#MSG_TEMP_CALIBRATION_OFF c=20 r=1
|
||||
"Temp. cal. [off]"
|
||||
"Kalibr.temp.[wyl]"
|
||||
|
@ -1206,6 +1230,10 @@
|
|||
"Y distance from min"
|
||||
"Dystans od 0 w osi Y"
|
||||
|
||||
#
|
||||
"The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
|
||||
"\x00"
|
||||
|
||||
#
|
||||
"Y-correct:"
|
||||
"Korekcja-Y:"
|
||||
|
|
Loading…
Add table
Reference in a new issue